為什麼 DES s-box 是非線性的?為什麼它使密碼的破解變得更加困難?
我知道,如果我們有一個僅進行線性變換的密碼(假設是一堆X○R $ XOR $ s),我們只需通過從密碼方案開始編寫具有⊕ $ \oplus $ 操作的方程組來破壞它。
最後,我們將得到一個包含n 個明文位、n 個密文位和具有機率的n 個密鑰位的n $ n $ 方程組: \Pr(1),我們可以求解n 個密鑰位。n $ n $ n $ n $ n $ n $ 公關(1) $ \Pr(1) $ n $ n $
為什麼 S-box 的存在不可能以同樣的方式實現?
考慮到D和小號 $ DES $ ,我們不能只反轉 S-Boxes(最後只是查找表)來編寫相同的方程組嗎?在那種情況下,關係將不再是確定性的嗎?(持有公關(1) $ \Pr(1) $ )
非確定性變換的確切含義是什麼?它是如何應用在這裡的?
您能否讓我作為我所說的反例,看看為什麼在存在 S-Box 的情況下不能按原樣使用這種方法?
當然,可以將 DES 或任何分組密碼寫成非線性方程組,包括明文位、密文位和密鑰位,它們的機率為 1。原則上,破解密碼只需涉及收集足夠多的線性獨立方程(例如,從幾個不同的已知明文中),然後求解系統。
然而,對於任何典型的分組密碼,方程的程度都非常高,涉及的項數非常多。求解具有大量項的高階方程組實際上是一個非常困難的問題。也就是說,雖然線性方程組可以在多項式時間內求解(例如,使用 Gauss-Jordan 消元法),但非線性方程組的求解是 NP-Complete 並且可能需要比宇宙的預期壽命更長的時間來求解。
通過巧妙地使用中間變數或臨時變數(這也增加了方程的數量),可以降低系統的度數。實際上,您可以使系統的度數低至二次。但事實證明,這並沒有多大幫助 - 解決多元二次系統仍然是 NP-Complete (這被稱為“MQ”問題)。
近幾十年來,有幾篇關於“代數密碼分析”的論文旨在解決多項式時間內某些密碼中涉及的特定方程組。這些論文的想法是,雖然 MQ 通常非常困難,但與某些分組密碼相關的特定方程組可能具有足夠的結構和稀疏性,可以通過某種巧妙的技術或其他方法有效地求解。然而,迄今為止,沒有一種技術能夠說服密碼學界。