CN103226461B - 一种用于电路的蒙哥马利模乘方法及其电路 - Google Patents
一种用于电路的蒙哥马利模乘方法及其电路 Download PDFInfo
- Publication number
- CN103226461B CN103226461B CN201310100944.1A CN201310100944A CN103226461B CN 103226461 B CN103226461 B CN 103226461B CN 201310100944 A CN201310100944 A CN 201310100944A CN 103226461 B CN103226461 B CN 103226461B
- Authority
- CN
- China
- Prior art keywords
- result
- word
- sram memory
- multinomial
- assigned
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 238000000151 deposition Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims abstract description 7
- 230000000630 rising effect Effects 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 7
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000007792 addition Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
本发明涉及一种蒙哥马利模乘方法及其电路。方法中,模长度k=sw,w为算法每次处理的字长大小,s为算法for循环所需的次数;输入参数包括a、b和模数n,r为存储器,其高k位为存放输入参数a和输出结果的r2,低k位为存放输入参数b的r1;t为多项式临时计算结果,其余为中间变量,运算步骤为:计算r2=MonPro(a,b,n)=a*b*2-k mod n;将t和i赋零值;r32=r[i];令i为0开始外循环;计算(c,z1)=t[i]+r[i]*r32;(c,z1)=z1*n0ˊ;x2=z1;x1=r[i];令j为0开始内循环;计算(c,t[i+j])=t[i+j]+x1*r[i]+x2*n[i]+c;t[i+s]=c;变量j加1,当j小于s时重复内循环,否则退出内循环;变量i加1,当i小于s时重复外循环,否则退出外循环;判断t的高k位是否大于n,若是则将r2=r2-n,否则将t的低k位赋给r2;根据r2输出模乘结果。本发明能提高算法的运算速度和降低功耗。
Description
技术领域
本发明涉及公钥加密领域,更具体地,涉及一种用于电路的蒙哥马利模乘方法及其电路。
背景技术
公钥加密利用的是非对称密码,使用两个独立担忧存在着某种数学联系的密钥:公钥和私钥。通信的各方保密各自的私钥,公开其公钥,发送者使用接收者的动摇加密,接收者使用只有自己制动的私钥解密。公钥加密还可以用于解决数字签名的问题。
RSA是一种公钥加密算法,既可以作为数据加解密也可以用来数字签名和验证,这使得该算法得到了广泛的应用,例如网络信息安全、智能卡、安全芯片以及手机移动通信等。RSA算法的安全依赖于大数分解的难易性,随着计算机的飞速发展,512位密钥长度的RSA加密算法安全性受到威胁,因此高安全的应用中必须将密钥长度增加到1024位甚至2048位。密钥长度的增加使硬件电路设计变得复杂,需要占用更多的硬件资源开销,面积功耗都会大幅上升,速度也会下降。RSA加密最关键的计算步骤就是模乘,根据运算公式C=MEmodN,需要不断重复模乘操作以得到运算结果,模乘算法的优劣决定了整个加密运算时间的长短。
现有设计大部分采用蒙哥马利模乘算法优化加解密时间,然而一味的提高模乘速度会使得功耗和面积增加,这对面积和功耗受限制的芯片设计带来巨大的挑战。而且传统的模乘算法是在软件中实现,这将取决于处理器的速度,每个操作都需要取指令、译码以及执行指令,大大降低了算法执行速度。随着集成电路的发展,模乘算法大多采用硬件实现,其最关键的电路便是多项式乘加器。但由于乘加器功耗大,现有做法普遍是用多个时钟实现,非常速度慢。
发明内容
本发明旨在至少在一定程度上解决上述技术问题。
本发明的首要目的是提供一种高速低功耗的用于电路的蒙哥马利模乘方法。
本发明的进一步目的是提供一种高速低功耗的蒙哥马利模乘电路。
本发明第一个目的技术方案为:
一种用于电路的蒙哥马利模乘方法,模长度为k,k=sw,其中w为算法每次处理的字长大小,s为算法for循环所需的次数;输入参数包括a、b和模数n,r为一存储器,r的高k位为存放输入参数a和输出结果的r2,r的低k位为存放输入参数b,t为多项式临时计算结果,r32、z1、c、x1、x2、n0'为中间变量,i和j为循环变量,其运算步骤为:
计算r2=MonPro(a,b,n)=a*b*2-kmodn;
将t和i赋零值;
将中间变量r32赋值为r的第s个字,其中,r32表示存储器r的第32地址的数据;
令i为0开始外循环;
将r的第i个字与r32相乘,乘积结果与t的第i个字相加,结果的低k位赋给z1,高k位赋给c;
接着将z1与n0'相乘,乘积结果的低k位赋给z1,高k位赋给c,其中,n0`通过预先计算获取,n0'=-n0-1mod(232),n0是指模数n的低32位值,n从外部输入;
令x2=z1;令x1等于r的第i个字;
令j为0开始内循环;
将x1与r的第i个字相乘后的结果和x2与n的第i个字相乘后的结果相加,相加结果再加上c之后再加上t的第i+j个字,最终结果的低k位赋给t的第i+j个字,高k位赋给c;并令t的第i+s个字等于c,然后循环变量j加1,当j小于s时重复内循环,当j大于或者等于s时退出内循环;
循环变量i加1,当i小于s时重复外循环,当i大于或者等于s时退出外循环;
判断t的高k位是否大于n,若是则将r2=r2-n,否则将t的低k位赋给r2;
根据r2输出模乘结果。
在本方法中,多项式乘加器公式的运算只需要一个时钟周期,运算速度得到大大的提升。而且本发明的蒙哥马利模乘方法采用一体化设计集成相关操作,使得多项式乘加器公式只需要做两次加法以及两次乘法,时间复杂度为O(s2),大大简化了运算的复杂度,进一步提升运算的速度,降低系统功耗。
本发明第二个目的技术方案为:
一种蒙哥马利模乘电路,所述蒙哥马利模乘采用权利要求1所述的方法实现,所述电路包括依次连接的接口电路、SRAM存储器、蒙哥马利模乘控制器、临时寄存器和多项式乘加器;
接口电路与外部总线连接,将输入参数a、b写进SRAM存储器的r中,并将计算完毕后的输出结果读出;
SRAM存储器包括r存储器和t存储器,用于存储输入参数a、输入参数b、中间处理数据以及最终计算结果;
蒙哥马利模乘控制器用于产生地址和控制信号,读取SRAM存储器中的数据并放入相应寄存器中进行处理,其内设置有地址产生器、减法器、计数器和控制电路;
所述地址产生器用于产生状态跳转信号和访问SRAM存储器的地址信号;
减法器用于完成r2=r2-n的减法操作;
计数器用于计算外部循环次数i和内部循环次数j;
控制电路控制循环的进入和退出以及在每个时钟内,根据地址产生器产生的地址从SRAM存储器中取出相应数据放到临时寄存器中,并将中间结果和多项式临时计算结果t写回到SRAM存储器中;
临时寄存器用于暂存SRAM存储器读写数据以及多项式乘加器的输入输出结果;
多项式乘加器,用于完成如下计算:将x1与r的第i个字相乘后的结果和x2与n的第i个字相乘后的结果相加,相加结果再加上c之后再加上t的第i+j个字,最终结果的低k位赋给t的第i+j个字,高k位赋给c。
在本发明的蒙哥马利模乘电路中,多项式乘加器采用一体化设计,即用一个组合逻辑模块将两次加法、两次乘法运算集成在一起,大大降低了时间复杂度,提升了算法的运算速度。
在一种优选方案中,所述临时寄存器中包括七个寄存器:ti寄存器、x1寄存器、y1寄存器、x2寄存器、y2寄存器、c寄存器和z1寄存器。这七个寄存器分别用于暂存SRAM存储器读写数据以及多项式乘加器的输入输出结果。
所述SRAM存储器为双端口SRAM存储器,其在时钟的下降沿完成读操作,在时钟的上升沿完成写操作。
在一种优选方案中,所述SRAM存储器为双端口寄存器文件,其在时钟的下降沿完成读操作,在时钟的上升沿完成写操作。双端口寄存器功耗低,访问速度快,其在时钟的下降沿完成读操作,上升沿完成写操作,使其能够在一个时钟内完成读写操作。
在一种优选方案中,多项式乘加器对多项式采用基4的Booth编码,其产生的部分和利用4:2压缩器逐级压缩。
与现有技术相比,本发明技术方案的有益效果是:
本发明的多项式乘加器采用一体化设计,将两次加法、两次乘法运算集成在一起,使多项式乘加器能够在一个时钟周期内完成多项式的一次计算,降低了算法的时间复杂度,从而提升了算法的运算速度,降低整个算法运行的功耗。
附图说明
图1为本发明一种蒙哥马利模乘电路硬件实现架构图。
图2为本发明多项式乘加器采用华莱士树压缩结构的示意图。
图3为本发明关键路径图。
图4为本发明中涉及到的门控时钟电路图。
图5为本发明的模乘算法时序图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
一种用于电路的蒙哥马利模乘方法,模长度为k,k=sw,其中w为算法每次处理的字长大小,s为算法for循环所需的次数;输入参数包括a、b和模数n、n0`,其中,n0`通过预先计算获取,n0'=-n0-1mod(232),n0是指模数n的低32位值;r为一存储器,r的高k位为存放输入参数a和输出结果的r2,也就是说输出结果保存在r2中,r的低k位为存放输入参数b,t为多项式临时计算结果,r32、z1、c、x1、x2、n0'为中间变量,其中,r32表示存储器r的第32地址的数据,i和j为循环变量,如图1所示,其通过如下运算步骤计算输出结果:
输出结果存储在r2中,通过r2即可得到输出结果。
本实施例采用一体化设计集成上述操作,S10中的多项式t[i+j]+x1*r[i]+x2*n[i]+c即为多项式乘加器公式,其只需要做两次加法以及两次乘法。在本实施例中,步骤S10和S11的计算只需要一个时钟周期,大大减少了运算的时钟周期,从而提高了蒙哥马利模乘的运算速度。很明显,本实施例中算法的时间复杂度为O(s2),假设是1024位模乘运算,s=w=32,于是一次模乘就只需要大概1024个时钟周期,从而能够提升算法的运算速度和降低系统的功耗。
开始工作之前,对t寄存器和i计数器清零,并从s地址的r存储器中读出内容放到r32寄存器中,然后开始第一重循环。S5、S6、S7、S8步骤为初始化操作步骤,是为了S10的高速计算做铺垫的,由于S9的循环i是不变化的,故可以在S7和S8中先计算出x1和x2,然后进入S9的s次循环,每次循环x1和x2都不需要重新载入。在第10步骤中,在时钟的上升沿将地址为i+j的t寄存器数据、x1寄存器、地址为i的r寄存器、x2寄存器、地址为i的n以及c寄存器放到多项式乘加器中,在下一个时钟上升沿将乘加器的内容保存回t存储器中,以上操作只需一个时钟便可完成复杂计算,这是速度提升的关键技术所在。
实施例2
本实施例以1024位模乘运算为例在硬件上实现实施例1所述的方法,以本实施例算法为基础实现的其他长度(如512位、2048位等)模乘运算及其硬件实现应当属于本发明的保护范围。
如图2所示,一种蒙哥马利模乘电路,其中蒙哥马利模乘采用上述蒙哥马利模乘方法实现,该电路包括依次连接的接口电路、SRAM存储器、蒙哥马利模乘控制器、临时寄存器和多项式乘加器;
接口电路与外部总线连接,将输入参数a、b写进SRAM存储器的r中,并将计算完毕后的输出结果读出;
SRAM存储器包括r存储器和t存储器,用于存储输入参数a、输入参数b、中间处理数据以及最终计算结果。以32位字长为单位,由于是1024位模乘运算,一共需要2048位r和t,因此需要64组r[i]和t[i](i为0到63的整数)。本实施例的SRAM存储器采用双端口存储器,在低功耗的应用场景,SRAM存储器也可以采用双端口寄存器文件,功耗低,访问速度快,可在一个时钟内完成读写操作,在时钟的下降沿完成读操作,上升沿完成写操作。为了加快读写操作,r存储器和t存储器可以同时执行读操作,写操作可以不在同一个时钟内执行。此外,在SRAM存储器不操作器件,可以将其使能信号关闭,降低功耗。采用SRAM存储器的好处在于,不仅可以获取高速读写能力,还可以节省面积,同样的存储内容,用SRAM存储器要比普通的寄存器要省一倍以上面积。
蒙哥马利模乘控制器,用于产生地址和控制信号,读取SRAM存储器中的数据并放入相应寄存器中进行处理,其内设置有地址产生器、减法器、计数器和控制电路;
所述地址产生器用于产生状态跳转信号和访问SRAM存储器的地址信号;
减法器用于完成r2=r2-n的减法操作,即实现实施例1中S12步骤中的减法操作。
计数器用于计算外部循环次数i和内部循环次数j;
控制电路控制循环的进入和退出以及在每个时钟内,根据地址产生器产生的地址从SRAM存储器中取出相应数据放到临时寄存器中,并将中间结果和多项式临时计算结果t写回到SRAM存储器中;
临时寄存器均为32位,包括七个寄存器,分别为ti寄存器、x1寄存器、y1寄存器、x2寄存器、y2寄存器、c寄存器和z1寄存器,用于暂存SRAM存储器读写数据以及多项式乘加器的输入输出结果。临时寄存器的增加使得从SRAM存钱到多项式乘加器的数据通路最为便捷。本发明采用了多个临时寄存器保存中间数据,寄存器功耗大,为了进一步降低功耗,其可以采用图4所示的门控时钟电路来降低寄存器的动态功耗,只有触发器需要干活时才给触发器时钟,否则不给时钟;图4的门控时钟电路包括第一寄存器D1、第二寄存器D2以及与门A1;该结构可以由DesignCompiler综合工具自动生成,在信号高电平期间锁存器是保持的,在信号低电平期间锁存器是透明的,此时数据可以传进来。
多项式乘加器,用于完成“t+x1*y1+x2*y2+c”计算,即将x1与r的第i个字相乘后的结果和x2与n的第i个字相乘后的结果相加,相加结果再加上c之后再加上t的第i+j个字,最终结果的低k位赋给t的第i+j个字,高k位赋给c。此多项式乘加器采用一体化设计,即用一个组合逻辑模块将两次加法、两次乘法运算做到一起。对于104为的模乘运算来说,多项式采用基4的booth编码原理,共产生36个部分和,为了最大限度提高性能,本实施例采用4:2压缩器逐级压缩部分和。如图2所示,第一级压缩需要9组压缩器,第二级需要4组压缩器,第三级需要2组压缩器,第四级需要1级压缩器,第五级需要1级压缩器,第六级采用全加器将剩余的两组累加起来并得到最后结果。多项式乘加器能在一个时钟周期计算出多项式t+x1*y1+x2*y2+c的结果,并保存在SRAM存储器中,算法第9步中的循环,每轮循环只需要一个时钟,其关键技术在于,每个时钟的下降沿将SRAM的数据读出到t、x1、y1、x2、y2以及c临时寄存器中,在紧接着的上升沿将上一次多项式计算结果写回SRAM中,其关键路径涉及到SRAM读写时间、时钟延时、组合逻辑延时以及多项式乘加器延时,其中延时最大的是多项式乘加器,图3所示是本发明关键路径图,总延时T由以下几部分组成,D3触发器延时TD3、组合逻辑路径延时Tlogic、多项式乘加器延时Tp以及SRAM存储器延时Tr,用公式表示如下:
T=TD3+Tlogic+Tp+Tr
其中Tp的延时是最大的,涉及到两个32位并行乘法器的延时。本发明通过优化多项式乘加器达到较高速度;模乘电路所需时间数量级为O(s2),大大节省操作时间。如图5所示是本发明关键操作时序图,clk为系统时钟,r0,r1和r2是r存储器的开始三个存储数据,rd_address是r存储器的读地址信号,sram_out为r存储器读出的数据,wr_address是r存储器的写地址,sram_in是r存储器的写数据。从图中可以看到,经过三个时钟上升沿后,每个时钟都有SRAM写数据操作,即用一个时钟实现了第9步和第10步的算法操作。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.一种用于电路的蒙哥马利模乘方法,其特征在于,模长度为k,k=sw,其中w为算法每次处理的字长大小,s为算法for循环所需的次数;输入参数包括a、b和模数n,r为一存储器,r的高k位为存放输入参数a和输出结果的r2,r的低k位为存放输入参数b的r1,t为多项式临时计算结果,r32、z1、c、x1、x2、n0'为中间变量,i和j为循环变量,其运算步骤为:
计算r2=MonPro(a,b,n)=a*b*2-kmodn;
将t和i赋零值;
将中间变量r32赋值为r的第s个字,其中,r32表示存储器r的第32地址的数据;
令i为0开始外循环;
将r的第i个字与r32相乘,乘积结果与t的第i个字相加,结果的低k位赋给z1,高k位赋给c;
接着将z1与n0'相乘,乘积结果的低k位赋给z1,高k位赋给c,其中,n0'通过预先计算获取,n0'=-n0-1mod(232),n0是指模数n的低32位值,n从外部输入;
令x2=z1;令x1等于r的第i个字;
令j为0开始内循环;
将x1与r的第i个字相乘后的结果和x2与n的第i个字相乘后的结果相加,相加结果再加上c之后再加上t的第i+j个字,最终结果的低k位赋给t的第i+j个字,高k位赋给c;并令t的第i+s个字等于c,然后循环变量j加1,当j小于s时重复内循环,当j大于或者等于s时退出内循环;
循环变量i加1,当i小于s时重复外循环,当i大于或者等于s时退出外循环;
判断t的高k位是否大于n,若是则将r2=r2-n,否则将t的低k位赋给r2;
根据r2输出模乘结果。
2.一种蒙哥马利模乘电路,其特征在于,蒙哥马利模乘采用权利要求1所述的方法实现,所述电路包括依次连接的接口电路、SRAM存储器、蒙哥马利模乘控制器、临时寄存器和多项式乘加器;
接口电路与外部总线连接,将输入参数a、b写进SRAM存储器的r存储器中,并将计算完毕后的输出结果读出;
SRAM存储器包括r存储器和t存储器,用于存储输入参数a、输入参数b、中间处理数据以及最终计算结果;
蒙哥马利模乘控制器,用于产生地址和控制信号、读取SRAM存储器中的数据并放入相应寄存器中进行处理,其内设置有地址产生器、减法器、计数器和控制电路;
所述地址产生器用于产生状态跳转信号和访问SRAM存储器的地址信号;
减法器用于完成r2=r2-n的减法操作;
计数器用于计算外部循环次数i和内部循环次数j;
控制电路控制循环的进入和退出以及在每个时钟内,根据地址产生器产生的地址从SRAM存储器中取出相应数据放到临时寄存器中,并将中间结果和多项式临时计算结果t写回到SRAM存储器中;
临时寄存器用于暂存SRAM存储器读写数据以及多项式乘加器的输入输出结果;
多项式乘加器,用于完成如下计算:将x1与r的第i个字相乘后的结果和x2与n的第i个字相乘后的结果相加,相加结果再加上c之后再加上t的第i+j个字,最终结果的低k位赋给t的第i+j个字,高k位赋给c。
3.根据权利要求2所述的蒙哥马利模乘电路,其特征在于,所述临时寄存器中包括七个寄存器:ti寄存器、x1寄存器、y1寄存器、x2寄存器、y2寄存器、c寄存器和z1寄存器。
4.根据权利要求2所述的蒙哥马利模乘电路,其特征在于,所述SRAM存储器为双端口SRAM存储器,其在时钟的下降沿完成读操作,在时钟的上升沿完成写操作。
5.根据权利要求2所述的蒙哥马利模乘电路,其特征在于,所述SRAM存储器为双端口寄存器文件,其在时钟的下降沿完成读操作,在时钟的上升沿完成写操作。
6.根据权利要求2所述的蒙哥马利模乘电路,其特征在于,多项式乘加器对多项式采用基4的Booth编码,其产生的部分和利用4:2压缩器逐级压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310100944.1A CN103226461B (zh) | 2013-03-26 | 2013-03-26 | 一种用于电路的蒙哥马利模乘方法及其电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310100944.1A CN103226461B (zh) | 2013-03-26 | 2013-03-26 | 一种用于电路的蒙哥马利模乘方法及其电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226461A CN103226461A (zh) | 2013-07-31 |
CN103226461B true CN103226461B (zh) | 2016-07-06 |
Family
ID=48836930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310100944.1A Expired - Fee Related CN103226461B (zh) | 2013-03-26 | 2013-03-26 | 一种用于电路的蒙哥马利模乘方法及其电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226461B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683094B (zh) * | 2013-11-29 | 2018-10-26 | 上海华虹集成电路有限责任公司 | 用于rsa密码的蒙哥马利阶梯算法 |
CN104765586B (zh) * | 2015-04-15 | 2018-09-28 | 深圳国微技术有限公司 | 一种嵌入式安全芯片及其的蒙哥马利模乘运算方法 |
IL244842A0 (en) * | 2016-03-30 | 2016-07-31 | Winbond Electronics Corp | Efficient non-modular multiplexing is protected against side-channel attacks |
CN109271137B (zh) * | 2018-09-11 | 2020-06-02 | 网御安全技术(深圳)有限公司 | 一种基于公钥加密算法的模乘装置及协处理器 |
CN110457744B (zh) * | 2019-06-27 | 2023-01-20 | 山东方寸微电子科技有限公司 | 一种sd/sdio设备仿真模型框架及其设计方法 |
CN112486457B (zh) * | 2020-11-23 | 2022-12-20 | 杭州电子科技大学 | 一种实现改进的fios模乘算法的硬件系统 |
CN112286496B (zh) * | 2020-12-25 | 2021-03-30 | 九州华兴集成电路设计(北京)有限公司 | 蒙哥马利算法的模乘器和电子设备 |
CN113342310B (zh) * | 2021-06-18 | 2023-08-22 | 南京大学 | 一种应用于格密码的串行参数可配快速数论变换硬件加速器 |
CN114327370B (zh) * | 2022-03-10 | 2022-06-21 | 湖北芯擎科技有限公司 | 计算蒙哥马利模乘算法中mr值的方法及电路 |
CN114706557B (zh) * | 2022-04-01 | 2023-03-10 | 华控清交信息科技(北京)有限公司 | 一种asic芯片及蒙哥马利模乘的实现方法和装置 |
CN117785129B (zh) * | 2024-02-23 | 2024-05-07 | 蓝象智联(杭州)科技有限公司 | 一种基于gpu的蒙哥马利模乘运算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085210A (en) * | 1998-01-22 | 2000-07-04 | Philips Semiconductor, Inc. | High-speed modular exponentiator and multiplier |
CN1492316A (zh) * | 2003-09-09 | 2004-04-28 | 大唐微电子技术有限公司 | 一种蒙格玛丽模乘算法及其模乘、模幂运算电路 |
CN1786900A (zh) * | 2005-10-28 | 2006-06-14 | 清华大学 | 基于改进的蒙哥马利算法的模乘器 |
TW200842611A (en) * | 2007-04-24 | 2008-11-01 | Chunghwa Telecom Co Ltd | Modular exponentiation silicon intellectual property design architecture for increasing computation speed of cryptosystem |
CN102207847A (zh) * | 2011-05-06 | 2011-10-05 | 广州杰赛科技股份有限公司 | 基于蒙哥马利模乘运算的数据加解密处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2822260A1 (fr) * | 2001-03-14 | 2002-09-20 | Bull Sa | Procedes et dispositifs pour accelerer le temps de calcul d'un produit de montgomery d'un multiplication et d'une exponentiation modulaire |
FR2974201B1 (fr) * | 2011-04-18 | 2013-04-12 | Inside Secure | Circuit de multiplication de montgomery |
-
2013
- 2013-03-26 CN CN201310100944.1A patent/CN103226461B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085210A (en) * | 1998-01-22 | 2000-07-04 | Philips Semiconductor, Inc. | High-speed modular exponentiator and multiplier |
CN1492316A (zh) * | 2003-09-09 | 2004-04-28 | 大唐微电子技术有限公司 | 一种蒙格玛丽模乘算法及其模乘、模幂运算电路 |
CN1786900A (zh) * | 2005-10-28 | 2006-06-14 | 清华大学 | 基于改进的蒙哥马利算法的模乘器 |
TW200842611A (en) * | 2007-04-24 | 2008-11-01 | Chunghwa Telecom Co Ltd | Modular exponentiation silicon intellectual property design architecture for increasing computation speed of cryptosystem |
CN102207847A (zh) * | 2011-05-06 | 2011-10-05 | 广州杰赛科技股份有限公司 | 基于蒙哥马利模乘运算的数据加解密处理方法及装置 |
Non-Patent Citations (4)
Title |
---|
Efficient architectures for implementing montgomery modular multiplication and RSA modular exponentiation on reconfigurable logic;Daly A, Marnane W.;《Proceedings of the 2002 ACM》;20021231;40-49 * |
Fast Montgomery modular multiplication and RSA cryptographic processor architectures;McLoone M, McCanny J V.;《Signals, Systems and Computers》;20041231;379-384 * |
一种长整数模乘幂的改进算法与实现;谢元斌,史江一,郝跃;《西安电于科技人学学报(自然科学版)》;20110430;第38卷(第2期);129-134 * |
改进的蒙哥马利算法及其模乘法器实现;蒋晓娜,段成华;《计算机工程》;20080630;第34卷(第12期);209-211 * |
Also Published As
Publication number | Publication date |
---|---|
CN103226461A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103226461B (zh) | 一种用于电路的蒙哥马利模乘方法及其电路 | |
US9830303B1 (en) | Optimized matrix multiplication using vector multiplication of interleaved matrix values | |
Alrimeih et al. | Fast and flexible hardware support for ECC over multiple standard prime fields | |
CN103761068B (zh) | 优化的蒙哥马利模乘硬件 | |
US9875377B2 (en) | Encryption device of a substitution-box type, and corresponding encryption method and computer program product | |
US20090207997A1 (en) | Elliptic curve cryptosystem apparatus, storage medium storing elliptic curve cryptosystem program and elliptic curve cryptosystem arithmetic method | |
Turan et al. | Compact and flexible FPGA implementation of Ed25519 and X25519 | |
US8953784B2 (en) | Lightweight stream cipher cryptosystems | |
US7835517B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
CN104579656A (zh) | 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器 | |
US11995184B2 (en) | Low-latency digital signature processing with side-channel security | |
CN113032797B (zh) | 在处理设备中执行加密操作的方法 | |
CN105871552A (zh) | 双核并行rsa密码处理方法及协处理器 | |
CN116488788A (zh) | 全同态加密算法的硬件加速器、同态加密方法及电子设备 | |
US12047514B2 (en) | Digital signature verification engine for reconfigurable circuit devices | |
CN103336680A (zh) | 改进的二进制左移模逆算法 | |
Wang et al. | Area-efficient and ultra-low-power architecture of RSA processor for RFID | |
JP2010107947A (ja) | Shaアルゴリズム基盤のメッセージスケジュール演算方法、メッセージ圧縮演算方法及びこれを行う暗号装置 | |
CN102739396A (zh) | 一种应用于信息安全的协处理器 | |
Zeidler et al. | Design of a low-power asynchronous elliptic curve cryptography coprocessor | |
CN114510217A (zh) | 处理数据的方法、装置和设备 | |
CN106796505A (zh) | 指令执行的方法及处理器 | |
CN116820397B (zh) | 基于CRYSTALS-Kyber的快速数论变换电路 | |
US11792004B2 (en) | Polynomial multiplication for side-channel protection in cryptography | |
Cantó-Navarro et al. | AXI hardware accelerator for McEliece on FPGA embedded 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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160706 Termination date: 20210326 |