Aes
如何根據分支號計算活動 s-box?
如果AES 中的MDS具有 5 號分支(因此 2 輪中有 5 個活動 s-box),那不意味著 4 輪 AES 有 $ 5*2=10 $ 活躍的s盒?
AES論文說它有 25 個( $ 5^2 $ ?) 4 輪中的活動 s-box。
如何從任何給定輪數的分支數計算最小活動 s-box?
編輯: JD 指出,您無法從 MixColumns 的分支數計算活動 s-box 的最小數量,因為 MixColumns 不是唯一的操作。所以讓我們假設 cipher 具有像SHARK和Khazad這樣的完整狀態 MDS 。
哈扎德有一個 $ 8\times 8 $ MDS 矩陣 $ A $ 用作擴散層。增廣矩陣 $ [I|A] $ 生成一個 $ [n,k,d]=[16,8,9] $ MDS程式碼結束 $ GF(2^8). $ 影響是:
- 活動 Sbox 的最小數量,即 2 輪的最小分支數為 $ 9, $ MDS程式碼的最小權重。
- MDS 程式碼具有完全已知的權重分佈,因此全分支數分佈也是已知的,假設 Sbox 中的輸入分佈均勻。
請參閱此處了解重量分佈。簡要地, $ A_i $ 表示權重的碼字數 $ i $ ,因此也是分支號的出現次數 $ i. $ 在這種情況下 $ A_0=1, $ 和 $ A_i=0, $ 為了 $ 1\leq i \leq d-1. $ 其他非零權重是
$$ A_i= \binom{n}{i} \sum_{j=0}^{i-d} (-1)^{j}\binom{i}{j} \left( q^{i+1-d-j}-1\right), $$ 為了 $ d\leq i \leq n. $ 這裡 $ q=2^8, d=9. $