Block-Cipher

在分組密碼中使用矩陣的 Hadamard 形式

  • October 23, 2020

定義:大小為A的矩陣 $ 2^n $ 是 Hadamard矩陣,如果具有以下形式

$$ A= \left( \begin{array}{cc} U & V \ V & U \end{array} \right)_{2^n\times 2^n}, , $$ 在哪裡 $ U $ 和 $ V $ 也是 Hadamard 矩陣。 *範例:*大小為A 的 Hadamard 矩陣 $ 2^2 $ 如下

$$ A= \left( \begin {array}{cccc} a_{{0}}&a_{{1}}&a_{{2}}&a_{{3}} \ a_{{1}}&a_{{0}}&a_{{3}}&a_{{2}} \ a_{{2}}&a_{{3}}&a_{{0}}&a_{{1}} \ a_{{3}}&a_{{2}}&a_{{1}}&a_{{0}}\end {array} \right), , $$ 在哪裡 $ a_i $ , $ 0\leq i \leq 3 $ 來自任意領域。 考慮B是 $ 2^n\times 2^n $ 矩陣使得 $ (i,j) $ B的條目,記為B $ [i,j] $ , 由B定義 $ [i,j]=a_{i \oplus j} $ 在哪裡 $ i,j \in {0,1,\cdots , 2^{n}-1} $ 和 $ i \oplus j $ 表示兩個數之間的異或 $ i $ 和 $ j $ (例如 $ 2 \oplus 3=1 $ 自從 $ 10 \oplus 11=01 $ ).

*範例:*大小為B的矩陣 $ 2^3 $ 是

$$ B= \left( \begin {array}{cccccccc} a_{{0}}&a_{{1}}&a_{{2}}&a_{{3}}&a_{{4 }}&a_{{5}}&a_{{6}}&a_{{7}}\ a_{{1}}&a_{{0}}&a_{{3}} &a_{{2}}&a_{{5}}&a_{{4}}&a_{{7}}&a_{{6}}\ a_{{2}}&a {{3}}&a{{0}}&a_{{1}}&a_{{6}}&a_{{7}}&a_{{4}}&a_{{5}} \ a_{{3}}&a_{{2}}&a_{{1}}&a_{{0}}&a_{{7}}&a_{{6}}&a {{5}}&a{{4}}\ a_{{4}}&a_{{5}}&a_{{6}}&a_{{7}}&a_{ {0}}&a_{{1}}&a_{{2}}&a_{{3}}\ a_{{5}}&a_{{4}}&a_{{7 }}&a_{{6}}&a_{{1}}&a_{{0}}&a_{{3}}&a_{{2}}\a_{{6}} &a_{{7}}&a_{{4}}&a_{{5}}&a_{{2}}&a_{{3}}&a_{{0}}&a_{{1}} \ a_{{7}}&a_{{6}}&a_{{5}}&a_{{4}}&a_{{3}}&a_{{2}}&a {{1}}&a{{0}}\end {array} \right)=a_{i \oplus j}\qquad 0\leq i,j \leq 7 , . $$ 我的問題:為什麼矩陣B = $ (a_{i \oplus j}) $ , $ 0\leq i,j \leq 2^{n}-1 $ , 是一個 $ 2^n\times 2^n $ 哈達瑪矩陣?

*我的嘗試:*我可以通過歸納來證明 $ n $ ,但我想用其他方法看看它的證明。

*背景:*當 Hadamard 矩陣的條目來自有限域時 $ GF(2^q) $ 並且 是MDS矩陣, 那麼 Hadamard 矩陣 可以 用於Khazad 分組密碼 等 分組 密碼 的 擴散 層

這是顯而易見的。讓 $ B $ 做一個 $ 2^n \times 2^n $ 矩陣。我們有:

$$ a_{i\oplus (j+2^{n-1})}=a_{(2^{n-1}+i)\oplus j},a_{i\oplus j}=a_{(2^{n-1}+i)\oplus (2^{n-1}+j)}. $$

所以, $ B $ 具有以下形式,因此是一個 Hadamard 矩陣,如下所示

$$ B= \left( \begin{array}{cc} U & V \ V & U \end{array} \right)_{2^n\times 2^n}, $$

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