一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种AES&SM4可重构掩码S盒硬件电路的制作方法

2021-11-24 22:18:00 来源:中国专利 TAG:

一种aes&sm4可重构掩码s盒硬件电路
技术领域
1.本发明涉及信息安全技术领域,特别涉及一种aes&sm4可重构掩码s盒硬件电路。


背景技术:

2.目前,我国高度重视信息安全领域,尤其在近年来加大硬件安全方面的投入。为了解决我国商业密码问题,国家密码局认定sm4算法为我国对称分组加密商用密码算法,对标国际上的分组对称密码算法——aes。
3.但在某些领域,需要同时兼容多种算法以及标准,比如既需要满足国际标准又需要满足国家密码局标准,这就需要同时实现aes和sm4算法,但单独实现两种算法,将会造成硬件面积、资源开销过大,性能低下。aes和sm4都属于分组对称密码算法,有其相同之处,比如s盒都是基于有限域gf(2^8),这就为两者s盒的可重构提供了理论依据。
4.而对于硬件加密算法,侧信道分析逐渐成为威胁安全芯片安全性的主要攻击手段,而s盒作为对称密钥算法流程中的唯一非线性部分,成为了对称密码算法中侧信道攻击的重点对象,因此实现s盒的侧信道防护十分必要。但是侧信道防护会陡然增加硬件电路资源、面积开销,因此需要从设计上减少硬件的开销。


技术实现要素:

5.本发明的目的是提供一种基于掩码技术可抗侧信道攻击的aes&sm4可重构掩码s盒硬件电路,用以克服上述现有技术中存在的问题。
6.为了实现上述任务,本发明采用以下技术方案:
7.一种aes&sm4可重构掩码s盒硬件电路,包括掩码预处理单元、前仿射和掩码修正单元、带掩码乘法逆单元以及后仿射和掩码修正单元,其中:
8.掩码预处理单元包括一个选择器mux和两个异或门,其中选择器mux的输入端输入8比特掩码m,然后对m进行判断:如果m为0则输出m’=m 1,否则保持;得到选择器输出的修正掩码m’后,再分别经过所述两个异或门与掩码m、s盒的输入进行异,输出为
9.前仿射和掩码修正单元包括两个选择器mux、两个前仿射电路和两个独立异或门;其中第一个选择器根据加密模式,对掩码预处理单元的输出去执行对应的前仿射电路,得到需要的8比特输出;第二个选择器同样根据加密模式,对掩码预处理单元的修正掩码m’输出对应的掩码修正8比特数据,再将该结果跟修正掩码m’进行第一次异或,然后跟第一个选择器中的8比特输出进行异或,输出为其中x
a
表示经过仿射后的8比特输出;
10.带掩码乘法逆单元包括三个gf(28)有限域乘法电路一个gf(28)有限域乘法逆电路和三个异或门;其中前仿射和掩码修正单元的输出先跟掩码预处理单元修正后的掩码m’进行一次gf(28)有限域乘法得到同时两个修正后的掩码m’也进
行一次gf(28)有限域乘法得到m
’2,再将这个有限域乘法的输出结果进行异或操作得到然后将异或后的结果进行一次gf(28)有限域乘法逆得到再将有限域乘法逆的输出结果有限域乘法逆的输出结果跟8比特的1进行异或操作得到最后将异或后的结果异或后的结果跟修正掩码m’再进行一次gf(28)有限域乘法,输出为
11.后仿射和掩码修正单元包括两个选择器mux、两个后仿射电路和两个独立异或门;其中第一个选择器根据加密模式,对带掩码乘法逆单元的输出去执行对应的后仿射电路,得到需要的8比特输出;第二个选择器同样根据加密模式,对修正掩码m’输出对应的掩码修正8比特数据,然后与s盒的8比特掩码m进行异或操作,异或操作后的结果再跟第一个选择器的8比特输出进行异或,得到最终的输出。
12.进一步地,所述前仿射和掩码修正单元中:
13.aes加密时:
[0014][0015]
aes解密时:
[0016][0017]
sm4加解密时:
[0018][0019]
其中,a2为aes的前仿射矩阵;b2为aes的仿射常量;c1为sm4的前仿射矩阵,d1为sm4的仿射常量。
[0020]
进一步地,所述后仿射和掩码修正单元中:
[0021]
aes加密时:
[0022][0023]
aes解密时:
[0024][0025]
sm4加解密时:
[0026][0027]
其中,a1为aes的后仿射矩阵;b1为aes的仿射常量;c2为sm4的后仿射矩阵,d2为sm4的仿射常量,s(x)为经过s盒后的输出。
[0028]
与现有技术相比,本发明具有以下技术特点:
[0029]
1.兼顾aes加密、aes解密和sm4加解密共计三种s盒的电路结构,实现了aes和sm4的s盒可重构设计。
[0030]
2.s盒采用掩码技术,并且掩码在输入端增加掩码预处理,保证了掩码不等于0,实现了对s盒输入、中间值和输出的保护,使其具备侧信道防御能力。
[0031]
3.在经过s盒的过程中采取了分段修正掩码:前仿射修正、乘法掩码修正和后仿射修正,保证了s盒的最终输出不改变掩码的值。
[0032]
4.采取掩码技术,对比伪操作等侧信道防御技术,有效降低了面积等硬件资源开销。
[0033]
5.s盒中的乘法逆结构,采用标准基下的复合域s盒的电路结构,具有低延时、小面积、有一定抗攻击能力的优点。
附图说明
[0034]
图1为本发明的电路结构图;
[0035]
图中符号说明:m:s盒的8比特掩码;m’:m预处理的8比特输出;mux:选择器;a1和a2:aes的后仿射矩阵和前仿射矩阵;b1和b2:aes的仿射常量;c1和c2:sm4的前仿射矩阵和后仿射矩阵;d1和d2:sm4的仿射常量;异或操作;gf(28)有限域乘法电路;inversion in gf(28):gf(28)有限域除法/乘法逆;x
a
:输入经过仿射后的8比特输出;s(x):经过s盒后的输出。
具体实施方式
[0036]
参见图1,本发明提供的一种aes&sm4可重构掩码s盒硬件电路,包括掩码预处理单元、前仿射和掩码修正单元、带掩码乘法逆单元、后仿射和掩码修正单元,其中:
[0037]
1.掩码预处理单元
[0038]
掩码预处理单元包括一个选择器mux和两个异或门,其中选择器mux的输入端输入s盒的8比特掩码m,然后对m进行判断:如果m为0则输出m’=m 1,否则保持;得到选择器输出的修正掩码m’后,再分别经过所述两个异或门与掩码m、s盒的输入进行异,输出为
[0039]
掩码预处理单元的工作原理是:由于如果输入的掩码m为0,将起不到掩码的保护作用。对该问题,本发明s盒在输入端增加了掩码预处理;通过选择器判断掩码m是否为0,如果m为0,则令m’=m 1;如果m≠0,则令m’=m。随后进行两次异或:从而保证了s盒的掩码输入不为0。
[0040]
2.前仿射和掩码修正单元
[0041]
前仿射和掩码修正单元包括两个选择器mux、两个前仿射电路(基于异或门的二元矩阵乘法电路,图中分别表示为sm4的c1(.) d1、aes的a2(.) b2)和两个独立异或门;其中第一个选择器就是根据加密模式,对掩码预处理单元的输出去执行对应的前仿射电路,得到需要的8比特输出;第二个选择器同样根据加密模式,对掩码预处理单元的修正掩码m’输出对应的掩码修正8比特数据,再将该结果跟修正掩码m’进行第一次异或,然后跟第一个选择器中的8比特输出进行异或,输出为其中x
a
表示经过仿射后的8比特输出。
[0042]
前仿射和掩码修正单元的工作原理是:由于s盒为aes和sm4的共用,两种算法的s
盒的流程略有区别,aes加密需要先进行aes前仿射,aes解密则不需要;sm4加解密都需要过sm4的前仿射。另外两种算法经过前仿射后的掩码各不相同,为了保证经过前仿射后,输出都为:在前仿射阶段增加了掩码修正:
[0043]
aes加密时:
[0044][0045]
aes解密时:
[0046][0047]
sm4加解密时:
[0048][0049]
3.带掩码乘法逆单元
[0050]
带掩码乘法逆单元包括三个gf(28)有限域乘法电路一个gf(28)有限域乘法逆电路和三个异或门;其中前仿射和掩码修正单元的输出先跟掩码预处理单元修正后的掩码m’进行一次gf(28)有限域乘法得到同时两个修正后的掩码m’也进行一次gf(28)有限域乘法得到m
’2,再将这个有限域乘法的输出结果进行异或操作得到然后将异或后的结果进行一次gf(28)有限域乘法逆inversion in gf(28)得到再将有限域乘法逆的输出结果跟8比特的1进行异或操作得到最后将异或后的结果跟修正掩码m’再进行一次gf(28)有限域乘法,输出为乘法,输出为其中有限域乘法电路是由二级制数域的参数来决定的电路,用于完成该域下的乘法,为现有电路。
[0051]
带掩码乘法逆单元的工作原理是:s盒作为对称密钥算法中的非线性部分,简单的异或掩码在经过gf(28)乘法逆后将变得难以恢复,为了保证输出的掩码在经过s盒后仍为原来的数值,需要在乘法逆之前将异或掩码转为乘法掩码。因此在乘法逆过程增加了乘法掩码:
[0052][0053]
上述操作将输入的异或掩码转为了乘法掩码然后再输入到gf(28)乘法逆中,得到输出:由于我们输出不能改变掩码,应为因此,我们还需要对掩码进行修正:
[0054][0055]
4.后仿射和掩码修正单元
[0056]
后仿射和掩码修正单元包括两个选择器mux、两个后仿射电路(基于异或门的二元矩阵乘法电路,图中分别表示为sm4的c2(.) d2、aes的a1(.) b1)和两个独立异或门;其中第一个选择器就是根据加密模式,对带掩码乘法逆单元的输出去执行对应的后仿射电路,得到需要的8比特输出;第二个选择器同样根据加密模式,对修正掩码m’输出对应的
掩码修正8比特数据,然后与s盒的8比特掩码m进行异或操作,异或操作后的结果再跟第一个选择器的8比特输出进行异或,得到最终的输出其中s(x)表示经过s盒后的输出。
[0057]
后仿射和掩码修正单元的工作原理是:这里与前仿射和掩码修正单元类似,也是由于aes和sm4两种算法经过前仿射后的掩码各不相同,为了保证经过前仿射后,输出都为:在后仿射阶段增加了掩码修正:
[0058]
aes加密时:
[0059][0060]
aes解密时:
[0061][0062]
sm4加解密时:
[0063][0064]
最终经过上述四个过程,得到了一种aes&sm4可重构掩码s盒硬件电路设计。
[0065]
本方案实现了aes和sm4的s盒在标准基下基于复合域gf((((2)2)2)2)的可重构设计。s盒采用掩码技术,采取了掩码预处理、分段修正掩码技术,保证输出不改变掩码值的情况下具备侧信道防御能力。本方案的可重构s盒具备小面积、低延时、抗攻击的优点。
[0066]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献