Symmetric

S-box如何引入混亂

  • February 17, 2019

我試圖找到引入 S-box 的邏輯,但無法理解原因。在一個簡單的密碼中,例如

c = pt xor key 

我了解我自己選擇明文時可以輕鬆找到密鑰

key = pt xor C

但是我不明白為什麼 S-box 可以在這方面有所幫助,因為 S-box 是公開的。

C = S[pt xor key]

因為那時我可以做

key = S^-1[pt xor C]

我理解通過添加多個回合和密鑰,這會變得更難,但是當我們可以反轉它時,S-box 給出了什麼?

正如 kodlu 和 kelalaka 所說,當有多個回合時,您不知道 Sbox 的進出。

Sbox(或 Sbox)的另一個需要是使密碼非線性。例如,AES 僅由仿射變換組成,除了 SubBytes 步驟(這是一個可逆的 Sbox)。如果省略此步驟,密碼將變為仿射,因此它可以表示為C = Lx+v,並且通過求解線性方程很容易被多項式時間和數據破解(通過知道L並且v您可以加密/解密任何密文)。

即使有兩輪和已知的明文,您也不知道sbox 的中間輪輸入,因為您不知道輪密鑰。這需要對密鑰位進行暴力破解或其他結構分析。有你的困惑。

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