為什麼 GCM 在生日綁定 128 位 IV 時不易受到攻擊?
根據這篇文章,對 Caesar 候選者的攻擊超出了他們聲稱的範圍,它們包括第 6 頁上針對 AES-GCM 的隨機數攻擊對手的攻擊,該攻擊允許在生日範圍內超過 128 位的 IV(即, $ 2^{64} $ ).
我的問題是為什麼 GCM 不會受到 128 位 IV 的這種攻擊?如果 128 位 IV 的 GHASH 計算充當排列,我可以理解這一點(如果是這樣,有人可以證明這一點)嗎?
實際上,事實證明 128 位值上的 GHASH是一種排列(除非 $ H=0 $ ; 這很有可能發生 $ 2^{-128}) $
128 位值的 GHASH $ X $ 簡化為 $ \text{GHASH}_H(X) = H \times X $ , 在哪裡 $ H $ 是鍵的函式(即,對於特定的鍵將始終相同),並且 $ \times $ 是領域中的乘法 $ GF(2^{128}) $ .
這是一個排列,因為 $ GF(2^{128}) $ 是一個域,並且在域中乘以一個固定的非零值始終是一個排列。
至於您在評論中提到的“碰撞”,實際上是不可能發生的。
如果我們有 $ H \times I_1 = 128 $ , 這意味著 $ H \ne 0 $ 和 $ I_1 = 128 \times H^{-1} $
如果我們有 $ H \times ((H \times I_2) \oplus 128) = 0 $ , 只有當 $ H = 0 $ (如果第一個等式成立,則不會發生)或 $ (H \times I_2) \oplus 128 = 0 $ , 僅當 $ H \times I_2 = 128 $ ,也就是說,如果 $ I_2 = 128 \times H^{-1} $
因此,為了使兩者都成立,我們必須有 $ I_1 = I_2 $ ,因此這不是“碰撞”