Aes

使用 AES-256-GCM 時,密文大小可以小於 IV 是否正常?

  • October 26, 2022

我注意到當使用 AES-256-CBC 和 128 位 IV 時,密文總是至少 16 個字節長(IV 的大小)。

我還注意到,當使用 96 位 IV 的 AES-256-GCM 時,密文大小可以小於 IV。

普通的?為什麼?

我注意到當使用帶有 128 位 IV 的 AES-256-CBC 時,密文總是至少 16 個字節長。

AES-256-CBC 使用 PKCS#7 填充意味著最多可以有 16 個額外字節。

通常人們會看到IV|ciphertext密文是填充塊的加密。

我還注意到,當使用 96 位 IV 的 AES-256-GCM 時,密文長度可能小於 12 個字節。

AES-GCM 使用不需要填充的 CTR 模式,因此密文始終等於明文大小。

通常人們會看到IV|ciphertext|tag預設標籤是 16 字節。

這很奇怪,實際上取決於軟體庫的輸出。

使用 AES-256-GCM 時,密文大小可以小於 IV 是否正常?

如果我們只談論密文,在 CTR 模式下它總是等於明文大小。

然而,在語義上,IV 是密文的一部分,因為沒有它就無法完全解密密文——CBC 只失去了第一個塊,而 CTR 失去了所有塊。

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