CBC等计划中使用的IV必须是随机且不可预测的。但与此同时,它不必保密。
如果IV不必保密,为什么它必须随机呢?我没有理解这些看似矛盾的要求。
我已经看到了利用非随机性的攻击的描述。所以,我会理解为什么需要随机性。然而,当要求指明IV不必保密时,事情会变得混乱!这似乎打败了随机性的整个目的。
有人帮助澄清这一点。
答案 0 :(得分:0)
我认为你正在扭转角色。
设计加密协议时,会考虑到某些假设。您使用的假设越多,协议的用处就越少,因为您不太可能找到假设所持有的场景。
就CBC而言,IV的设计不需要保密。如果你愿意,你可以保守秘密。这种算法肯定不是 less 安全。但这不是必需的。
另一方面,具有非随机IV会导致整个协议不适合某些应用程序。在为协议添加需求和向数据添加需求之间进行选择时,正确的选择是显而易见的。
换句话说,IV不需要保密,仅仅因为它可以是非秘密的。