双 DES 和 3-DES 有什么区别?

信息安全 德斯
2021-08-18 02:18:23

我没有得到 2-DES 和 3-DES 的确切要点。我想知道两者之间的区别;为什么选择 3-DES 而不是 2-DES?

2个回答

Double-DES 是两个连续的 DES 实例,而 Triple-DES 是三个连续的 DES 实例。

我们使用 3DES 而不是 2DES,因为 2DES 不会产生您所相信的安全性提升。即,2DES 使用 112 个密钥位(两个 56 位 DES 密钥)但提供大约 2 57的安全级别,而不是 2 112,因为“中间相遇攻击”在那里得到了很好的解释不是与“中间人”混淆,这是一个完全不同的概念)。类似地,3DES 使用 168 个密钥位,但“仅”提供 2 112 个安全性(这在实践中已经足够了)。这也解释了为什么 3DES 有时与 112 位密钥一起使用(第三个 DES 密钥是第一个密钥的副本):使用 168 位实际上并不会使事情更安全。

这可以概括为:我们使用n -DES 是因为一个简单的 DES 太弱(一个 56 位的密钥可以被一个坚定的攻击者暴力破解),但是为了真正提高安全性,我们必须达到n ≥ 3 . 当然,每个额外的 DES 都意味着一些计算开销(简单的 DES 在软件中已经很慢,3DES 是 3 倍)。

DES前面的数字是DES运行的次数。DES 简单地接受输入,通过 DES 运行一次,然后得到最终输出。然而 DES 有一些弱点,所以 3DES 被用来帮助对抗它们。

3DES 运行通过一个 DES 实例,将该输出作为输入馈送到另一个 DES 实例,最后该输出进入第三个实例。

2DES 类似,但只通过两种 DES 算法。

我们使用 3DES 而不是 2DES 的原因是 2DES 实际上并没有比 DES 给我们更多的安全性。如果我们获取一堆可能的纯文本并开始尝试对它们进行编码,同时获取一堆加密值并开始解密它们,我们只需要寻找它们在中间以相同值相遇的位置。然后这些交叉点揭示了关键。

由于中间步骤,3DES 避免了这种情况。我们需要进行第三个操作来判断它们是否在中间相遇,因此我们不能简单地寻找第一个和最后一个操作产生相同值的位置。