我們如何使用減少 AES 混合列層中的乘法X4+1X4+1x^4 +1
我最近學習了 AES 的用途 $ x^4 +1 $ 減少 MixCol 層中的乘法。不過,我用 $ p(x) = x^8 + x^4 + x^3 + x + 1 $ 不知道這是錯誤的多項式並得到了正確的答案。例如,這是我所做的:
$$ \begin{equation*} \begin{pmatrix} 02 & 03 & 01 & 01 \ 01 & 02 & 03 & 01 \ 01 & 01 & 02 & 03 \ 03 & 01 & 01 & 02 \end{pmatrix}
\begin{pmatrix} D4 \ BF \ 5D \ 30 \end{pmatrix} \end{equation*} $$ 例如,如果我們考慮最後一個方程$$ 03 \cdot D4 \oplus 01 \cdot BF \oplus 01 \cdot 5D \oplus 02 \cdot 30 $$ 並寫成 $ x $
我們得到(取消後): $$ x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x $$ 減少這種使用 $ p(x) = x^8 + x^4 + x^3 + x + 1 $ 我得到:$$ x^7 + x^6 + x^5 + x^2 + 1 = E5 $$. 據我所知,這是正確的答案,但我沒有使用 $ x^4 +1 $ 在任何時候。當我試圖減少 $ x^8 + x^7 + x^6 + x^5 + x^4 + x^3 + x^2 + x $ 使用 $ x^4 + 1 $ 我得到錯誤的答案。
- 我在什麼時候使用 $ x^4 + 1 $ 減少多項式?
- 我的回答是幸運還是我們可以使用 $ p(x) = x^8 + x^4 + x^3 + x + 1 $ 就像我做的那樣?
這 $ x^4+1 $ 隱含在矩陣中。
你正在做的是你考慮正式的金額 $ z_0 + z_1 \alpha + z_2 \alpha^2 + z_3 \alpha^3 $ 為了 $ z_i $ 領域元素 $ \mathbb{F}{256} $ , 和一個形式值 $ \alpha $ 這不在 $ \mathbb{F}{256} $ , 但是是這樣的 $ \alpha^4+1 = 0 $ . 您可以添加和相乘這樣的元素,始終通過應用以下規則將結果保持在同一個集合中: $ \alpha^4 + 1 = 0 $ . 如果你設置:
$$ \begin{eqnarray} y &=& y_0 + y_1\alpha + y_2\alpha^2 + y_3\alpha^3 \ z &=& z_0 + z_1\alpha + z_2\alpha^2 + z_3\alpha^3 \ \end{eqnarray} $$ 那麼你有: $$ \begin{eqnarray} yz &=& (y_0 z_0 + y_1 z_3 + y_2 z_2 + y_3 z_1) \ &+& (y_0 z_1 + y_1 z_0 + y_2 z_3 + y_3 z_2) \alpha \ &+& (y_0 z_2 + y_1 z_1 + y_2 z_0 + y_3 z_3) \alpha^2 \ &+& (y_0 z_3 + y_1 z_2 + y_2 z_1 + y_3 z_0) \alpha^3 \ \end{eqnarray} $$ 這個方程可以表示為矩陣乘法。您問題中的範例確實是 $ z = D4+BF\alpha+5D\alpha^2+30\alpha^3 $ 經過 $ y = 02+01\alpha+01\alpha^2+03\alpha^3 $ . 通過將其寫為乘以該特定矩陣,您可以“隱藏”多項式 $ \alpha^4+1 = 0 $ 進入矩陣(具體來說,矩陣列是 $ y $ , $ y\alpha $ , $ y\alpha^2 $ 和 $ y\alpha^3 $ ).
**注:**正式總和的集合 $ z_0 + z_1 \alpha + z_2 \alpha^2 + z_3 \alpha^3 $ 實際上是戒指 $ \mathbb{F}{256}[x]/(x^4+1) $ ,即多項式環,其係數為 $ \mathbb{F}{256} $ 並取模多項式 $ x^4+1 $ . 需要注意的是,這個環不是一個域,因為 $ x^4+1 $ 不是不可約的 $ \mathbb{F}_{256} $ ; 確實,在那個領域, $ x^4+1 = (x+1)^4 $ (這是一個二進製欄位,加法是異或,因此 $ 2=0 $ )。環不是欄位不會阻止計算操作,但這意味著有幾個值 $ (y,z) $ 這樣 $ y\neq 0 $ , $ z\neq 0 $ , 但 $ yz = 0 $ . 但是,那 $ y $ AES 中使用的值 ( $ 02+01\alpha+01\alpha^2+03\alpha^3 $ ) 在那個環中是可逆的,這是一種祝福,因為它意味著乘以 $ y $ 是雙射;否則,解密並不總是可能的。