Aes
AES Sbox 的線性密碼分析阻力
如果您查看 AES 線性近似表(例如使用 Sage 計算),您會看到許多條目看起來像是 -16 的高偏差(“絕對偏差”標度)。
我知道 AES 旨在抵抗線性密碼分析。如果您同意 -16 是高偏差,則有 2 (3) 個選項:
- 要麼 AES Sbox 對線性密碼分析很弱,但整體密碼不是由於 ShiftRow 和 MixColumn 的屬性
- 或者很難/不可能將這些具有高偏差的條目連接起來形成一個具有高偏差的線性特徵超過 1 輪(想像我們忽略 ShiftRow 和 MixColum 並嘗試連接多個連續 Sbox 的線性近似)
- 或兩者
哪一個?我讀到 AES Sbox 基於伽羅瓦域中的乘法逆,它應該是“高度非線性的”,但我不確定這是否適用於此。
Sbox 本身不是最優非線性的,而是高度非線性的。
這意味著反對線性和差分密碼分析的理想標準是擁有一個幾乎彎曲和幾乎完美非線性的 Sbox。並且 APN 對於偶數位數是無法實現的。所以我們已經不是最理想的了。
但是還有其他安全屬性需要考慮,例如 Strict Avalanche Criterion、Sum of Squares Indicator 等。
設計理念平衡了所有這些。ShiftRows 和 MixColumns 也有幫助。
您應該閱讀設計師的 The Design of Rijndael以了解所有這些權衡。它可以在Daemen 的首頁上找到。
此處的論文(參見範例 6)提到 AES 實現了冪置換(它是, $ S:x\mapsto x^{2^n-2} $ 通常錯誤地寫成 $ S:x\mapsto x^{-1} $ 因為零沒有倒數。