Encryption
帶 2 個密鑰的三重 DES
假設通過選擇兩個密鑰來執行三重 DES $ K_1 $ 和 $ K_2 $ 和計算 $ C = T (T (T (L, K_1), K_2), K_2) $ . 如何通過中間相遇攻擊來攻擊這個修改後的版本,其中攻擊者至少知道一個 $ (L,C) $ 一對?
這說明了使用 3DES雙鍵鍵控選項獲得正確的鍵順序的重要性。以正確的順序 $ k_1 $ , $ k_2 $ , $ k_1 $ 你得到的東西用目前資源應該是不可能攻擊的,而問題中的順序不正確,攻擊是可行的。
外部的兩個加密層可以合併成一個密碼,我們可以稱之為 DES 2。那是一個帶有 56 位密鑰的 64 位分組密碼,就像 DES 一樣。計算成本大約是其兩倍。
那麼問題就變成了將中間相遇攻擊應用於雙重加密的簡單案例。內部密碼是 DES,外部 DES 2。最快的選擇是為內部加密加密建立表 $ 2^{56} $ DES 呼叫,因為您只需要計算外部密碼 $ 2^{55} $ 平均次數(即 $ 2^{56} $ DES 呼叫)。
你需要記憶 $ 2^{56} $ 項目表,除非您應用時間記憶權衡。這將是昂貴的,但即使使用這種蠻力方法也接近可行。通過使用相關鍵,您還可以減少 2 倍左右的通話次數。其他改進是可能的。