Cryptanalysis

為什麼分組密碼需要非線性組件(如 S-box)?

  • November 26, 2020

為什麼要求“非線性函式”作為許多流行的分組密碼(例如 DES 或 3DES 中的 S-box)的組成部分?

它如何使密碼更安全?

我唯一的直覺是非線性函式可以有很多根(解)。例如對於非線性 $ y = F(x) $ , 如果攻擊者知道 $ y $ 找出 $ x $ , 可能有很多選擇滿足 $ y= F(x) $ 因此,當攻擊者試圖從密文返回(追溯)到純文字時,它會增加攻擊者的複雜性。

任何參考資料或詳細材料表示讚賞。

這是密碼學理論的觀點。

我們希望分組密碼類似於偽隨機排列(PRP)。PRP 是一個理想的建模目標,因為給定密鑰下的分組密碼是輸入的排列,而 PRP 只是排列的隨機集合。分組密碼的密鑰在創建排列方面永遠不會比對它們的實際隨機採樣更好,但我們希望它盡可能接近。與 PRP 類似行為的可檢測偏差被認為是分組密碼中的一個弱點。

為了將分組密碼與 PRP 進行比較,我們使用 CPA 模型,其中攻擊者使用明文查詢黑盒並接收相應的置換輸出。他們嘗試通過對明文應用隨機排列或具有未知密鑰的給定分組密碼來確定黑盒是否正在選擇密文輸出。如果他們猜對了,他們就贏得了比賽。如果他們能夠以大於 50% 的機率贏得比賽,那麼他們就破解了分組密碼。(查看這些註釋,第 1 - 8 頁,特別是第 7 頁,以獲得該模型的圖片和更精確的定義。)

如果分組密碼具有線性屬性,則攻擊者可以將分組密碼與 PRP 區分開來。他們可以學習這些線性屬性,然後用明文查詢黑匣子,這些明文應該在密文中產生某些屬性。如果黑盒回复的密文與 50% 以上的輸入查詢的預期屬性匹配,那麼攻擊者會猜測黑盒包含塊密碼,因為隨機排列只會以 50% 的機率尊重這些線性屬性。(否則,他們猜測黑匣子正在使用隨機排列。)然後攻擊者贏得了區分遊戲。

當然,如果您正在尋找一個實際的原因,這就提出了我們為什麼要關心 PRP 模型的問題。

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