永发信息网

MixColumn变换

答案:4  悬赏:40  手机版
解决时间 2021-11-24 06:13
  • 提问者网友:浪荡绅士
  • 2021-11-24 02:11
MixColumn变换
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-11-24 03:42
这个应该是AES加密中的列混合步骤
首先要明白一个运算,加法:这里的加法是异或运算,比如04+1d=19
乘法:乘法有点复杂,这里只用到乘01,02,03,会算这几个就能算出结果了
x乘01:就是x本身
x乘02:把x左移一位,如果会溢出(原先x最高位为1),加(异或)1b
比如d4*02,d4最高位为1,左移一位变a8,加1b,结果为b3
比如5d*02,5d最高位为0,左移一位变ba,不加1b
x乘03:x * 03 = (x * 02)+ x,用前两个方法计算

然后就是矩阵乘法,可能这个图有点问题,如果能把乘法两边反一下就好了
[02 03 01 01] [d4]
[01 02 03 01] * [bf]
[01 01 02 03] [5d]
[03 01 01 02] [30]
结果第一行04是这么算的,左边矩阵第一行,分别乘以右边矩阵第一列,分别相加,02*d4+03*bf+01*5d+01*30 = 04
第二行依此类推,左边矩阵第二行 01*d4+02*bf+03*5d+01*30 = 66
...
手算确实比较麻烦
希望我说明白了
全部回答
  • 1楼网友:青尢
  • 2021-11-24 06:42
不清楚。。。。
  • 2楼网友:长青诗
  • 2021-11-24 05:19
这个我也想知道
  • 3楼网友:長槍戰八方
  • 2021-11-24 04:15
这个应该是AES加密中的列混合步骤
首先要明白一个运算,加法:这里的加法是异或运算,比如04+1d=19
乘法:乘法有点复杂,这里只用到乘01,02,03,会算这几个就能算出结果了
x乘01:就是x本身
x乘02:把x左移一位,如果会溢出(原先x最高位为1),加(异或)1b
比如d4*02,d4最高位为1,左移一位变a8,加1b,结果为b3
比如5d*02,5d最高位为0,左移一位变ba,不加1b
x乘03:x * 03 = (x * 02)+ x,用前两个方法计算

然后就是矩阵乘法,可能这个图有点问题,如果能把乘法两边反一下就好了
[02 03 01 01] [d4]
[01 02 03 01] * [bf]
[01 01 02 03] [5d]
[03 01 01 02] [30]
结果第一行04是这么算的,左边矩阵第一行,分别乘以右边矩阵第一列,分别相加,02*d4+03*bf+01*5d+01*30 = 04
第二行依此类推,左边矩阵第二行 01*d4+02*bf+03*5d+01*30 = 66
...
手算确实比较麻烦
希望我说明白了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯