CN104123431A - 一种元素的模逆计算方法及装置 - Google Patents
一种元素的模逆计算方法及装置 Download PDFInfo
- Publication number
- CN104123431A CN104123431A CN201310144914.0A CN201310144914A CN104123431A CN 104123431 A CN104123431 A CN 104123431A CN 201310144914 A CN201310144914 A CN 201310144914A CN 104123431 A CN104123431 A CN 104123431A
- Authority
- CN
- China
- Prior art keywords
- zeronum
- setting value
- moves
- iteration
- place
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明适用于计算机及通信技术领域,提供了一种元素的模逆计算方法及装置,该方法包括:获取临时变量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的模逆。本发明提供的技术方案具有计算速度快,计算资源需求少的优点。
Description
技术领域
本发明属于计算机及通信电子领域,尤其涉及一种元素的模逆计算方法及装置。
背景技术
随着计算机网络技术和通信技术的发展,对元素求其模逆的问题应用越来越广泛。譬如,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。
或获取u—v最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0-x2的尾数有ZeroNum个0,对系数n做越界处理,保证|x1+n*P0-x2|<P0*2ZeroNum,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0-x2)>>ZeroNum。
或获取v—u最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0-x1的尾数有ZeroNum个0。对系数n做越界处理,保证|x2+n*P0-x1|<P0*2ZeroNum,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0-x1)>>ZeroNum。
可选的,所述方法还包括:
当K大于0时,获取k比特的TailInvA,满足a*TailInvA的最低k比特为00...01,选择合适的n,将X''=Y+nP0的最低k比特凑成与TailInvA一样,则X''为a关于P的模逆;其中Y为a关于P0的模逆;
另一方面,提供一种元素的模逆计算装置,所述装置包括:
初始化单元,用于获取临时变量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的模逆。
可选的,所述奇数模逆计算单元具体用于:
获取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。
或获取u—v最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0-x2的尾数有ZeroNum个0,对系数n做越界处理,保证|x1+n*P0-x2|<P0*2ZeroNum,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0-x2)>>ZeroNum。
或获取v—u最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0-x1的尾数有ZeroNum个0。对系数n做越界处理,保证|x2+n*P0-x1|<P0*2ZeroNum,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0-x1)>>ZeroNum。
可选的,所述装置还包括:
偶数模逆计算单元,用于当K大于0时,获取k比特的TailInvA,满足a*TailInvA的最低k比特为00...01,选择合适的n,将X''=Y+nP0的最低k比特凑成与TailInvA一样,则X''为a关于P的模逆;其中Y为a关于P0的模逆;
本发明实施例与现有技术相比,有益效果在于:本发明的技术方案的计算速度比通常的算法的速度快了接近一倍,当P为偶数时,资源需求上少了两个大数变量,所以其具有计算速度快,资源需求小的优点。
附图说明
图1是本发明实施例提供的一种元素的模逆计算方法的流程图;
图2是本发明实施例提供的一种元素的模逆计算装置的结构图;
图3是本发明实施例提供的模逆处理单元的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明具体实施方式提供一种元素的模逆计算方法,该方法如图1所示,包括:
101、获取临时变量X1、X2和递减变量u、v的初始值,其中,X1、X2的初始值分别为1、0;递减变量u、v的初始值分别为a、P0;
102、对临时变量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的指数。
103、在迭代计算中每完成一次迭代,判断u、v中是否有一个为1,如u、v中没有一个是1,继续迭代计算;如u、v中有一个是1,结束迭代计算;
104、在迭代计算结束后,如u为1,则将X1赋值给X,如v为1,则将X2赋值给X;
105、当K=0时,判断X是否大于零,如X大于零,X即为a关于P的模逆;如X小于零,X'=X+P0;其中X'为a关于P的模逆。
可选的,上述102中迭代计算的方法具体可以为下述方式中的任一种:
方式A、获取u最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0的尾数有ZeroNum个0,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0)>>ZeroNum;
方式B、获取v最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0的尾数有ZeroNum个0,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0)>>ZeroNum。
方式C、获取u—v最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0-x2的尾数有ZeroNum个0,对系数n做越界处理,保证|x1+n*P0-x2|<P0*2ZeroNum,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0-x2)>>ZeroNum。
方式D、获取v—u最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0-x1的尾数有ZeroNum个0。对系数n做越界处理,保证|x2+n*P0-x1|<P0*2ZeroNum,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0-x1)>>ZeroNum。
方式E、如果u,v相等,确定元素a的模逆不存在;即u(或v)即为a与P的最大公约数。
可选的,上述方式在105之后还可以包括:
当K大于0时,获取k比特的TailInvA,满足a*TailInvA的最低k比特为00...01,即选择合适的n,将X''=Y+nP0的最低k比特凑成与TailInvA一样,则X''为a关于P的模逆;其中Y为a关于P0的模逆;。
本发明提供的方法在K=0时,即模数P的尾数为1时,此时P=P0,通过测试发现,采用本发明提供的方法计算速度比通常的计算方法的速度快了近一倍,所以其具有计算速度快的优点,另外,当P为偶数时,在迭代计算中,本发明的计算方法资源需求上少了两个大数变量,所以其具有计算资源计算小的优点。
本发明具体实施方式还提供一种元素的模逆计算装置,该装置200如图2所示,包括:
初始化单元201,用于获取临时变量X1、X2和递减变量u、v的初始值,其中,X1、X2的初始值分别为1、0;递减变量u、v的初始值分别为a、P0;
奇数模逆计算单元202,用于对临时变量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为奇数
模逆处理单元203,用于在迭代计算中每完成一次迭代,判断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的模逆。
可选的,奇数模逆计算单元202具体用于:
获取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。
或获取u—v最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0-x2的尾数有ZeroNum个0,对系数n做越界处理,保证|x1+n*P0-x2|<P0*2ZeroNum,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0-x2)>>ZeroNum。
或获取v—u最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0-x1的尾数有ZeroNum个0。对系数n做越界处理,保证|x2+n*P0-x1|<P0*2ZeroNum,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0-x1)>>ZeroNum。
可选的,上述装置还包括:
偶数模逆计算单元204,用于当K大于0时,获取k比特的TailInvA,满足a*TailInvA的最低k比特为00...01,选择合适的n,将X''=Y+nP0的最低k比特凑成与TailInvA一样,则X''为a关于P的模逆;其中Y为a关于P0的模逆。
可选的,上述模逆处理单元203的结构图如图3所示,包括:控制单元2031、多个存储单元2032和算术运算单元2033;其中,控制单元2031,用于对模逆计算过程中整个流程的控制,存储单元2032,用于存储大数中间变量,算术运算单元2033具体可以为多输入加法器,用于处理模逆运算中的32位比特级所有加法。
本发明提供的装置在K=0时,即模数P的尾数为1时,此时P=P0,通过测试发现,采用本发明提供的装置计算速度比通常的计算方法的速度快了近一倍,所以其具有计算速度快的优点,另外,当P为偶数时,在迭代计算中,本发明的装置资源需求上少了两个大数变量,所以其具有计算资源计算小的优点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种元素的模逆计算方法,其特征在于,所述方法包括:
获取临时变量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的模逆。
2.根据权利要求1所述的方法,其特征在于,所述对临时变量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。
或获取u—v最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0-x2的尾数有ZeroNum个0,对系数n做越界处理,保证|x1+n*P0-x2|<P0*2ZeroNum,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0-x2)>>ZeroNum。
或获取v—u最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0-x1的尾数有ZeroNum个0。对系数n做越界处理,保证|x2+n*P0-x1|<P0*2ZeroNum,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0-x1)>>ZeroNum;
所述设定值为大于1的整数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当K大于0时,获取k比特的TailInvA,满足a*TailInvA的最低k比特为00...01,选择合适的n,将X''=Y+nP0的最低k比特凑成与TailInvA一样,则X''为a关于P的模逆;其中Y为a关于P0的模逆。
4.一种元素的模逆计算装置,其特征在于,所述装置包括:
初始化单元,用于获取临时变量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的模逆。
5.根据权利要求4所述的装置,其特征在于,所述奇数模逆计算单元具体用于:
获取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。
或获取u—v最低字节尾数0的个数ZeroNum,决定本次迭代u右移位数,该u右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x1+n*P0-x2的尾数有ZeroNum个0,对系数n做越界处理,保证|x1+n*P0-x2|<P0*2ZeroNum,对大数u,x1进行迭代更新,u=u>>ZeroNum,x1=(x1+n*P0-x2)>>ZeroNum。
或获取v—u最低字节尾数0的个数ZeroNum,决定本次迭代v右移位数,该v右移位数为ZeroNum,如果ZeroNum大于设定值,令ZeroNum=设定值,获取系数n,凑齐x2+n*P0-x1的尾数有ZeroNum个0。对系数n做越界处理,保证|x2+n*P0-x1|<P0*2ZeroNum,对大数v,x2进行迭代更新,v=v>>ZeroNum,x2=(x2+n*P0-x1)>>ZeroNum;
所述设定值为大于1的整数。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
偶数模逆计算单元,用于当K大于0时,获取k比特的TailInvA,满足a*TailInvA的最低k比特为00...01,选择合适的n,将X''=Y+nP0的最低k比特凑成与TailInvA一样,则X''为a关于P的模逆;其中Y为a关于P0的模逆。
7.根据权利要求5或6任一所述的装置,其特征在于,所述模逆处理单元包括:控制单元、多个存储单元和算术运算单元;其中,所述控制单元,用于对模逆计算过程中整个流程的控制;
所述存储单元,用于存储大数中间变量;
所述算术运算单元,用于处理模逆运算中的32位比特级所有加法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310144914.0A CN104123431B (zh) | 2013-04-24 | 2013-04-24 | 一种元素的模逆计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310144914.0A CN104123431B (zh) | 2013-04-24 | 2013-04-24 | 一种元素的模逆计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104123431A true CN104123431A (zh) | 2014-10-29 |
CN104123431B CN104123431B (zh) | 2018-09-14 |
Family
ID=51768841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310144914.0A Active CN104123431B (zh) | 2013-04-24 | 2013-04-24 | 一种元素的模逆计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104123431B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577372A (zh) * | 2015-12-11 | 2016-05-11 | 杭州朔天科技有限公司 | 模逆算法的无符号处理方法及模逆加速器 |
CN105988771A (zh) * | 2015-03-04 | 2016-10-05 | 上海复旦微电子集团股份有限公司 | 模逆运算器 |
CN105988772A (zh) * | 2015-03-04 | 2016-10-05 | 上海复旦微电子集团股份有限公司 | 模逆运算方法及运算器 |
CN108961333A (zh) * | 2018-06-21 | 2018-12-07 | 杭州晶智能科技有限公司 | 一种图像区域像素面积的高效计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1429360A (zh) * | 2000-05-17 | 2003-07-09 | 德国捷德有限公司 | 加密的方法和装置 |
US20050041811A1 (en) * | 1997-11-04 | 2005-02-24 | Nippon Telegraph And Telephone Corporation | Method and apparatus for modular inversion for information security and recording medium with a program for implementing the method |
CN101180606A (zh) * | 2005-05-25 | 2008-05-14 | 西门子威迪欧汽车电子股份公司 | 模逆元的确定 |
EP1600852B1 (en) * | 2004-05-29 | 2009-12-02 | The Queen's University of Belfast | Method and apparatus for calculating a modular inverse |
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
-
2013
- 2013-04-24 CN CN201310144914.0A patent/CN104123431B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050041811A1 (en) * | 1997-11-04 | 2005-02-24 | Nippon Telegraph And Telephone Corporation | Method and apparatus for modular inversion for information security and recording medium with a program for implementing the method |
CN1429360A (zh) * | 2000-05-17 | 2003-07-09 | 德国捷德有限公司 | 加密的方法和装置 |
EP1600852B1 (en) * | 2004-05-29 | 2009-12-02 | The Queen's University of Belfast | Method and apparatus for calculating a modular inverse |
CN101180606A (zh) * | 2005-05-25 | 2008-05-14 | 西门子威迪欧汽车电子股份公司 | 模逆元的确定 |
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988771A (zh) * | 2015-03-04 | 2016-10-05 | 上海复旦微电子集团股份有限公司 | 模逆运算器 |
CN105988772A (zh) * | 2015-03-04 | 2016-10-05 | 上海复旦微电子集团股份有限公司 | 模逆运算方法及运算器 |
CN105988772B (zh) * | 2015-03-04 | 2019-04-26 | 上海复旦微电子集团股份有限公司 | 模逆运算器 |
CN105988771B (zh) * | 2015-03-04 | 2019-10-22 | 上海复旦微电子集团股份有限公司 | 模逆运算器 |
CN105577372A (zh) * | 2015-12-11 | 2016-05-11 | 杭州朔天科技有限公司 | 模逆算法的无符号处理方法及模逆加速器 |
CN108961333A (zh) * | 2018-06-21 | 2018-12-07 | 杭州晶智能科技有限公司 | 一种图像区域像素面积的高效计算方法 |
CN108961333B (zh) * | 2018-06-21 | 2021-05-14 | 杭州晶一智能科技有限公司 | 一种图像区域像素面积的高效计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104123431B (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chung et al. | A high-performance elliptic curve cryptographic processor over GF (p) with SPA resistance | |
CN104899182A (zh) | 一种支持可变分块的矩阵乘加速方法 | |
CN103942031A (zh) | 椭圆域曲线运算方法和椭圆域曲线运算器 | |
US10721056B2 (en) | Key processing method and device | |
CN104123431A (zh) | 一种元素的模逆计算方法及装置 | |
CN100583757C (zh) | 一种ecc\rsa加解密协处理器 | |
CN101630244B (zh) | 一种流水线型椭圆曲线双标量乘法系统及方法 | |
CN109412865B (zh) | 一种虚拟网络资源分配方法、系统及电子设备 | |
CN109144472B (zh) | 一种二元扩域椭圆曲线的标量乘法及其实现电路 | |
CN101971138A (zh) | 用于计算椭圆曲线上的点的倍数的设备和方法 | |
Sharif et al. | Hardware-software codesign of RSA for optimal performance vs. flexibility trade-off | |
US10454680B2 (en) | RSA decryption processor and method for controlling RSA decryption processor | |
KR101977873B1 (ko) | 하드웨어 구현된 모듈러 역원 모듈 | |
CN103888246A (zh) | 低功耗小面积的数据处理方法及其数据处理装置 | |
EP4152681A1 (en) | Low overhead side channel protection for number theoretic transform | |
WO2022001550A1 (zh) | 一种地址生成的方法、相关装置以及存储介质 | |
Zhao et al. | Exploring the speed limit of SM2 | |
CN104267926A (zh) | 获取椭圆曲线密码数据的方法和装置 | |
CN110233727A (zh) | 一种sm2运算方法、系统、设备及计算机存储介质 | |
Rezai et al. | A new CMM-NAF modular exponentiation algorithm by using a new modular multiplication algorithm | |
CN105988772B (zh) | 模逆运算器 | |
Nedjah et al. | Four hardware implementations for the m-ary modular exponentiation | |
Kanniah et al. | Multi-threading elliptic curve cryptosystems | |
Youssef et al. | A low-resource 32-bit datapath ECDSA design for embedded applications | |
Hu et al. | ECC-based Secure Communication Platform for Unmanned Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Juan Inventor after: Lin Canwei Inventor after: Ming Ruihua Inventor after: Wang Kun Inventor after: Huang Yang Inventor before: Huang Yang |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |