AES 和 DES 密码的区别
DES 和 AES 都是对称密钥分组密码,用于加密,其中只使用一个密钥(秘密密钥)来编码和解码电子数据。密钥必须在使用对称加密通信的组织之间交换,以便在解密过程中使用。
阅读本文以了解 AES 和 DES 密码的功能以及它们之间的区别。
什么是 DES 密码?
数据加密标准,通常称为 DES,是由 IBM 于 1977 年开发的对称密钥分组密码。
在 DES 加密中,明文被分成两半,然后 DES 使用 64 位明文和 56 位密钥生成 64 位密文,它是数据的加密表示。
DES 中用于加密的密钥长度为 56 位,虽然块大小为 64 位(其余 8 位仅为校验位;加密算法不使用它们)。DES 包括 16 轮相同的过程,无论密钥长度如何。
由于 DES 中的操作数量是固定的,并且不允许任何排列组合,因此更容易破解加密,使其安全性低于 AES。
DES 是一种用于加密数字数据的对称密钥算法。其 56 位的短密钥长度使其过于薄弱,无法保护大多数基于加密的当前应用程序。
什么是 AES 密码?
高级加密标准或 AES 是一种由 Vincent Rijmen 和 Joan Daemen 于 2001 年开发的对称密钥分组密码。AES 在全球范围内实施,包括硬件和软件,以加密敏感数据。AES 在通过计算机网络传输数据时广泛使用,尤其是在无线网络中。
AES 使用 128 位明文和 128 位密钥创建 128 位块,然后对其进行处理以生成 16 字节(128 位)密文。
在 AES 的情况下,密钥长度可以是 128 位、192 位或 256 位,分别有 10 轮(128 位)、12 轮(192 位)或 14 轮(256 位)。
另一方面,AES 比 DES 加密更安全,并且已成为事实上的国际标准。
高级加密标准的加密过程基于以迭代方式进行的置换和替换操作。16 个字节的数据排列在一个 4 列 4 行的矩阵中。在此矩阵上,AES 执行多轮置换-替换操作。
每一轮都使用不同的密码密钥,该密钥是从原始 AES 密钥计算得出的。操作轮数取决于密钥的大小,方式如下:
对于 128 位密码密钥,10 轮
对于 192 位密码密钥,12 轮
对于 256 位密码密钥,14 轮
AES 和 DES 密码之间的区别
下表重点介绍了 AES 和 DES 密码之间的主要区别。
密钥 | AES | DES |
---|---|---|
定义 | AES 代表高级加密标准。 | DES 代表数据加密标准。 |
密钥长度 | 密钥长度从 128 位、192 位到 256 位不等。 | 密钥长度为 56 位。 |
操作轮数 | 每个密钥长度的轮数
| 16 轮相同的操作。 |
网络 | AES 结构基于置换-替换网络。 | DES 结构基于 Feistal 网络。 |
安全性 | AES 是事实上的标准,并且比 DES 更安全。 | DES 较弱,但是 3DES(三重 DES)比 DES 更安全。 |
轮数 | AES 加密中涉及的操作轮数为字节替换、行移位、列混合和密钥加法。 | 扩展、与轮密钥进行异或运算、替换和置换是 DES 加密中使用的轮数 |
大小 | AES 可以加密 128 位明文。 | DES 可以加密 64 位明文。 |
衍生自 | AES 衍生自 Square 密码。 | DES 衍生自 Lucifer 密码。 |
设计者 | AES 由 Vincent Rijmen 和 Joan Daemen 设计。 | DES 由 IBM 设计。 |
已知攻击 | 没有已知攻击。 | 蛮力攻击、线性密码分析和差分密码分析。 |
加密 | AES 可以加密最长 128 位的明文。 | DES 可以加密 64 位明文。 |
结论
总之,AES 和 DES 都是对称密钥分组密码,但是 AES 密码是事实上的加密标准,并且比 DES 密码更安全。