[发明专利]模约减方法、装置、设备及计算机可读存储介质有效
申请号: | 201810026230.3 | 申请日: | 2018-01-11 |
公开(公告)号: | CN108243002B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 胡湘宏;熊晓明;张盛仕;郑欣 | 申请(专利权)人: | 广东工业大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 510006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模约减 方法 装置 设备 计算机 可读 存储 介质 | ||
本发明公开了一种模约减方法、装置、设备及计算机可读存储介质,本发明将第一操作数加0补足至512位并得到第二操作数,将第二操作数通过约减算法计算得到第一最终值,然后将第一最终值加0补足至288位并得到第三操作数,将第三操作数通过约减算法计算得到第二最终值,判断第二最终值是否小于预设阈值,若是,则输出第二最终值;若否,则将第二最终值减去预设阈值得到第三最终值并输出第三最终值。本发明经过两次约减算法后输出的结果只需要减一次或者不用减去SM2加密算法中规定的可操作数值范围的最大值,相比现有技术中需要减很多次该最大值,本发明大大减少了减去该最大值的次数,缩短了计算时间,提高了模约减的速度。
技术领域
本发明涉及加密算法技术领域,特别是涉及一种模约减方法。本发明还涉及一种模约减装置、设备及计算机可读存储介质。
背景技术
SM2加密算法是由中国国家密码管理局制定的商用密码算法,SM2加密算法基于ECC(Elliptic Curve Cryptosystem,椭圆曲线密码体制)算法改造而成,SM2加密算法的密钥长度为256位。目前,我国正在商用密码领域大力推广应用SM2系列商用密码算法。
SM2加密算法在实现上有许多需要考虑的因素,在SM2加密算法中,输入数据的长度必须是256位,在两个数据在进行点乘运算后可能会出现输出结果的数据长度大于256位的问题,为了符合SM2加密算法的运算规则,因此需要对数据长度大于256位的数据进行模约减运算,模约减运算就是将需要模约减的第一操作数进行约减得到一个数据长度接近256位的第一操作数,然后再通过该第一操作数对SM2加密算法中规定的可操作数值范围内的最大值(一个256位第一操作数)取模得到结果,即用这个数据长度接近256位的第一操作数不断地减去这个最大值,直到结果小于该最大值。现有技术中模约减运算进行约减后的结果的数据长度与256位还有一定差距,因此在进行取模运算的时候需要减去最大值的次数会比较多,导致计算时间长,整个模约减运算的计算速度慢。
因此,如何提供一种速度快的模约减方法、装置、设备及计算机可读存储介质是本领域技术人员需要解决的问题。
发明内容
本发明的目的是提供一种模约减方法,其能够提高模约减的速度;本发明的另一目的是提供一种包括上述方法的模约减装置、设备及计算机可读存储介质,其也能够提高模约减的速度。
为解决上述技术问题,本发明提供了一种模约减方法,包括:
接收待进行模约减的第一操作数;
在所述第一操作数最高位前添加0直至所述第一操作数达到512位并得到第二操作数;
将所述第二操作数通过约减算法计算得到第一最终值;
在所述第一最终值最高位前添加0直至所述第一最终值达到288位并得到第三操作数;
将所述第三操作数通过所述约减算法计算得到第二最终值;
判断所述第二最终值是否小于预设阈值,若是,则输出所述第二最终值;若否,则将所述第二最终值减去所述预设阈值得到第三最终值并输出所述第三最终值;
其中,所述预设阈值为SM2加密算法中规定的可操作数值范围内的最大值。
优选地,所述将所述第二操作数通过约减算法计算得到第一最终值的过程具体包括:
将所述第二操作数按位拆分成16个32位的第四操作数;
将所述第四操作数与0组成14个256位的第五操作数;
将所述第五操作数通过加法运算以及减法运算得到所述第一最终值。
优选地,所述将所述第三操作数通过所述约减算法计算得到第二最终值的过程具体包括:
将所述第三操作数按位拆分成9个32位的第六操作数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810026230.3/2.html,转载请声明来源钻瓜专利网。