预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利(10)授权公告号(10)授权公告号CNCN102752103102752103B(45)授权公告日2015.01.28(21)申请号201210261197.5CN102447556A,2012.05.09,US2005/0232430A1,2005.10.20,(22)申请日2012.07.26蒋慧萍,毛志刚.一种抗差分功耗攻击的改(73)专利权人上海爱信诺航芯电子科技有限公进DES算法及其硬件实现.《计算机学报》.2004,司审查员周倩地址200241上海市闵行区东川路555号6号楼8楼(72)发明人周玉洁朱念好刘红明(74)专利代理机构上海信好专利代理事务所(普通合伙)31249代理人徐雯琼(51)Int.Cl.H04L9/06(2006.01)(56)对比文件CN101729241A,2010.06.09,权权利要求书2页利要求书2页说明书6页说明书6页附图5页附图5页(54)发明名称一种抗DES功耗攻击的增强型MASK掩码方法(57)摘要本发明涉及一种抗DES功耗攻击的增强型MASK掩码方法,包含:步骤1、开始两轮DES运算采用流水线运算方式实现,计算电路采用独立互不相关的第一计算电路和第二计算电路实现;步骤2、第三轮至第十四轮的DES运算过程采用随机定位逻辑运算方式实现;步骤3、最后两轮DES运算采用流水线运算方式实现,计算电路采用独立互不相关的第三计算电路和第四计算电路实现;步骤1~3中每轮的DES运算采用MASK掩码方法进行计算。本发明在减小芯片设计面积的基础上,可以彻底地解决现有技术中MASK掩码方案相邻两轮之间汉明距离泄漏的问题;不仅可以保证每轮之间的敏感信息不泄漏,同时保证了相邻两轮之间的汉明距离等敏感信息不会泄漏,有效起到抗功耗攻击的目的。CN102752103BCN102753BCN102752103B权利要求书1/2页1.一种抗DES功耗攻击的增强型MASK掩码方法,其特征在于,该方法包含以下步骤:步骤1、开始两轮DES运算采用流水线运算方式实现,计算电路采用两块独立互不相关的第一计算电路和第二计算电路实现;每轮的DES运算采用MASK掩码方法进行计算;步骤2、第三轮至第十四轮的DES运算过程采用随机定位逻辑运算方式实现;每轮的DES运算采用MASK掩码方法进行计算;在该步骤2中,每一轮的DES运算分别在第一计算电路、第二计算电路、第三计算电路和第四计算电路中随机选择一块进行,具体包含:步骤2.1、轮数译码电路根据DES运算的当前运算轮数round决定整个随机定位电路是否开始运行;当DES运算到第三轮至第十四轮运算时,轮数译码电路使能整个随机定位电路,同时产生请求rdn_req,请求产生随机数random;其中,所述random是随机数,取值为从0到3;random为0表示选择第一计算电路,random为1表示选择第二计算电路,random为2表示选择第三计算电路,random为3表示选择第四计算电路;步骤2.2、根据所产生的随机数random和当前运算轮数round,确定当前这轮DES运算将采用哪一块计算电路,并将该块计算电路的alloc_en使能,即置为1;步骤2.3、被确定选中进行当前这轮DES运算的计算电路,将选择roundi作为其输入数据,并经过计算将结果保存在相应的寄存器中;若当前正在进行第三轮的DES运算,则应直接选择第二轮的输出作为其输入数据;步骤2.4、请求产生下一轮DES运算的随机数random,并由比较电路判断相邻两轮DES运算所产生的随机数是否相同,如果相同,则必须再次请求产生随机数,直至所产生的随机数与前一轮所产生的随机数不同为止;步骤2.5、重复进行步骤2.2~2.4,直至完成第三轮至第十四轮的DES运算;步骤3、最后两轮DES运算采用流水线运算方式实现,计算电路采用另外两块独立互不相关的第三计算电路和第四计算电路实现;每轮的DES运算采用MASK掩码方法进行计算。2.如权利要求1所述的抗DES功耗攻击的增强型MASK掩码方法,其特征在于,所述的步骤1中,具体包含:步骤1.1、第一轮的输入在mplain和roundi之间由第一计算电路的随机定位逻辑alloc_en1选择,其中,mplain表示输入的明文与随机数掩码后的结果,roundi表示DES计算过程中每轮的中间结果;由于第一轮的DES运算采用流水线运算方式实现,因此alloc_en1非使能,值为0,即第一轮的输入数据为mplain,经过第一计算电路的运算,将第一轮的计算结果保存在第一寄存器中并输出;步骤1.2、第二轮的输入在第一轮的输出和roundi之间由第二计算电路的随机定位逻辑alloc_en2选择,由于第二轮的DES运算采用流水线运算方式实现,因此alloc