[发明专利]应用在密码技术中的大整数乘法运算方法及装置有效

专利信息
申请号: 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比特数。 

之后,类似地依次计算 

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院数据与通信保护研究教育中心,未经中国科学院数据与通信保护研究教育中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410150320.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top