[发明专利]一种加速SM3算法的方法、处理器、芯片及电子设备有效
申请号: | 202011228846.2 | 申请日: | 2020-11-06 |
公开(公告)号: | CN112367158B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 姚涛 | 申请(专利权)人: | 海光信息技术股份有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 上海知锦知识产权代理事务所(特殊普通合伙) 31327 | 代理人: | 汤陈龙 |
地址: | 300384 天津市滨海新区天津华苑*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加速 sm3 算法 方法 处理器 芯片 电子设备 | ||
本申请实施例提供一种加速SM3算法的方法、处理器、芯片及电子设备,其中方法包括:获取分组消息;基于分组消息划分初始的多个消息字,其中,初始的多个消息字按照消息字的顺序平均划分到多个消息字操作数;在已得到k个消息字操作数的情况下,基于第k‑3个至第k‑1个消息字操作数,计算第k‑3个中间消息字操作数;其中,k≥4,1个消息字操作数包括按序排列的多个消息字,1个中间消息字操作数包括按序排列的多个中间消息字;基于所述第k‑3个中间消息字操作数以及第k个消息字操作数,计算第k+1个消息字操作数。本申请实施例可提高SM3算法的计算速度,进一步的,本申请实施例还可减少硬件实现的复杂度和代价。
技术领域
本申请实施例涉及密码学技术领域,具体涉及一种加速SM3算法的方法、处理器、芯片及电子设备。
背景技术
SM3算法是中国采用的一种密码散列函数标准,其本质上是一种密码杂凑算法,适用于商用密码应用中的数字签名和验证、消息认证码的生成与验证,以及随机数生成等,可满足多种密码应用的安全需求。
由于SM3算法具有特殊的操作,如果单纯使用软件模拟来实现SM3算法,将导致SM3算法的计算速度较低、性能欠佳,因此如何提供改进方案,以提高SM3算法的计算速度,成为了本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本申请实施例提供一种加速SM3算法的方法、处理器、芯片及电子设备,以在硬件加速SM3算法的方式中,提高SM3算法的计算速度。
为实现上述目的,本申请实施例提供如下技术方案:
一种加速SM3算法的方法,包括:
获取分组消息;
基于分组消息划分初始的多个消息字,其中,初始的多个消息字按照消息字的顺序平均划分到多个消息字操作数;
在已得到k个消息字操作数的情况下,基于第k-3个至第k-1个消息字操作数,计算第k-3个中间消息字操作数;其中,k≥4,1个消息字操作数包括按序排列的多个消息字,1个中间消息字操作数包括按序排列的多个中间消息字;
基于所述第k-3个中间消息字操作数以及第k个消息字操作数,计算第k+1个消息字操作数。
本申请实施例还提供一种处理器,至少包括:消息扩展单元,所述消息扩展单元配置有可执行的第一消息扩展指令和第二消息扩展指令;
所述处理器通过处理器指令至少执行:获取分组消息,基于分组消息划分初始的多个消息字,其中,初始的多个消息字按照消息字的顺序平均划分到多个消息字操作数;
其中,所述第一消息扩展指令被配置为:在已得到k个消息字操作数的情况下,基于第k-3个至第k-1个消息字操作数,计算第k-3个中间消息字操作数,其中,k≥4,1个消息字操作数包括按序排列的多个消息字,1个中间消息字操作数包括按序排列的多个中间消息字;
所述第二消息扩展指令被配置为:基于所述第k-3个中间消息字操作数以及第k个消息字操作数,计算第k+1个消息字操作数。
本申请实施例还提供一种处理器,所述处理器配置有处理器指令集,所述处理器指令集用于执行如上述所述的加速SM3算法的方法。
本申请实施例还提供一种芯片,包括如上述任一项所述的处理器。
本申请实施例还提供一种电子设备,包括如上述所述的芯片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011228846.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种注塑件毛边去除设备及去除工艺
- 下一篇:阴极锁