Des
DES 弱密鑰 - 雙重加密
我知道有 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
文件應該相同。