使用隨機數產生的初始化向量才能達到語義安全(散列函數與消息驗證碼也有相同要求),並讓攻擊者難以對同一把密鑰的密文進行破解
初始化向量的值依密碼算法而不同。最基本的要求是“唯一性”,也就是說同一把密鑰不重復使用同一個初始化向量。這個特性無論在區塊加密或流加密中都非常重要。
示例: 對明文P做流加密,轉換成密文C。所使用的是流密鑰K,它來自密鑰與初始化向量。我們可以得到等式:C = P xor K。假如攻擊者得知密文C1與C2來自同一把密鑰與初使向量。那么攻擊者就能通過底下公式得到明文P1與P2:
C1 xor C2 = (P1 xor K) xor (P2 xor K) = P1 xor P2.