中途相遇攻擊()是密碼學上以空間換時間的一種攻擊。
歷史
這個攻擊方式在1977年就由惠特菲爾德·迪菲()與馬丁·赫爾曼()提出來。
原理
假設ENC是加密函式,DEC是解密函式,也就是ENC^{-1},而k_1與k_2為兩次加密用的秘鑰,則可以推導出:
\begin{align}
C &= ENC_{k_2}(ENC_{k_1}(P)) \\
P &= DEC_{k_1}(DEC_{k_2}(C)) \\
\Rightarrow ENC_{k_1}(P) &= DEC_{k_2}(C)
\end{align}
當攻擊者已知明文P與密文C時,攻擊者可以窮舉所有k_1的組合,將產生出來的第一層密文ENC_{k_1}(P),用大量空間儲存下來。再窮舉所有k_2的組合,將DEC_{k_2}(C)的值與前面儲存下來的結果比對,進而得出正確的k_1與k_2。
這使得攻擊者計算的量從k_1與k_2各自的可能組合數相乘,變成相加。
這也是為什麼三重資料加密演算法(3DES)使用了三把56 bits的秘鑰(168 bits),卻只有兩把秘鑰的強度(112 bits)。
参考文献
参见
- 暴力破解法
- 三重資料加密演算法
- 資料加密標準
评论 (0)