第3章数据加密标准
3.13.1概述古典密码算法不能很好地防范攻击,急切地需要一个新的加密算法来保证数据的安全。美国国家标准局(National Bureau of Standards,NBS)公开征集数据加密标准(Data Encryption Standard,DES),经过两次甄选,*终确定标准。DES,即数据加密标准,从1976年被定为标准到2001年被高级加密标准所代替,走过了25年的历程,很好地履行了自身的职责。
DES是一种Feistel(读音为“Faistl”)体制的分组密码,使用56比特有效密钥一次可以处理64比特数据。因为其良好的设计,可以防范多数攻击,但是随着时间的推移,DES日渐“衰老”,已经无法防范密钥的穷尽搜索。虽然DES已经被取代,但是相比较*初的10~15年设计需求,DES*终被使用了25年,至今仍然在一些安全需求不高的地方被人们所使用着。
3.1.1DES的历史
在20世纪70年代前,密码学主要应用于军事方面,非军事密码学研究少有人参与。大多数人都知道军方采用特殊的编码设备来进行通信,但是很少有人懂得密码学。1972年,美国国家标准局(National Bureau of Standards,NBS),即现在的美国国家标准和技术研究所(National Institute of Standards and Technology,NIST),拟定了一个旨在保护计算机和通信数据的计划。作为该计划的一部分,他们想开发一个单独的标准密码算法。
1973年5月15日,NBS发布了公开征集标准密码算法的请求并确定了一系列的设计准则,但是由于提交的算法都与要求相去甚远,*次征集失败。
1974年8月27日,NBS第二次征集加密算法标准,并征集到一个由IBM开发的有前途的候选算法Lucifer。其后请求美国国家安全局(NSA)帮助对算法的安全性进行评估以决定它是否适合作为联邦标准。
1975年3月17日,DES在“联邦公报”上发表并征集意见。公众对于NSA在开发该算法时的“看不见的手”很警惕,他们担心NSA修改了算法以安装陷门,同时还抱怨NSA将密钥长度由原来的112比特减少到56比特。有传言说,56比特长的密钥刚好能被拥有世界上*快计算资源的NSA破解,且对民间通信是安全的。
1976年为针对公众的疑问,NBS于8月和9月分别召开两次研讨会,一次研讨算法的数学问题及安装陷门的可能性,另一次研讨增加密钥长度的可能性。
1976年11月,数据加密标准确立。
此后每隔5年官方都对DES进行评估,虽然标准确定伊始,认为DES服役时间为10~15年,然而*终DES服役时间远超15年,一方面是由于其自身的安全性,另一方面是由于没有更加可靠的密码算法。但是随着时间的推移,电子设备的性能呈指数趋势增加,暴力破解DES已不是难事,*终DES被使用更长密钥的AES算法所替代。暴力破解与DES的密钥长度
对于一切密码而言,*基本的攻击方法是暴力破解法——依次尝试所有可能的密钥。密钥长度决定了可能的密钥数量,因此也决定了这种方法的可行性。对于DES,即使在它成为标准之前就有一些关于其密钥长度的适当性的问题,在设计时,在与包括NSA在内的外部顾问讨论后,密钥长度被从128比特减少到了56比特以便在单芯片上实现算法。而*终正是它的密钥长度不够,而迫使它被后续算法所替代。所以至今在一些对安全强度要求不高的芯片级应用场合,也常用到DES。
……