Aes

最佳 MDS 矩陣 - 循環還是遞歸?

  • September 18, 2020

中的特殊矩陣之一 $ 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矩陣是你的決定,你需要從安全性和硬體實現成本上看。

深度:4 成本:38 GF(2^4) 70 GF(2^8)深度:3 成本:41 GF(2^4) 77 GF(2^8)

循環 MDS 矩陣用於 AES 的設計(請參閱Rijndael 的設計:AES-高級加密標準)。

遞歸 MDS 矩陣更容易計算,因此更適合硬體實現,並且實際上是為此設計的(請參閱輕量級散列函式的 PHOTON 系列,它們首次被引入並被稱為“串列”而不是遞歸。)

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