[发明专利]一种面向异构并行架构的高性能SM4比特切片优化方法有效
申请号: | 202210542472.4 | 申请日: | 2022-05-19 |
公开(公告)号: | CN114710285B | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 关志;陈钟;何逸飞;王珂;孙磊;齐向东;刘勇;孔坚 | 申请(专利权)人: | 北京大学;奇安信科技集团股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/14 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 李文涛 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 并行 架构 性能 sm4 比特 切片 优化 方法 | ||
1.一种面向异构并行架构的高性能SM4比特切片优化方法,其特征在于,包括如下步骤:
1)将原始标准算法SM4的32比特字长的变量,按顺序分割成32个1比特字长的变量;
2)将原始标准算法SM4的线性部分运算:32比特字的异或运算和32比特字的循环左移运算,按照步骤1)定义的变量,转化成在32个1比特字长之间进行异或和换位;
异或运算步骤包括:
(a)对于原始标准算法SM4存在的两个32比特状态字,计算;
(b)将SM4中的变量分割成32比特和;
(c)对位分别异或计算:,输出结果,该结果为32比特状态字按照1比特分割的形式;
换位的步骤包括:
(i)将32比特字按照1比特为单位依序分割成;
(ii)将32比特字的输出按照1比特为单位依序分割成;
(iii)根据线性变换公式,给定的值,找到计算时参与异或运算的上的比特数据,计算如下:
;
其中表示在中第比特数据;
(iv)对于,重复计算步骤(iii),得到全部的最终结果;
3)将原始标准算法SM4的非线性部分运算S盒,分解成矩阵仿射变换和有限域求逆;
4)对于有限域求逆,利用有限域塔式结构变换,将的有限域通过矩阵仿射变换,同构映射到复合域上,变换成的求逆和乘法,实现在1比特字长下计算;
5)对于的求逆,利用有限域塔式结构变换,将有限域通过矩阵仿射变换,同构映射到有限域,变换成的求逆和乘法,实现在1比特字长下计算;
6)对于的求逆,等价于高位比特不变,低位等于高位异或低位,实现在1比特字长下计算;
7)按照上述步骤1)至6),实现整个SM4算法仅依赖1比特字长、异或以及与运算完成整个计算,由此将X位寄存器看作X向量寄存器使用,实现X组SM4算法多线程并行计算,X为寄存器的宽度。
2.如权利要求1所述的方法,步骤4)中的处理步骤包括:
1)通过矩阵乘法,构造到的同构映射;
2)对步骤1)得到的进行求逆运算,公式为:
;
是模数多项式模数;
将上述公式展开后得到:;;
根据步骤2)中的公式,将在上的求逆运算进一步变成元素在上的求逆和上的乘法运算。
3.如权利要求1所述的方法,步骤4)中的乘法通过转化成矩阵向量乘法运算,方法为将相乘的两个 4 比特元素看成两个向量,其中一个向量改造成矩阵的形式,与另一个向量相乘,实现在1比特字长下计算。
4.如权利要求1所述的方法,步骤5)中的处理步骤包括:
1)通过矩阵乘法,构造到同构映射;
2)对步骤1)得到的进行求逆运算,公式为:
;
其中,是中的元素,是该元素的逆,,为多项式模数;
将上述公式展开后得到:;;
根据步骤2)中的公式,将上的求逆运算变成了上的求逆运算和乘法运算。
5.如权利要求1所述的方法,步骤5)中的的乘法通过矩阵运算实现,步骤包括:将相乘的两个2比特元素看成两个向量,将其中一个向量改造成矩阵的形式,并与另一个向量相乘;再在有限域上通过查表的方式求逆运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学;奇安信科技集团股份有限公司,未经北京大学;奇安信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210542472.4/1.html,转载请声明来源钻瓜专利网。