Aes-Gcm
為什麼 Carter-Wegman(和 AES-GCM)對 PRF 和 keyed-hash 使用不同的密鑰
所以。據我了解,Carter-Wegman 通過使用 PRF 對其進行加密來轉換一次性 MAC(必須是差異不可預測函式 (DUF))。
DUF 和 PRF 使用兩個不同的密鑰,在以下情況下可以理解:
- 你只是小心翼翼,沒有混用鑰匙
- PRF 和 DUF 可能採用不同大小/格式的密鑰
現在,AES-GCM 使用 AES 和 GHASH,它們都採用 128 位大小的密鑰。那麼他們為什麼不使用相同的密鑰呢?
讓我們考慮一個退化的情況。假設您正在驗證 16 字節消息,您的 DUF(更好地稱為(幾乎)xor-universal hash)是 $ \text{AES}_k $ , 你的 PRF 也是 $ \text{AES}_k $ . 然後你有 $$ \text{WC}(m, n) = \text{AES}_k(m) \oplus \text{AES}_k(n),, $$ 在哪裡 $ m $ 是您的 16 字節消息,並且 $ n $ 是一個 16 字節的隨機數。這顯然是可以通過簡單地切換隨機數和消息來偽造的!然而,如果我們為每個原語使用獨立的密鑰,那將是完全安全的。
在不太退化的情況下,例如 GCM,您可能對兩者使用相同的密鑰。但是您將沒有簡單的方法來爭論該方案的安全性,因為散列和 PRF不會是獨立的。