0

CBC 等方案中使用的 IV 必须是随机且不可预测的。但与此同时,它不必保密。

如果 IV 不必是秘密的,那为什么它必须是随机的呢?我无法理解这些看似矛盾的要求。

我已经看到了利用非随机性的攻击的描述。所以,我会理解为什么需要随机性。但是,当要求指定 IV 不必保密时,事情就会变得混乱!这似乎违背了随机性的整个目的。

请有人帮助澄清这一点。

4

1 回答 1

0

我认为你正在颠倒角色。

在设计加密协议时,它的设计考虑了某些假设。您使用的假设越多,协议的用处就越小,因为您不太可能找到假设成立的场景。

在 CBC 的情况下,IV 被设计为不需要保密。如果你愿意,你可以保密。这种算法绝对不会降低安全性。然而,这不是一个要求。

另一方面,具有非随机 IV 会导致整个协议不适用于某些应用程序。在向协议添加要求和向其数据添加要求之间进行选择时,正确的选择是显而易见的。

换句话说,IV 不需要是秘密的,仅仅因为它可以是非秘密的。

于 2016-01-07T20:18:53.363 回答