Des

DES 中的初始化向量是否必須為 8 個字節長?

  • January 6, 2020

我正在試驗 DES 並決定為它實現一個 IV(初始化向量)。我注意到在 56 位和 8 個奇偶校驗位的 DES 中,IV 的長度為 8 個字節。這是否意味著如果我要編寫 DES 但使用 128 位密鑰,IV 的長度將是 16 個字節而不是 8 個字節?(這裡是密碼學新手)

IV 是分組密碼操作模式的一部分,而不是分組密碼本身的一部分。分組密碼根本沒有任何 IV 輸入,它只需要一個輸入塊並使用密鑰生成一個輸出塊。因此,您不能為 DES 本身實現 IV。

然而,塊大小通常對操作模式有影響。即使這樣,IV仍可能與某些模式的塊大小不同。為了使它更複雜一點,一些操作模式,如 CTR 模式和 GCM 模式(用於 128 位塊密碼,如 AES)可能有不同的選項來實現 IV 或 nonce。

無論密鑰大小如何,DES 塊大小始終為 64 位,就像 AES 的塊大小始終為 128 位一樣。密鑰大小不會(必然)對塊大小產生任何影響,儘管密鑰大小是塊大小的倍數可能是有利的,以防密鑰需要由其他密鑰加密(用另一個密鑰包裝密鑰)包裝”鍵)。

對於 CBC 模式,它通常被解釋為啟動密碼學家的第一個模式,IV 需要是完整的塊大小。此外,對於 CBC,IV 需要與隨機的任何對手都無法區分。這意味著 IV 始終設置為 8 字節或 64 位。


注意DES本身只支持64位密鑰,其中8位是奇偶校驗位,所以有效密鑰大小為56位。三重 DES 或 DES-EDE 可以使用兩個密鑰。然後它使用密鑰 A 進行第一次加密,密鑰 B 用於解密模式中的 DES,再次使用密鑰 A 進行加密,因此是 ABA 密鑰。

但是,由於這些塊加密/解密只是簡單地堆疊在一起,因此塊大小保持不變:64 位。因此,對於 CBC,IV 也確實需要為 64 位/8 字節。

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