[发明专利]一种加速SM3算法的方法、处理器、芯片及电子设备有效
申请号: | 202011228846.2 | 申请日: | 2020-11-06 |
公开(公告)号: | CN112367158B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 姚涛 | 申请(专利权)人: | 海光信息技术股份有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 上海知锦知识产权代理事务所(特殊普通合伙) 31327 | 代理人: | 汤陈龙 |
地址: | 300384 天津市滨海新区天津华苑*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加速 sm3 算法 方法 处理器 芯片 电子设备 | ||
1.一种加速SM3算法的方法,其特征在于,应用于处理器,所述处理器采用两条轮计算指令,配合实现单轮的轮计算操作,所述SM3算法是密码杂凑算法,用于满足密码应用的安全需求;所述方法包括:
将输入的消息进行填充和分组,得到分组消息;
将分组消息通过消息扩展和轮计算实现迭代压缩,输出杂凑值;所述杂凑值用于满足密码应用的安全需求;
所述消息扩展的过程包括:
基于分组消息划分初始的多个消息字,其中,初始的多个消息字按照消息字的顺序平均划分到多个消息字操作数;
在已得到k个消息字操作数的情况下,基于第k-3个至第k-1个消息字操作数,计算第k-3个中间消息字操作数;其中,k≥4,1个消息字操作数包括按序排列的多个消息字,1个中间消息字操作数包括按序排列的多个中间消息字;
基于所述第k-3个中间消息字操作数以及第k个消息字操作数,计算第k+1个消息字操作数,实现迭代的扩展出剩余的消息字。
2.根据权利要求1所述的方法,其特征在于,1个消息字操作数具体包括按序排列的4个消息字,且4≤k≤16,最终得到的消息字操作数的个数为17;第k个消息字操作数中的消息字具体为W4k-4,W4k-3,W4k-2,W4k-1。
3.根据权利要求2所述的方法,其特征在于,1个中间消息字操作数具体包括按序排列的4个中间消息字,其中,第k-3个中间消息字操作数中的中间消息字具体为:WT4(k-3)-4,WT4(k-3)-3,WT4(k-3)-2,WT4(k-3)-1;
所述基于第k-3个至第k-1个消息字操作数,计算第k-3个中间消息字操作数包括:
WT4(k-3)-4=P1(W4(k-3)-4⊕W4(k-2)-1)⊕W4(k-3)-14(k-2)-1⊕W4(k-1)-2;
WT4(k-3)-3=P1(W4(k-3)-3⊕W4(k-1)-4)⊕W4(k-2)-44(k-2)-1⊕W4(k-1)-1;
WT4(k-3)-2=P1(W4(k-3)-2⊕W4(k-1)-3)⊕W4(k-2)-34(k-2)-1;
WT4(k-3)-1=P1(W4(k-3)-1⊕W4(k-1)-2)⊕W4(k-2)-24(k-2)-1;
其中,P1为消息扩展中的置换函数,⊕表示32比特异或运算,<<<表示32比特循环左移比特运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011228846.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种注塑件毛边去除设备及去除工艺
- 下一篇:阴极锁