[发明专利]一种适用于嵌入式系统的Montgomery模乘计算方法有效
申请号: | 201610609265.0 | 申请日: | 2016-07-28 |
公开(公告)号: | CN107665109B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 曾学文;李杨;叶晓舟 | 申请(专利权)人: | 中国科学院声学研究所;北京中科智网科技有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 王宇杨;陈琳琳 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 嵌入式 系统 montgomery 计算方法 | ||
本发明公开了一种适用于嵌入式系统的Montgomery模乘计算方法,所述方法包括:多精度乘法和Montgomery约减;对于多精度乘法和Montgomery约减两部分均采用混合扫描的方式进行计算,内部循环使用操作数扫描的方式,外部循环使用乘积扫描的方式;而多精度乘法和Montgomery约减两部分之间使用粗粒度集成的方式,即两部分交替计算。本发明的Montgomery模乘计算方法可以减少嵌入式系统中内存存取数量,提高Montgomery模乘算法实现效率。
技术领域
本发明涉及公钥密码体制领域,具体地说,涉及一种适用于嵌入式系统的Montgomery模乘计算方法。
背景技术
1985年,P.L.Montgomery提出了Montgomery模乘算法,它是现在应用最广泛的一种模乘算法。其基本思想是用简单省时的加法和移位操作代替费时的求逆和除法操作。对于计算模乘P=A*B mod N(A,B,N为n比特的二进制大整数且0<A,B<N),该算法首先选取一个与N互素的整数R(一般取R=2n),将模N的乘法运算转化为模R的乘法运算。下面我们定义Montgomery乘积:MonPro(A,B)=A*B*R-1mod N。
Montgomery模乘算法的计算结构见图1所示,具体分为以下三个步骤:
(1)计算A,B的N剩余类:A’=A*R mod N=A*R2*R-1mod N=MonPro(A*R2),
B’=B*R mod N=B*R2*R-1mod N=MonPro(B*R2);
(2)计算A’和B’的Montgomery乘积P’=A’*B’*R-1mod N=MonPro(A’,B’);
(3)将P’转化为模乘乘积P,P=A*B mod N=A’*R-1*B’*R-1mod N
=P’*R-1mod N=MonPro(P’)。
因此,Montgomery模乘算法的核心是计算Montgomery乘积MonPro(A’,B’),其具体算法流程描述见图2所示。从图2中可以看出Montgomery乘积计算可以分为两个关键步骤:计算多精度乘法T←A*B和计算Montgomery约减P←(T+M*N)/R。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科智网科技有限公司,未经中国科学院声学研究所;北京中科智网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610609265.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可牵引的网格推车
- 下一篇:一种可防止货品掉落的仓库发货拣选车