Des

DES 弱密鑰 - 雙重加密

  • July 10, 2017

我知道有 4 個已知的弱密鑰,它們的值以及使用其中一個弱密鑰的雙重加密應該返回純文字。

我在 OpenSSL 中實現了這一點。我有一個純文字 $ m $ 在文件中plain.txt併計算 $ y = DES_k(m) $ 在哪裡 $ k $ 是一個弱鍵。然後我計算 $ y’ = DES_k(y) $ . 而不是得到 $ m $ 我只得到它的一部分,其餘的是它的一部分 $ y $ .

為什麼會這樣?

如果你沒有得到預期的結果,那麼你做錯了;最有可能的是,使用錯誤的操作模式和/或錯誤的填充。您可以使用 openssl 獲得預期結果

openssl enc -e -des-ecb -in plain.txt -out cipher1.txt -nopad -K 0101010101010101 -iv 0
openssl enc -e -des-ecb -in cipher1.txt -out cipher2.txt -nopad -K 0101010101010101 -iv 0

plain.txt文件大小應該是 8 的倍數(8 個字節是 DES 塊大小),plain.txt並且cipher2.txt文件應該相同。

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