[发明专利]应用在密码技术中的大整数乘法运算方法及装置有效
申请号: | 201410150320.5 | 申请日: | 2014-04-15 |
公开(公告)号: | CN103942028B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 郑昉昱;荆继武;潘无穷;林璟锵;赵原 | 申请(专利权)人: | 中国科学院数据与通信保护研究教育中心 |
主分类号: | G06F7/537 | 分类号: | G06F7/537 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 牛峥,王丽琴 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种应用在密码技术中的大整数乘法运算方法及装置,在密码技术中进行大整数乘法运算时,将被乘数和乘数拆分为若干字,利用高低位分离的带进位乘加指令,根据一定次序累加被乘数的一个字和乘数的一个字相乘的高位或低位乘积到结果的对应位置中,指令产生的进位将用于计算高一字结果的下一指令输入中;算法重复此类计算,直到被乘数的每一个字和乘数的每一个字的高低位结果均被累加到结果中。本发明实现的大整数乘法运算,可以减少大整数乘法计算的复杂度,提升计算速度。 | ||
搜索关键词: | 应用 密码 技术 中的 整数 乘法 运算 方法 装置 | ||
【主权项】:
一种应用在密码技术中的大整数乘法运算方法,其特征在于,包括:设置两个乘数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)lo+c+carry_in其中(a×b)h表示a×b的高w比特,(a×b)lo表示a×b的低w比特;将位宽w比特定义为一个字,定义以下符号:A[0:s]表示被乘数A的第0个字到第s个字,s≥0,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];计算C[0:M+N‑1]=A[0:N‑1]×B[0:M‑1],N≥M时,利用运算(C[p],carry)=(A[p‑k]×B[k])lo+C[p]+carry,p‑k≥0,或(C[p],carry)=(A[p‑k‑1]×B[k])h+C[p]+carry,p‑k‑1≥0,累积结果到C[p] 中直到产生结果,0≤p≤M+N‑1,其中carry为前一次计算累积结果C[p‑1]产生的进位。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院数据与通信保护研究教育中心,未经中国科学院数据与通信保护研究教育中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410150320.5/,转载请声明来源钻瓜专利网。