[发明专利]应用在密码技术中的大整数乘法运算方法及装置有效
申请号: | 201410150320.5 | 申请日: | 2014-04-15 |
公开(公告)号: | CN103942028B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 郑昉昱;荆继武;潘无穷;林璟锵;赵原 | 申请(专利权)人: | 中国科学院数据与通信保护研究教育中心 |
主分类号: | G06F7/537 | 分类号: | G06F7/537 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 牛峥,王丽琴 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 密码 技术 中的 整数 乘法 运算 方法 装置 | ||
技术领域
本发明涉及密码计算技术领域,特别涉及一种应用在密码技术中的大整数乘法运算方法及装置。
背景技术
随着互联网和电子商务等产业的发展,基于公钥密码算法的数字签名和验签在各种协议中得到广泛利用,同时,对这些算法性能和效率的要求也在不断提升。公钥密码算法如RSA算法和椭圆曲线算法都依赖于大整数的乘法运算。比如,在P-256椭圆曲线算法中,需要进行256比特数的模乘计算。大整数乘法运算的效率直接影响到密码算法的实现效率。
目前,进行密码计算的平台非常多,包括现场可编程门阵列(FPGA)和x86架构平台等,而NVIDIA公司的统一计算设备架构(CUDA)平台以其大规模、高并行和易开发的特点,逐渐在高性能密码计算中得到广泛应用。
NVIDIA的CUDA平台支持高低位分离的带进位乘加指令。一个w比特的数与另一个w比特的数相乘将会生成2w比特的结果,w为自然数。CUDA平台在进行单字长,也就是w比特的乘法时有如下特点:
1)与传统平台不同,CUDA平台上高w比特和低w比特的结果是分开运算的,单次只能计算乘积的高w比特或低w比特,一个完整的乘法需要进行两次运算。
2)CUDA平台支持乘加指令,可以同时计算乘积的高w比特或低w比特与一个w比特数相加的结果。
3)CUDA平台还可以根据标志寄存器的进位标志位(CF),对上次加法或乘加的结果进位同时进行累加计算。
依据CUDA平台的上述特点,就可以非常灵活地进行大整数乘法运算的实现。在现有密码算法实现中的大整数乘法,通常基于单字长的乘法将大整数分块进行处理,大致如下所述。
设置两个乘数a,b的长度为w比特,一个加数c的长度为w比特,计算前标志寄存器的进位标志为carry_in,结果d的长度为w比特,计算完成后标志寄存器的进位标志为carry_out,高低位分离的带进位的乘加运算表示为
(d,carry_out)=(a×b)h+c+carry_in
或
(d,carry_out)=(a×b)l+c+carry_in
其中(a×b)h表示a×b的高w比特,(a×b)l表示a×b的低w比特。单次高位或低位的这种乘加运算在CUDA平台下只需要一个高低位分离的带进位的乘加指令即可完成。
为了叙述方便,将位宽w比特定义为一个字,定义以下符号:A[0:s](s≥0)表示A的第0个字到第s个字,A[u]表示A的第u个字;将长度为Nw比特的被乘数A表示为A[0:N-1],其中A[0]是A的最低位w比特、A[N-1]是A的最高位w比特;类似地,将Mw比特的乘数B和(M+N)w比特的乘积C表示为B[0:M-1]和C[0:M+N-1]。
计算A[0:N-1]与B[0:M-1]乘法时,需要依次计算A[0:N-1]与B[i](0≤i≤M-1)的乘积,以A[0:N-1]与B[1]相乘为例,如表一所示:
表一
首先,计算(C[1],carry)=(A[0]×B[1])l+C[1]
(C[2],carry)=(A[0]×B[1])h+C[2]+carry
C[2]的计算会产生进位,因此需要保存进位到临时变量temp1中,
temp1=carry
如果不保存在临时变量temp1中而直接进位到C[3]上将会产生连锁进位,进行大量加法。
然后,计算(C[2],carry)=(A[1]×B[1])l+C[2]
temp2=(A[1]×B[1])h+temp1+carry
(C[3],carry)=temp2+C[3]
temp1=carry
引入temp2的目的是为了减少加法的使用。因为temp2=(A[1]×B[1])h+temp1+carry不会产生进位。这是由xy+u+v≤(2w-1)(2w- 1)+(2w-1)+(2w-1)=22w-1保证的,其中x,y,u,v均为w比特数。
之后,类似地依次计算
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院数据与通信保护研究教育中心,未经中国科学院数据与通信保护研究教育中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410150320.5/2.html,转载请声明来源钻瓜专利网。