[发明专利]一种元素的模逆计算方法及装置有效
申请号: | 201310144914.0 | 申请日: | 2013-04-24 |
公开(公告)号: | CN104123431B | 公开(公告)日: | 2018-09-14 |
发明(设计)人: | 刘娟;林灿伟;明瑞华;王昆;黄洋 | 申请(专利权)人: | 国民技术股份有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 北京律和信知识产权代理事务所(普通合伙) 11446 | 代理人: | 武玉琴;项荣 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 元素 计算方法 装置 | ||
本发明适用于计算机及通信技术领域,提供了一种元素的模逆计算方法及装置,该方法包括:获取临时变量X1、X2和递减变量u、v的初始值,其中,X1、X2的初始值分别为1、0;递减变量u、v的初始值分别为a、P0;对临时变量X1、X2和递减变量u、v进行迭代计算,其中迭代过程中满足:a*x1=u(mod P0),a*x2=v(mod P0);在迭代计算中每完成一次迭代,判断u、v中是否有一个为1,如u、v中没有一个是1,继续迭代计算;如u、v中有一个是1,结束迭代计算;在迭代计算结束后,如u为1,则将X1赋值给X,如v为1,则将X2赋值给X;当K=0时,判断X是否大于零,如X大于零,X即为a关于P的模逆。本发明提供的技术方案具有计算速度快,计算资源需求少的优点。
技术领域
本发明属于计算机及通信电子领域,尤其涉及一种元素的模逆计算方法及装置。
背景技术
随着计算机网络技术和通信技术的发展,对元素求其模逆的问题应用越来越广泛。譬如,RSA算法中的密钥的产生,椭圆曲线公钥密码系统和数字签名方案中,在选择仿射坐标系的情况下,也需要频繁地用到模逆运算。目前,通常元素的模逆计算方法一般有三种:费马定理方法,蒙哥马利模逆方法和二进制扩展欧几里得算法。费马定理不适合模逆不存在的情形,二进制扩展欧几里得算法是目前已公布的速度最快的算法。但是二进制扩展欧几里得算法的速度仍然很慢,且资源需求较大。
发明内容
本发明实施例的目的在于提供一种元素的模逆计算方法,旨在解决通过现有技术中计算速度慢,资源需求大的问题。
本发明实施例是这样实现的,一种元素的模逆计算方法,所述方法包括:
获取临时变量X1、X2和递减变量u、v的初始值,其中,X1、X2的初始值分别为1、0;递减变量u、v的初始值分别为a、P0;
对临时变量X1、X2和递减变量u、v进行迭代计算,其中迭代过程中满足:a*x1=u(mod P0),a*x2=v(mod P0);其中,a为元素,当a关于P的逆元存在时,X为其逆元,即满足a*x=1(mod P),;P为模数,P=P0*2k;P0为奇数,K为2的指数;
在迭代计算中每完成一次迭代,判断u、v中是否有一个为1,如u、v中没有一个是1,继续迭代计算;如u、v中有一个是1,结束迭代计算;
在迭代计算结束后,如u为1,则将X1赋值给X,如v为1,则将X2赋值给X;
当K=0时,判断X是否大于零,如X大于零,X即为a关于P的模逆;如X小于零,X'=X+P0;其中X'为a关于P的模逆。
可选的,所述对临时变量X1、X2和递减变量u、v进行迭代计算具体包括:
获取u最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0的尾数有ZeroNum个0,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0)>>ZeroNum;
或获取v最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0的尾数有ZeroNum个0,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0)>>ZeroNum。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国民技术股份有限公司,未经国民技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310144914.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高水分皂粒分散装置
- 下一篇:蒸汽油脂提炼炉