CN103942027B - 一种可重构的快速并行乘法器 - Google Patents
一种可重构的快速并行乘法器 Download PDFInfo
- Publication number
- CN103942027B CN103942027B CN201410152508.3A CN201410152508A CN103942027B CN 103942027 B CN103942027 B CN 103942027B CN 201410152508 A CN201410152508 A CN 201410152508A CN 103942027 B CN103942027 B CN 103942027B
- Authority
- CN
- China
- Prior art keywords
- multiplier
- restructural
- circuits
- polynomial
- fast parallel
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提出了一种可重构的快速并行乘法器,包括控制单元、暂存器、可重构分解操作数生成电路、次级字多项式乘法器、次数调整电路和最终多项式重构FPR电路;其中,控制单元输出控制向量S0、S1、S2;控制向量S0、S1用于控制两个可重构分解操作数生成电路以相同的方法分别产生和;所述次级字多项式乘法器用于产生;控制向量S2用于所述控制次数调整电路产生D存储于暂存器中,i=0,1,…,5;所述FPR电路用于产生最终结果C。本发明提出的可扩展乘法器与现存结构相比显著地减少了计算时间,面积,面积时间延迟积(ADP)和功耗。分析结果为在资源受限的嵌入式系统和智能手机上实行配对算法和椭圆曲线数字签名算法提供了一个有价值的参考。
Description
技术领域
本发明属于加密处理领域,涉及一种可重构的快速并行乘法器。
背景技术
有限域乘法被广泛应用于加密算法与差错控制编码。对于加密应用来说,例如Diffie-Hellman键交换、数字签名,ECC和配对加密都要使用有限域乘法。SPB(ShiftedPolynomial Basis,移位多项式基底)在有限域乘法实现上具有一些优点。对于配对加密应用,基于ECC算法的Weil和Tate配对需要大量有限域上的扩展运算。例如,通过计算定义在复合域GF(24×1223)上的一个质数椭圆曲线的Tate配对可以达到128位对称密钥的安全性。因此,它对于在大型有限域上的有效硬件乘法设计是很重要的,特别对在资源受限的环境下实现是一个很大的挑战。
现有的几种GF(2m)域上的乘法结构中,位并行脉动结构计算速度快并且适用于高能量的执行。然而,这种结构需要O(m2)的空间复杂度和通常O(m)的时间延迟。位并行阵列乘法器需要O(m)的空间复杂度,但是需要更长的计算时间,这使其不适合应用在高速的应用上。
发明内容
为了解决现有技术中的问题,本发明提出了一种基于SPB的可重构的快速并行乘法器,该乘法器可以通过重构以达到所需的时间复杂度和空间复杂度之间的平衡,具有模块化、合格规则的特点,并适用于特大规模集成电路(very large scale integration,VLSI)的实施。
本发明通过如下技术方案实现:
一种可重构的快速并行乘法器,其用于实现GF(2m)域上的乘法,GF(2m)域上的A和B具有A=A0+A1xn+A2x2n的形式,其中,则GF(2m)域上乘积C可表示为C=x-vAB mod F(x)(F(x)为m次不可约多项式);所述乘法器包括控制单元、暂存器、可重构分解操作数生成电路、次级字多项式乘法器、次数调整电路和最终多项式重构FPR电路;其中,控制单元输出控制向量S0、S1、S2,Si,0=(si,00,si,01,si,02),Si,1=(si,10,si,11,si,12),Si,2=(si,20,si,21,si,22,si,23,si,24);控制向量S0、S1用于控制两个可重构分解操作数生成电路以相同的方法分别产生Ai和Bi,所述次级字多项式乘法器用于产生Ci=AiBi;控制向量S2用于所述控制次数调整电路和产生D=D+(si,20+si,21xn+si,22x2n+si,23x3n+si,24x4n)Ci存储于暂存器中,i=0,1,…,5;所述FPR电路用于产生最终结果C=Dx-v mod F(x)。
所述控制向量S0、S1为:
所述控制向量S2为:
本发明的有益效果是:本发明提出的可重构的快速并行乘法器与现存结构相比显著地减少了计算时间,面积,ADP和功耗。分析结果为在资源受限的嵌入式系统和智能手机上实行配对算法和椭圆曲线数字签名算法提供了一个有价值的参考。
附图说明
图1是Karatsuba算法的功能模块结构示意图;
图2是基于(4,2)路KA分解的乘法器的高能级结构示意图;
图3是本发明的数位串行次二元乘法结构示意图;
图4是本发明的基于控制字的分解操作数生成电路图;
图5是本发明的次数调整电路图;
图6(a)是使用(b,2)路BKA分解的次级字乘法器结构图;
图6(b)是共享EP的次级字乘法器结构图;
图7是本发明的可重构的快速并行乘法器结构图。
具体实施方式
下面结合附图说明及具体实施方式对本发明进一步说明。
利用附图1所示的多路KA(Karatsuba Algorithm)和(b,2)路BKA(BivariateKaratsuba Algorithm)算法来获得GF(2m)上的一个可重构乘法器,其中域上元素由SPB(Shifted polynomial basis)来表示。设域上元素可以表示为A=A0+A1xn+A2x2n,其中
且Ai=ai,0+ai,1x+…ai,n-1xn-4,0≤1≤2,,0≤j≤n-1。设GF(2m)由m次不可约多项式F(x)构成。对于A,B∈GF(2m),乘积C=x-vABmodF(x)可以表示为:
其中A3=A0+A1,A4=A0+A2,A5=A1+A2,
B5=B0+B1,B4=B0+B2,B6=B1+B2
由公式(2)可以得到乘积C包括六个部分积:
C0=A0B0,C1=A1B1,C2=A2B2,C5=A5B5,C4=A4B4和C6=A6B6。
根据下面的关系从A和B中产生分解操作数Ai和Bi,i=0,1,...,5:
Ai=(si,00A0+si,01A1+si,02A2)+(si,10A0+si,11A1+si,12A2) (2)
Bi=(si,00B0+si,01B1+si,02B2)+(si,10B0+si,11B1+si,12B2) (3)
其中Si,0=(si,00,si,01,si,02)和Si,1=(si,10,si,11,si,12)被用于决定分解操作数Ai和Bi。每个部分积Ci=AiBi都需要和一个稀疏多项式Pii=0,1,...,5,P0=1+xn+x2n,P1=xn+x2n+x3n,P2=x2n+x3n+x4n,P3=xn,P4=x2n和P5=xsn。这些部分积按C0,C1,C2,C3,C4,C5的顺序计算,然后与对应的稀疏多项式相乘,并相加求和来得到经过缩减的中间结果。
可重构操作数产生电路利用表1(a)和(b)中的六对控制字(Si,0,Si,1)从每个操作数中产生六个分解操作数。设Ai表示在第i次循环时从A中获得的第i个分解操作数。根据公式(2),使用Si,0=(si,00,si,01,si,02)和Si,1=(si,10,si,11,si,12)(分别是表1(a)和(b)中的第i行向量)来产生分解数Ai。如表1(a)和表1(b)所示,每行最多有一个“1”,因此,操作数产生电路可以简化如附图4所示。在附图4中,MUX1和MUX2作为控制字,分别使用Si,0和Si,1从0,A0,A1,A2中选择一个,将两个选中的A的次级字相加来得到分解操作数Ai。例如,在表1中,在1=3时Si,0和Si,1分别是(100)和(010)。在MUX1中装入Si,0=(100)来产生输出A0,在MUX2中装入Si,1=(010)来产生输出A1。将两个选中的次级字相加来得到分解操作数A0+A1。因为A和B的分解操作数结构相同,利用附图4也可以产生分解操作数Bi。
表1控制字表
如表1所示,使用本发明的可重构的快速并行乘法器和控制向量S1,0=(s1,00s1, 01s1,02),S1,1=(s1,10,s1,11,s1,12)和Si,2=(si,20,si,22,si,24)可以计算出公式(1)中的六个部分积Ci,其中控制向量和部分积中的i是相对应的。这一对控制字Si,0和Si,1用于产生六对与A和B相对应的分解操作数。使用公式(1)中每组稀疏多项式权值的表达式来产生用于计算部分积CiPi的控制字Si,2。例如,为计算公式(1)中的第二组,C1(=A1B1)与多项式权值P1-xn+x2n+xRn。如表1所示,对于三个控制向量Si,0,Si,1,Si,2,为方便计算公式(1)中的第二组,在三个子表的第二行,分别有(010),(000)和(01110)。在控制单元,表1的三个子表中的控制字存放在一个循环移位寄存器中,用于在连续的时钟周期里按顺序产生公式(1)中不同组。
设两个n次多项式A和B通过如附图4所示的操作数生成电路分解,基于本发明所提出的(b,2)路BKA分解法,如附图2所示,用位的多项式B和n(=bt)位的多项式A来构造一个单独的BKA乘法器。因此,假设选择的数位大小为n-1次的多项式B表示为:B=B0+B1xd+…+Bp-1xd(p-1),其中其中是B中的第i+1位,多项式A的二元多项式表示由公式(5)给出。于是AB的乘积可以表示为:
A=a0+a1x+…+an-1xn-1=A(x,xq) (6)
附图3显示了用于计算公式(4)的数位串行乘法器结构,使用(b,2)路BKA分解和MSD先行乘法演算法来计算每个部分积ABi。附图3所示的数位串行乘法器包括三个单元(BKA乘法器,基底转换和累加)。如附图2所示,BKA乘法器单元是迭代使用(b,2)路BKA分解构造而成的。基底转换部分是基于公式(6)来将基底从二元多项式转换成原始多项式表示。累加单元由(n+d-1)个XOR门组成,用于计算当前部分积AiBi与以前累加结果C的和并将结果存储成寄存器<C>中。根据公式(4),本发明提出的快速并行乘法器需要个时钟周期来完成计算AB,其中每个周期持续T=TA+(1+3)logb nTx,TA和TX分别是一个AND门与一个XOR门最坏的传播延迟。
表2 n=bi时的多种次级二元乘法器与教科书乘法器的性能比较
注:d是选中数位大小
表2列出了本发明的乘法器和现有的次级二元乘法器的性能比较。为公平比较,表2没有包含不可约多项式降阶模块的复杂度。两个传统的次级二元乘法器分别基于二路和三路KA分解来得到位并行乘法器,但是它们不适合执行位串行乘法结构。本发明的(4,2)路和(6,2)路BKA分解适合执行位串行乘法器。如表2所示,本发明的使用(4,2)路和(6,2)路的乘法器分别需要和的空间复杂度,而使用二路分解法的传统次级二元乘法器需要的空间复杂度。另外,如表2所示,本发明的乘法器的时间复杂度明显小于当数位大小为时需要的教科书数位串行乘法器。
如附图2所示的BKA乘法器,每个通过BKA分解构造的部分积C1=A1B1可以由C1=R(PWM(EP1(A1),EP2(B1)))计算得到。为并行地计算所有的部分积C1,其中0≤1≤p-1,附图6(a)所示的次级字乘法器包括p个BKA乘法器和一个加法树。在附图6(a)中,每个BKA乘法器由C1=R(PWM(EP1(A1),EP2(B1)))计算,而加法树计算p个BKA乘法结果的和,即C=C0+C1xd+…+Cp-1xd(F-1)。由于所有BKA乘法器都有相同的EP1(A)电路组件,次级字多项式乘法器可以重新组合如附图6(b)所示。
现在,通过下面的方法来评估附图6(b)中的次级字多项式乘法器的复杂度。
假设附图6(b)中的次级字多项式乘法器由(4,2)路BKA分解实现,其中n=4i,它需要个AND门和个XOR门,关键路径所需延迟为
证明:基于(4,2)路分解的BKA乘法器的复杂度,包括个AND门和个XOR门,需要延迟为TA+3log4nTX。由附图2可知EP1单元包括个XOR门。根据附图6,次级字多项式乘法器需要个BKA乘法器和一个加法树。每个BKA乘法器产生位的乘积字。因此,加法树使用门来计算p个BKA乘法器相加的结果,需要log2p Tx的延迟。次级字多项式乘法器总共需要个AND门和个XOR门,需要TA+(3log4n+log2p)Txr的延迟。使用这些值可以总结这个乘法器需要个AND门,个XOR门及的延迟。
相似地,根据下面的方法可以评估基于(6,2)路BKA分解的次级字多项式乘法器。
假设附图6(b)中的次级字多项式乘法器由(6,2)路BKA分解实现,其中n=6i。它需要个AND门和个XOR门,关键路径所需延迟为
部分积Ci次级字多项式乘法器由附图6(b)得到,将Ci分成两部分并表示为:Ci是一个(2n-1)位的多项式,而和都是至多n位的多项式。根据表1(c)所示的控制向量,对于每个部分积结果Ci的次数调整操作可以表示为:
其中
的值和之前累加结果D相加,加法输出存放在暂存器<D>中。如附图5所示,使用附图5所示的电路来实现3路KA的次数调整操作。
下面的方法可以用来评估附图5中次数调整电路的时间和空间复杂度。假设使用d路KA算法来实现次数调整操作,附图5中的次数调整电路需要的空间复杂度为(2m-1)个AND门和个XOR门,关键路径延迟为2TX+TA。
经过次数调整操作,得到的结果D是一个(2m-1)位的多项式。D中最重要的(m-1)组通过利用不可约多项式F(x)的次数少于m的多项式递归地减少来获得C=x-vDmodF(x),其中C=x-vDmodF(x)可以表示为:C=[In×m|Q][d0,d1,...,d2m-2]T,其中Q是与不可约多项式F(x)相关的降阶矩阵。对于任意一般降阶多项式F(x),最终降阶多项式(FPR)模块需要H(Q)个XOR门,关键路径延迟总计为log2(θ+1)Tx,其中H(Q)是降阶矩阵Q的汉明权值,θ是矩阵Q的列向量中的最大汉明权值。对于NIST推荐的椭圆曲线的不可约多项式,表3列出了它们在FPR模块的复杂度。
定义D=(D1+D0 x-v+D2xm),其中假设有限域由不可约多项式P(x)=xm+xn+1,当v=n时,乘积可以得到:
C=(D0+D1+D2)+D2xn+D0xm-n (7)
其中
因此,三项多项式的FPR需要2m-2个XOR门和2TX的延迟。
算法1用于实现本发明的可重构快速并行乘法器。
在这个算法中,第四步和第五步分别用于分解次级字多项式和第六步是利用附图6(b)所示的次级字乘法电路来执行次级字乘法;第七步是利用附图5所示的次数调整电路来实现次数调整的操作;最后第九步进行最终多项式重构FPR。附图7是根据算法1的使用可重构硬件实行的快速并行乘法器,其中不同的操作数由控制向量S0、S1、S2实现的不同的配置来生成。本发明提出的快速并行乘法器包括控制单元、暂存器、可重构分解操作数生成电路(如附图4所示),次级字多项式乘法器(如附图6b所示),次数调整电路(如附图5所示)和FPR电路。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (4)
1.一种可重构的快速并行乘法器,其用于实现GF(2m)域上的乘法,GF(2m)域上的A和B具有A=A0+A1xn+A2x2n的形式,其中,则GF(2m)域上乘积C可表示为C=x-v AB mod F(x),F(x)为m次不可约多项式,其特征在于:所述乘法器包括控制单元、暂存器、可重构分解操作数生成电路、次级字多项式乘法器、次数调整电路和最终多项式重构FPR电路;其中,控制单元输出控制向量S0、S1、S2,Si,0=(si,00,si,01,si,02),Si,1=(si,10,si,11,si,22),Si,2=(si,20,si,21,si,22,si,23,si,24);控制向量S0、S1用于控制两个可重构分解操作数生成电路以相同的方法分别产生A1和B1,Ai=(si,00A0+si,01A1+ssi,02A2)+(si,10A0+si,11A1+si,12A2);所述次级字多项式乘法器用于产生C1=A1B1;控制向量S2用于控制所述次数调整电路产生D=D+(si,20+si,21xn+si,22x2n+si,23x3n+si,24x4n)Ci存储于暂存器中,
i=0,1,…,5;所述FPR电路用于产生最终结果C=Dx-vmod F(x)。
2.根据权利要求1所述的快速并行乘法器,其特征在于:所述控制向量S0、S1为:
3.根据权利要求1所述的快速并行乘法器,其特征在于:所述控制向量S2为:
4.根据权利要求1所述的快速并行乘法器,其特征在于:所述快速并行乘法器应用于加密处理单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410152508.3A CN103942027B (zh) | 2014-04-16 | 2014-04-16 | 一种可重构的快速并行乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410152508.3A CN103942027B (zh) | 2014-04-16 | 2014-04-16 | 一种可重构的快速并行乘法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942027A CN103942027A (zh) | 2014-07-23 |
CN103942027B true CN103942027B (zh) | 2017-06-06 |
Family
ID=51189707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410152508.3A Expired - Fee Related CN103942027B (zh) | 2014-04-16 | 2014-04-16 | 一种可重构的快速并行乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942027B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239279A (zh) * | 2014-09-10 | 2014-12-24 | 哈尔滨工业大学深圳研究生院 | 一种乘法器 |
CN106484366B (zh) * | 2016-10-17 | 2018-12-14 | 东南大学 | 一种二元域位宽可变模乘运算器 |
CN106873942B (zh) * | 2017-01-05 | 2019-03-15 | 阜阳师范学院 | 结构量计算机的msd乘法计算的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650644A (zh) * | 2009-04-10 | 2010-02-17 | 北京邮电大学 | 一种伽罗华域乘法器实现装置 |
US8347192B1 (en) * | 2010-03-08 | 2013-01-01 | Altera Corporation | Parallel finite field vector operators |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI370388B (en) * | 2008-10-30 | 2012-08-11 | Ind Tech Res Inst | Semi-sequential galois field multiplier and the method for performing the same |
-
2014
- 2014-04-16 CN CN201410152508.3A patent/CN103942027B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650644A (zh) * | 2009-04-10 | 2010-02-17 | 北京邮电大学 | 一种伽罗华域乘法器实现装置 |
US8347192B1 (en) * | 2010-03-08 | 2013-01-01 | Altera Corporation | Parallel finite field vector operators |
Non-Patent Citations (4)
Title |
---|
GF(2m)上的一种可并行快速乘法器结构;马自堂,等.;《计算机工程与应用》;20091231;第45卷(第35期);59-61,90 * |
Jeng Shyang Pan,et al..Low-Latency Digit-Serial and Digit-Parallel Systolic multipliers for Large Binary Extension Fields.《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS》.2013,第60卷(第12期), * |
Scalable and systolic Montgomery multiplier over GF(2m) generated by trinomials;C.-Y. Lee,et al.;《IET Circuits Devices Syst.》;20071231;第1卷(第6期);477-484 * |
袁丹寿,等..一种并行的有限域乘法器结构.《上海交通大学学报》.2005,第39卷(第4期), * |
Also Published As
Publication number | Publication date |
---|---|
CN103942027A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
von zur Gathen et al. | Efficient FPGA-based Karatsuba multipliers for polynomials over | |
Kim et al. | FPGA implementation of high performance elliptic curve cryptographic processor over GF (2163) | |
Liu et al. | A design and implementation of montgomery modular multiplier | |
CN103942027B (zh) | 一种可重构的快速并行乘法器 | |
Lee et al. | Digit-serial versatile multiplier based on a novel block recombination of the modified overlap-free Karatsuba algorithm | |
CN107992283B (zh) | 一种基于降维实现有限域乘法的方法和装置 | |
Lee et al. | Efficient hardware implementation of large field-size elliptic curve cryptographic processor | |
CN113467754A (zh) | 一种基于分解约简的格加密模乘运算方法及架构 | |
Fournaris et al. | Affine coordinate binary edwards curve scalar multiplier with side channel attack resistance | |
Lee et al. | Area-efficient subquadratic space-complexity digit-serial multiplier for type-II optimal normal basis of $ GF (2^{m}) $ using symmetric TMVP and block recombination techniques | |
Liu et al. | Efficient digit-serial KA-based multiplier over binary extension fields using block recombination approach | |
Surendran et al. | Implementation of fast multiplier using modified Radix-4 booth algorithm with redundant binary adder for low energy applications | |
Liu et al. | A high speed VLSI implementation of 256-bit scalar point multiplier for ECC over GF (p) | |
Abdelhamid et al. | Applying the residue number system to network inference | |
Li et al. | Fast hybrid Karatsuba multiplier for type II pentanomials | |
Kadu et al. | Hardware implementation of efficient elliptic curve scalar multiplication using vedic multiplier | |
El-Razouk et al. | Novel $ GF\left (2^{m}\right) $ G F 2 m Digit-Serial PISO Multipliers for the Self-Dual Gaussian Normal Bases | |
CN112631546A (zh) | 基于ko-8算法的高性能模乘器 | |
CN114594925A (zh) | 适用于sm2加密运算的高效模乘电路及其运算方法 | |
Wu et al. | A novel modular multiplier for isogeny-based post-quantum cryptography | |
Lee et al. | Efficient subquadratic space complexity digit-serial multipliers over gf (2 m) based on bivariate polynomial basis representation | |
CN113672196A (zh) | 一种基于单数字信号处理单元的双乘法计算装置和方法 | |
Yang et al. | Optimized FPGA Implementation of Elliptic Curve Cryptosystem over Prime Fields | |
Wen et al. | A Length-Scalable Modular Multiplier Implemented with Multi-bit Scanning | |
Mozhi et al. | Efficient bit-parallel systolic multiplier over GF (2 m) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170606 Termination date: 20190416 |
|
CF01 | Termination of patent right due to non-payment of annual fee |