Encryption

為什麼兩次應用 56 位 DES 只能提供 57 位的安全性?

  • April 19, 2015

給定兩個 56 位密鑰, $ k_1 $ 和 $ k_2 $ , 為什麼 $ E_{k_1}(E_{k_2}(M)) $ 只提供 57 位安全性?

所以基本上我不確定為什麼它只提供 57 位安全性;我知道一個密鑰將提供 56 位。我唯一能想到的是,當添加另一個 56 位時,它會循環遍歷所有位並意識到它們是相同的,所以它只是為第二個密鑰塊添加了 1 個額外的位,而不是另一個 56 位?

如果我錯了,有人可以簡單地一步一步地解釋嗎?

使用每個可能的密鑰解密密文並儲存結果: $ 2^{56} $ 解密。現在用每個可能的密鑰加密密文的(已知)明文: $ 2^{56} $ 加密。現在您必須檢查兩個列表中的每個條目,並嘗試使用另一個明文-密文對。如果你能成功解密,你很可能找到了正確的密鑰。總而言之 $ 2^{56} + 2^{56} = 2^{57} $ DES 操作(加密和解密),遠少於 $ 2^{112} $ . 您需要做一些工作來在列表中搜尋並檢查每個可能的鍵,但是對於 DES,這並不是很多工作。

這一切都被稱為中間相遇攻擊

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