[发明专利]面向AES算法的抗功耗攻击方法及电路实现有效
| 申请号: | 201410172447.7 | 申请日: | 2014-04-25 |
| 公开(公告)号: | CN103916236B | 公开(公告)日: | 2017-02-15 |
| 发明(设计)人: | 单伟伟;孙华芳;伏星源 | 申请(专利权)人: | 东南大学 |
| 主分类号: | H04L9/06 | 分类号: | H04L9/06 |
| 代理公司: | 江苏永衡昭辉律师事务所32250 | 代理人: | 王斌 |
| 地址: | 210096*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 面向 aes 算法 功耗 攻击 方法 电路 实现 | ||
1.一种面向AES算法的抗功耗攻击方法,其特征在于,在AES加密算法模块中添加控制模块和冗余寄存器,AES分组密码算法根据所述控制模块产生的标志位,选择每一轮中间计算数据存储的寄存器位置,具体包括如下步骤:
步骤一,AES加密硬件实现经过10轮迭代,其中每一轮的中间数据Dn(n=0,1,..10)保存在128比特原始寄存器(Reg0)中,在AES加密模块中增加控制模块及一个128比特冗余寄存器(Reg1),所述控制模块产生1比特标志位flag,AES加密的每一轮中间结果数据根据flag的值,选择将中间结果存储在原始寄存器(Reg0)还是所述冗余寄存器(Reg1)中;
步骤二,初始时,标志位flag的值为0,然后flag根据轮数交替变化,AES算法进行奇数轮加密时flag为1,即第1,3,5,7,9轮加密时flag为1;AES算法进行偶数轮加密时flag为0,即第2,4,6,8,10轮加密时flag为0;
步骤三,AES算法运算时,输入128比特明文,然后通过与初始密钥异或,得到D0,保存在原始寄存器(Reg0)中;
步骤四,接着AES进行9轮迭代操作,通过迭代运算,AES将子密钥和数据结合起来,子密钥由初始密钥生成,9次迭代运算具有相同的结构,包括4个操作:S盒替换、行移位、列混合、密钥异或;上一轮128比特中间数据Dn-1,经过这4个操作得到这一轮的128比特中间数据Dn,接着中间数据Dn根据flag标志位的值保存到寄存器中,如果flag为0,中间数据Dn保存在上述原始寄存器(Reg0)中;如果flag为1,中间数据Dn保存在上述冗余寄存器(Reg1)中;
步骤五,第9次轮迭代的结果D9进行第10轮变换,经过S盒变换、行移位、密钥异或得到数据D10保存在冗余寄存器(Reg1)中。
2.一种采用权利要求1所述抗功耗攻击方法实现的具有抗功耗攻击电路,其特征在于,所述电路在AES加密算法模块中添加控制模块以及冗余寄存器,AES分组密码算法根据所述控制模块产生的标志位,选择每一轮中间计算数据存储的寄存器位置,所述电路具体包括:
初始异或模块及轮操作模块;轮操作模块具体包括S盒替换模块、行移位模块、列混合模块、异或模块、控制标志模块、寄存器模块;初始异或模块完成AES算法的初始异或操作,轮操作模块完成轮运算,该轮操作模块中S盒替换模块完成轮运算中S盒替换操作,行移位模块完成S盒替换后数据的移位操作,列混合模块模块对行移位模块输出的数据完成列混合操作,得到中间数据;中间数据将根据flag标志位的值保存到寄存器中(Reg0或Reg1中)中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410172447.7/1.html,转载请声明来源钻瓜专利网。





