关于DES的若干问题:
1.弱密钥
许多密码都有坏密钥,DES也一样。比如若出现子密钥满足:
k1=k2=k3=……=kn
则有: DESk(m)=DESk^-1(m)
或: DESk(DESk(m))=m
这样的密钥k称为弱密钥。
2.DES的安全性
人们普遍感兴趣的问题是DES的抗攻击强度怎么样?或者直接了当的说密钥长度是不够了。DES的密钥号称64比特,实际上只有56比特,2^56=7*10^16。普遍的印象密钥长仅为56比特是短了些。Diffie和Hellman曾经花千万美元制造一台专用机,可望一天内找到一个密钥,基本思想还是穷举,即强行攻击。1990年Eli Biham和Adi Shamir提出一种“差分分析法”。在选择明文的条件下,复杂度有所下降。比如在选择明密文对2^47对的要求情况下,攻击复杂度虽降到O(2^37),但是代价也是可观的。
顺便提一句,若递代次数不是16次,而是8次,选择明文2^14=16384,攻击复杂性降低至仅O(2^9)。总之,DES密钥太短,超期服役的时间也太长。新的攻击手段不断出现,DES已面临着实实在在的威胁。直接的威胁还是在于专业设备,由于芯片的速度越来越快,造价越来越低,专用设备的造价也大大地降低。