加密标准中 DES 与 AES 到底是什么?两者有啥区别?

我们生活在一个信息爆炸的时代,各类隐私数据的保护成了现代信息技术中最为重要的技术之一。加密就是保护数据最直接也是应用最为广泛的方法。

加密是将一种形式的信息(通常是人类可读的)转换为另一种形式(通常不是人类可读的)的过程。它以数学为基础,并利用称为密钥的外部信息来执行此转换。加密有些是基于硬件的,例如指纹和视网膜扫描仪,有些是基于软件的,例如用户 ID 和密码,其中最重要的就是 DES 和 AES,下面我们来分别认识一下这两种加密方法。
一、什么是 DES?
DES 是一种对称分组密码(共享密钥),密钥长度为 56 位,于 1977 年作为美国联邦信息处理标准 (FIPS) 46 标准发布,后来被美国国家标准与技术研究院 (NIST) 采用。
DES 对密码学的进步产生了很大的影响,但是,由于 56 位的短密钥长度,所以对应用程序不安全。1999 年,distributed.net 在 22 小时 15 分钟内破解了一个 DES 密钥,在这事件发生后,NIST 撤回了该算法作为标准。
DES 在加密期间将纯文本消息分组为 64 位块,使用置换和替换将块与密钥一起编码为 64 位密文,该过程需要 16 个步骤,可以在四种不同的模式下运行,要么单独加密块,要么使每个密码块依赖于所有先前的块,DES 解密过程是其加密步骤的逆过程,颠倒了应用密钥的顺序。
二、什么是 AES?
AES 数据加密是一种在数学上更高效、更优雅的加密算法,由美国国家标准与技术研究院于 2001 年推出。作为高级加密标准,AES 提供三种密钥长度,分别是 128 位、192 位和 256 位,密钥长度越高,破解系统或破解系统所需的时间就越多。因此,AES 被认为比 DES 算法更好。

AES 在通过计算机网络传输数据时被广泛使用,特别是在无线网络中,AES 使用 128 位明文和 128 位密钥来创建 128 位块,然后对其进行处理以生成 16 字节(128 位)密文。
高级加密标准的加密过程是基于迭代方式的替换和置换操作,16 字节的数据以四列四行的矩阵排列,在这个矩阵上,AES 执行几轮替换置换操作。
这些轮次中的每一轮都使用不同的密码密钥,该密钥是根据原始 AES 密钥计算得出的,操作的轮数取决于密钥的大小,方式如下:
128 位密钥,10 轮
192 位密钥,12 轮
256 位密钥,14 轮
三、DES 与 AES 区别

3.1 创建时间
DES:1976 年
AES:1999 年
3.2 标准化时间
DES:1977 年
AES:2001 年
3.3 设计者
DES:由 IBM 设计
AES:由 Vincent Rijmen 和 Joan Daeman 设计
3.4 密钥长度
DES:56 位
AES:128、192 和 256 位
3.5 块大小
DES:64 位
AES:块大小可以是 128、192 或 256 位,取决于密钥长度
3.6 加密过程
DES: 16 轮
AES:在 128、192 和 256 位的情况下,加密过程分别涉及 10、12 和 14 轮
总结
DES 和 AES 是比较常见的加密标准,本文主要介绍了什么是 DES?什么是 AES?以及 DES 和 AES 的区别,希望对您有所帮助,有任何问题,欢迎在下方评论区与我讨论。
版权声明: 本文为 InfoQ 作者【wljslmz】的原创文章。
原文链接:【http://xie.infoq.cn/article/b637d80e4cc999a79d83e3fe2】。未经作者许可,禁止转载。
评论