Encryption

AES S_box 的相關免疫順序為零嗎?

  • May 10, 2019

我正在研究 AES S_box 並試圖找出它的屬性,如相關免疫、平衡、代數度、ANF形式等。

這些論文12對上述術語給出了很好的定義。

T. Siegenthaler 的這篇非常著名的論文也證明了布爾函式的變數數“n”、代數度“d”和相關免疫階數“m”之間的基本關係:$$ m+d <= n $$

此外,如果函式是平衡的,那麼$$ m+ d <= n − 1 $$

我用這個python 腳本找到了 ANF 形式,代數度是 7,即 d=7,我們知道 AES S_box n 等於 8 和它的平衡函式。

因此,將所有這些數據放入該公式中得到 m=0,即相關免疫階數為零。

這是正確的相關免疫嗎?或者我做錯了什麼。那些在這個領域工作過的人很樂意提供幫助。

Siegenthaler 結果適用於布爾函式,即 $ f:F_2^n\rightarrow F_2 $ , 當您考慮矢量布爾函式時

$$ f:F_2^n\rightarrow F_2^n $$所以你不能應用它。這方面的成果是相當技術性的。一些概述:

  1. 您當然可以通過使用向量布爾函式的彈性的定義來計算彈性(因此 AES Sbox 的相關免疫)

$$ S:F_2^n\rightarrow F_2^n $$是布爾函式的最小彈性為 $ b $ 範圍內的非零向量 $ F_2^n. $ 所以$$ \min{ \rho(b\cdot S(x)): b \in {F_2^n},b\neq \mathbf{0}}, $$在哪裡 $ \rho(\cdot) $ 表示布爾函式的彈性。所以你需要檢查 $ 255 $ 布爾函式,因為 $ n=8. $ 2. 這方面有一些結構,我建議你看一看 Claude Carlet 關於矢量布爾函式的一章草稿(尤其是最後一節),可以在他的首頁上找到。從更基本的定義來看,您可能還會發現他關於布爾函式的章節很有趣。

**編輯:**為了澄清 1,讓輸出位為 $ S_i(x) $ 為了 $ i=1,\ldots,8. $ 計算這些函式的每個非零按位線性組合的相關免疫,例如權重為 1 的那些:

$$ S_1(x),S_2(x),\ldots,S_8(x), $$重量2: $$ S_1(x)+S_2(x),S_1(x)+S_3(x),\ldots,S_7(x)+S_8(x), $$ 最大重量為 8。這將為您提供 255 個功能。這 255 個函式集合的最小相關抗擾度是 AES Sbox 的相關抗擾度。 最後,布爾函式的相關免疫等於最大漢明權重 $ w $ 所有哈達瑪係數 $ \hat{f}(\lambda) $ 為了 $ \lambda $ 有重量 $ 1,2,\ldots,w $ 都是零。

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