[发明专利]优化的蒙哥马利模乘硬件有效
申请号: | 201410037782.6 | 申请日: | 2014-01-26 |
公开(公告)号: | CN103761068B | 公开(公告)日: | 2017-02-01 |
发明(设计)人: | 刘红明;周玉洁;朱念好 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F7/72 | 分类号: | G06F7/72 |
代理公司: | 上海新天专利代理有限公司31213 | 代理人: | 张泽纯 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 优化 马利 硬件 | ||
技术领域
本发明涉及公钥密码技术,具体涉及一种优化的蒙哥马利模乘方法、模平方方法和模乘硬件。
背景技术
随着信息技术的发展与应用,网上交易如网上银行、电子商务和电子政务也变得越来越普遍,其安全问题也越来越受到人们的重视。为了提高网上交易的安全性,传统的分组密码算法逐渐被公钥密码算法替代。公钥密码算法的优点是安全性高,缺点是加密速度比分组密码慢很多,所以人们一直在研究如何提升公钥密码算法的运算速度。目前,公钥密码算法主要有两种,一种是RSA,另外一种就是椭圆曲线密码ECC(Elliptic Curve Cryptography)。上述两种公钥密码算法都需要使用模乘计算(A*B mod N)。
实现模乘算法的方法有很多种,其中蒙哥马利算法是使用最广泛的方法。在1996年,Koc总结了蒙哥马利算法的五种实现方法,分别为SOS(Separated operand scanning),CIOS(Coarsely integrated operand scanning),FIOS(Finely integrated operand scanning),FIPS(Finely integrated product scanning),CIHS(Coarsely integrated hybrid scanning)。其中FIOS易于硬件实现而得到广泛应用。
原始FIOS算法描述
目前,大多数的模乘器都是基于蒙哥马利算法及其变形算法设计的,没有很好的考虑性能与面积的平衡,要么性能很好,但是面积很大,要么相反。
发明内容
基于上述问题,本发明提供一种优化的蒙哥马利模乘方法、模平方方法和模乘硬件,在减少面积的同时又提高了模乘的性能,。
为实现上述目的,本发明的技术解决方案如下:
一种优化的蒙哥马利模乘方法,其特点在于,乘数A、乘数B和模数N都是n位的二进制数,w为每次处理的字长,s为模数N的字长个数,n0为w位的常数,中间变量m、中间变量S均为w位的二进制数,中间变量C为(w+1)位的二进制数,最终结果T为n位的二进制数,i、j为循环变量,运算前,标量C、S、T均赋值0,该方法包括以下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w位赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
步骤6、将m与N的第j个字相乘,乘积结果与C的第j个字相加后,再与T的第j个字相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤7、将A的第j个字与B的第j个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加,相加结果的低w位赋给S,高(w+1)位赋给C,并将S赋给T的第(j-1)个字,循环变量j加1,重复内循环直至j等于(s-1),退出内循环;
步骤8、将T的第s个字与C进行相加,相加结果的低w位赋给S,高(w+1)位赋给C;
步骤9、将s赋给T的第(s-1)个字,将C的低w位赋给T的第s个字,循环变量i加1,重复内循环直至i等于(s-1),退出外循环;
步骤10、如果T>N,则将T减N之后再赋值给T。
一种优化的蒙哥马利模平方方法,其特点在于,乘数A、乘数B和模数N都是n位的二进制数,w为每次处理的字长,s为模数N的字长个数,n0为w位的常数,中间变量m、中间变量S为w位的二进制数,中间变量C为(w+1)位的二进制数,最终结果T为n位的二进制数,i、j为循环变量,运算前,标量C、S、T均赋值0,该方法包括如下步骤:
步骤1、令i为0开始外循环;
步骤2、将A的第0个字与B的第0个字相乘,乘积结果再与T的第0个字相加,将相加结果的低w位赋给S,高(w+1)位赋给C;
步骤3、将S与n0相乘后,取低w位赋给m;
步骤4、将m与N的第0个字相乘,乘积结果与(C,S)组成的(2w+1)位二进制数相加后,低w位赋给S,高(w+1)位赋给C;
步骤5、令j为1开始内循环;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410037782.6/2.html,转载请声明来源钻瓜专利网。