Aes

如何使用 AES-GCM IV 和 auth 標籤?

  • August 21, 2022

我最近一直在學習 AES-GCM 和 AES,並創立了:

關鍵是秘密,發送者和接收者都將它永遠隱藏起來。

IV 和 auth 標籤是公開的,並與密文一起發送,這意味著它們對全世界都是公開的。

那麼這些可以給其他人關於密文的提示或資訊呢?

關鍵是秘密,發送者和接收者都將它永遠隱藏起來。

嗯,是的,當然,除非你想與你信任的一方分享它。同一消息可以有多個接收者。如果不再需要消息保密,您甚至可以公開發布密鑰。

IV 和 auth 標籤是公開的,並與密文一起發送,這意味著它們對全世界都是公開的。

首先,我想解釋一下 AES-GCM 需要一個隨機數。我看到的大多數庫都將 IV 視為 nonce 值。不過我會使用“nonce”這個詞。

隨機數和身份驗證標籤是公開的嗎?不必要。在 AES-GCM 提供的安全性中,假設對手已知的隨機數和身份驗證標籤。但是,它們是否公開取決於案例。

將身份驗證標籤與密文一起保存當然是司空見慣的。但是,這是密碼的單獨輸出參數。

隨機數是否與密文一起保留或什至作為密文的前綴更多地取決於協議。例如,使用消息計數器或消息的唯一 ID 作為隨機數是相對常見的。在這種情況下,nonce 不一定必須包含在消息中。

那麼這些可以給其他人關於密文的提示或資訊呢?

您需要密鑰和隨機數才能驗證身份驗證標籤。這提供了消息完整性和身份驗證。顯然,您還需要這兩個來解密消息。

請注意,該方案的安全性取決於密鑰值,而不是隨機數,這是使對明文消息中的所有值執行的加密唯一所必需的。

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