[发明专利]SM3算法的硬件实现装置有效
申请号: | 202110552612.1 | 申请日: | 2021-05-20 |
公开(公告)号: | CN113300829B | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 冯炫博;张亚国;李正卫 | 申请(专利权)人: | 深圳智微电子科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 郑州睿信知识产权代理有限公司 41119 | 代理人: | 吴敏 |
地址: | 518000 广东省深圳市南山区西丽街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm3 算法 硬件 实现 装置 | ||
1.一种SM3算法的硬件实现装置,其特征在于,包括:
16个基础消息字寄存器,首先存储初始的16个消息字,然后在进行SM3算法的64轮扩展计算中,对16个基础消息字寄存器进行操作,操作包括:第0轮~第11轮的不重新赋值操作,以及第12轮~第63轮动态赋值操作,动态赋值的规则为:将16个基础消息字寄存器按照顺序编码,将后一个基础消息字寄存器中的消息字赋值给前一个基础消息字寄存器,将第三动态消息字寄存器中的消息字赋值给最后一个基础消息字寄存器;
3个动态消息字寄存器,用于在每轮扩展计算中动态存储消息字,第0轮~第11轮消息字的动态更新过程为:
第12轮~第63轮消息字的动态更新过程为:
其中,Wt1为第一动态消息字寄存器;Wt2为第二动态消息字寄存器;W16为第三动态消息字寄存器;WJ为基础消息字寄存器,J=0、1、……、15;P1为置换函数。
2.根据权利要求1所述的SM3算法的硬件实现装置,其特征在于,各消息字均为32比特。
3.根据权利要求1或2所述的SM3算法的硬件实现装置,其特征在于,对16个基础消息字寄存器进行赋值之前,还包括判断原始消息数据比特数的步骤:
判断原始消息数据的比特数是否满足设定比特,若不满足,则补齐;若超出,则按照设定比特进行消息块的分组,剩余不满足设定比特的补齐。
4.根据权利要求1或2所述的SM3算法的硬件实现装置,其特征在于,还包括接口模块,用于接收原始消息数据以及输出SM3算法的加密结果。
5.根据权利要求4所述的SM3算法的硬件实现装置,其特征在于,还包括FIFO存储模块,所述FIFO存储模块连接接口模块,用于存储原始消息数据。
6.一种SM3算法的硬件实现装置,其特征在于,包括:
16个基础消息字寄存器,首先存储初始的16个消息字,然后在进行SM3算法的64轮扩展计算中,对16个基础消息字寄存器进行操作,操作包括:第0轮~第11轮的不重新赋值操作,以及第12轮~第63轮动态赋值操作,动态赋值的规则为:将16个基础消息字寄存器按照顺序编码,将后一个基础消息字寄存器中的消息字赋值给前一个基础消息字寄存器,将的结果赋值给最后一个基础消息字寄存器;
2个动态消息字寄存器,用于在每轮扩展计算中动态存储消息字,第0轮~第11轮消息字的动态更新过程为:
第12轮~第63轮消息字的动态更新过程为:
其中,Wt1为第一动态消息字寄存器;Wt2为第二动态消息字寄存器;WJ为基础消息字寄存器,J=0、1、……、15;P1为置换函数。
7.根据权利要求6所述的SM3算法的硬件实现装置,其特征在于,各消息字均为32比特。
8.根据权利要求6或7所述的SM3算法的硬件实现装置,其特征在于,对16个基础消息字寄存器进行赋值之前,还包括判断原始消息数据比特数的步骤:
判断原始消息数据的比特数是否满足设定比特,若不满足,则补齐;若超出,则按照设定比特进行消息块的分组,剩余不满足设定比特的补齐。
9.根据权利要求6或7所述的SM3算法的硬件实现装置,其特征在于,还包括接口模块,用于接收原始消息数据以及输出SM3算法的加密结果。
10.根据权利要求9所述的SM3算法的硬件实现装置,其特征在于,还包括FIFO存储模块,所述FIFO存储模块连接接口模块,用于存储原始消息数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳智微电子科技有限公司,未经深圳智微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110552612.1/1.html,转载请声明来源钻瓜专利网。