Aes
最佳 MDS 矩陣 - 循環還是遞歸?
中的特殊矩陣之一 $ GF(2^q) $ 是MDS 矩陣,可用於加密,如 AES 的混合列。MDS 矩陣的兩種形式是循環的和遞歸的。
哪種形式的 MDS 矩陣(循環或遞歸)適用於加密硬體實現?含義:它們中的哪一個是最優的?
我的答案是對循環和遞歸的擴展。
密碼學中 MDS 矩陣的最佳實現的一項屬性度量是 xor 的成本(完全實現 MDS 矩陣所需的 xor 數量)、深度(階段數)和場大小(通常為 4 或 8)
根據這篇論文MDS Matrices with Lightweight Circuits,AES MDS 矩陣的本機實現需要 152 個異或,改進後的算法減少到 97 個異或和三個階段的深度。他們搜尋了其他具有不同結構的 MDS,例如 Toeplitz 和 Hadamard。
下圖顯示了與循環 AES MDS 相比,在實現方面更好的 MDS 矩陣。
除了硬體成本之外,MDS 矩陣的安全方面還出現在本文中:MixColumns Properties and Attacks on (round-reduced) AES with a Single Secret S-Box,它利用了 MDS 值。
最後,要實現哪個MDS矩陣是你的決定,你需要從安全性和硬體實現成本上看。
循環 MDS 矩陣用於 AES 的設計(請參閱Rijndael 的設計:AES-高級加密標準)。
遞歸 MDS 矩陣更容易計算,因此更適合硬體實現,並且實際上是為此設計的(請參閱輕量級散列函式的 PHOTON 系列,它們首次被引入並被稱為“串列”而不是遞歸。)