Entry № 601
初始化向量(IV)
初始化向量(IV) 是什么?
初始化向量(IV)分组密码工作模式所使用的随机初始值,用于保证相同明文在同一密钥下加密会得到不同密文。
初始化向量(Initialization Vector,IV)是与密钥一起输入到分组密码工作模式中的公开、一次性使用的值,目的是让同一段明文两次加密产生不同的密文。所需特性依模式而定:AES-CBC 需要不可预测的(密码学随机)IV 才能保持 CPA 安全;AES-CTR 与 AES-GCM 只需要唯一(不重复)的 IV,不必保密——在 AES-GCM 中该值也称作 nonce。CBC 模式下 IV 长度通常等于分组长度(AES 为 128 位),GCM 为 96 位,流密码/CTR 模式则为 64–128 位;IV 通常随密文一同传输。IV 处理不当——如 CBC 中可预测的值(BEAST 攻击)或 GCM 中重复的 nonce——会导致严重的机密性与真实性失效。
● 示例
- 01
AES-CBC 实现会在每段密文前附加一个 16 字节的随机 IV。
- 02
AES-GCM 使用 96 位 IV,且每对 (密钥, 消息) 都必须唯一。
● 常见问题
初始化向量(IV) 是什么?
分组密码工作模式所使用的随机初始值,用于保证相同明文在同一密钥下加密会得到不同密文。 它属于网络安全的 密码学 分类。
初始化向量(IV) 是什么意思?
分组密码工作模式所使用的随机初始值,用于保证相同明文在同一密钥下加密会得到不同密文。
如何防御 初始化向量(IV)?
针对 初始化向量(IV) 的防御通常结合技术控制与运营实践,详见上方完整定义。
初始化向量(IV) 还有哪些其他名称?
常见的别称包括: IV, 密码初始向量。