[发明专利]一种抗功耗攻击的SM4算法掩码S盒的实现方法有效
申请号: | 201710353396.1 | 申请日: | 2017-05-18 |
公开(公告)号: | CN106936569B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 李艳华;张玉禄;律博 | 申请(专利权)人: | 北京万协通信息技术有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/00 |
代理公司: | 北京市盛峰律师事务所 11337 | 代理人: | 梁艳 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 功耗 攻击 sm4 算法 掩码 实现 方法 | ||
1.一种抗功耗攻击的SM4算法掩码S盒的实现方法,其特征在于,包括如下步骤:
S1,获取S盒的代数表达式:S(x)=I(xA1+C1)A2+C2;
式中,A1,A2为8x8矩阵;C1,C2为行向量;
C1=C2=(11001011)
I(x)表示在GF(28)有限域上的求逆运算,所对应的8次不可约多项式为:
f(x)=x8+x7+x6+x5+x4+x3+x2+1;
S2,利用同构映射矩阵进行同构映射,将有限域GF(28)中的元素从标准表示转换为复合域GF((22)2)2)的方法表示;
S3,将同构映射产生的数据,在GF((22)2)2)域上进行求逆运算;
S4,利用S2中同构映射矩阵的逆矩阵进行逆同构映射,将S3中得到的逆元从复合域中的表示转换为有限域GF(28)中的标准表示;
S5,将输出结果经过仿射变换,得到S(x);
对数据进行掩码技术处理,利用随机数将数据掩藏起来,具体包括如下步骤:
S1’,对S盒的掩码输入A^M进行仿射变换,并利用第一修正单元的修正因子对仿射变换的结果进行修正,得到修正数据;
S2’,将得到的修正数据和掩码M均利用同构映射矩阵进行同构映射,将有限域GF(28)中的元素从标准表示转换为用复合域GF((22)2)2)的方法表示;
S3’,将同构映射产生的数据,在GF((22)2)2)域上进行求逆运算;
S4’,利用S2’中同构映射矩阵的逆矩阵进行逆同构映射,将S3’中得到的逆元从复合域中的表示转换为有限域GF(28)中的标准表示;
S5’,将输出结果和掩码M均经过仿射变换,并利用第二修正单元的修正因子对仿射变换的结果进行修正,得到修正数据和修正掩码M;
S6’,将得到的修正数据和修正掩码M异或,得到SBOX(A)^M;
S2中,所述同构映射矩阵为:
S2包括如下步骤:
S201,将GF(28)的元素表示为GF(24)上的一次线性多项式:g=(a1Y16+a0Y),其中,所有系数都属于GF(24);
则,乘法运算需要的模不可约多项式为:r(y)=y2+τy+η,[Y16,Y]为该域下的一组正则基,[Y16,Y]为r(y)=0的两个根;
S202,将GF(24)的元素表示为GF(22)上的一次线性多项式:a=(b1Z4+b0Z),其中,所有系数都属于GF(22);
则,乘法运算需要的模不可约多项式为:t(z)=z2+μz+ρ,[Z4,Z]为该域下的一组正则基,[Z4,Z]为t(z)=0的两个根;
S203,将GF(22)的元素表示为GF(2)上的一次线性多项式:b=(c1W2+c0W),其中,所有系数都属于GF(2);
则,乘法运算需要的模不可约多项式为:s(w)=w2+w+1,[W2,W]为该域下的一组正则基,[W2,W]为s(w)=0的两个根;
S3包括如下步骤:
S301,取τ=μ=1,设g=(a1Y16+a0Y)的逆为h=(d1Y16+d0Y),根据乘法逆的定义:(a1Y16+a0Y)(d1Y16+d0Y)mod(y2+y+η)=1,a1 a0 d1 d0∈GF(24),因[Y16,Y]为r(y)=0的两个根,Y16+Y=1,Y16 X Y=η;可得出(d1Y16+d0Y)=(θ-1a0)Y16+(θ-1a1)Y,θ=(a1a0+(a12+a02)η);
S302,设a=(b1Z4+b0Z)的逆为(e1Z4+e0Z),根据乘法逆的定义:(e1Z4+e0Z)(b1Z4+b0Z)modt(z)=1,b1 b0 e1 e0∈GF(22),因[Z4,Z]为t(z)=0的两个根,Z4+Z=1,Z4 X Z=ρ,可得出(e1Z4+e0Z)=(σ-1b0)Z4+(σ-1b1)Z,σ=(b1b0+(b12+b02)ρ);
S303,设b=(c1W2+c0W)的逆为(f1W2+f0W),根据乘法逆的定义:(f1W2+f0W)(c1W2+c0W)mods(w)=1,c0 c1 f1 f0∈GF(2),[W2,W]为s(w)=0的两个根,W2+W=1,W2XW=1,在GF(22)上乘法求逆相当于平方运算,可得出(f1W2+f0W)=(c1W2+c0W)2=c12W4+c02W2+2c1c0W3,在GF(2)上,c12=c1,c02=c0,2c0 c1=0,且W3=1;由此可得(f1W2+f0W)=(c0W2+c1W);
所述第一修正单元为一异或单元,其中的所述修正因子为一固定参数,用于调整掩码后数据的正确性;
所述第二修正单元为一异或单元,其中的所述修正因子为一固定参数,用于调整掩码后数据的正确性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京万协通信息技术有限公司,未经北京万协通信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710353396.1/1.html,转载请声明来源钻瓜专利网。