Aes

rijndael sbox 的 23 個雙仿射方程和 39 個完全二次方程有什麼區別?

  • March 8, 2019

在具有超定義方程組的分組密碼的密碼分析中, Nicolas Courtois 和 Josef Pieprzyk 在 rijndael sbox 的輸入 x 和輸出 z 之間定義了 23 個所謂的雙仿射方程(在論文的附錄 A 中)。

然後他們在 A.1 中說,“不僅”可以得到 23 個雙仿射方程,還可以得到 39 個完全二次方程。他們進一步描述了額外的 16 個方程來自 a) $ x^4y = x^3 $ b) $ y^4x = y^3 $ . ( $ y = x^{-1} $ 是 sbox 中反轉的結果)

我假設他們生成這 16 個方程的方式與生成 23 個雙仿射方程的方式完全相同(在此處描述,提供更多詳細資訊):

  1. 他們將方程 a) 和 b) 變換/重新排列為一側為 0。
  2. 然後他們為每個係數將每個方程 a) 和 b) “拆分”為 8 個方程,因此對於 a) 和 b),我們總共有 16 個方程。
  3. 然後他們替換所有 $ y_i $ 使用 sbox 的仿射變換: $$ z = M\cdot y + \textrm{63}{16} \ y = M^{-1}\cdot z + M^{-1} \cdot \textrm{63}{16} \ = M^{-1}\cdot z + \textrm{05}{16} \ $$ 解決為: $$ \begin{cases} y_7 = z{1} + z_{4} + z_{6} \ y_6 = z_{0} + z_{3} + z_{5} \ y_5 = z_{2} + z_{4} + z_{7} \ y_4 = z_{1} + z_{3} + z_{6} \ y_3 = z_{0} + z_{2} + z_{5} \ y_2 = z_{1} + z_{4} + z_{7} + 1 \ y_1 = z_{0} + z_{3} + z_{6} \ y_0 = z_{2} + z_{5} + z_{7} + 1 \ \end{cases} $$

我希望這些步驟是正確的,但這樣我得到了與論文12中列出的相同的 23 個雙仿射方程。

如果我使用 a) 和 b) 執行此操作,我會得到以下結果(例如,16 個等式中只有一個): $$ 0 = x_{1}^{4} z_{0} + x_{6}^{4} z_{0} + x_{0}^{4} z_{1} + x_{1}^{4} z_{1} + x_{2}^{4} z_{1} + x_{7}^{4} z_{1} + x_{1}^{4} z_{2} + x_{2}^{4} z_{2} + x_{4}^{4} z_{2} + x_{6}^{4} z_{2} + x_{6}^{4} z_{3} + x_{7}^{4} z_{3} + x_{0}^{4} z_{4} + x_{1}^{4} z_{4} + x_{3}^{4} z_{4} + x_{4}^{4} z_{4} + x_{5}^{4} z_{4} + x_{7}^{4} z_{4} + x_{1}^{4} z_{5} + x_{3}^{4} z_{5} + x_{4}^{4} z_{5} + x_{5}^{4} z_{5} + x_{0}^{4} z_{6} + x_{1}^{4} z_{6} + x_{2}^{4} z_{6} + x_{3}^{4} z_{6} + x_{4}^{4} z_{6} + x_{6}^{4} z_{6} + x_{3}^{4} z_{7} + x_{5}^{4} z_{7} + x_{6}^{4} z_{7} + x_{5}^{4} + x_{7}^{4} + x_{2}^{2} x_{3} + x_{1} x_{3}^{2} + x_{3} x_{4}^{2} + x_{4}^{3} + x_{1}^{2} x_{5} + x_{3}^{2} x_{5} + x_{1} x_{5}^{2} + x_{2} x_{5}^{2} + x_{4} x_{5}^{2} + x_{3}^{2} x_{6} + x_{4}^{2} x_{6} + x_{0} x_{6}^{2} + x_{2} x_{6}^{2} + x_{5} x_{6}^{2} + x_{0}^{2} x_{7} + x_{2}^{2} x_{7} + x_{5}^{2} x_{7} + x_{6}^{2} x_{7} + x_{0} x_{7}^{2} + x_{3} x_{7}^{2} + x_{5} x_{7}^{2} + x_{6} x_{7}^{2}\ $$

我會假設每個指數 $ \neq 0 $ 任何的 $ x_i $ 和 $ z_i $ 可以忽略,因為這些變數代表係數 $ GF(2) $ 並且可以是 $ 0 $ 或者 $ 1 $ . *

因此,當我忽略指數時,這看起來與雙仿射方程非常相似( $ x_i $ 和 $ y_i $ , 有時只有 $ x_i $ 或者 $ y_i $ - 唯一的新東西是有條款 $ x_i $ 和 $ x_j $ 相乘),我想了解其中的區別!

那麼這些方程是如何“完全二次”的,它到底是什麼意思呢?除了方程的數量之外,雙仿射方程有什麼區別?


*:這在生成 23 個雙仿射方程的過程中也是必要的,其中方程 $ x^{128} = y^{128} x $ 被使用了。這導致 $ x_i^{128} $ 在我的理解中,結果也可以縮短為 $ x_i $ .

看看電子版的附錄 A,會說作者最多稱代數次數的多項式 $ 2 $ 雙仿射,如果它包含一些代數度項 $ 1 $ ,並且完全二次,如果沒有這樣的條款。

(在特色領域工作 $ 2 $ 地圖 $ x\mapsto x^2 $ 在具有兩個元素和代數度的場上是線性的 $ 1 $ .)

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