7.2 数据加密标准—DES

DES算法和DESede算法统称DES系列算法。DES算法是对称加密算法领域中的典型算法,为后续对称加密算法的发展奠定了坚实的基础。DESede算法基于DES算法进行三重迭代,增加其算法安全性。经过一番筛选,Rijndeal算法最终成为了AES算法。这期间,对称加密算法发展迅速,与Rijndeal算法竞争的算法包括Blowfish、Serpent等。IDEA算法也源于增加算法的安全性替代DES算法,诸多对称加密算法的发展均源于DES算法的研究而来。

7.2.1 简述

1973年,美国国家标准局(NBS, National Bureau of Standards)(即现在的美国国家标准技术研究所(National Institute of Standards and Technology, NIST))征求国家密码标准方案,IBM公司提交了自己研制的算法(Luciffer算法,于1971年末提出)。1977年7月15日,该算法被正式采纳,作为美国联邦信息处理标准生效,并很快应用到国际商用数据加密领域,成为事实标准,即数据加密标准(Data Encryption Standard, DES),DES算法由此诞生。

DES算法作为现代密码学领域中第一个官方授权的加密算法受到全球各大密码学机构的关注。DES算法密钥偏短,仅有56位,迭代次数偏少,受到诸如查分密码分析和线性密码分析等各种攻击威胁,安全性受到严重威胁。不仅如此,由于DES算法具有半公开性质,被怀疑存在美国国家安全局(National Security Agency, NSA)安置的后门,受到各大密码学机构的强烈质疑。

1998年后,实用化DES算法破译机的出现彻底宣告DES算法已不具备安全性。1999年NIST颁布新标准,规定DES算法只能用于遗留加密系统,但不限制使用DESede算法。以当今计算机技术能力,经DES算法加密的数据在24小时内可能被破解。由此,DES算法正式退出历史舞台,AES算法成为它的替代者。

即便如此,DES算法对于密码学领域的贡献确实是巨大的。各种对称加密算法均由研究DES算法发展而来,对后续对称加密算法的发展起到奠基作用。DES算法实现不仅遍布软件行业,甚至很多硬件芯片本身也具备DES加密实现。同时,作为一款较易实现的加密算法,DES算法也成为最应学习的对称加密算法,其地位堪比C语言在计算机语言中的地位。

基于CBC工作模式的DES算法相关文档可参考RFC 1829(http://www.ietf.org/rfc/rfc1829.txt)。

历经20年发展,DES算法不仅应用在软件行业,成为电子商务必不可少的加密算法,同时也逐步渗透到硬件行业。芯片级DES算法生产工艺相当完备,完全可以支持底层加密需求。