Attack

對DESX的簡單攻擊及時212021202^{120}

  • October 28, 2014

讓 $ \mathcal{M} $ 成為我們的資訊空間和 $ \mathcal{K} $ 我們的關鍵空間。現在,讓 $ \mathrm{E} : \mathcal{K} \times \mathcal{M} \to \mathcal{M} $ 成為分組密碼。定義分組密碼 $ \mathrm{EX}((k_1, k_2, k_3), m) := k_1 \oplus \mathrm{E}(k_2, m \oplus k_3) $ , 在哪裡 $ m \in \mathcal{M} $ , $ k_2 \in \mathcal{K} $ , 和 $ k_1 $ 和 $ k_3 $ 與消息的長度相同(我想我可以寫 $ k_1, k_3 \in \mathcal{M} $ ).

對於 DES,我們得到DESX,總密鑰大小為 $ 64 + 56 + 64 = 184 $ 位。

本次講座結束時(以及可以從維基百科條目中推斷出的內容),教授。Dan Boneh 提到對以下形式的所有分組密碼都有一個簡單的攻擊 $ \mathrm{EX} $ 及時 $ |\mathcal{K}| \cdot |\mathcal{M}| $ , 意味著對DESX的簡單攻擊及時 $ 2^{120} $ .

我在今年夏天完成了課程,一般沒有問題,但無法弄清楚 DESX / 一般情況下的這種攻擊。誰能向我解釋它是什麼?

它很容易受到一種中間相遇攻擊,因為你真的不需要蠻力 $ k_1 $ . 給定一個明文-密文對, $ P $ 和 $ C $ , 你可以計算 $ C’ = E(k_2’, P \oplus k_3’) $ 對於候選值 $ k_2’ $ 和 $ k_3’ $ . 然後,您可以確定 $ k_1’ = C’ \oplus C $ . 所以,你只需要暴力破解這兩個鍵 $ k_2 $ 和 $ k_3 $ ,使得複雜度 $ 2^{|\mathcal{K}\cdot\mathcal{M}|} $ .

等效地,您可以通過嘗試所有可能的值來從另一端攻擊它 $ k_1 $ 和 $ k_2 $ , 解密 $ C $ , 並使用 XOR 與明文來確定 $ k_3 $ .

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