3des
使用 MITM 攻擊三鍵 3-DES 加密?
我知道 MITM 可以將三個密鑰分成兩部分 $ (K_1,K_2) $ 和 $ K_3 $ 其中最差的時間複雜度是 $ 2^{112} $ .
我的問題是我們是否能夠打破三把鑰匙 $ (K_1,K_2,K_3) $ 分成三個不同的部分,然後開始獨立攻擊每個密鑰?如果可以,時間複雜度和空間使用量是否都一樣? $ O(2^{56}) $ ? 假設每個密鑰大小是 $ 56 $ 位。
不,我們無法使用類似於 Meet-in-the-Middle 的方式破解 3-keys 3-DES 加密,但成本遠低於 $ 2^{112} $ 加密;一般來說,三重加密要少得多。
在一般使用 3 k 位密鑰的三重加密的情況下,為了應用 MitM,我們需要在一側將 2 個密鑰組合在一起,因此需要花費 $ O(2^{2k}) $ 對於這一半。甚至還有一個正式的證明,看這個。該中間人的空間複雜度仍然存在 $ O(2^k) $ 塊,因為我們可以選擇預先計算具有最短鍵的一側的值,然後使用另一半執行搜尋。
在 DES 的情況下,我們知道結構並且可以打開分組密碼,特別是將中間密碼分成兩半,每部分 8 輪。但是,這些擁有者中的每一個仍然接收中間 DES 的所有密鑰位,因此我們不能使用它來降低普通 MitM 的複雜性 $ 2^{56+28} $ 對每一半進行加密,如果 28 個密鑰位專門用於前 8 輪,其他 28 個位專門用於最後 8 輪,我們可以這樣做。
請注意,針對 2-keys 3-DES 存在巧妙的攻擊,並且幾乎是實用的;看到這個。