2

我正在使用 RijndaelManaged 来加密和解密数据。我很可能误解了初始化向量的意义,但我发现如果我在解密数据时将其设置为不同的值,除了前 16 个字符之外的所有字符仍然可以正确解密。这是预期的行为吗?

4

1 回答 1

3

是的。在 CBC 模式下,每个密文块都用作下一个密文块的 IV。使用有缺陷的 IV 会弄乱前 16 字节块,但后续块将不受影响。这可能是一个有用的属性,因为它允许在错误块之后进行错误恢复,这在某些情况下可能很重要。它还说明了为什么不需要将 IV 保密(与密钥不同!)。

于 2011-10-06T17:27:30.040 回答