Xor

計數異或異或operatorname{XOR}有限域上的元素GF(2q)GF⁡(2q)operatorname{GF}(2^q)

  • March 31, 2018

定義: $ \operatorname{XOR} $ 元素的計數 $ \alpha $ 在有限域中 $ \operatorname{GF}(2^q) $ 是數量 $ \operatorname{XOR}s $ 需要實現乘法 $ \alpha $ 以任意 $ \beta $ 超過 $ \operatorname{GF}(2^q) $ .

**範例:**考慮我們要計算 $ \operatorname{XOR} $ 計數 $ \alpha=x +1 $ 超過 $ \operatorname{GF}(2^4) $ 與不可約多項式 $ {\bf f}=x^4+x+1 $ . 我們表示元素 $ \alpha $ 和 $ (0,0,1,1) $ . 讓 $ (b_3, b_2, b_1, b_0) $ 是任意元素的二進製表示 $ \beta $ 在該領域 $ \operatorname{GF}(2^4) $ ,那麼我們得到

$$ \begin{array}{rcl} (0, 0, 1, 1) · (b_3, b_2, b_1, b_0) &=& (b_2, b_1, b_0 ⊕ b_3, b_3) ⊕ (b_3, b_2, b_1, b_0)\ \ &=& (b_2 ⊕ b_3, b_1 ⊕ b_2, b_0 ⊕ b_1 ⊕ b_3, b_0 ⊕ b_3), \end{array} $$ 對應於 $ 5 $ $ \operatorname{XOR} $ s。 注意: $ \operatorname{XOR} $ 計數問題取決於場的不可約多項式。

例如,考慮 $ \operatorname{GF}(2^4) $ 與不可約多項式 $ {\bf f}=x^4+x^3+1 $ ,那麼我們得到

$$ \begin{array}{rcl} (0, 0, 1, 1) · (b_3, b_2, b_1, b_0) &=& (b_2 ⊕ b_3, b_1, b_0, b_3) ⊕ (b_3, b_2, b_1, b_0)\ \ &=& (b_2, b_1 ⊕ b_2, b_0 ⊕ b_1, b_0 ⊕ b_3), \end{array} $$ 對應於 $ 3 $ $ \operatorname{XOR} $ s。 **我的問題:**是否有算法或軟體使其輸入是有限域 $ \operatorname{GF}(2^q) $ 和一個元素 $ \alpha $ 的 $ \operatorname{GF}(2^q) $ 它的輸出是 $ \operatorname{XOR} $ 的 $ \alpha $ 超過 $ \operatorname{GF}(2^q) $ .

感謝您的任何建議。

讓 $ f=x^q+t $ 是一個不可約多項式,則

$$ \alpha\cdot \beta= (\alpha_{q-1},\dots,\alpha_0)\cdot(\beta_{q-1},\dots,\beta_0): \bigoplus_{i=0,\alpha_i\neq0}^{q-1}\big( \alpha_i\cdot(\beta<<i) \oplus (\bigoplus_{j=1}^{i} \beta_{q-j}\cdot x^{j-1}\cdot t)\big). $$

使用此公式,您可以輕鬆計算 $ \alpha $ . 儘管可能有更簡單的解決方案來回答您的問題。請注意,在這個公式中,有幾個 $ \beta_ k $ 可能相互異或,在異或計數計算中不應考慮。為此,一個 $ q\times q $ 矩陣可用於實現。

**編輯:**例如,讓 $ f=x^8+x^4+x^3+x+1=x^8+t $ . 然後

$$ (x+1)\cdot \beta=\alpha_0\cdot (\beta_7,\dots,\beta_0)\oplus \alpha_1\cdot (\beta_6,\dots,\beta_0,0)\oplus \beta_7 \cdot t=(\beta_7,\dots,\beta_0)\oplus (\beta_6,\dots,\beta_0,0)\oplus (0,0,0,\beta_7,\beta_7,0,\beta_7,\beta_7)=(\beta_7\oplus \beta_6,\beta_6\oplus \beta_5,\beta_5\oplus \beta_4,\beta_4\oplus \beta_3\oplus \beta_7,\beta_3\oplus \beta_2\oplus \beta_7,\beta_2\oplus \beta_1,\beta_1\oplus \beta_0\oplus \beta_7,\beta_0\oplus \beta_7). $$ 所以,異或計數 $ x+1 $ 是 $ 11 $ .

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