A. 分组密码的算法要求
分组密码算法实际上就是密钥控制下,通过某个置换来实现对明文分组的加密变换。为了保证密码算法的安全强度,对密码算法的要求如下。 加密速度慢,错误扩散和传播。
分组密码将定长的明文块转换成等长的密文,这一过程在秘钥的控制之下。使用逆向变换和同一密钥来实现解密。对于当前的许多分组密码,分组大小是 64 位,但这很可能会增加。
明文消息通常要比特定的分组大小长得多,而且使用不同的技术或操作方式。这样的方式示例有:电子编码本(ECB)、密码分组链接(CBC)或密码反馈(CFB)。ECB 使用同一个密钥简单地将每个明文块一个接一个地进行加密;在 CBC 方式中,每个明文块在加密前先与前一密文块进行“异或”运算,从而增加了复杂程度,可以使某些攻击更难以实施。 “输出反馈”方式(OFB)类似 CBC 方式,但是进行“异或”的量是独立生成的。 CBC 受到广泛使用,例如在 DES(qv)实现中,而且在有关密码术的技术性方面的相应书籍中深入讨论了各种方式。请注意:您自己建立的 密码系统的普遍弱点就是以简单的形式来使用某些公开的算法,而不是以提供了额外保护的特定方式使用。
迭代的分组密码是那些其加密过程有多次循环的密码,因此提高了安全性。在每个循环中,可以通过使用特殊的函数从初始秘钥派生出的子密钥来应用适当的变换。该附加的计算需求必然会影响可以管理加密的速度,因此在安全性需要和执行速度之间存在着一种平衡。天下没有免费的午餐,密码术也是如此;与其它地方一样,应用适当方法的技巧中有一部分是源于对需要进行的权衡以及它们与需求平衡的关系如何的理解。
分组密码包括DES、IDEA、SAFER、Blowfish和 Skipjack — 最后一个是“美国国家安全局(US National Security Agency,NSA)”限制器芯片中使用的算法。
B. Dan Boneh密码学笔记——分组密码
分组密码是密码学中的一种重要加密技术,它通过将明文分成固定长度的块,并使用密钥对这些块进行加密。以下是关于分组密码的详细解答:
1. 分组密码的构造 伪随机函数与伪随机置换:分组密码可以抽象为PRF和PRP。PRF具有可逆特性,可以视为PRP的特殊形式。AES等现代分组密码的安全性基石在于其在函数集合上的不可区分性。
2. 分组密码的特性 复杂性与安全性:分组密码通过迭代和精心设计的回合函数对明文进行加密,尽管速度相对较慢,但其复杂性和安全性使其在数据保护中占据重要地位。 PRF的实用性:PRF能够转化为实用工具,如计数器模式生成器,这些生成器可并行计算,其安全性源于PRF与真随机函数之间的区分性。
3. 分组密码的历史发展 DES的诞生:1970年,IBM成立了密码小组,Horst Feistel的Lucifer密码在此背景下诞生。其变种后来成为了联邦标准DES,在银行业界得到广泛应用。 DES的脆弱性:尽管DES具有强大的加密过程,包括扩张、异或、S盒和位移操作,但其16轮Feistel网络和S盒子的非线性设计策略也暴露了其脆弱性。 AES的崛起:DES被攻破后,NSA推动了新标准的寻找。2000年,AES以其Rijndael算法成为高级加密标准,有效抵御了量子计算机的威胁。
4. 从DES到AES的安全考量 密钥长度与复杂性:AES通过增加密钥长度和复杂的替换置换网络提高了安全性。 适应性:AES的ByteSub、ShiftRow和MixColumn步骤提供了强大的适应性,尽管牺牲了一些性能。 密钥扩张与预计算策略:AES还通过密钥扩张和预计算策略来对抗潜在攻击。
5. 未来的挑战与目标 构建安全的PRF和PRP:尽管构建PRF和PRP存在挑战,但密码学家们仍在不断探索和实践新的构造方法,以提高分组密码的安全性和效率。 应对量子计算威胁:随着量子计算技术的发展,密码学家们正在研究能够抵御量子攻击的分组密码算法,以确保信息时代的安全基石更加坚固。