Encryption

我可以推導出一個 IV 作為 AES256-GCM 的段計數器嗎?

  • May 8, 2017

我正在編寫一個軟體,它將加密和驗證數據段,每個 4096 字節長。這些段以永遠不會改變的順序保存到磁碟。所以我想用 加密它們中的每一個AES256-GCM,但在我編碼之前,我需要確認幾點:

  1. 為了節省空間以保存IV加密AES-GCM/解密,我正在考慮將每個段的序號用作IV. 這會造成問題(在密碼學意義上)嗎?
  2. 我決定使用 16 字節TAGAES-GCM用於身份驗證)。這對於加密的 4096 字節段來說是不是有點過頭了?
  1. 為了節省空間以保存用於 AES-GCM 加密/解密的 IV,我正在考慮將每個段的序列號用作 IV。這會造成問題(在密碼學意義上)嗎?

不,這不會造成問題,因為用於 GCM 加密的(12 字節)IV 實際上是一個隨機數;它不直接用作底層 CTR 加密的計數器。

  1. 我決定使用 16 字節的 TAG(AES-GCM 使用它進行身份驗證)。這對於加密的 4096 字節段來說是不是有點過頭了?

GCM 的安全性取決於身份驗證標籤的大小。如果您可以節省幾個字節,我強烈建議將其設置為 128 位。無論如何,您都有成本,並且 16 / 4096(如果我沒記錯的話,是 1 / 256)不到成本的 1%。

而且您似乎將處理大量數據,這增加了攻擊者的攻擊面。安全總比後悔好。

引用自:https://crypto.stackexchange.com/questions/47252