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

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

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

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

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

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

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109617667A(43)申请公布日2019.04.12(21)申请号201811300731.2(22)申请日2018.11.02(66)本国优先权数据201811080898.22018.09.17CN(71)申请人中国科学院信息工程研究所地址100093北京市海淀区闵庄路甲89号(72)发明人周永彬明经典张倩李慧中(74)专利代理机构北京君尚知识产权代理事务所(普通合伙)11200代理人司立彬(51)Int.Cl.H04L9/00(2006.01)H04L9/06(2006.01)权利要求书2页说明书8页附图1页(54)发明名称一种针对AES算法线性部分的高效掩码防护方法(57)摘要本发明公开了一种针对AES算法线性部分的高效掩码防护方法。本方法为:1)生成掩码矩阵M′、M;然后利用M对待保护的中间值矩阵Q进行保护,即Q⊕M;2)对Q⊕M进行非线性运算,结果记为S;利用M’对S进行保护,即S⊕M′;3)对S⊕M′进行行移位变换,得到矩阵S';4)利用S'对AES加密算法进行列混淆运算,得到矩阵T;5)更新M,进行正常的轮密钥加,更新前后的掩码矩阵M均为斜线上的掩码相同;6)重复步骤2)~5)多轮;当执行到最后一轮的线性运算时,只进行行移位变换和正常的轮密钥加,然后将变换后的S'与M’异或后作为AES的运算结果输出。CN109617667ACN109617667A权利要求书1/2页1.一种针对AES算法线性部分的高效掩码防护方法,其中每一轮其步骤为:1)生成4个随机8bit掩码m′0,m′1,m′2,m′3,并用这4个掩码循环排列组成4×4的掩码矩阵M′;以及生成4个随机8bit掩码m0,m1,m2,m3,并用这4个掩码循环排列组成4×4的掩码矩阵M;然后利用掩码矩阵M对一阶掩码方案中待保护的中间值矩阵Q进行保护,即生成新的中间值矩阵Q⊕M;2)对该中间值矩阵Q⊕M进行非线性运算,输出结果记为S,并利用掩码矩阵M’对S进行保护,生成受掩码保护的矩阵S⊕M′;3)对S⊕M′进行行移位变换,得到变换后的矩阵S';4)利用该矩阵S'对AES加密算法进行列混淆运算,得到矩阵T;其中,列混淆运算过程中引入一随机数r对该矩阵T中每一元素进行保护;5)在对AES加密算法进行列混淆运算后,对掩码矩阵M进行更新,更新前后的掩码矩阵M均为斜线上的掩码相同,在掩码刷新之后,正常执行轮密钥加过程(此过程与其它的一阶掩码轮密钥加模块相同);6)重复步骤2)~5)多轮;当执行到最后一轮的线性运算时,只进行步骤3)的行移位变换和轮密钥加操作,然后将变换后的S'与掩码矩阵M’异或后作为AES的运算结果输出。2.如权利要求1所述的方法,其特征在于,更新掩码矩阵M的方法为:先将矩阵T异或新的掩码矩阵N,再去异或更新前的掩码矩阵M;其中,生成4个8bit随机数n0,n1,n2,n3并用这4个掩码循环排列组成4×4的掩码矩阵N。3.如权利要求1所述的方法,其特征在于,得到矩阵T的方法为:tmp=2r⊕s′4*i+0⊕s′4*i+1⊕s′4*i+2⊕s′4*i+3t4*i+0=2(r⊕s′4*i+0⊕s′4*i+1)⊕s′4*i+0⊕tmpt4*i+1=2(r⊕s′4*i+1⊕s′4*i+2)⊕s′4*i+1⊕tmpt4*i+2=2(r⊕s′4*i+2⊕s′4*i+3)⊕s′4*i+2⊕tmpt4*i+3=2(r⊕s′4*i+3⊕s′4*i+0)⊕s′4*i+3⊕tmp;其中,t4*i+j为矩阵T内第4*i+j个元素,位于矩阵T的第i行第j列;s′4*i+j为矩阵S′内第4*i+j个元素,位于矩阵S′的第i行第j列。4.如权利要求1或3所述的方法,其特征在于,r为8bit随机数。5.如权利要求3所述的方法,其特征在于,对列混淆运算后的AES算法进行解密时,对该AES算法解密的列混淆方法为:-1tmp=((4r⊕2r)8⊕s′4*i+0⊕s′4*i+1⊕s′4*i+2⊕s′4*i+3)8t4*i+0=2(r⊕s′4*i+0⊕s′4*i+1)⊕4(r⊕s′4*i+0⊕s′4*i+2)⊕s′4*i+1⊕s′4*i+2⊕s′4*i+3⊕tmpt4*i+1=2(r⊕s′4*i+1⊕s′4*i+2)⊕4(r⊕s′4*i+1⊕s′4*i+3)⊕s′4*i+0⊕s′4*i+2⊕s′4*i+3⊕tmpt4*i+2=2(r⊕s′4*i+2⊕s′4*i+3)⊕4(r⊕s′4*i+0⊕s′4*i+2)⊕s′4*i+1⊕s′4*i+0⊕s′4*i+3⊕tmpt4*i+3=2(r⊕s′4*i+0⊕s′4*i+3)⊕4(r⊕s′4*i+3⊕s′4*i+1)⊕s′4*i+1⊕s′4*i+2⊕s′4*i+0⊕tmp其中