[发明专利]模约减方法及装置在审
申请号: | 202111131162.5 | 申请日: | 2021-09-26 |
公开(公告)号: | CN115878078A | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 张弛;单伟君;杨雪;王立辉;李清;俞军 | 申请(专利权)人: | 上海复旦微电子集团股份有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;H04L9/30;H04L9/32 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 200433 上海市杨浦区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模约减 方法 装置 | ||
本发明公开一种模约减方法及装置,该方法包括:接收待进行模约减的512比特的第一操作数A;对第一操作数A实现第一次模约减,得到第二操作数A';对所述第二操作数A'进行第二次模约减,得到最终模约减结果,第二次模约减方式与第一次模约减方式不同。利用本发明,可以有效提高模约减效率。
技术领域
本发明涉及电路技术领域,具体地涉及一种模约减方法及装置。
背景技术
SM2算法是一种椭圆曲线公钥密码算法,是ECC(Elliptic Curve Cryptosystem)算法的一种,其包含SM2数字签名算法、密钥交换协议、公钥加密算法。SM2算法基于椭圆曲线离散对数问题,计算复杂度是指数级,求解难度较大。SM2算法的性能在很大程度上取决于点乘运算速度,而点乘运算的基础是模乘运算,提高模乘运算速度能够从根本上提高SM2整体性能。
目前应用较多的通用快速模乘方法是蒙哥马利模乘算法,通过将复杂的取模运算转化为乘加和移位,使算法效率大大提高。快速模乘的核心即如何高效地实现模约减过程,而目前业界对实现模约减的研究大多仅限于数学分析和软件分析,没有考虑相应的硬件设计,因此在硬件实现存在适配性差、效率低的问题。
发明内容
本发明实施例提供一种模约减方法及装置,以提高模约减效率。
为此,本发明实施例提供如下技术方案:
本发明实施例提供一种模约减方法,所述方法包括:
接收待进行模约减的512比特的第一操作数A;
对第一操作数A进行第一次模约减,得到第二操作数A′;
对所述第二操作数A'进行第二次模约减,得到模约减结果,第二次模约减方式与第一次模约减方式不同。
可选地,所述对第一操作数A进行第一次模约减,得到第二操作数A'包括:
将所述第一操作数A按顺序分割为16个32比持长度的整数Sl,l=0,1,...15;
对整数Sl进行移位和重新组合,得到13个操作数Cn,n=0,1,...12;
对操作数Cn进行移位和加减法计算,得到最多260比特的第二操作数A'。
可选地,所述方法还包括:预先建立并保存超过256比特的高四位值对应的模约减真值表;
相应地,所述对所述第二操作数A'进行第二次模约减,得到模约减结果包括:
获取第二操作数A'中超过256比特的值k,k<16;
根据所述值k查找所述模约减真值表,得到第二操作数A'中超过256比特部分的高位模约减结果,将所述高位模约减结果与第二操作数A'中的256比特部分相加,得到第三操作数A″;
将第三操作数A″减去模P,p=2256-2224-296+264-1;
如果产生借位,则将第三操作数A″作为模约减结果;否则将A″-p作为模约减结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海复旦微电子集团股份有限公司,未经上海复旦微电子集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111131162.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种小区切换方法及通信装置
- 下一篇:一种车辆自主变道的推荐方法、装置及设备