[发明专利]模约减方法、装置、设备及计算机可读存储介质有效
申请号: | 201810026230.3 | 申请日: | 2018-01-11 |
公开(公告)号: | CN108243002B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 胡湘宏;熊晓明;张盛仕;郑欣 | 申请(专利权)人: | 广东工业大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 510006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模约减 方法 装置 设备 计算机 可读 存储 介质 | ||
1.一种用于加密的模约减方法,其特征在于,包括:
接收待进行模约减的第一操作数;第一操作数为超过素域的值;
在所述第一操作数最高位前添加0直至所述第一操作数达到512位并得到第二操作数;
将所述第二操作数通过约减算法计算得到第一最终值;
在所述第一最终值最高位前添加0直至所述第一最终值达到288位并得到第三操作数;
将所述第三操作数通过所述约减算法计算得到第二最终值;
判断所述第二最终值是否小于预设阈值,若是,则输出所述第二最终值;若否,则将所述第二最终值减去所述预设阈值得到第三最终值并输出所述第三最终值;第二最终值与第三最终值都是符合SM2加密算法的操作数;
其中,所述预设阈值为SM2加密算法中规定的可操作数值范围内的最大值;
其中,所述将所述第二操作数通过约减算法计算得到第一最终值的过程具体包括:
将所述第二操作数按位拆分成16个32位的第四操作数;
将所述第四操作数与0组成14个256位的第五操作数;
将所述第五操作数通过加法运算以及减法运算得到所述第一最终值;
其中,所述将所述第三操作数通过所述约减算法计算得到第二最终值的过程具体包括:
将所述第三操作数按位拆分成9个32位的第六操作数;
将所述第六操作数与0组成3个256位的第七操作数;
将所述第七操作数通过加法运算以及减法运算得到第二最终值。
2.一种用于加密的模约减装置,其特征在于,包括:
接收单元,用于接收待进行模约减的第一操作数;第一操作数为超过素域的值;
第一处理单元,用于在所述第一操作数最高位前添加0直至所述第一操作数达到512位并得到第二操作数;
第一约减单元,用于将所述第二操作数通过约减算法计算得到第一最终值;
第二处理单元,用于在所述第一最终值最高位前添加0直至所述第一最终值达到288位并得到第三操作数;
第二约减单元,用于将所述第三操作数通过所述约减算法计算得到第二最终值;
第三处理单元,用于判断所述第二最终值是否小于预设阈值,若是,则输出所述第二最终值;若否,则将所述第二最终值减去所述预设阈值得到第三最终值并输出所述第三最终值;第二最终值与第三最终值都是符合SM2加密算法的操作数;
其中,所述预设阈值为SM2加密算法中规定的可操作数值范围内的最大值;
其中,所述第一约减单元包括:
第一拆分单元,用于将所述第二操作数按位拆分成16个32位的第四操作数;
第一组合单元,用于将所述第四操作数与0组成14个256位的第五操作数;
第一运算单元,用于将所述第五操作数通过加法运算以及减法运算得到所述第一最终值;
其中,所述第二约减单元包括:
第二拆分单元,用于将所述第三操作数按位拆分成9个32位的第六操作数;
第二组合单元,用于将所述第六操作数与0组成3个256位的第七操作数;
第二运算单元,用于将所述第七操作数通过加法运算以及减法运算得到第二最终值。
3.一种用于加密的模约减设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述的模约减方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述的模约减方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810026230.3/1.html,转载请声明来源钻瓜专利网。