AES大致加密过程
列混淆
列混淆(MixColumns())变化在state上按照每一列进行运算,并将每一列看作4次多项式,即将state的列看作GF(2^8)上的多项式且被一个固定的多项式a(x)模x^4+1乘,a(x)为:a(x)={03}x^3+{01}x^2+{01}x+{02}
。
在列混合里的乘法和加法是基于有限域GF(2^8)上的倍乘函数和异或。
倍乘函数b=xtime(a) 具体操作如下。
用{02}做文章,分为两个结果。a7为0就整体左移一位,a0补上0;a7为1,在之前的基础上再异或{1B}。{03}看成{02}异或{01},{04}看成{02}*{02},以此类推。
下面是具体计算过程。
参考
【【AES加密算法】| AES加密过程详解| 对称加密| Rijndael-128| 密码学| 信息安全】 https://www.bilibili.com/video/BV1i341187fK/?share_source=copy_web&vd_source=5fe795941d3972fb7d0c1c9795c46408