DES 的变体有哪些?


数据加密标准有两个主要变体,如下所示:

  • 双重 DES - 双重 DES 是一种加密方法,需要对相同明文进行两次 DES 加密。在这两种情况下,它都使用多个密钥来加密明文。解密时需要两个密钥。

    64 位明文进入第一个 DES 实例,然后利用第一个密钥转换为 64 位中间文本,然后进入第二个 DES 实例,利用第二个密钥提供 64 位密文。

    双重 DES 很容易实现,因为它与普通的 DES 所做的相同。双重 DES 需要两个密钥,在本算法中称为 K1 和 K2。它可以使用 K1 对原始明文执行 DES 加密以获得加密文本。然后,它再次对加密文本执行 DES 加密,但这次使用本算法中的另一个密钥 K2。

    最终输出是使用两个不同的密钥对加密文本和原始明文进行两次加密的结果,如图所示:

    而双重加密的密文块首先使用密钥 K2 解密以创建由明文或原始文本生成的单重加密的密文。然后,此密文块使用密钥 K1 解密以获取原始明文块。

    通常,基本版本 DES 的密码分析需要搜索 2^56,因此假设双重 DES 需要 2^128 个密钥,但这对消息来说是不正确的。因此,中间相遇攻击是双重 DES 的一个缺点。通常,这种攻击包括从一端加密,从另一端解密,并在中间连接结果,因此得名。

  • 三重 DES - 三重 DES 有两个版本,如下所示:

    使用两个密钥的三重 DES - 在使用两个密钥的三重 DES 中,只有两个密钥 K1 用于第一和第三过程,K2 用于第二过程。

    基本上,首先使用密钥 K1 对明文进行加密,然后使用 K2 对步骤一的输出进行解密,最后使用密钥 K1 对第二步的输出进行加密。在密码学中,它也称为加密-解密-加密 (ECE) 模式。

    使用三个密钥的三重 DES - 在三重 DES 中,明文块 P 首先使用密钥 K1 加密,然后使用第二个密钥 K2 加密,最后使用第三个密钥 K3 加密,其中 K1、K2 和 K3 在此算法中彼此不同。解密以相反的顺序完成。因此,此算法通常用于 PGP 和 S/MIME 中。

更新时间: 2022 年 3 月 14 日

2K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告