Wikipedia 的 WEP - RC4 範例是否真的展示了相關的密鑰攻擊或只是 IV 重用攻擊?
在維基百科的相關密鑰攻擊頁面上,有一節關於 WEP 作為相關密鑰攻擊的範例。
加密使用 RC4 算法,一種流密碼。同一個密鑰永遠不能與流密碼一起使用兩次,這一點很重要。為了防止這種情況發生,WEP 在每個消息包中包含一個 24 位的初始化向量 (IV)。該數據包的 RC4 密鑰是與 WEP 密鑰連接的 IV。WEP 密鑰必須手動更改,這通常很少發生。因此,攻擊者可以假設用於加密數據包的所有密鑰共享一個 WEP 密鑰。這一事實使 WEP 遭受了一系列攻擊,這些攻擊被證明是毀滅性的。最容易理解的事實是 24 位 IV 只允許不到 1700 萬種可能性。由於生日悖論,很可能對於每 4096 個數據包,兩個數據包將共享相同的 IV 並因此共享相同的 RC4 密鑰,從而允許數據包受到攻擊。$$ Bolds are mine $$
RC4 接受 40–2048 位密鑰大小。WEP 設計者選擇了密鑰的某些部分作為 RC4 輸入的 IV。
實際上,這種攻擊純粹使用(IV,key)對重用。攻擊者只是等待碰撞攻擊。這在任何流密碼中都很常見。
是什麼使它成為相關的密鑰攻擊?在相關密鑰攻擊中,我們不是結合一些不同但相關的密鑰來攻擊密碼嗎?
實際上,這種攻擊純粹使用(IV,key)對重用。
實際上,該頁面引用了兩次攻擊。正如您所指出的,第一個(更明確地說明)並不是真正的“相關密鑰攻擊” - 相反,它更像是“相同的密鑰攻擊”。
然而,這並不是導致 WEP 被棄用的攻擊。該頁面還引用了該攻擊,以“更具破壞性的攻擊利用 RC4 中的某些弱密鑰……”這句話開頭。這指的是一種使用許多不同的 IV 來恢復密鑰的攻擊——事實證明,一些 IV 以這樣一種方式設置排列,即生成的第一個字節與後面的一個密鑰字節相關聯;從密文包中,很容易重新計算RC4生成的第一個字節(因為第一個明文字節總是相同的),因此通過觀察足夠多的包,您可以恢復密鑰。
而且,由於這是通過觀察具有已知關係的多個不同 RC4 密鑰的弱點,因此這種特定攻擊是相關密鑰攻擊。