[发明专利]适用于国密sm2p256v1算法的快速蒙哥马利模乘器优化组件在审
申请号: | 201910214681.4 | 申请日: | 2019-03-20 |
公开(公告)号: | CN109933305A | 公开(公告)日: | 2019-06-25 |
发明(设计)人: | 吴汶泰;秦放;周健;薛珊珊 | 申请(专利权)人: | 四川卫士通信息安全平台技术有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;G06F15/78;G06F21/77 |
代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
地址: | 610000 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进位 临时变量 累加 大整数 累加器 蒙哥马利模乘器 大数乘法器 优化组件 算法 常量 减法运算 输入位宽 次循环 减法器 生产器 生成器 位宽 输出 | ||
适用于国密sm2p256v1算法的快速蒙哥马利模乘器优化组件,包括大数乘法器、临时变量生产器、循环进位累加器和大数减法器,输入位宽为256bit的大整数A和B通过大数乘法器得到一个位宽为512bit的大整数Z,通过Z生成临时变量X1和X2后与Z进行8次进位累加操作,每一位进位累加得到的结果Z再作为进位累加器和临时变量生成器的输入,在完成8次进位累加操作后,如果Z大于或等于大整数常量M,则将M于Z进行一次大数减法运算,否则直接输出8次循环进位累加器的结果。
技术领域
本发明涉及信息安全领域,尤其涉及适用于国密sm2p256v1算法的快速蒙哥马利模乘器优化组件。
背景技术
在信息安全芯片进行国密运算时,蒙哥马利模乘器是调用频率最高最耗时的模块,虽然通用算法可以适配任何曲线参数,但是针对使用频率占绝对优势的国密推荐曲线sm2p256v1,使用嵌套循环的计算方式,时间复杂度高,硬件设计复杂度高,功耗高。
发明内容
本发明的目的在于,大量减少了乘法器资源,降低了蒙哥马利模乘器的设计复杂度,降低了硬件功耗,设计适用于国密sm2p256v1算法的快速蒙哥马利模乘器优化组件。
本发明的发明目的是通过以下技术方案实现的:
适用于国密sm2p256v1算法的快速蒙哥马利模乘器优化组件,包括:大数乘法器、临时变量生产器、循环进位累加器和大数减法器,输入位宽为256bit的大整数A和B通过大数乘法器得到一个位宽为512bit的大整数Z,通过Z生成临时变量X1和X2后与Z进行8次进位累加操作,每一位进位累加得到的结果Z再作为进位累加器和临时变量生成器的输入,在完成8次进位累加操作后,如果Z大于或等于大整数常量M,则将M于Z进行一次大数减法运算,否则直接输出8次循环进位累加器的结果。
进一步的,所述的大数乘法器运算方式为:Z=(Z16,...,Z0)=A×B。
进一步的所述的临时变量生产器运算方式为:通过公式T=Zi、X1=T<<32-T和X2=X1-T计算X1和X2,其中X1和X2的数据位宽均为64bit。
进一步的,所述的循环进位累加器运算方式为:按照以下步骤依次计算出
(Zi+8,...,Zi+0):S1:(C,Zi+0)=Zi+0+X1+C;
S2:(C,Zi+1)=Zi+1+X1+C;
S3:(C,Zi+2)=Zi+2+0+C;
S4:(C,Zi+3)=Zi+3+X1+C;
S5:(C,Zi+4)=Zi+4+X1+C;
S6:(C,Zi+5)=Zi+5+X1+C;
S7:(C,Zi+6)=Zi+6+X1+C;
S8:(C,Zi+7)=Zi+7+X2+C;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川卫士通信息安全平台技术有限公司,未经四川卫士通信息安全平台技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910214681.4/2.html,转载请声明来源钻瓜专利网。