CyberGlossary

密码学

初始化向量(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——会导致严重的机密性与真实性失效。

示例

  • AES-CBC 实现会在每段密文前附加一个 16 字节的随机 IV。
  • AES-GCM 使用 96 位 IV,且每对 (密钥, 消息) 都必须唯一。

相关术语