从20世纪70年代开始,DES得到了广泛的应用,并且经过了五次重新评估和确认。尽管这样,DES用户仍然总是觉得不安全。随着计算技术的发展,特别是计算机速度的提高及分布式计算机复杂度的增强,使得许多DES用户开始怀疑DES的有效性和安全性已逐步减弱,他们认为DES存在一些安全隐患和缺陷。
从1975年来,很多机构、公司与学者进行大量研究与分析DES的工作,讨论DES中可能有及已被证明有的缺陷集中在以下几点。
1.存在弱密钥和半弱密钥
DES若有子密钥符合K1=K2=…=K16这样的种子密钥K叫做弱密钥。弱密钥不会被任意循环移位影响,且仅可以获得一样的子密钥,所以全0或全1构成的密钥明显为弱密钥。此外,在生成子密钥的过程中,种子密钥被分为C0、D0两个部分,且每部分都独立进移位,若C0、D0分别为全0或全1时,也是弱密钥,这样的弱密钥有4个。
有些种子密钥只可生成两个不一样的子密钥,每个子密钥被用在8次循环中,这样的种子密钥K叫半弱密钥。DES有不少于12个半弱密钥,半弱密钥将造成把明文加密为一样的密文。
2.有效密钥长度偏短
在DES的安全性争议中,批评较多的是针对DES密钥长度偏短问题。在DES是标准时,用的密钥是56bit,其密钥量仅有256约为1017个,很难抗击穷举搜索攻击。因为在DES使用后期,一些政府机构和其他大型组织能用专用机器通过穷举攻击在数小时内搜索完整个56bit的密钥空间。
3.S盒的安全性疑义
DES密码体制的安全性依靠于非线性的S盒。S盒的内容最初是由IBM的设计小组确定的,不过他们后来按照NSA的要求进行了修改。S盒设计的详细准则一直未公开,使很多密码学家怀疑S盒设计中可能有陷门。但是,NSA提出的修改使S盒有了改进,且可抵制差分密码分析攻击。