我知道独特的IV在加密时非常重要,可以防止频率分析等攻击。问题:For AES CBC encryption, whats the importance of the IV?有一个非常明确的答案来解释IV的重要性。AES加密如何传输IV
以明文形式发送IV会有什么安全漏洞吗?或者是否需要使用用于发送对称密钥的相同公钥/私钥进行加密?
如果IV需要加密发送,那么为什么不每次都生成一个新的对称密钥并将IV作为密钥的一部分?生成对称密钥是否太昂贵?或者是最小化传输的数据量?
顶端回答到Secret vs. Non-secret Initialization Vector状态:
一个典型的密钥建立协议将导致两个涉及双方计算一个数据,他们,但只有他们,都知道。使用Diffie-Hellman(或其任何椭圆曲线变体),所述共享数据片段具有固定长度,并且它们无法控制其值(它们只是得到相同的看起来随机的比特序列)。
两个实体如何在没有共享信息的情况下导出“相同的表面上随机的位序列”?是否将共享信息发送加密的假设?而且,如果共享信息被加密发送,为什么不直接发送加密的IV?
因为应用程序需要安全地传输对称密钥,它似乎是从密钥本身分离IV本质上是一个优化。或者我错过了什么?
我过去曾经使用过的一个方案是每次生成一个随机密钥,并用先前共享的公钥/私钥对对密钥和iv进行加密。我从来没有觉得这会增加AES有效载荷(对于我的使用),但可能极其有限的通信协议可能对尺寸有更严格的要求 – rejj 2012-01-10 14:17:36