Aes

Rijndael 的 S-Box 是如何生成的?

  • January 7, 2018

維基百科:Rijndael 的前向 S-box

我正在編寫 C 程式碼來生成 S-box,但我被卡住了。

您介意解釋一下 S-box 的一項嗎?(說為x = 0x2)。這是我得到的。

的倒數 $ 2 $ 在 $ GF(2^8) $ 對於多項式 $ x^8 + x^4 + x^3 + x + 1 = 142 $ (十進制)。現在如果我應用仿射方程,它會導致 $ 86 $ ( 0x56)。我的方法有什麼問題?

S-Box 的加性常數 = 0x63

如果它有幫助和/或有意義,這是我的 C 程式碼

在您的程式碼中,您使用相對於模 0x11b 的模逆,這是一個與在欄位 GF(2^8) 中取逆完全不同的操作。

要了解您必須做什麼,請查看wikipedia 中的有限域算術

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