2011-10-06 71 views
2

我正在使用RijndaelManaged來加密和解密數據。我可能誤解了一個初始化向量,但是我發現,如果在解密我的數據時將其設置爲不同的值,除前16個字符外的所有字符仍然可以正確解密。那是預期的行爲?是否需要初始化向量能夠解密我的數據?

回答

3

是的。在CBC模式下,每個密文塊被用作下一個密文塊的IV。使用錯誤的IV會擾亂前16個字節塊,但後續塊將不受影響。這可能是一個有用的屬性,因爲它允許在錯誤塊之後進行錯誤恢復,這在某些情況下很重要。它也說明了爲什麼沒有必要保持IV祕密(不像密鑰!)。

相關問題