Block-Cipher
TripleDES中將168位密鑰劃分為56位密鑰的過程
我用
TripleDES
了很多次,但從來沒有想過這個。其中TripleDES
需要168bit
選項 1 中的鍵。我在實現時不輸入三個單個56bit
鍵,而是只輸入168bit
鍵。所以,我猜想168bit
分成三個56bit
鍵。這種破壞機制的過程是怎樣的?它是線性的嗎?
是的。這些鍵確實以線性方式使用。
特別是,它們用於 $ E $ - $ D $ - $ E $ 模式:使用前 56 位作為密鑰加密,使用後 56 位作為密鑰解密,然後使用最後 56 位再次加密。
這樣就可以對 DES、2-DES 和 3-DES 變體使用三重 DES(正式稱為 TDEA)。第一個會使用 $ K_1 $ - $ K_1 $ - $ K_1 $ 作為鍵,第二個將使用 $ K_1 $ - $ K_2 $ - $ K_1 $ 作為密鑰,完整的 3-DES 將使用 $ K_3 $ - $ K_2 $ - $ K_1 $ 作為鍵。有時 2-DES 和 3-DES 密鑰也分別稱為 ABA 和 ABC 密鑰。
DES 使用每個字節的一位作為奇偶校驗,但該位並不總是由實現驗證。因此,具有奇偶校驗的三重 DES 密鑰使用 64、128 或 192 位。這解釋了為什麼某些實現允許將 128 位的 MD5 散列的輸出作為 2-DES 密鑰輸入而沒有任何錯誤。
參考 :