[发明专利]一种实现SM2密码体制的大整数求乘逆方法有效
申请号: | 201310281880.X | 申请日: | 2013-07-05 |
公开(公告)号: | CN103389965A | 公开(公告)日: | 2013-11-13 |
发明(设计)人: | 蒋声障;张登峰;余杭军 | 申请(专利权)人: | 福建升腾资讯有限公司 |
主分类号: | G06F17/11 | 分类号: | G06F17/11 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福建省福州市仓山区金*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 sm2 密码 体制 整数 求乘逆 方法 | ||
技术领域
本发明具体涉及一种实现SM2密码体制的大整数求乘逆方法。
背景技术
在SM2密码体制等金融安全相关领域,大数的求乘逆运算速度以及运算所需要的内存空间,直接影响了金融产品的使用性能及限制了部分应用范围,可能还间接地影响金融产品的成本。目前业内公认扩展的欧几里德算法为最快的求乘逆方法;为了满足需求今后的加密需求,需要速度更快且内存消耗低的大整数求乘逆方法。
发明内容
本发明要解决的技术问题,在于提供一种实现SM2密码体制的大整数求乘逆方法,速度快且耗内存小。
本发明是这样实现的:一种实现SM2密码体制的大整数求乘逆方法,包括:
整数寄存器:用于存储大整数a的值,且在一次求乘逆运算过程中,a的值保持不变;
模值寄存器:用于存储模值n,模值寄存器中的数据在SM2算法运算过程中保持不变;
方程系数寄存器一:用于存储方程一未知数系数的数据C1;
方程系数寄存器二:用于存储方程二未知数系数的数据C2;
方程常量寄存器一:用于存储方程一常量的数据V1;
方程常量寄存器二:用于存储方程二常量的数据V2;
移位数据寄存器:用于存储待右移的数据D;
计算连续比特0个数模块:用于计算移位数据寄存器的数据D以二进制表示时,从最低位开始连续比特0的位数k;
移位位数寄存器:用于存储所述位数k;
有限域移位模块:用于将二进制的所述数据D,依据所述位数k的值进行连续k次的右移1位运算;每次右移1位运算时,对二进制的所述数据D进行判断,当二进制的所述数据D最低位为0时,则将二进制的所述数据D的该次右移1位运算后的结果记为数据D1;当二进制的所述数据D的最低位为1时,则将二进制的所述数据D与二进制的所述模值n二者相加的和进行右移1位运算后的结果记为数据D1;且将第1至第k-1次的右移1位运算后所产生出的所述数据D1记为下一次右移1位运算的所述数据D;
移位结果寄存器:用于存储所述数据D1;
被加数寄存器:用于存储一被加数值ADD1;
加数寄存器:用于存储一加数值ADD2;
有限域加法模块:用于将被加数值ADD1与加数值ADD2相加;当ADD1+ADD2>=n时,将ADD1+ADD2-n的结果记为数据ADD;当ADD1+ADD2<n时,将ADD1+ADD2的结果记为数据ADD;
加法结果寄存器:用于存储所述数据ADD;
被减数寄存器:用于存储被减数值SUB1;
减数寄存器:用于存储减数值SUB2;
有限域减法模块:用于将被减数值SUB1与减数值SUB2相减;当SUB1>=SUB2时,将SUB1-SUB2的结果记为数据SUB;当SUB1<SUB2时,将n+SUB1-SUB2的结果记为数据SUB;
减法结果寄存器:用于存储所述数据SUB
方程系数比较模块:用于比较C1和C2的大小;当C1>=C2时,输出一表示TRUE的状态值bCmp;当C1<C2时,输出一表示FALSE的状态值bCmp;
系数比较结果寄存器:用于存储所述状态值bCmp;所述状态值bCmp仅表示TRUE或FALSE任一种;
分支判断模块:用于判断所述数据C1和所述数据C2两者于二进制表示中的低第2位的值;当所述数据C1的低第2位的值等于所述数据C2的低第2位的值时,输出一表示FALSE的状态值bAdd;当所述数据C1的低第2位的值不等于所述数据C2的低第2位的值时,输出一表示TRUE的状态值bAdd;
分支判断结果寄存器:用于存储所述状态值bAdd,所述状态值bAdd仅表示TRUE或FALSE任一种;
循环结束条件判断模块:用于判断循环运算结果;当所述数据C1=1,将所述数据V1记为所述大整数a的乘逆运算值r,且输出一表示TRUE的状态值bRoop;当所述数据C2=1,将所述数据V2记为所述大整数a的乘逆运算值r,且输出一表示TRUE的状态值bRoop;当所述数据C1和数据C2均不等于1时,输出一表示FALSE的状态值bRoop;
输出结果寄存器:用于存储乘逆运算值r;
循环结束条件判断结果寄存器:用于存储所述状态值bRoop,所述状态值bRoop仅表示TRUE或FALSE任一种;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建升腾资讯有限公司,未经福建升腾资讯有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310281880.X/2.html,转载请声明来源钻瓜专利网。