初始化向量是随机数,通常与块大小相同的比特数,用作加密一组数据时的起点。初始化向量仅用于利用反馈的密码模式。这确保了初始化向量的效果在被加密的整个纯文本消息中传播。
如果不使用初始化向量,则当使用相同的密钥对两个相同的明文消息进行加密时,生成两个相同的密文消息。然而,如果每个明文消息用不同的初始化向量加密,则生成的密文消息是完全不同的。
您应该始终使用不同的初始化向量对每个消息进行加密,特别是当消息包含大量的重复时。
使用CryptoAPI的应用程序负责传送初始化向量以及加密消息。没有必要加密这个向量。