[发明专利]一种安全散列算法的实现方法、系统、介质及设备有效
申请号: | 202110843130.1 | 申请日: | 2021-07-26 |
公开(公告)号: | CN113300831B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 孙旭;周玉龙;杨琳琳 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;杨帆 |
地址: | 215000 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 安全 算法 实现 方法 系统 介质 设备 | ||
1.一种安全散列算法的实现方法,其特征在于,包括将输入数据按照第一预设单位长度划分为若干个数据块,并将数据块按照第二预设单位长度分为m个消息字,针对每个数据块执行以下步骤:
判断当前迭代轮数n是否大于m;
响应于n小于等于m,将第n个消息字作为第n轮迭代的消息字输入到迭代算法硬件结构的入口中,并基于所述第n个消息字得到第n轮迭代的第一置换函数和第二置换函数;
响应于n大于m,基于前m个消息字中的若干消息字得到第n轮迭代的第一置换函数和第二置换函数,并基于所述若干消息字以及第n轮迭代的第一置换函数和第二置换函数得到第n轮迭代的消息字,且将第n轮迭代的消息字输入到所述迭代算法硬件结构的入口中;
在所述迭代算法硬件结构中计算关键路径时采用四级流水线的迭代方式计算,并将关键路径计算中存在的相同计算因子提取到所述四级流水线上的前两级完成,并在后续迭代计算中仅迭代所述四级流水线的后两级流水线;
基于第n轮迭代的消息字、第一置换函数和第二置换函数以及第n-1轮迭代的输出数据得到第n轮迭代的输出数据;
响应于当前达到最后一轮迭代,将最后一轮迭代的消息字及其输出数据做加法拼接以得到安全散列算法的输出结果。
2.根据权利要求1所述的方法,其特征在于,将第n个消息字作为第n轮迭代的消息字输入到迭代算法硬件结构的入口中,并基于所述第n个消息字得到第n轮迭代的第一置换函数和第二置换函数包括:
将第n个消息字划分为多个输入单元,并将每个输入单元输入到所述迭代算法硬件结构的对应入口中;
基于若干输入单元分别得到第n轮迭代的第一置换函数和第二置换函数。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于n大于m,基于第n-1轮迭代的输出数据得到第n轮迭代的第一中间变量和第二中间变量。
4.根据权利要求3所述的方法,其特征在于,基于第n轮迭代的消息字、第一置换函数和第二置换函数以及第n-1轮迭代的输出数据得到第n轮迭代的输出数据包括:
基于第n轮迭代的消息字、第一置换函数、第二置换函数、第一中间变量、第二中间变量以及第n-1轮迭代的第一输出数据得到第n轮迭代的第二输出数据。
5.根据权利要求3所述的方法,其特征在于,基于第n轮迭代的消息字、第一置换函数和第二置换函数以及第n-1轮迭代的输出数据得到第n轮迭代的输出数据还包括:
基于第n轮迭代的消息字、第二置换函数、第一中间变量以及第n-1轮迭代的第一输出数据和第三输出数据得到第n轮迭代的第四输出数据。
6.根据权利要求3所述的方法,其特征在于,基于第n轮迭代的消息字、第一置换函数和第二置换函数以及第n-1轮迭代的输出数据得到第n轮迭代的输出数据还包括:
基于第n-1轮迭代的输出数据得到第n轮迭代的第五输出数据。
7.根据权利要求1所述的方法,其特征在于,将输入数据按照第一预设单位长度划分为若干个数据块包括:
判断是否接收到最后一个数据块的尾部信号;
响应于未接收到最后一个数据块的尾部信号,为所述最后一个数据块进行数据填充以使其数据长度达到所述预设单位长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110843130.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种金属颗粒用冷却装置
- 下一篇:一种接驳式激光切割系统