DES 的密钥空间包括一些弱密钥,这导致密文更容易受到密码分析的影响。
TDEA(也称为 TripleDES)是否对那些弱密钥无懈可击?或者,是否有必要为弱/半弱密钥列表过滤加密随机生成的 TripleDES 密钥?
DES 的密钥空间包括一些弱密钥,这导致密文更容易受到密码分析的影响。
TDEA(也称为 TripleDES)是否对那些弱密钥无懈可击?或者,是否有必要为弱/半弱密钥列表过滤加密随机生成的 TripleDES 密钥?
分组密码的弱密钥是加密和解密功能相同的密钥。这意味着有了这样的密钥,一个名义上只加密事物的黑匣子也可以用来解密事物。半弱密钥是这样一种密钥,即使用该密钥的解密功能与使用另一个密钥的加密功能相同。
DES 是 64 位块的置换;有 2 64!这样的排列(这是一个巨大的数字,接近 10 347382171305201285699)并且密钥选择了一个这样的排列。“只有” 2 56个可能的密钥,因此如果我们假设密钥“随机”选择排列,那么 2 56加密函数和 2 56解密函数“应该”彼此不同,具有压倒性的概率(这就是“理想密码”模型)。因此,弱键和半弱键的存在是一些额外的结构,值得一提,尽管称它们为“弱点”是夸大其词。弱键和半弱键是更一般的“弱点”类别的一部分. 在某些特定情况下,相关密钥可能是一个问题,攻击者可以通过密钥生成过程中的一些弱点来强制使用相关密钥;除非某些事情做得完全错误(就像使用 WEP 所做的那样)或以不寻常的方式使用分组密码(例如,作为Merkle-Damgård 结构中散列函数的构建块),否则相关的密钥攻击不会真正威胁到安全。
测试给定密钥是否“弱”对 DES 没有用,因为正确生成的密钥“弱”的风险极低。简单地“尝试”几千个潜在的密钥(“暴力破解”)将以更少的努力产生更高的成功率。
3DES 是连续三个 DES 实例,它也有“弱密钥”:给定 DES 的弱密钥K 1、K 2和K 3,密钥K 1 || K 2 || K 3是 3DES 的“弱密钥”。与 DES 的情况一样,这是一个值得注意的数学好奇心,但它没有实际的安全含义。
根据RFC 2451 ,用作 TripleDES 中三个密钥之一的弱或半弱 DES 密钥不会导致 TripleDES 中的弱点。但是,应该检查 TripleDES 密钥的另一个弱点。
(TripleDES 也称为 DES-EDE3。EDE 代表 Encrypt-Decrypt-Encrypt。)
DES 有 64 个已知的弱密钥,包括所谓的半弱密钥和可能的弱密钥 [Schneier95, pp 280-282]。随机选择一个的可能性可以忽略不计。
对于 DES-EDE3,不需要拒绝弱或互补密钥。使用多个键可以消除任何弱点。
但是,如果前两个或后两个独立的 64 位密钥相等(k1 == k2 或 k2 == k3),则 3DES 操作与 DES 相同。实现者必须拒绝展示此属性的密钥。
3DES 继承了那些弱密钥,所以这个“弱密钥漏洞”也适用于 3DES。