Encryption 是否需要初始化向量才能解密我的数据?

Encryption 是否需要初始化向量才能解密我的数据?,encryption,cryptography,rijndaelmanaged,Encryption,Cryptography,Rijndaelmanaged,我使用RijndaelManaged对数据进行加密和解密。我很可能误解了初始化向量的意义,但我发现,如果在解密数据时将其设置为不同的值,则除前16个字符外,所有字符仍能正确解密。这是预期的行为吗?是的。在CBC模式下,每个密码文本块用作下一个密码文本块的IV。使用有故障的IV将弄乱第一个16字节的块,但后续的块将不受影响。这是一个有用的属性,因为它允许在出现故障的块之后进行错误恢复,这在某些情况下可能很重要。它还说明了为什么没有必要对IV保密(与钥匙不同!)

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

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