三重 DES

1990 年后,针对 DES 的详尽密钥搜索速度开始引起 DES 用户的不适。 然而,用户并不想取代 DES,因为更改广泛采用并嵌入大型安全架构中的加密算法需要花费大量时间和金钱。

务实的做法并不是完全放弃 DES,而是改变 DES 的使用方式。 这导致了 Triple DES(有时称为 3DES)的修改方案。

顺便说一句,三重 DES 有两种变体,称为 3 密钥三重 DES (3TDES) 和 2 密钥三重 DES (2TDES)。

3-KEY 三重 DES

在使用3TDES之前,用户首先生成并分发一个3TDES密钥K,它由三个不同的DES密钥K1、K2和K3< /子>。 这意味着实际的 3TDES 密钥的长度为 3×56 = 168 位。 加密方案如下图所示 −

加密方案

加解密过程如下 −

  • 使用密钥 K1 使用单个 DES 加密明文块。

  • 现在使用密钥 K2 使用单个 DES 解密步骤 1 的输出。

  • 最后,使用密钥 K3 使用单个 DES 对步骤 2 的输出进行加密。

  • 第3步的输出是密文。

  • 密文的解密是一个逆过程。 用户首先使用K3解密,然后使用K2,加密,最后使用K1解密。

由于将三重 DES 设计为加密-解密-加密过程,因此可以通过设置 K1、 K2 对单个 DES 使用 3TDES(硬件)实现 , 和 K3 为相同值。 这提供了与 DES 的向后兼容性。

三重 DES (2TDES) 的第二个变体与 3TDES 相同,只是 K3 被替换为 K1。 换句话说,用户使用密钥 K1 加密明文块,然后使用密钥 K2 解密,最后再次使用 K1 加密。 因此,2TDES 的密钥长度为 112 位。

三重 DES 系统比单 DES 安全得多,但这些过程显然比使用单 DES 的加密慢得多。