Aes
AES 列混合和 S-Box 混淆
我正在嘗試了解 AES 加密算法。我知道我們一次處理 128 位的 4x4 八位字節形式的 128 位密鑰,但對以下內容感到困惑:
- 替換子輪如何工作,因為 Rijndael 的 S-box 的大小是 16x16 Octets,輸入的大小是 4x4?
- 混合列操作如何在 4 字節列上工作?
您應該將 Rijndael 的 S-box 視為將字節映射到字節的函式,其中字節(八位字節)被認為是大小有限域的成員 $ 2^8 $ (與 xor 作為加法)。真的,它不被視為 16x16 八位字節數組。
然後只按字節進行替換:4x4 塊中的每個八位字節都被其在 S-box 表下的函式值替換。
混合列只是該列與 4x4 矩陣的矩陣乘法,全部在大小欄位中 $ 2^8 $ . 有關工作範例,請參閱wikipedia 條目。