数据加密标准的简称是“DES”,全称是“Data Encryption Standard”,是一种对称密钥加密块密码算法。DeDES是原型块密码,它采用固定长度的明文比特字符串,并通过一系列复杂的操作将其转换成相同长度的另一个密文比特字符串。
在DES的情况下,块大小是64位。DES还使用密钥来定制变换,使得解密可以仅由知道用于加密的特定密钥的人来执行。密钥表面上由64位组成,但其中只有56个实际上被算法使用,还有8位仅用于检查奇偶校验,并且此后被丢弃。因此,有效密钥长度为56位。
虽然密钥长度为56位,安全性不强,但它在密码学的进步中具有很大的影响力。那么,数据加密标准有一段怎样的发展史呢?
1972年,美国国家标准局(NBS,即现在的国家标准与技术会NIST)对美国政府计算机安全的研究发现需要一个政府范围的标准来加密未分类的敏感信息。
1973年,NBS 征求了符合严格设计标准的密码方案,但还没有达到要求。
1974年,IBM提交了 1973-1974 年间基于早期算法Horst Feistel的Lucifer密码开发的密码。
1976年11月,数据加密标准被批准为联邦标准。
1977年,由IBM公司研制的、用于电子数据加密的对称密钥算法——数据加密标准,作为官方的联邦信息处理标准(FIPS)正式对外发布。
随后,DES(数据加密标准)在国际上开始广泛流传开来。它基于使用 56 位密钥的对称算法,这个算法因为包含一些机密设计元素,相对短的密钥长度以及怀疑内含NSA的后门,因而在开始时有争议,数据加密标准因此受到了强烈的学院派式的审查,并以此推动了现代的块密码及其密码分析的发展。
话说回来,DES(数据加密标准)的工作原理又是怎么样的呢?
DES(数据加密标准)是块加密算法,它采用固定长度的明文位串,按64位块长度分块进行加密数据,算法通过把数据分为以64为单位的块,把64位明文作为DES的输入,产生64位密文输出。
DES(数据加密标准)是对称加密算法,即加密与解密使用相同的算法和密钥。加密时,DES(数据加密标准)使用了移位、分组、置换等多种加密方法;而解密时,也会使用与加密相同的结构,但使用的密钥顺序相反。
另外,由于DES(数据加密标准)使用的 56 位密钥过短,且与其他分组密码一样,DES(数据加密标准)本身并不是一种安全的加密方式。例如,1999 年 1 月,distributed.net 与电子前哨基金会合作,在 22 小时 15 分钟内即公开破解了一个 DES 密钥。
而且,也有一些分析报告提出了该算法的理论上的弱点,虽然在实际中难以应用。为了提供实用所需的安全性,可以使用 DES (数据加密标准)的派生算法 3DES 来进行加密,虽然 3DES 也存在理论上的攻击方法。
现在,DES 标准和 3DES 标准已逐渐被高级加密标准(AES)所取代。另外,DES 已经不再作为国家标准科技协会(前国家标准局)的一个标准。在某些文献中,作为算法的 DES 被称为 DEA(Data Encryption Algorithm,数据加密算法),以与作为标准的 DES 区分开来。
,