[发明专利]一种蒙哥马利模乘方法及其电路有效
申请号: | 201310100944.1 | 申请日: | 2013-03-26 |
公开(公告)号: | CN103226461A | 公开(公告)日: | 2013-07-31 |
发明(设计)人: | 王德明;丁颜玉;丁一;路崇;段志奎;谭洪舟 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F7/72 | 分类号: | G06F7/72 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 禹小明 |
地址: | 510275 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 马利 方法 及其 电路 | ||
技术领域
本发明涉及公钥加密领域,更具体地,涉及一种蒙哥马利模乘方法及其电路。
背景技术
公钥加密利用的是非对称密码,使用两个独立担忧存在着某种数学联系的密钥:公钥和私钥。通信的各方保密各自的私钥,公开其公钥,发送者使用接收者的动摇加密,接收者使用只有自己制动的私钥解密。公钥加密还可以用于解决数字签名的问题。
RSA是一种公钥加密算法,既可以作为数据加解密也可以用来数字签名和验证,这使得该算法得到了广泛的应用,例如网络信息安全、智能卡、安全芯片以及手机移动通信等。RSA算法的安全依赖于大数分解的难易性,随着计算机的飞速发展,512位密钥长度的RSA加密算法安全性受到威胁,因此高安全的应用中必须将密钥长度增加到1024位甚至2048位。密钥长度的增加使硬件电路设计变得复杂,需要占用更多的硬件资源开销,面积功耗都会大幅上升,速度也会下降。RSA加密最关键的计算步骤就是模乘,根据运算公式C=MEmodN,需要不断重复模乘操作以得到运算结果,模乘算法的优劣决定了整个加密运算时间的长短。
现有设计大部分采用蒙哥马利模乘算法优化加解密时间,然而一味的提高模乘速度会使得功耗和面积增加,这对面积和功耗受限制的芯片设计带来巨大的挑战。而且传统的模乘算法是在软件中实现,这将取决于处理器的速度,每个操作都需要取指令、译码以及执行指令,大大降低了算法执行速度。随着集成电路的发展,模乘算法大多采用硬件实现,其最关键的电路便是多项式乘加器。但由于乘加器功耗大,现有做法普遍是用多个时钟实现,非常速度慢。
发明内容
本发明旨在至少在一定程度上解决上述技术问题。
本发明的首要目的是提供一种高速低功耗的蒙哥马利模乘方法。
本发明的进一步目的是提供一种高速低功耗的蒙哥马利模乘电路。
本发明第一个目的技术方案为:
一种蒙哥马利模乘方法,模长度为k,k=sw,其中w为算法每次处理的字长大小,s为算法for循环所需的次数;输入参数包括a、b和模数n,r为一存储器,r的高k位为存放输入参数a和输出结果的r2,r的低k位为存放输入参数b的r1,t为多项式临时计算结果,r32、z1、c、x1、x2、n0'为中间变量,i和j为循环变量,其运算步骤为:
计算r2=MonPro(a,b,n)=a*b*2-k mod n;
将t和i赋零值;
将中间变量r32赋值为r的第s个字,其中,r32表示存储器r的第32为地址的数据;
令i为0开始外循环;
将t的第i个字与r32相乘,乘积结果与t的第i个字相加,结果的低k位赋给z1,高k位赋给c;
接着将z1与n0'相乘,乘积结果的低k位赋给z1,高k位赋给c,其中,n0`通过预先计算获取,n0'=-n0-1mod(232),n0是指模数n的低32位值,n从外部输入;
令x2=z1;令x1等于r的第i个字;
令j为0开始内循环;
将x1与r的第i个字相乘后的结果和x2与n的第i个字相乘后的结果相加,相加结果再加上c和t的第i+j个字,最终结果的低k位赋给t的第i+j个字,高k位赋给c;并令t的第i+s个字等于c,然后循环变量j加1,当j小于s时重复内循环,当j大于或者等于s时退出内循环;
循环变量i加1,当i小于s时重复外循环,当i大于或者等于s时退出外循环;
判断t的高k位是否大于n,若是则将r2=r2-n,否则将t的低k位赋给r2;
根据r2输出模乘结果。
在本方法中,多项式乘加器公式的运算只需要一个时钟周期,运算速度得到大大的提升。而且本发明的蒙哥马利模乘方法采用一体化设计集成相关操作,使得多项式乘加器公式只需要做两次加法以及两次乘法,时间复杂度为O(s2),大大简化了运算的复杂度,进一步提升运算的速度,降低系统功耗。
本发明第二个目的技术方案为:
一种蒙哥马利模乘电路,所述蒙哥马利模乘采用权利要求1所述的方法实现,所述电路包括依次连接的接口电路、SRAM存储器、蒙哥马利模乘控制器、临时寄存器和多项式乘加器;
接口电路与外部总线连接,将输入参数a、b写进SRAM存储器的r中,并将计算完毕后的输出结果读出;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310100944.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种业务管理软件开发实现方法
- 下一篇:一种智能终端的人机交互方法及系统