Aes
MDS 矩陣元素
零可以是 MDS 矩陣中使用的元素之一(在 AES 的上下文中)嗎?
根據我已閱讀的內容,MDS 矩陣的所有條目都必須為非零。此外,如果零不能成為 MDS 的一個元素,我將不勝感激理解此要求背後的原因。
不,對於以在 AES 中使用的方式使用的 MDS 程式碼,沒有其他選擇,即具有這些維度的 MDS 程式碼必須在 $ M $ 矩陣。
MDS 矩陣 $ M $ 必須是正方形,將 4 個字節映射到 4 個字節,並且通過 MDS 屬性在每行中必須有 4 個非零條目。
這也意味著改變每個輸入字節會影響每個輸出字節,有助於擴散。
*背景:*根據編碼理論,程式碼是由 $ k\times n $ 矩陣$$ G=[I|M] $$ 矩陣轉換長度 $ k $ 資訊 $ m $ 到碼字 $ c $ 通過 $$ c=mG $$ 在哪裡 $ m,c $ 是行向量。此程式碼具有最小權重 $ n-k+1 $ , 單例綁定的最大值。由於每一行都是一個碼字 $ M $ 子矩陣必須具有最小權重的行 $ n-k $ . 對於 AES, $ n=2k=8 $ 所以 $ n-k=4. $ 所以行 $ M $ 必須有 4 個非零條目。