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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5945|回复: 13

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

[复制链接]
发表于 2010-4-30 20:54:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教一下实现AES解密算法中的逆列混合变化和逆的行移位如何用Verilog代码实现呢,在网上没找到,如果哪位前辈知道如何设计,恳请赐教……
发表于 2010-5-4 14:37:27 | 显示全部楼层
我猜你應該是在 modulus 上面有問題
今天假設 A* B  的結果是C
而你還要針對 C 去做 modulus
 楼主| 发表于 2010-5-12 23:03:29 | 显示全部楼层
module 都能写错……
发表于 2010-5-14 03:09:34 | 显示全部楼层
没啥说的啦  飘过 ……都麻木了
发表于 2010-5-14 12:14:54 | 显示全部楼层
发表于 2010-5-17 16:22:31 | 显示全部楼层
楼主,有需求可以讨论,本人有刚写好的,比较实用,比网上疯传的那个好。哈哈
QQ:809174805
发表于 2010-5-24 10:58:44 | 显示全部楼层
1# 1920

去中国期刊网下载相关硕士论文,所有问题都有的。
发表于 2011-6-6 12:23:51 | 显示全部楼层
AES是个比较成熟的算法,去开源上看看估计应该是有的。
发表于 2011-6-7 10:54:52 | 显示全部楼层
逆列混合其实就是有限域乘法问题,而且是变量与固定数乘法,分析一下有限域乘法怎么做,自然就知道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 10:55:41 | 显示全部楼层
逆列混合其实就是有限域乘法问题,而且是变量与固定数乘法,分析一下有限域乘法怎么做,自然就知道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}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 21:02 , Processed in 0.026216 second(s), 10 queries , Gzip On, Redis On.

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