Block-Cipher
分組密碼塊和密鑰大小
使塊大小小於塊密碼中的密鑰大小有什麼意義嗎?例如,俄羅斯 GOST 對稱密碼使用 256 位密鑰來加密 64 位塊。這意味著有許多鍵可以給出相同的結果,那麼為什麼要使鍵如此之大呢?
GOST 對稱密碼使用 256 位密鑰來加密 64 位塊。這意味著有許多鍵給出相同的結果
這實際上是不正確的。分組密碼,當給定一個密鑰時,映射 $ n $ -bit 明文塊到 $ n $ 位密文塊(反之亦然用於解密)。這是一個玩具範例 $ n=2 $ :
$ E_k(00) = 01 \ E_k(01) = 10 \ E_k(10) = 00 \ E_k(11) = 11 $
雖然有 $ 2^n $ 可能的明文塊和 $ 2^n $ 可能的密文塊,其實有 $ 2^n! $ 將明文塊映射到密文塊的不同可能方式。在這個玩具範例中,實際上有 $ 2^2! = 4! = 1\times2\times3\times4 = 24 $ 將每個兩位輸入映射到唯一的兩位輸出的不同方式。
回到你的問題,GOST 使用 256 位密鑰,這意味著有 $ 2^{256} $ 可能的鍵。但是,對於 64 位塊大小,有 $ 2^{64}! $ 不同的可能排列,以及 $ 2^{64}! $ 遠大於 $ 2^{256} $ .