在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: 1920

[求助] AES解密算法的问题……

[复制链接]
发表于 2011-6-7 10:59:46 | 显示全部楼层
逆列混合其实就是有限域乘法问题,而且是变量与固定数乘法,分析一下有限域乘法怎么做,自然就知道invmixcol怎么实现了。

Finite Field Multiplication
An example is shown as below.
{57}•{83} = {57}•{01} ^ {57}•{02} ^ {57}•{80}
{57}•{01} = {57}
{57}•{02} = {AE} //(Shift 1 bit to left, and XOR{1b} if the MSB before shifting is 1)
{57}•{04} = {AE}•{02} = {1}{01011100}
{57}•{08} = {47}•{02} = {8E}
{57}•{10} = {8E }•{02} = {1}{00011100}
{57}•{20} ={07}•{02} = {0E}
{57}•{40} ={0E}•{02} = {1C}
{57}•{80} ={1C }•{02} = {38}
{57}•{83} = {57} ^ {AE} ^{38} = {C1}

Another way to calculate {57}•{83} which is suitable for hardware implementation.
{57}•{83}
= {57}•{01}^ {57}•{02} ^ {57}•{80}
= {01010111} ^ {10101110} ^ {0101011}{10000000}
= {0101011}{01111001}
Step1: {0101011}{01111001}
= {01011}{01111001} ^ {00011}{01100000}
= {01000}{00011001}
Step2: {01000}{00011001}
= {000}{00011001}^{000}{11011000}
= {11000001} = {C1}
发表于 2011-6-7 11:02:51 | 显示全部楼层
不好意思,还以为没发出去,一下子发了这么多。
逆行移位就更简单了,直接以为就是了
row[31:0] = {row[7:0, row[31:8]};
这就是移位
发表于 2017-1-11 15:52:32 | 显示全部楼层
aes不都是有现成的实现库吗?如crypt++,
发表于 2017-2-9 23:35:09 | 显示全部楼层
乘法的种类就那么几种,就是有限域乘法,先用xtime,然后xor
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-5 21:47 , Processed in 0.014337 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表