[发明专利]一种优化大整数乘模求解速度的方法在审
申请号: | 202010320954.6 | 申请日: | 2020-04-22 |
公开(公告)号: | CN111541541A | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 李浩民;郭华;张笑从 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;G06F7/53 |
代理公司: | 重庆启恒腾元专利代理事务所(普通合伙) 50232 | 代理人: | 黎志红 |
地址: | 100010*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 整数 求解 速度 方法 | ||
本发明提供了一种优化大整数乘模求解速度的方法,该方法包括:通过SIMD指令实现整数乘法的并行化加速;通过多路分治算法实现快速大整数乘法;将快速大整数乘法应用至蒙哥马利模乘算法,最终求得xy mod N。本发明充分考虑了大整数乘模在具体应用场景的安全需求和软件实现环境的因素,能够有效提高资源利用率,较大提升计算速度。
技术领域
本发明涉及计算机技术领域,具体来说,涉及一种大整数模乘求解素的软件优化方法。
背景技术
目前,公钥加密算法已经成为互联网安全领域的基石之一。其中RSA等基于大素数分解难的公钥加密算法正是最为重要的算法之一。一般情况下,长度为1024bit的密钥可以满足大多数应用场景的安全需要。但1024bit的密钥参与到模幂运算中,速度较慢,算法复杂度高,限制了RSA等算法的适用范围。因此,提高此类算法的加解密速度成了一个重要课题。
为此,密码学家提出了快速模幂算法,通过移位和模乘,完成大整数模幂运算,将模幂的运算复杂度降低到模乘级别。可见模乘的速度就成为了限制算法速度提升的关键。对此,蒙哥马利约减与基于此衍生的蒙哥马利模乘提供了一种行之有效的思路,并且在硬件上有了很好地实现。但在软件实现方面,蒙哥马利模乘仍有较大的提升空间,最主要的原因在于算法中的大整数乘法较为粗糙。
综上所述,现有的大整数模乘在软件实现方面仍有改进空间,可结合更优的大整数乘法算法和AVX并行指令实现提速。
发明内容
针对相关技术中的问题,本发明提出了一种优化大整数乘模求解速度的方法。
一种优化大整数乘模求解速度的方法,包括:
通过SIMD指令实现整数乘法的并行化加速;
通过多路分治算法实现快速大整数乘法;
应用优化后乘法改进蒙哥马利模乘算法;
其中通过SIMD指令实现整数乘法的并行化加速,包括:
将乘数分割为适合环境中SIMD指令寄存器处理的长度;
借助并行化乘法指令对分割后的部分分别相乘;
借助移位与并行加法指令对分别相乘后的结果做处理,得到最终的积;
更具体地,该乘法中乘数的比特长度适中,使用基于分治思想想的大整数乘法或者FFT不能起到明显加速效果;
其中通过多路分治算法实现大整数乘法,包括:对于特定安全场景的密钥长度,选择合适的分治算法,使得分治后的整数乘法可以应用权利要求之前实现的整数乘法算法;
这里的多路分治快速乘法基于如下算法实现:
其中M12即为大整数A*B的结果;
其中应用优化后大整数乘法改进蒙哥马利模乘算法,即求xy mod N基于如下算法:
xm=xR mod N,ym=yR mod N;
p=0
for i=0upto len(N)-1step+1do
u=(p0+yi*x0)*q mod d;
p=(p+yi*x+u*N)/d;
end
p=p=N?p-N:p;
return p
更具体地,通过应用优化的大整数快速乘法达到优化蒙哥马利乘模算法速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010320954.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:显示设备及蓝牙设备配对方法
- 下一篇:数字车钥共享系统、计算机可读存储介质