【技术实现步骤摘要】
基于改进的二进制左移模逆算法的装置及其控制方法
本专利技术涉及公钥密码算法
,特别涉及一种基于改进的二进制左移模逆算法的装置及其控制方法。
技术介绍
公钥密码算法因在密钥分配问题以及“数字签名”问题上的突破和优势,在现代社会的信息安全领域占有重要地位。RSA密码算法、椭圆曲线密码算法均为目前被广泛应用的公钥密码算法。相比于传统的对称密码算法,公钥密码算法因其各种复杂的运算,计算时间较长,且由于安全度要求日益提高,运算的规模也在逐步增大。以RSA密码算法为例,目前需要使用至少1024位长度的密钥才能较好地保证安全性。若安全性要求提高,密钥长度还需要加倍,运算时间则会进一步加长。其中,模逆运算作为RSA密码算法、ECC密码算法的重要过程之一,在整个密码算法运算过程中占了不小的时间比例。提升模逆运算的速度是减少公钥密码算法的计算时间的一条重要途径。目前,求解素数域上模逆的常见的算法包括扩展欧几里得算法、二进制右移算法和二进制左移算法等。扩展欧几里得算法是计算模逆的一种经典的方法,但因含有除法而对硬件实现不友好;二进制 ...
【技术保护点】
1.一种基于改进的二进制左移模逆算法的装置,其特征在于,包括:/n第一至第四寄存器,所述第一至第四主操作数寄存器用于存储操作数;/n第一至第四加法器,所述第一至第四加法器用于执行逻辑操作、移位与指令调用;/n第一至第三移位模块,所述第一至第三移位模块用于对输入进行有最大位数限制的移位操作,其中,第一移位模块SHIFT1和第二移位模块SHIFT2
【技术特征摘要】
1.一种基于改进的二进制左移模逆算法的装置,其特征在于,包括:
第一至第四寄存器,所述第一至第四主操作数寄存器用于存储操作数;
第一至第四加法器,所述第一至第四加法器用于执行逻辑操作、移位与指令调用;
第一至第三移位模块,所述第一至第三移位模块用于对输入进行有最大位数限制的移位操作,其中,第一移位模块SHIFT1和第二移位模块SHIFT2L为多位移位的左移模块,第三移位模块SHIFT2R为多位移位的右移模块;
第一至第三前导零计数模块,所述第一至第三前导零计数模块用于对第一主操作数寄存器U、第二主操作寄存器数V和第一加法器ADD1的输出进行前导零计数,以对U、V和ADD1的输入进行位数限制,并判断一个循环周期内进行左移的位数;
多个多路选择器,用于输入数据的选择和移位位数的选择;以及
多个控制信号寄存器,所述多个控制信号寄存器用于控制与控制信号寄存器相连的多路选择器的选择,以在进行移位操作时,在每个循环周期内对U和V的操作数执行多位的左移操作,对第三主操作数寄存器R和第四主操作数寄存器S的操作数在一个周期内同时分别发生左移和右移。
2.根据权利要求1所述的装置,其特征在于,所述第一至第三前导零计数模块进一步用于对任意有符号输入数据的最多八位的前导零计数,输出结果表示可移动的最大位数,其中,前导零代表非负数的前导零,或代表负数的前导一。
3.根据权利要求1或2所述的装置,其特征在于,所述第一至第三前导零计数模块的结构相同,每个前导零计数模块均包括:
八位多路选择器,所述八位多路选择器的第一输入端的输入为输入数据从最高位数起除符号位以外的第八位到第一位,所述八位多路选择器的第二输入端的输入为输入数据从最高位数起除符号位以外的第一位到第八位a[n-1:n-8];
第一四位多路选择器和第二四位多路选择器,所述第二四位多路选择器输入数据的符号位与所述八位多路选择器的输入数据的符号位相连,所述第一四位多路选择器的输出端与所述第二四位多路选择器的第二输入端相连;
八位前导零计数器LZC8,所述LZC8的输入端的输入为a[n-1:n-8];
非门和四位加法器ADD,所述ADD的第一输入端分别与所述LZC8的输出端和所述第二四位多路选择器的第一输入端相连,所述ADD的第二输入端所述第一四位多路选择器的第一输入端相连,所述ADD的输出端与非门的输入端相连;
八位前导一计数器LZC8_neg,所述LZC8_neg的输入端与所述八位多路选择器的第二输入端相连;
四位减法器SUB,所述SUB的第一输入端分别与所述ADD的第二输入端、所述第一四位多路选择器的第一输入端和所述LZC8_neg的输出端相连,所述SUB的第二输入端输入为1,所述SUB的输出端与所述第一四位多路选择器的第二输入端相连;
或非门,所述或非门的第一输入端的输入为输入数据的第九位到最低位的或运算结果ORa[n-9:0],所述或非门的第二输入端与所述非门的输出端相连,所述或非门的输出端与所述第一四位多路选择器输入数据的符号位相连。
4.根据权利要求3所述的装置,其特征在于,所述多个多路选择器包括:
第一多路选择器MUX1,用于选择SHIFT1输入数据;
第二多路选择器MUX1S,用于选择SHIFT1需要移位的位数;
第三多路选择器MUX2L和第四多路选择器MUX2R,分别用于选择SHIFT2L和SHIFT2R的输入数据;
第五多路选择器XMUX,用于选择SHIFT2L和SHIFT2R需要移位的位数;
第六多路选择器MUX3和第七多路选择器MUX4,分别用于选择第二加法器ADD2和第三加法器ADD3的输入数据;
第八多路选择器MUXR和第九多路选择器MUXS,分别用于选择第三主操作数寄存器R和第四主操作数寄存器S的输入数据。
5.根据权利要求1所述的装置,其特征在于,所述多个控制信号寄存器包括第一至第五控制信号寄存器。
6.根据权利要求1所述的装置,其特征在于,所述第一加法器ADD1和第二加法器ADD2均包括信号选择sel_add,以根据sel_add选择的信号实现加减法功能。
7.根据权利要求1所述的装置,其特征在于,所述循环周期为完成n位的模逆运算所用的时钟周期数。
8.根据权利要求7所述的装置,其特征在于,所述循环周期为0.8n。
9.一种如权利要求1-8任意一项所述的基于改进的二进制左移模逆算法的装置的控制方法,其特征在于,所述方法用于对所述装置进行控制,以在进行移位操作时,在每个循环周期内对U和V的操作数执行多位的左移操作,对第...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。