我在理解此处描述的 MixColumns 步骤时遇到问题。
我知道扩散,这一切都是有道理的,它指出每一列都被视为多项式并在 GF(2^8) 上乘以模。
但是..乘以 GF(2^8)。尽管域仍然是相同的,但由于 mod.... 而它是不可逆的,它必须是可逆的,因为这就是它的全部意义所在。
就第一位而言,我的方法是将 A、B、C 和 D 作为列的 4 个字节,将 A1、A2、...、A8 作为位,将 E、F、G 和 H 作为输出字节。我要设置
E = A1,B2,C3,D4,A5,B6,C7,D8
F = D1,A2,B3,C4,D5,A6,B7,C8
G = C1,D2,A3,B4,C5,D6,A7,B8
H = B1,C2,D3,A4,B5,C6,D7,A8
因此它是可逆的、一对一的、线性的和分布的
它后来指出,它可以被视为矩阵乘法,但由于矩阵的元素必须是字节并以字节输出,因此矩阵的每个元素必须是模 256,因此不可逆和非线性。
我理解错了吗?我在数学上苦苦挣扎,并试图了解需要做什么,以便将其转换为逻辑。