[发明专利]一种SM3加速方法和装置在审
申请号: | 201910196234.0 | 申请日: | 2019-03-15 |
公开(公告)号: | CN110022203A | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 高夫 | 申请(专利权)人: | 深圳市纽创信安科技开发有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057 广东省深圳市南山区粤海街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分组消息 函数计算 扩展消息 消息扩展 存储计算结果 方法和装置 软硬件结合 预设寄存器 扩展指令 消息填充 压缩 运算 分组 配置 | ||
本发明实施例涉及一种SM3加速方法与装置。方法包括:对输入的消息进行消息填充和分组,得到分组消息;将每个分组消息通进行消息扩展,生成扩展消息字组;将每个扩展消息字组进行压缩函数计算,得到计算结果;消息扩展和压缩函数计算中的至少其中之一通过扩展指令实现;存储计算结果到预设寄存器中。实施本发明实施例,采取软硬件结合的方式,有效提升SM3运算的效率并兼顾了成本,达到资源的更佳配置。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种SM3加速方法和装置。
背景技术
SM3是国家密码管理局发布的一种密码杂凑算法(GM/T 0004-2012),对长度小于264比特的消息,SM3杂凑算法经过填充,迭代压缩和输出选裁,生成256比特的杂凑值。对于某些计算装置,如通用处理器,使用纯软件进行SM3杂凑运算时,往往出现效率低下以及长时间占用该装置的缺点,由此导致系统资源分配紧张和功耗的增加。而一些硬件解决方案,纯硬件实现SM3杂凑运算,又过多的增加了硬件成本。如何提升SM3运算的效率并兼顾成本,达到资源的更佳配置,是本领域亟待解决的问题。
发明内容
本发明实施例提供一种SM3加速方法和装置,可有效提升SM3运算的效率并兼顾成本,达到资源的更佳配置。
一方面,本发明实施例提供一种SM3加速方法,应用于设有内部寄存器的计算装置,方法包括:为所述计算装置增加预设数量的辅助寄存器;对输入的消息进行消息填充和分组,得到分组消息;将每个所述分组消息进行消息扩展,生成扩展消息字组;将每个所述扩展消息字组进行压缩函数计算,得到计算结果;所述进行消息扩展和所述进行压缩函数计算的至少其中之一,通过扩展指令实现;存储所述计算结果到预设寄存器中。
可选的,对输入的消息进行填充和分组,得到分组消息,具体包括:判断所述输入的消息长度是否是512比特的整数倍;若是,对所述消息以512比特进行分组,得到分组消息;若否,对所述消息填充至512比特的整数倍后,以512比特进行分组,得到分组消息。
可选的,将每个所述分组消息进行消息扩展得到扩展消息字组,通过扩展指令实现;所述扩展指令包括第一消息扩展加速指令、第二消息扩展加速指令以及第三消息扩展加速指令;将每个所述分组消息进行消息扩展得到扩展消息字组,具体包括:将每个分组消息划分为16个消息字W0,W1,……,W15;通过第一消息扩展加速指令、第二消息扩展加速指令以及第三消息扩展加速指令得到另外52个消息字W16,W17,……,W67;根据已产生的68个消息字W0,W1,……,W67,得出剩余64个消息字:W0′,W1′,……,W63′;如此每个扩展消息字组包括132个消息字。
可选的,通过第一消息扩展加速指令、第二消息扩展加速指令以及第三消息扩展加速指令得到另外52个消息字W16,W17,……,W67的执行过程中:第一消息扩展加速指令的执行调用所述装置的内部寄存器;第二消息扩展加速指令的执行调用所述装置的内部寄存器和所述辅助寄存器;第三消息扩展加速指令的执行调用所述装置的内部寄存器和所述辅助寄存器。
可选的,将每个所述扩展消息字组进行压缩函数计算的执行,通过扩展指令实现,所述扩展指令包括消息压缩加速指令,调用所述装置的内部寄存器和所述辅助寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市纽创信安科技开发有限公司,未经深圳市纽创信安科技开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910196234.0/2.html,转载请声明来源钻瓜专利网。