【技术实现步骤摘要】
【国外来华专利技术】模逆运算器、模逆运算方法及安全系统
本申请涉及信息安全
,特别涉及一种模逆运算器、模逆运算方法及安全系统。
技术介绍
在公钥密码体制中,当前主流的公钥密码算法有RSA和椭圆曲线密码(Elliptic Curve Cryptography,ECC)两种。ECC密码体制比RSA等其他公钥密码体制更加节省资源且加解密效率更高。模逆运算单元是整个ECC系统中最耗费时间的模块,因此提高模逆运算单元的处理速度是提升整个ECC系统的运行效率的关键所在。专利技术人发现现有技术至少存在以下问题:现有的模逆运算器在计算效率方面还有待改进。
技术实现思路
本申请部分实施例的目的在于提供一种模逆运算器、模逆运算方法及安全系统,通过控制有效字长的操作数进行模逆运算,从而减少操作数的存取以及计算次数,提高计算效率。本申请实施例提供了一种模逆运算器,包括:计数器、计算单元以及控制单元;所述控制单元用于通过所述计数器更新模逆运算的操作数的有效字长,并将更新后的所述有效字长记作当前有效字长;所述控制单元还用于控制所述计算单元以当前有效字长的所述操作数进行模逆运算。本申请实施例还提供了一种模逆运算方法,包括:根据已执行的模逆运算更新操作数的有效字长;根据更新的有效字长进行后一步模逆运算。本申请实施例还提供了一种安全系统,包括存储器以及如前所述的模逆运算器;所述存储器与所述模逆运算器连接,用于存储模逆运算的相关数据,或者所述模逆运算的相关数据以及所述系统中的其他数据。本申请实施例相对于现有技术而言,在模逆 ...
【技术保护点】
一种模逆运算器,其特征在于,包括:计数器、计算单元以及控制单元;/n所述控制单元用于通过所述计数器更新模逆运算的操作数的有效字长,并将更新后的所述有效字长记作当前有效字长;/n所述控制单元还用于控制所述计算单元以当前有效字长的所述操作数进行模逆运算。/n
【技术特征摘要】
【国外来华专利技术】一种模逆运算器,其特征在于,包括:计数器、计算单元以及控制单元;
所述控制单元用于通过所述计数器更新模逆运算的操作数的有效字长,并将更新后的所述有效字长记作当前有效字长;
所述控制单元还用于控制所述计算单元以当前有效字长的所述操作数进行模逆运算。
如权利要求1所述的模逆运算器,其中,所述计数器包括第一寄存器以及第二寄存器;
所述控制单元用于控制所述第一寄存器记录所述操作数的有效字长,还用于在模逆运算过程中,通过所述第二寄存器累计所述操作数的比特变化次数,并根据所述比特变化次数更新所述第一寄存器记录的所述有效字长。
如权利要求2所述的模逆运算器,其中,所述控制单元用于根据预设的字长更新规则更新所述有效字长,所述字长更新规则包括:
当所述操作数增大时,且所述第二寄存器累计的比特变化次数达到所述操作数的单位字长时,将所述操作数的有效字长加1,
当所述操作数减小时,且所述操作数的比特变化次数达到所述单位字长时,将所述操作数的有效字长减1。
如权利要求3所述的模逆运算器,其中,所述第二寄存器的位数为Log2W,其中W是所述操作数的单位字长。
如权利要求1至4中任一项所述的模逆运算器,其中,所述操作数包括第一类型的操作数,所述计算单元包括移位器以及加减法器;
所述控制单元控制所述移位器对所述第一类型的操作数进行左移一位运算,并通过所述计数器将所述第一类型的操作数的比特变化次数加1;
所述控制单元还控制所述加减法器对第一类型的操作数进行加法运算,在所述加法运算的加数小于或者等于被加的第一类型的操作数时,将所述被加的第一类型的操作数的比特变化次数加1,在所述加数大于所述被加的第一类型的操作数时,通过所述计数器将所述被加的第一类型的操作数的有效比特长度更新为所述加数的有效比特长度。
如权利要求5所述的模逆运算器,其中,所述操作数还包括第二类型的操作数;
所述控制单元控制所述移位器对所述第二类型的操作数进行右移一位运算,并通过所述计数器将所述第二类型的操作数的比特变化次数加1;
所述控制单元还控制所述加减法器对所述第二类型的操作数进行预设减法运算,并控制所述移位器对所述减法运算的结果右移一位,通过所述计数器将所述第二类型的操作数的比特变化次数加1;其中,所述预设减法运算的减数小于被减数。
如权利要求1所述的模逆运算器,其中,所述模逆运算器还包括寄存器堆,用于存储模逆运算的模数,所述寄存器堆包括多个寄存器,且所述多个寄存器的总比特长度为所述模数的比特长度。
如权利要求1所述的模逆运算器,其中,所述计算单元包括:移位器以及加减法器;
所述控制单元用于控制所述计算单元按照以下步骤进行所述模逆运算:
S1:初始化所述模逆运算的相关数据;其中,所述模逆运算为:Y=a
-1mod p,Y、a、p分别为所述模逆运算的结果、输入数以及模数;所述模逆运算的相关数据包括操作数u、v、x1、x2以及参数k,所述模逆运算的相关数据分别初始化为:u=a,v=p,x1=1,x2=0,k=0;
S2:判断v是否大于0,如果v大于0,则执行步骤S3,如果v小于或者等于0,则执行步骤S4;
所述S3包括:
在v为偶数时,控制所述移位器将v右移一位,x1左移一位,并将k的值加1;
在v为奇数且u为偶数时,控制所述移位器将u右移一位,x2左移一位,并将k的值加1;
在u、v均为奇数,且v大于或者等于u时,控制所述加减法器以及所述移位器执行:v=(v-u)/2、x2=x2+x1、x1左移一位运算,并将k的值加1;
在u、v均为奇数,且v小于u时,控制所述加减法器以及所述移位器执行:u=(u-v)/2、x1=x2+x1、x2左移一位运算,并将k的值加1;
在k的值每加1后,返回步骤S2;
所述S4包括:
在u等于1且x1大于模数p时,将x1减去p并赋值给x1后返回中间结果;
在u等于1且x1小于或者等于模数p时,返回中间结果;
在u不等于1时,返...
【专利技术属性】
技术研发人员:王冬格,韦健,
申请(专利权)人:深圳市汇顶科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。