分组加密(Block cipher)又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块,使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,应用领域从电子邮件加密到银行交易转帐,非常广泛。
在密码学中,分组加密(Block cipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,其中典型的如 AES 和 3DES 作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转帐,非常广泛。
现代分组加密创建在迭代的思想上产生密文。其思想由克劳德·香农在他 1949 年的重要论文《保密系统的通信理论》(Communication Theory of Secrecy Systems)中提出,作为一种通过简单操作如替代和排列等以有效改善保密性的方法。迭代产生的密文在每一轮加密中使用不同的子密钥,而子密钥生成自原始密钥。
DES 加密在 1977 年由前美国国家标准局(今“美国国家标准与技术研究所”)颁布,是现代分组加密设计的基础思想。它同样也影响了密码分析的学术进展。
历史
Lucifer 一般被认为是第一个现代分组密码,由 IBM 在 1970 年代基于霍斯特·费斯妥(Horst Feistel)的工作完成。它的一个修改版本是数据加密标准,被美国政府纳入联邦资料处理标准,并于 1976 年正式发布,至今仍被广泛应用。
当时设计 DES 密码的最初目的是为了抵抗某些美国国家安全局(NSA)和 IBM 知道的密码分析方法,直到 1980 年代末期,这种被称为差分密码分析的方法才被毕汉姆(Eli Biham)和萨莫尔(Adi Shamir)独立重新发现。线性密码分析是另一种方法,NSA 在松井充发布这种实验性的密码分析方法[4]之前还并不知道。
DES 作为早期的分组密码,最早成为密码标准,由于在最初 DES 并未公布其实现细节,其 S 盒设计被怀疑包含后门,因此学界对其进行了大量的研究,提高了学界对分组密码的了解,客观上促进了密码学及密码分析的发展,引领了很多密码学和密码分析的研究。另一种分组密码标准高级加密标准(AES)被美国国家标准与技术研究院(NIST)采纳,即将逐渐取代 DES 目前的位置。