2011-11-02 103 views
2

我對Rijndael類使用AES加密來加密密碼,然後將其存儲在配置文件中。獨特的初始化向量有什麼好處?

我知道什麼是初始化向量。我已閱讀SO上的線索(如Should I use an initialization vector (IV) along with my encryption?)和wikipedia上的文章。

但是,有一點我沒有得到:因爲您需要與加密過程中使用的解密相同的IV,所以您不得不使用加密文本存儲IV。那麼對每種加密使用獨特的IV有什麼好處?如果攻擊者獲得加密文本,他也會得到IV。

回答

7

假設你在兩個地方有相同的消息,都使用相同的密鑰加密。

攻擊者發現(某種程度上)這些消息的明文是什麼。如果你在這兩種情況下使用了相同的IV,攻擊者也知道另一個消息的明文,因爲密文將是相同的。如果你使用了不同的IV(並且攻擊者沒有密鑰),那麼第二條消息的內容仍然是安全的。