我知道獨特的IV在加密時非常重要,可以防止頻率分析等攻擊。問題:For AES CBC encryption, whats the importance of the IV?有一個非常明確的答案來解釋IV的重要性。AES加密如何傳輸IV
以明文形式發送IV會有什麼安全漏洞嗎?或者是否需要使用用於發送對稱密鑰的相同公鑰/私鑰進行加密?
如果IV需要加密發送,那麼爲什麼不每次都生成一個新的對稱密鑰並將IV作爲密鑰的一部分?生成對稱密鑰是否太昂貴?或者是最小化傳輸的數據量?
頂端回答到Secret vs. Non-secret Initialization Vector狀態:
一個典型的密鑰建立協議將導致兩個涉及雙方計算一個數據,他們,但只有他們,都知道。使用Diffie-Hellman(或其任何橢圓曲線變體),所述共享數據片段具有固定長度,並且它們無法控制其值(它們只是得到相同的看起來隨機的比特序列)。
兩個實體如何在沒有共享信息的情況下導出「相同的表面上隨機的位序列」?是否將共享信息發送加密的假設?而且,如果共享信息被加密發送,爲什麼不直接發送加密的IV?
因爲應用程序需要安全地傳輸對稱密鑰,它似乎是從密鑰本身分離IV本質上是一個優化。或者我錯過了什麼?
我過去曾經使用過的一個方案是每次生成一個隨機密鑰,並用先前共享的公鑰/私鑰對對密鑰和iv進行加密。我從來沒有覺得這會增加AES有效載荷(對於我的使用),但可能極其有限的通信協議可能對尺寸有更嚴格的要求 – rejj 2012-01-10 14:17:36