【技术实现步骤摘要】
S盒实现方法、装置、电子设备及计算机可读存储介质
[0001]本公开涉及密码算法
,具体地,涉及一种S盒实现方法、装置、电子设备及计算机可读存储介质。
技术介绍
[0002]SM4算法具有便于软件和硬件实现、加解密速度快等优点,应用范围非常广泛。SM4算法中S盒是唯一的非线性部件,S盒的实现效率对整个算法的性能至关重要,目前,S盒实现方式主要包括基于查找表的实现和基于复合域的实现。其中,基于查找表的实现方式需要保存S盒所有可能的输出,实现效率较低。基于复合域的实现方式是将有限域GF(28)上的求逆运算转换到复合域GF((24)2)或GF(((22)2)2)上进行计算,计算过程中需要进行多次线性计算,使得S盒线性部件的电路实现所需的逻辑门数量较多,实现结构较为复杂,逻辑门电路深度较大,硬件实现效率较低。
[0003]因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
技术实现思路
[0004]本公开的目的是提供一种S盒实现方法、装置、电子设备及计算机可读存储介质,能够减少S盒线性部件所需的逻辑门数量,简化基于复合域的S盒实现结构,压缩逻辑门的电路深度,优化硬件实现效率。
[0005]第一方面,本公开提供了一种S盒实现方法,包括:
[0006]基于仿射变换矩阵对S盒在有限域GF(28)上的输入元素进行仿射变换,得到第一中间变量和第二中间变量;
[0007]对所述第一中间变量在域GF(24)上进行第一乘法运算和乘方运算,将所述第一乘法运算的结果 ...
【技术保护点】
【技术特征摘要】
1.一种S盒实现方法,其特征在于,包括:基于仿射变换矩阵对S盒在有限域GF(28)上的输入元素进行仿射变换,得到第一中间变量和第二中间变量;对所述第一中间变量在域GF(24)上进行第一乘法运算和乘方运算,将所述第一乘法运算的结果和所述乘方运算的结果进行异或运算,得到所述异或运算的结果;对所述异或运算的结果在所述域GF(24)上进行求逆运算,得到第三中间变量;将所述第二中间变量和所述第三中间变量在域GF(2)上进行第二乘法运算,并对第二乘法运算的结果进行异或运算,得到所述S盒的输出结果;其中,所述仿射变换矩阵包括所述域GF(24)上关于所述输入元素的线性操作得到的第一线性矩阵、所述域GF(2)上关于所述输入元素的线性操作得到的第二线性矩阵。2.根据权利要求1所述的S盒实现方法,其特征在于,所述基于仿射变换矩阵对S盒在有限域GF(28)上的输入元素进行仿射变换,得到第一中间变量的过程包括:利用第一关系式对S盒在有限域GF(28)上的输入元素进行仿射变换,得到第一中间变量,所述第一关系式为Q=B
·
U
·
(A
·
X+C);其中,Q为所述第一中间变量,B为所述域GF(24)上关于所述输入元素的线性操作得到的第一线性矩阵,X为所述输入元素,A为所述域GF(2)上的8
×
8矩阵,C为所述域GF(2)上的8
×
1矩阵,U为从有限域到复合域上的域同构仿射变换矩阵。3.根据权利要求1所述的S盒实现方法,其特征在于,基于仿射变换矩阵对S盒在有限域GF(28)上的输入元素进行仿射变换,得到第二中间变量的过程包括:利用第二关系式对S盒在有限域GF(28)上的输入元素进行仿射变换,得到第二中间变量,所述第二关系式为L=A
·
U
‑1·
M
·
U
·
(A
·
X+C);其中,L为所述第二中间变量,A为所述域GF(2)上的8
×
8矩阵,C为所述域GF(2)上的8
×
1矩阵,U为从有限域到复合域上的域同构仿射变换矩阵,U
‑1为从复合域到有限域上的域同构仿射变换矩阵,M为所述域GF(2)上关于所述输入元素的线性操作得到的第二线性矩阵。4.根据权利要求1所述的S盒实现方法,其特征在于,所述将所述第二中间变量和所述第三中间变量在域GF(2)上进行第二乘法运算,并对第二乘法运算的结果进行异或运算,得到所述S盒的输出结果的过程包括:将所述第二中间变量划分为多个中间变量组,所述中间变量组的个数与所述第三中间变量的个数相同;在域GF(2)上将第i个所述中间变量组中的各个所述第二中间变量分别与所述第i个所述第三中间变量进行第二乘法运算,i=1,2,
…
,n,n为所述中间变量组的个数;将所述第二...
【专利技术属性】
技术研发人员:魏曼,刘仁章,
申请(专利权)人:成都卫士通信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。