Des
在 DES 的差分密碼分析中,為什麼假定 F(0…0) 始終為 0…0?
在這篇關於差分密碼分析
2n
的論文中,描述了對 -Round DES的攻擊。攻擊就是為 DES 輪尋找特定的輸入,輪函式的輸出
F
與輸入的機率相等。對於論文中給出的輸入,總是假設一半只包含零。此外,假設該全零輸入的輪函式始終以機率 1 產生零:
F(0...0) = 0...0
據我了解,round 函式的
F
工作原理如下:擴展輸入,然後對鍵進行異或,然後執行替換。這與論文中描述的假設相衝突。對於全零輸入,round 函式如何始終產生零,而與密鑰無關?
問題源於一個誤解:論文中描述的攻擊不適用於實際的輸入和輸出,而是它們之間的差異。因此差分密碼分析。
給定兩條消息
m1 = (l1, r1)
並且m2 = (l2, r2)
右半部分相等r1 = r2
,顯然它遵循r1 - r2 = 0...0
andF(r1) - F(r2) = 0...0
。