DES (数据加密标准) 与 AES (高级加密标准) 的区别

2025年5月14日 | 阅读 5 分钟

DES(数据加密标准)AES(高级加密标准)都属于对称分组密码。为了缓解DES的缺点,引入了AES。由于DES的密钥长度较短,安全性较低;因此引入了三重DES,尽管它速度较慢。因此,美国国家标准与技术研究院后来引入了AES

DESAES之间的主要区别在于,在DES中,主算法开始前,明文块被分成两半,但在AES中,会处理整个块来获得密文。在本文中,我们将讨论DES(数据加密标准)AES(高级加密标准)之间的区别。

什么是DES?

数据加密标准(DES)是一种对称密钥分组密码。美国国家标准与技术研究院(NIST)于1977年发布了DES。它基于Feistel结构,其中明文被分成两半。它以64位明文56位密钥作为输入,生成64位密文。在处理之前,整个明文被分成两块,每块32位,并在每块上执行相同的操作。每块都经过16轮操作,然后进行最终置换以获得64位密文

Difference Between DES (Data Encryption Standard) and AES (Advanced Encryption Standard)

每轮使用的函数包括扩展、置换替换,以及与轮密钥的XOR运算。解密与加密以相反的顺序执行。尽管DES由于使用了较短的共享密钥而被认为对加密高度机密的政府数据不够安全,但发明了三重DES来应对此问题。不过,它也被认为不是一个好的算法,因为它加密数据的速度非常慢。在DES中,即使是输入文本的微小变化也会导致生成一个全新的密文。

为什么DES不再有效

为了证明DES不足够并且不应再用于重要系统,人们赞助了一系列挑战,以测试解密消息所需的时间。电子前沿基金会(EFF)和distributed.net在破解DES方面做出了重大贡献。

  • DES I竞赛(1997年)花费了84天通过暴力攻击破解了加密消息。
  • 1998年,发布了两个DES II挑战。第一个挑战的加密文本花费了略多于一个月的时间,内容是:“神秘的消息是:许多人合作,省力。”第二个挑战花费了不到三天的时间,明文消息是“是时候使用这些128位、192位和256位密钥了”。
  • 1999年初的最后一次DES III挑战仅用了22小时15分钟。电子前沿基金会的Deep Crack计算机(造价不到25万美元)和distributed.net的计算网络找到了56位DES密钥,破译了消息,并(EFF和distributed.net)赢得了比赛。解密后的消息是“罗马见(第二届AES候选会议,1999年3月22-23日)”,是在搜索了大约30%的密钥空间后发现的,这表明DES已经过时了。

什么是 AES?

高级加密标准(AES)也是一种对称密钥分组密码美国国家标准与技术研究院于2001年发布了AES。由于DES使用了相对较短的密码密钥并且算法相当慢,因此引入了AES来取代它。

它目前是最流行的对称分组密码算法之一。它的速度至少是三重DES加密的六倍。与DES不同,它基于“替换和置换”。它采用逐步方法。在AES中,使用字节而不是位。

Difference Between DES (Data Encryption Standard) and AES (Advanced Encryption Standard)

AES中,明文相当于126位,即16个字节,使用128位密钥生成一个44位的矩阵(包含4行4列)。在此步骤之后,它执行10轮。每轮都有其自身的子进程,其中9轮包括Sub bytes、Shift Rows、Mix ColumnsAdd Round Keys。第10轮包括上述所有操作,但排除了“Mix columns”,以生成126位密文。

AES中的轮数取决于密钥长度,对于128位密钥是10轮,对于192位密钥是12轮,对于256位密钥是14轮。我们可以将其用于多种协议,如TLS、SSL以及许多需要高加密安全性的现代应用程序。我们还可以将AES用于需要高吞吐量的硬件。

为什么AES取代DES加密?

美国国家标准与技术研究院(NIST)对DES替换算法的主要目标之一是它必须在软件和硬件实现方面都高效。(DES最初仅在硬件实现方面实用)。C和Java参考实现用于对所有算法进行性能分析。

AES是在一次公开竞赛中选出的,该竞赛包括来自世界各地尽可能多的研究团队的15个候选算法,并且该过程分配的总资源是巨大的。

最终,在2000年10月美国国家标准与技术研究院(NIST)宣布Rijndael为提议的高级加密标准(AES)

比较图表

Difference Between DES (Data Encryption Standard) and AES (Advanced Encryption Standard)
比较基础DES(数据加密标准)AES(高级加密标准)
基本功能DES中的数据块被分成两半。AES中的整个块作为一个矩阵进行处理。
原则它基于Feistel密码结构。AES使用了替换置换原则。
创建年份DES(数据加密标准)的创建年份是1976年。AES(高级加密标准)的创建年份是1999年。
设计者DES(数据加密标准)由IBM设计。AES(高级加密标准)由Vincent RijmenJoan Daeman设计。
轮数16轮128位算法10轮
192位算法12轮
256位算法14轮
速度DES比AES慢。AES比DES快。
安全性由于DES使用较小的密钥,因此安全性较低。由于AES使用较大的密钥,因此安全性较高。
密钥长度AES相比,DES的密钥长度较短。DES相比,AES具有更长的密钥长度。
轮名称扩展置换、Xor、S-box、P-box、Xor 和 Swap。Subbytes、Shiftrow、Mix columns、Add roundkeys。
明文明文为64位。明文可以是128、192256位。
已识别的攻击线性密码分析、差分密码分析和暴力破解。没有已识别的攻击。
块大小128位64位
起源DES源自Lucifer密码。AES源自Square密码。

DES和AES之间的主要区别

  • DES和AES之间的主要区别在于,在DES中,块在进一步处理之前被分成两半,但在AES中,整个块被处理以获得密文。
  • DES的密钥长度为56位,小于AES,AES的密钥长度为128、192256位
  • AES比DES快。
  • DES较小的密钥长度使其安全性低于AES。
  • DES算法使用Feistel密码原理,而AES使用替换置换原理。
  • 扩展置换、Xor、S-box、P-box、Xor和Swap。另一方面,AES的轮次包括Subbytes、Shiftrows、Mix columns和Addroundkeys。

下一主题区别