CN1085862C - 高速模乘法装置 - Google Patents

高速模乘法装置 Download PDF

Info

Publication number
CN1085862C
CN1085862C CN96109838A CN96109838A CN1085862C CN 1085862 C CN1085862 C CN 1085862C CN 96109838 A CN96109838 A CN 96109838A CN 96109838 A CN96109838 A CN 96109838A CN 1085862 C CN1085862 C CN 1085862C
Authority
CN
China
Prior art keywords
circuit
bit
output
data
input
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
Application number
CN96109838A
Other languages
English (en)
Other versions
CN1152746A (zh
Inventor
张胤微
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN96109838A priority Critical patent/CN1085862C/zh
Publication of CN1152746A publication Critical patent/CN1152746A/zh
Application granted granted Critical
Publication of CN1085862C publication Critical patent/CN1085862C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种高速的模乘法装置及计算方法,适用于密码技术,特别是公开密钥体制如RSA、DSS等对数据加密、解密和数字签名的运算。针对密码学的模乘法数据长度大的特点,采用几个比特并行的短乘法、加法,达到整个数据长度的乘、加运算的结果,避免长的进位延迟,大大提高计算的效率。计算可循环地一次一位、流水一次全部位,或者一次若干位,满足实用对速度-电路面积的各种要求。

Description

高速模乘法装置
本发明涉及一种高速的模乘法装置及方法,适用于公开密钥体制如RSA、DSS等对数据加密、解密、数字签名的密码技术。
形如Y=Xd mod M称为模指数运算,广泛用于密码学一特别是公开密钥密码体制中。例如,Deffie Hellman协议,RSA算法及专用于数字签名的BSA(或称DSS)算法都建立在这种运算上。随着信息技术的发展,对信息加密和数字签名越来越重要。但是这些算法的计算量太大,因此,高速模指数运算是上述算法能够实际应用的关键。根据目前数据加密的要求,模M及X都必须是巨大整数,通常认为500-1000比特。计算模指数本质上是重复计算形如A×B mod M的模乘法,即要求快速模乘法计算。
计算R≡A×B mod M,已存在多种算法,著名的如Montgomery算法(见”MudularMultiplication without Trial Division″,Math.Computation,V01.44,1985,pp.519-521)。很多方法在本质上与纸和笔计算的方法相似。就是从被乘数A的高位开始,每取次一位与乘数B相乘(B)的倍数),与上次残余数R相加,进行一次向左(向上)的移位。再减去M的某个整数倍,直到每一位都处理完,就得到最终残余数R:
R=A×B-Q×M。围绕这个计算过程。由于通用的短字长CPU不能满足这种高密度计算,只有设计专门模乘法电路。现已经实用中的512位模指数运算器的效率是几秒,远远满足不了信息或数字签名的要求。在研究中的方案提出许多脉动阵列的技术,(见,”SystolicMudular Multiplication″,Colin.D.Walter,IEEE Transaction on Computers,Vot.42,No.6,June1993Jpp.693-699;美国专利5,101,431,”Systolic array for modularmultiplication′,1992),采用n×n个单元按位处理每次的数R,即连续两次乘法,可能是目前最快的之一。但是在实现上有一定的困难,因为对于103/2的数据长度需要4×106个门,显然难于集成到单一芯片上。美国专利5,313,530“Calculating apparatusand method of encrypting/decrypeing communication data by using the same”,(1994),是一种脉动加流水的技术方案,运用高阶基数(多比特表示一位),一个操作数按位流水与另一操作数处理每个残数R,流水级数是另一操作数的位数,仍然相当多的,是一种在电路复杂度和速度间作了一定折衷的方案,有的模乘法技术(见欧洲专利公开EP0381161“modular multiplication method and system”,1990)需要做一些数据初始化或者规格化的预处理,增加了系统的附加开销
现代密码运算面对巨大的数据,而且随着破译技术的发展,数据长度还会增加。而迄今为止的模乘法器,本质上都在顺序执行n×n和n+/-n的操作,就是说一个操作数的每一比特(位)顺序地与另一操作数的每一比特(位)相乘、或相加或相减。由于n很大,这种顺序地积累单步延迟造成总效率降低,而且每一步都涉及A×B、确定Q、Q×M的计算,每个处理单元都相当的复杂。因此,不解决这本质上的障碍,就不会有高效模乘法器满足密码运算的需要。
因此,本发明的目的在于提供一种方法及装置,克服传统长数据操作的低效。使乘法和加法每步不是按一操作数的一比特(位)对另一操作数的一比特(位)顺序处理,变为一操作数的一位(k比特)对另一操作数的全部位(n比特)的并行处理,提高模乘法速度。
本发明的另一目的还在于提供一种方法和装置,使乘法和加法的上述一位(k比特)对n比特的处理,变为若干个并行k+1比特的乘/加处理,提高每一步的效率。
本发明的又一目的还在于提供一种方法和装置,使用最少的元件构成实用的模乘法器,满足要求面积第一的应用要求。
本发明的又一目的还在于提供一种方法和装置,采用并行流水的电路构成一种实用模乘法器,满足要求速度第一的应用要求,但复杂度少于阵列结构。
本发明的这些目的可以通过以下的措施来达到:
本发明的方法及装置有三个输入寄存器,分别存放被乘数A、乘数B和模数M。采用基数r=2k(k>2)的高阶基数,十六进制表示k=4,r=16,将被乘数A表示为(以下所有k,r的意义皆同): A = Σ j = 1 m A j · r j - 1 , 其中m=n/k,是高阶基数表示数的位数,n为数据的二进制长度,通常要求512-1024比特(以下所有m,n,k的意义皆同),为方便起见,假设A、B、M有同样的数据长度,并不失其一般性。其余的如乘数B、商Q、模M都采用同样的记号。一个输出寄存器存放同样表示的残数R。另有一个高速(k+1)×n乘法器,执行A×B。每次用A的每一位与B的所有m位同时相乘。令Dt(t=1,2,…,m)为第t次求的Am-t+1、B的乘积,即: D 1 = Σ j = 1 m A m B j · r j , D 2 = r * D 1 + Σ j = 1 m A m - 1 B j * r j , D t = r * D t - 1 + Σ j = 1 m A m - t + 1 B j * r j , Dt为m+1位。另一高速乘法器执行M与它的某个倍数Q相乘,即M×Q。同理Q的每一位每次与M的所有m位相乘,第t次所求得的Qm-t+1、M的乘积为Zt,即: Z t = r * Z t - 1 + Σ j = 1 m Q m - t + 1 M j ,
运用一种并行方法和电路,使所说的两个(k+1)×n乘法器,并行执行一次m个(k+1)×k和两次m个的(k+1)+(k+1),完成一次的(k+1)×n的运算,即k+1比特的乘法和加法完成:
     ∑Am-t+lBj*rj或者 Σ j = 1 m Q m - t + 1 M j * r j , 采用两次相加的中间结果提前预置高位进位的方法和电路,做到在后一次相加中,m+1个部分积之间的无进位。虽然这会引起一定的延时(大约一次k比特加法),相比顺序的按位加法,效率有很大的提高。
根据模乘法的特点,通常做法是:每次的A、B乘积都减去一个M的倍数,并不影响最终结果,另一方面减少中间结果的存储空间。由一个加法器把每A×B的部分积与前次所求得的残余数Rt-1向左(向上)移位k比特后相加,再由一个减法器完成减去M的Q倍,得到当前的残数Rt,每次循环完成:
Rt=Dt-Zt = r * R t - 1 + Σ j = 1 m ( A m - t + 1 B j - Q m - t + 1 M j ) * r j .
采用一个单独的计算模块,通过执行如下的运算,得出每次循环中要求的一位商Qm-t+1的估计值: R t e = D t e - Q m - t + 1 M m , 式中:Dt e为第t次所求得A×B的乘积与已求余数Rt移位后相加之和取头两位,作为它的估值,用以计算下一位商的估值。Rt e是基于商估值,并非真正的残余数Rt。如果0<=Rt e<Mm(除数M的最高m位),则可以认为对Qm-t+1的猜测正确。否则Rt e应作适当调整。
判断Rt e的符号,可以决定是否执行Rt=Rt e+M,由于计算商Qm-t+1的估值总是大于或等于真正的商,Rt<=Rt e。由此除去了每次都进行Rt<M的比较过程,简化电路并赢得时间。
如此,经过t=m步的循环,完成整个计算,求得最终的残余数Rm。
本发明的模乘法装置,由三个输入寄存器、一个输出寄存器、乘法电路、加法电路、计算电路组成,其中:
第一个输入寄存器存放k比特一位的数据A;
第二个输入寄存器存放k比特一位的位m位数据B;
第三个输入寄存器存放k比特一位的位m位数据M;
一个输出寄存器存放计算出的残余数R;
第一个乘法电路把所说的第一个输入寄存器的数据A与第二个输入寄存器的数据B相乘;
第一个加法电路把所说的第一个乘法电路的多个部分积相加;
第二个加法电路把所说残余数R乘以基数T后再与所说的乘法电路的积相加,结果放入一个中间寄存器RD;
一个计算电路,输入所说的加法电路输出的高2k比特及第三个输入寄存器存放的数据M的最高一位,计算并输出k+1比特的商;
第二个乘法电路把所说的计算电路输出的k+1比特的商与第三个输入寄存器的数据M相乘,结果放入另一个中间寄存器RZ;
第三个加法电路把所说的第二个乘法电路的多个部分积相加;
一个减法电路把所说的两个中间寄存器RD和RZ的值相减,结果放到残余数寄存器;
另外的加法电路,当残余数R小于零时,把残余数R和数据M相加至少一次,结果放到残余数寄存器R;
其中的两个乘法电路由m个(k+1)位的小乘法单元组成,每个单元输入相同数值的k+1比特数据A,与不同数值的k比特数据B;
其中的加法电路由两组m个k+1的小加法单元组成,第一组每个单元输出的进位存放到进位锁存器及输出的和存放到和锁存器,每个进位锁存器输出与其左邻的高一位和锁存器的输出经一个k+1端的与门检测,根据所说的与门的输出决定其左邻的高一位的进位锁存器的值,每个进位锁存器输出与其左邻,即高一位的和锁存器的输出于另一组中对应的加法单元相加,输出最后的和;
这里的数据A、B、M和R的长度皆为二进制的n比特,采用高阶基数表示时,r为数的基,r=2k,k是2的幂,k>2,十六进制数时k=4比特,其中m=n/k,为n比特二进制数据的高价基数表示时的位数。
本发明的模乘法装置中的计算电路由多个乘法单元、减法单元、一个输出电路组成,输入所说第一个中间寄存器的高二位和第三输入寄存器存放的数据M的最高一位,将数据M的最高一位和0,1,2……,2(r-1)分别输入到所说的乘法单元相乘,得到的2r-1个数,与第一个中间寄存器高二位相减,经输出电路输出k+1比特的商,其中,r=2k(k>2),十六进制数时k=4,r=16。
根据本发明的模乘法装置,可以把两个乘法电路单元合为一个乘法电路,把所有加法、减法电路合为一个加减法电路,根据一个控制信号决定加减法电路的操作,增加二个输入数据的选择器,输入乘法电路所需数据,保留计算k+1比特商的计算电路、所有输入寄存器、输出寄存器和中间寄存器。
根据本发明的模乘法装置,可以把多个这样的模乘法装置并行设置,增加多个加法电路,增加多个缺少了第一乘法电路和第一加法电路的模乘法装置的剩余部分组成的计算电路,将第一操作数A由高到低按位输入对应的模乘法器的第一操作数寄存器,同时第二操作数寄存器存放第二操作数,并行计算多个模乘法,输出多个残余数R,这些R两两对应,其左边的R×r与右边的R于多个加法电路相加,加法电路的数目等于单一模乘法装置的一半,将多个和取最高两位,与第三个输入寄存器最高位输入到下级多个计算电路,其输出多个残余数R,再两两送对应单元处理,输出残余数R的数目减半,直到最终剩一个残余数R。
本发明达到如下的效果:
在此前的模乘法对A、B和M都是相当大的整数时效率很低,根本一点在于乘法或加法中存在很长进位,这是传统上不可避免的。本发明用“短”的乘法、加法取代传统的“长”乘法、加法,技术上用(k+1)×k和两次(k+1)比特加法达到k×n的结果,避免了部分积相加中n比特长的进位链,进位传递限制在k比特。使无论速度,还是器件数量有较优结果。此外,求商也仅是一次(k+1)×k的乘法和(k+1)比特减法的快速计算。回顾整个运算,全是k+1比特运算延时:3次乘法、21次加/减法可完成512比特的数据长度。本发明可根据的实际需要,循环地一次一位,亦可流水地一次m位完成计算,更存在二极端间各种一次多位的平衡。
根据以上对处理一位数据的思想描述,充分展现了本发明并行流水计算特点,而且可有1位到m位的多种灵活装置。因此,下面的实施例仅在于强调发明的具体应用,而不是限制发明的精神
附图的图例说明:
图1模乘法顺序结构;
图2最简单的模乘法器
图3乘法电路结构;
图4加法电路结构:
图5计算一位商的器件
图6一种并行流水的模乘法器。
如图1,整个运算由一系列的乘法或加、减法的顺序计算构成:A×B的乘法电路4、部分积加法电路5、残余数与A×B乘积相加的加法电路6、计算一位商Q的电路7、Q×M的乘法电路8、部分积相加的加法电路9、减去M倍数得到一个残余数的减法电路10及两个加法电路11,12。其中:乘法电路4每次从第一输入寄存器1接受一位第一操作数Ai(I=1,2,...m),由高往低的顺序,第一次接受Am,第二次Am-1,...,第m次A1,从第二输入寄存器接受m位第二操作数Bm Bm-1,...,B1,计算:At-m+1×B。部分积相加电路5将m个部分积相加,计算出: D = Σ j = 1 m A m - t + 1 B j 残余数与A×B乘积相加电路6计算前一次的残余数r.Rt-1+D,并把和放到中间寄存器D19图2),求一位商Q的计算电路7输入RD19中的高两位和模M的高一位,计算出商的估值Qm-t+1。另一个乘法电路8每次输入得到的一位商的估值Qm-t+1从第三寄存器3接受m位第三操作数Mm-Mm-1,......,M1,计算:Qm-t+1×M。另一个部分积相加的加法电路9将m个部分积相加,计算出; Z = Σ j = 1 m Q m - t + 1 M j 减法电路10计算RtD-Z,结果就是残余数R,存放到输出寄存器RR13。判断Rt的符号位,如果R<0,则将Rt与M于另二加法电路11,12中相加,和仍然存放到输出寄存器RR13。如果R>0,则完成一次循环。重复输入下一个A,直到A1,完成Rm的计算。图1是基本的按位流水的方法和结构。
如图2,把所说的两个乘法电路4,8,合二为一个乘法电路16,增加两个数据选择电路14,15,选择乘法电路16的输入,使乘法电路16先后执行A×B和Q×M时输入相应的数据A、B或Q、M,把所说的加法电路5,6,9,11,12、减法电路10合为一个加减法电路17,用操作控制信号选择加减电路17的运算。其余的输入寄存器1,2,3、输出寄存器13仍然保留。增加两个中间寄存器RD19,RZ20。采用总线的三态电路作寄存器和运算单元间的数据通道。这样得到由一个(k+1)×n的乘法电路16、一个n+n的加减法电路17、两个n比特的中间寄存器19,20及所说的输入、输出寄存器组成的最小电路的快速模乘法器,这是按位循环结构。
如图3为乘法电路16的构成。21-25是m个(k+1)×k的乘法单元按顺序由左到右排列。第一操作数A由高到低每次取k比特输入,或每次输入k+1比特的Q的估值输入,第二操作数B由高到低取k比特按左到右的顺序输入到每个乘法单元21-25,同时计算(k+1)×k。其输出的2k+t比特乘积中的高k+1比特和它的左邻单元的低k比特,作为一对操作数同时输入到加减法电路17中对应的一个k+1比特加法单元26-31,加减法电路17输出m+1位的乘积。
如图4为加减法电路17的构成,是m个k+1比特带加、减控制和符号位的加法单元26-31按顺序由左到右排列。输入的两个n比特的操作数按k比特分成m段,由高到低每段各取k比特按左到右的顺序输入到每个加法单元26-31,同时相加一次,各段的最高比特作为进位输出到进位锁存器36--40,其余k比特输出到和锁存器32--35。和锁存器32--35的输出和其右邻单元进位锁存器36--40的输出,再输出到一个k+1端的与门41--44,与门输出如果是“1”,则对其友邻单元的进位锁存器36--40进行置“1”的操作。经过适当的延迟,再将和锁存器32--45和其右邻的进位锁存器36--40的值于对应的另一组加法单元45--48中相加,得到最后的和。
如图5为计算一位商的电路,输入Dt+r.Rt的高的2k比特和M的最高k比特(Mm)。分别与0,1,2,---2(r-1)于2r-1个(k+1)×k乘法单元50-54中相乘,同时产生2r-1个乘积送入对应减法单元55-59的“B”端(减数端),Dt+r.Rt的最高2k比特输入其“A”端(被减数端),相减得出2r-1个差,由一个输出电路判断符号位,若对应的电路60-64的输入符号不同,则触发对应的锁存单元65-69,内中分别锁存有0,1,2,---,2(r-1),从而输出对应值为合适的Q。
如图6为高速的流水模乘法器,70-74是多个如图1的单一模乘法器,78-80,83-84,86是多个计算电路,每个电路由如图1的单一模乘法器去掉了A×B的乘法电路4及A×B的部分积相加的加法电路5组成,75-77,81-82,85是多个加法电路。将第一操作数A由高到低按位输入对应的模乘法器70-74的第一操作数寄存器1,同时第二操作数寄存器2存放第二操作数。并行计算多个模乘法,输出多个残余数R。这些R两两对应,其左边的R×r(相当于图1中前一次的R)与右边的R(相当于图1中的D)于多个加法电路75-77相加,加法电路75-77的数目等于单一模乘法电路70-74的一半,将多个和各取最高两位,与模M的最高位输入到多个计算电路78-80,其输出多个残余数R,按前述的多个R相加的方法处理,每一次R的数目减半,……,直到只剩下一个R,便是最终的残余数。这是多位流水的方法和结构。
此外,根据图1的基本方法和电路,还存在多种流水加循环的结构变化,使本发明适应多种用途。

Claims (4)

1.一种模乘法装置,由三个输入寄存器、一个输出寄存器、乘法电路、加法电路、计算电路组成,其特征在于:
第一个输入寄存器存放k比特一位的数据A;
第二个输入寄存器存放k比特一位的位m位数据B;
第三个输入寄存器存放k比特一位的位m位数据M;
一个输出寄存器存放计算出的残余数R;
第一个乘法电路把所说的第一个输入寄存器的数据A与第二个输入寄存器的数据B相乘;
第一个加法电路把所说的第一个乘法电路的多个部分积相加;
第二个加法电路把所说残余数R乘以基数r后再与所说的乘法电路的积相加,结果放入一个中间寄存器RD;
一个计算电路,输入所说的加法电路输出的高2k比特及第三个输入寄存器存放的数据M的最高一位,计算并输出k+1比特的商;
第二个乘法电路把所说的计算电路输出的k+1比特的商与第三个输入寄存器的数据M相乘,结果放入另一个中间寄存器RZ;
第三个加法电路把所说的第二个乘法电路的多个部分积相加;
一个减法电路把所说的两个中间寄存器RD和RZ的值相减,结果放到残余数寄存器;
另外的加法电路,当残余数R小于零时,把残余数R和数据M相加至少一次,结果放到残余数寄存器RR;
其中的两个乘法电路由m个k+1位的小乘法单元组成,第一个乘法电路的每个单元输入相同数值的k比特数据A,与不同数值的k比特数据B,第二个乘法电路的每个单元输入相同数值的k+1比特数据商,与不同数值的k比特数据M;
其中的所有的加法电路由两组m个k+1的小加法单元组成,第一组每个单元输出的进位存放到进位锁存器及输出的和存放到和锁存器,每个进位锁存器输出与其左邻的高一位和锁存器的输出经一个k+1端的与门检测,根据所说的与门的输出决定其左邻的高一位的进位锁存器的值,每个进位锁存器输出与其左邻,即高一位的和锁存器的输出于另一组中对应的加法单元相加,输出最后的和;
这里的数据A、B、M和R的长度皆为二进制的n比特,采用高阶基数表示时,r为数的基,r=2k,k是2的幂,k>2,十六进制数时k=4比特,其中m=n/k,为n比特二进制数据的高价基数表示时的位数。
2.根据权利1所说的模乘法装置,其特征在于:其中的计算电路由多个乘法单元、减法单元、一个输出电路组成,输入所说第一个中间寄存器的高二位和第三输入寄存器存放的数据M的最高一位,将数据M的最高一位和0,1,2……,2(r-1)分别输入到所说的乘法单元相乘,得到的2r-1个数,与第一个中间寄存器高二位相减,经输出电路输出k+1比特的商,其中,r=2k k>2,十六进制数时k=4,r=16。
3.根据权利1所说的模乘法装置,其特征在于:把两个乘法电路单元合为一个乘法电路,把所有加法、减法电路合为一个加减法电路,根据一个控制信号决定加减法电路的操作,增加二个输入数据的选择器,输入乘法电路所需数据,保留计算k+1比特商的计算电路、所有输入寄存器、输出寄存器和中间寄存器。
4.根据权利1所说的模乘法装置,其特征在于:把多个这样的模乘法装置并行设置,增加多个加法电路,增加多个缺少了第一乘法电路和第一加法电路的模乘法装置的剩余部分组成的计算电路,将第一操作数A由高到低按位输入对应的模乘法器的第一操作数寄存器,同时第二操作数寄存器存放第二操作数,并行计算多个模乘法,输出多个残余数R,这些R两两对应,其左边的R×r与右边的R于多个加法电路相加,加法电路的数目等于单一模乘法装置的一半,将多个和取最高两位,与第三个输入寄存器最高位输入到下级多个计算电路,其输出多个残余数R,再两两送对应单元处理,输出残余数R的数目减半,直到最终剩一个残余数R。
CN96109838A 1996-09-20 1996-09-20 高速模乘法装置 Expired - Fee Related CN1085862C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN96109838A CN1085862C (zh) 1996-09-20 1996-09-20 高速模乘法装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN96109838A CN1085862C (zh) 1996-09-20 1996-09-20 高速模乘法装置

Publications (2)

Publication Number Publication Date
CN1152746A CN1152746A (zh) 1997-06-25
CN1085862C true CN1085862C (zh) 2002-05-29

Family

ID=5120652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96109838A Expired - Fee Related CN1085862C (zh) 1996-09-20 1996-09-20 高速模乘法装置

Country Status (1)

Country Link
CN (1) CN1085862C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665109A (zh) * 2016-07-28 2018-02-06 中国科学院声学研究所 一种适用于嵌入式系统的Montgomery模乘计算方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10107376A1 (de) * 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
CN118233094B (zh) * 2024-04-17 2024-09-20 华中科技大学 一种适用于后量子密码算法Dilithium的模乘运算电路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799183A (en) * 1985-10-24 1989-01-17 Hitachi Ltd. Vector multiplier having parallel carry save adder trees
EP0381161A2 (en) * 1989-01-30 1990-08-08 Nippon Telegraph And Telephone Corporation Modular multipication method and the system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799183A (en) * 1985-10-24 1989-01-17 Hitachi Ltd. Vector multiplier having parallel carry save adder trees
EP0381161A2 (en) * 1989-01-30 1990-08-08 Nippon Telegraph And Telephone Corporation Modular multipication method and the system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665109A (zh) * 2016-07-28 2018-02-06 中国科学院声学研究所 一种适用于嵌入式系统的Montgomery模乘计算方法
CN107665109B (zh) * 2016-07-28 2020-04-14 中国科学院声学研究所 一种适用于嵌入式系统的Montgomery模乘计算方法

Also Published As

Publication number Publication date
CN1152746A (zh) 1997-06-25

Similar Documents

Publication Publication Date Title
Bailey et al. Optimal extension fields for fast arithmetic in public-key algorithms
US6151393A (en) Device and method for modular multiplication
CN100470464C (zh) 基于改进的蒙哥马利算法的模乘器
US8977668B2 (en) Calculating unit for reducing an input number with respect to a modulus
Hong et al. Cellular-array modular multiplier for fast RSA public-key cryptosystem based on modified Booth's algorithm
WO2010048719A1 (en) Method and apparatus for modulus reduction
Koç et al. Fast algorithm for modular reduction
JP3213628B2 (ja) Mを法として長い整数を乗算するための算術ユニット及びそのような乗算デバイスを具えるr.s.a.変換器
KR101925868B1 (ko) 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템
KR100459732B1 (ko) 4-2 컴프레서를 이용한 몽고메리 모듈러 승산기 및 그승산 방법
CN113794572A (zh) 一种高性能椭圆曲线数字签名与验签的硬件实现系统和方法
GB2287331A (en) Electronic multiplying and adding apparatus.
CN205721742U (zh) 适用于模除算法的新架构及非交织一维脉动架构
CN1085862C (zh) 高速模乘法装置
Gutub et al. Serial vs. parallel elliptic curve crypto processor designs
Morita A fast modular-multiplication algorithm based on a higher radix
US7607165B2 (en) Method and apparatus for multiplication and/or modular reduction processing
CN1271506C (zh) Rsa加密算法的实现电路及方法
US7266577B2 (en) Modular multiplication apparatus, modular multiplication method, and modular exponentiation apparatus
WO2000038047A1 (en) Circuit and method of cryptographic multiplication
Lee et al. Linear systolic multiplier/squarer for fast exponentiation
CN115270155A (zh) 一种获取大数拓展最大公约数的方法及硬件架构
KR20070062901A (ko) 중국인 나머지 정리(crt)와 캐리 저장 가산 기반의모듈러 곱셈 장치 및 방법
Rezai et al. Algorithm design and theoretical analysis of a novel CMM modular exponentiation algorithm for large integers
Zhang et al. An implementation of montgomery modular multiplier based on KO-3 multiplication

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee