Ctr
用 AES CTR 模擬 AES GCM
建立AES GCM 和 AES CTR 之間的關係……如果你的 GCM 隨機數是“aaaa aaaa aaaa”(沒有空格),那麼 CTR IV 就是附加了 (0,0,0,2) 的那個。
我的問題是……當計數器到達(255、255、255、255)時會發生什麼?最後五個字節是 (98, 0, 0, 0, 0)(其中 98 = b)還是 (97, 0, 0, 0, 0)(其中 97 = a)?
我猜是後者,但 idk。
謝謝!
在 NIST 特別出版物800-38D第 8 頁中,最大輸入長度在標準中定義為:
認證加密函式的輸入字元串的位長應滿足以下要求:
- $ len(P) \leq 2^{39}-256 $
在第 8.3 節中,所有實現的呼叫次數要求:
認證加密函式的總呼叫次數不得超過 $ 2^{32} $ ,包括所有 IV 長度和具有給定密鑰的經過身份驗證的加密函式的所有實例。
- 因此,該建議不建議計數器溢出。
我們可以找到最大值:
$ 2^{32} $ 呼叫,每次呼叫可以加密 128 位( $ 2^7 $ -bit) 與 AES,因此
$ 2^{32} \cdot 2^{7} = 2^{39}\text{-bit} \approx 68.7\text{GB} $ 是在 NIST 推薦下可以使用 AES-GCM 加密的最大數據。