加解密概述

133 阅读2分钟

柯克霍夫原则: 数据的安全基于密钥而不是算法的保密。换句话说,系统的安全性取决于密钥,对密钥保密,对算法公开。信息论创始人香农称其为“敌人了解系统”。柯克霍夫原则是现代密码学设计的基本原则。

根据密钥的使用方法,可以将密码分为对称密码和公钥密码。

  • 对称密码:加密和解密使用同一个密钥,因此也称为共享密钥密码。对称密码体制并不是现代密码学的新生产物,它是古典密码学的进一步延续。古典密码常用的两种技巧--替代和移位,仍然是对称密码体制中最重要的加密技巧。
  • 公钥密码:加密和解密使用不同密钥,公钥密码又称非对称密码。公钥密码是20世纪70年代出现的,是密码学界的一场重大变革。现代计算机和互联网中的安全体系,很大程度上都依赖公钥密码。
    将对称密码和公钥密码结合起来的密码方式称为混合密码系统

根据明文的处理方法,可以将密码分为分组密码和流密码。

  • 分组密码:加密时将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。对称密码体制中大部分加密算法属于分组密码。分组密码多应用于网络加密。
  • 流密码:加密时每次加密一个位或一个字节的明文。手机平台对app使用系统资源有着极为苛刻的要求,这给了对系统资源要求极低流密码以用武之地。RC4是相当有名的流密码算法。