CN101901127B - 一种迦罗华域乘法器 - Google Patents
一种迦罗华域乘法器 Download PDFInfo
- Publication number
- CN101901127B CN101901127B CN2009101427130A CN200910142713A CN101901127B CN 101901127 B CN101901127 B CN 101901127B CN 2009101427130 A CN2009101427130 A CN 2009101427130A CN 200910142713 A CN200910142713 A CN 200910142713A CN 101901127 B CN101901127 B CN 101901127B
- Authority
- CN
- China
- Prior art keywords
- galois field
- xor
- output
- multiplier
- group
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7209—Calculation via subfield, i.e. the subfield being GF(q) with q a prime power, e.g. GF ((2**m)**n) via GF(2**m)
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种迦罗华域乘法器,包括:乘法电路,用于输入两个具有m位的二进制乘数,输出其乘积,其中,所述乘法电路的输出包括高位输出与低位输出,m为2的整数次幂;存储器,用于存储根据选择的迦罗华域本原多项式计算出的迦罗华域乘法系数组;第一模块,用于将所述乘法电路的输出与所述存储器存储的迦罗华域乘法系数组进行运算,获得所述两个具有m位的二进制乘数的迦罗华域乘法的结果。该迦罗华域乘法器硬件面积小,响应时间小,通用性强。
Description
技术领域
本发明涉及通信领域使用的集成电路的设计,具体来说,涉及一种迦罗华域乘法器的集成电路设计。
背景技术
迦罗华域乘法器(Galois field multiplier)是一类特殊的乘法器,其所有的计算都是建立在有限域上的,因此也称有限域乘法器。迦罗华域乘法器在编码、纠错、加密等通信领域得到了广泛的应用。
有一些处理器可以实现迦罗华域乘法的功能,采用逻辑模块也可以进行迦罗华域乘法,或者传统的数字信号处理器也可以被用于实现迦罗华域乘法,但是这些方案上的迦罗华域乘法计算复杂,需要消耗大量的时间。鉴于其应用的广泛性,迦罗华域乘法器目前常常被实现为一个电路,一般为微电子集成电路,以期达到高效处理的目的。作为集成电路本身,设计者一般希望设计的电路面积越小越好,这样可以节省成本。
现有技术中,迦罗华域乘法器的集成电路设计主要包括Bit-serial、digit-serial和Bit parallel三种方法。
Bit-serial和digit-serial方法指在迦罗华域乘法器输入乘数与被乘数时,按照位为单位串行输入。其优点为硬件面积、设计复杂度小,当计算GF(2m)的乘法时,Bit-serial和digit-serial两种方法的逻辑面积为O(m),但Bit-serial方法的乘法输出结果的响应时间(latency)较大,为m个时钟周期。
Bit parallel方法指在Galois域乘法器输入乘数与被乘数时,按照实际乘数与被乘数位宽并行输入。其优点为乘法输出结果的响应时间(latency)较小,仅为1个时钟周期,但硬件面积大,设计复杂度大,当计算GF(2m)的乘法时,Bit-Parallel方法的logic面积为O(m2)。但是 现有的Bit-parallel一般针对特定的本原多项式进行优化,并且很多方案主要集中在三项多项式,即本原多项式,P(x)=x4+x+1,这样的设计缺乏通用性。
因此,需要设计一种硬件面积小,设计简单,响应时间小,并且具有通用性的迦罗华域乘法器。
发明内容
为了克服背景技术中设计的迦罗华域乘法器的不足,本发明提供了一种迦罗华域乘法器,该迦罗华域乘法器硬件面积小,响应时间小,通用性强。
根据本发明的一个方面,提供了一种迦罗华域乘法器,包括:乘法电路,用于输入两个具有m位的二进制乘数,输出其乘积,其中,所述乘法电路的输出包括高位输出与低位输出,m为2的整数次幂;存储器,用于存储根据选择的迦罗华域本原多项式计算出的迦罗华域乘法系数组;第一模块,用于将所述乘法电路的输出与所述存储器存储的迦罗华域乘法系数组进行运算,获得所述两个具有m位的二进制乘数的迦罗华域乘法的结果。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施例方式中的相同部件。
图1示意性地示出了一种迦罗华域乘法器的电路;
图2示意性地示出了一种求取两个具有m位的二进制乘数乘积的乘法电路;以及
图3示意性地示出了图2中第三模块的更具体实施方式。
具体实施方式
将参照附图更加详细地描述本发明的优选实施方式,在附图中显示了本发明的优选实施例。然而,本发明可以以各种形式实现而不应该理解为被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且,完全将本发明的范围传达给本领域 的技术人员。
为了更好地理解本发明,这里首先给出一些迦罗华域乘法基本知识。
迦罗华域GF(x)是一组在其上可进行二进制运算的元素,加法和乘法必须满***换律、结合律和分配律。
迦罗华域上的乘法被定义为:
Mod{AB/P(x)} (1)
其中,A与B为两个乘数,AB表示这两个数相乘,P(x)为迦罗华域的本原多项式。x为迦罗华域的本原元。Mod表示求模计算。
以下为了叙述方便,所有AB或A·B的形式都表示两个数的传统乘法,只有Mod{AB/P(x)}才表示迦罗华域上的乘法,本说明书不再逐一解释。
现有技术中有若干方法用于实现迦罗华域乘法,本发明关注其电路的实现。电路实现的好处在于速度更快,在通信的编码、加密、纠错等领域需要更快的响应速度,只有应用电路的实现才能达到要求。
如果A与B均为m位的二进制数,并且
A=am-1am-2......a1a0 ai∈{0,1}且i∈{0,1,......m-1} (2)
B=bm-1bm-2......b1b0 bi∈{0,1}且i∈{0,1,......m-1} (3)
即A与B均可以表示为每个二进制的位排列,每个位或者为0或者为1,m在计算机领域,比较常见的是8,16,32,64,128,256等,一般为2的整数次幂。
根据迦罗华域乘法,A与B可以表示为:
A=xm/2(x(m/2)-1am-1+...+am/2)+(x(m/2)-1a(m/2)-1+...+a0)
=xm/2Ah+Al (4)
B=xm/2(x(m/2)-1bm-1+...+bm/2)+(x(m/2)-1b(m/2)-1+...+b0)
=xm/2Bh+Bl (5)
其中,Al与Ah分别表示A的低位部分和A的高位部分,Bl与Bh分别表示B的低位部分和B的高位部分,x仍为迦罗华域的本原元。
在把迦罗华域复杂计算转变到计算机领域时,由于计算机中采用2进制,迦罗华域的本原元x取值为2,此时,迦罗华域上的加法等同于“异或”运算。因此,本发明的加号都表示“异或”运算。以下本发明中的迦罗华域乘法器都是x=2的迦罗华域乘法器。
这样,在上述(4)式和(5)式中,分别把一个m位的二进制数表示为低m/2位的二进制部分与高m/2位的二进制部分左移m/2位后的异或值。
在二进制领域的迦罗华域乘法器设计中,发明人借鉴了软件设计中的分治策略。当人们求解某些问题时,由于这些问题要处理的数据多,或求解过程复杂,使得直接求解法在时间上过长,或者根本无法直接求出。对于这类问题,技术人员往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些子问题还较大,难以解决,可以再把它们分成几个更小的子问题,以此类推,直至可以直接求出解为止。这就是分治策略的基本思想。
基于分治策略的基本思想,在计算迦罗华域上的乘法Mod{AB/P(x)}时,将其分解为两个问题:首先求取AB,然后根据选择的迦罗华域的本原多项式P(x),求模得到需要的迦罗华域乘法结果。
在考虑求取AB时,如果定义
D0(x)=Al(x)Bl(x)
D1(x)=[Al(x)+Ah(x)][Bl(x)+Bh(x)]
D2(x)=Ah(x)Bh(x) (6)
其中,Al(x)与Ah(x)分别表示A的低位部分和A的高位部分,Bl(x)与Bh(x)分别表示B的低位部分和B的高位部分,本发明中,Al(x)与Al在迦罗华域上含义是相同的,本发明中对此不加区别,表示相同的含义,同样,Bl(x)与Bl在迦罗华域上含义也是相同的,本发明中对此也不加区别,表示相同的含义,(同理,本发明中,D0(x)与D0,D1(x)与D1,D2(x)与D2也都是相同的,不加区别使用)即假设A为16位的二进制数,Al(x)表示A的低8位,Ah(x)表示A的高8位,B同理。则根据(4)(5)(6)式,可得到:
AB=D0(x)+xm/2[D1(x)+D0(x)+D2(x)]+xmD2(x)
=(f2m-2x2m-2+...+fmxm)+(fm-1xm-1+...+f0) (7)
其中,f2m-1,...fm,fm-1,...f0为展开后的系数,即为乘积AB的每一比特位的值。例如,如果乘积AB为二进制数10101,当x=2时,可以用1×24+0×23+1×22+0×21+1×20来表示该二进制数,则f2m-1,...fm,fm-1,...f0分别对应各个系数,就是每个比特位的值。
以下为(7)式的证明过程:
AB=AlBl+xm/2[AhBl+AlBh]+xmAhBh
D0(x)+xm/2[D0(x)+D1(x)+D2(x)]+xmD2(x)=AlBl+xm/2[D0(x)+D1(x)+D2(x)]+xmAhBh
D0(x)+D1(x)+D2(x)=AlBl+AhBh+[AlBl+AhBh+AlBh+AhBl]=AlBh+AhBl
因为对于异或操作AlBl+AhBh+AlBl+AhBh=0
AlB1+AhBh+AlB1+AhBh=0
所以
D0(x)+xm/2[D1(x)+D0(x)+D2(x)]+xmD2(x)=AlB1+xm/2[AhBl+AlBh]+xmAhBh
那么(1)式可以表示为
P(x)通常被表示为P(x)=xm-1+xm-2+...+1,系数fm-1,...f0或者为0,或者为1,可知fm-1xm-1+...+f0≤P(x),则 即对于迦罗华域乘积的小于m的系数的部分,对P(x)求模的结果等于该部分。
以下定义迦罗华域乘法系数组F为:
那么每个F就可以基于一个给定的本原多项式提前计算,这样求迦罗华域的乘法就变为对下式求模。
Mod{AB/P(x)}=(f2m-2F2m-2+...+fmFm)+(fm-1xm-1+...+f0) (10)
上述分析中,(7)式对于分治策略是一个重要的式子,该式的前 半部分给出了乘积(AB)的一种计算方式。
关于迦罗华域的本原多项式P(x)的选取问题,文献中给出若干P(x)的式子,例如在美国专利US6766345B2(Galosis Field MultiplierSystem)中给出了若干P(x)的待选式子,对于给定的m,可能存在多于一个的本原多项式。一个常在大多数通信标准中使用的m=8的本原多项式P(x)=x8+x4+x3+x2+1。
这样,将x=2带入本原多项式,就可以计算本原多项式的值,从而可以计算出(9)式的所有系数。
根据上述分析,结合分治策略,本发明首先利用式(7)设计求取乘积(AB)的电路,然后将式(9)中计算出的系数F利用式(10)设计求取Mod{AB/P(x)}的电路。
本发明的电路设计中,A与B两个乘数的位数m是已知的,该电路原理上适用m为任何值的二进制数,但是,具体设计好的电路中,m值是固定的,该电路不能计算任何位数大于m的乘数的迦罗华域乘积。
图1示意性地示出了一种迦罗华域乘法器的电路。根据图1,所述迦罗华域乘法器的电路包括:乘法电路,用于输入两个具有m位的二进制乘数,输出其乘积,其中,所述乘法电路的输出包括高位输出与低位输出;存储器,用于存储根据选择的迦罗华域本原多项式计算出的迦罗华域乘法系数组;第一模块M1,该第一模块M1用于将所述乘法电路的输出与所述存储器存储的迦罗华域乘法系数组进行运算,获得所述两个具有m位二进制乘数的迦罗华域乘法的结果。
具体来说,根据式(10),第一模块用于将所述乘法电路的高位输出的每个位与所述存储器存储的迦罗华域乘法系数组中对应的乘法系数进行“与”运算后,将全部“与”运算的结果进行异或操作后,再对所述异或操作结果与所述乘法电路的低位输出进行异或操作,获得两个乘数的迦罗华域乘法的结果。
在一种实施方式中,所述用于存储根据选择的迦罗华域本原多项式计算出的迦罗华域乘法系数组的存储器可以使用移位寄存器计算出迦罗华域乘法系数组的结果并存储来实现;也可以预先计算出迦罗华 域乘法系数组的结果,然后采用存储器阵列来存储;或者使用本领域技术人员可以想到的任何方法。所述迦罗华域乘法系数组包含m-1个迦罗华域乘法系数,每个系数为m位的二进制数。
在另外一个实施方式中,该第一模块包括多个与门以及多个异或门,所述多个与门被分成至少m-1个与门组,每个与门组至少有m个与门,每个与门组用于实现迦罗华域乘法系数组中的一个迦罗华域乘法系数与所述乘法电路的高位输出的逐位与运算。进一步地,该第一模块的多个异或们被分成两组,每组至少有m个异或门。其中,第一组的至少m个异或门的一个异或门接收上述每个与门组的对应位输出作为其输入,输出该至少m个与门组输出的对应位的异或结果,第二组的m个异或门的每一个用于将第一组的异或门的每一个的输出与所述乘法电路的低位输出的对应位进行异或操作,输出迦罗华域乘法结果的每一位。对应图1,第一个与门组的每个与门对迦罗华域乘法系数F2m-2的每个位与乘法电路的高位输出的每个位作“与”操作;该与门组的其它与门功能依次类推;第一异或门组的第一异或门的输入为每个与门组的第一与门的输出,输出所有对应位的异或结果,第一异或门组的其它异或门功能类似。第二异或们组的第一异或门,接收第一异或门组的第一异或门的输出以及乘法电路的低位输出的对应位作为输入,输出它们的异或操作结果,第二异或们组的其它异或门功能类似。
这里,第一组异或门的输出是(f2m-2F2m-2+...+fmFm),第二组异或门的输出是(fm-1xm-1+...+f0)+(f2m-2F2m-2+...+fmFm),其中第一组输出的f2m-2F2m-2就是用f2m-2与F2m-2作“与”操作.
上述具体实施方式只是所述第一模块的一种具体的实施方式,该实施方式设计成集成电路时,硬件面积小,响应快,通用性强。当然,本领域技术人员可以知道,还可以采用其他的方式实施第一模块,例如,采用数字逻辑,或者采用DSP芯片进行上述运算。
图1中没有给出具体的乘法电路,本领域技术人员可以采用现有的任何一个乘法电路来实现本发明,都可以实现本发明的发明目的。 这里,发明人给出了一种更具体的求取两个乘数的乘积的乘法电路。
图2示意性地示出了一种求取两个具有m位的二进制乘数乘积的乘法电路,也就是本发明所述的乘法阵列。根据式(7),在图2中,定义D0(x)为低位乘积信号;D1(x)为混位乘积信号,D2(x)为高位乘积信号,图2的乘法电路包括第一乘法器M2、第二乘法器M3、第二模块M4,第三异或门组和第三模块M5;其中该第一乘法器接收要进行迦罗华域乘法的两个乘数的低位部分Al和Bl,输出该两个乘数的低位乘积信号D0=AlBl;该第二乘法器接收要进行迦罗华域乘法的两个乘数的高位部分Ah和Bh,输出该两个乘数的高位乘积信号D2=AhBh;第二模块接收要进行迦罗华域乘法的两个乘数的低位部分Al和Bl和高位部分Ah和Bh,分别将所述要进行迦罗华域乘法的该两个乘数的低位部分和高位部分进行异或运算,并输出对异或运算的结果进行乘法运算的混位乘积信号D1=[Al+Bl][Ah+Bh];定义Q=D1(x)+D0(x)+D2(x)为混合异或信号,第三异或门组用于对混位乘积信号、低位乘积信号和高位乘积信号进行异或操作,输出混合异或信号。第三模块用于接收低位乘积信号、高位乘积信号、以及混合异或信号,2m/2Q相当于将混合异或信号Q左移m/2位;2mD2(x)相当于将高位乘积信号D2(x)左移m位,在此,由于是二进制计算,第三模块将高位乘积信号D2(x)左移m位,将混合异或信号Q左移m/2位后,将左移m位后高位乘积信号D2(x)、左移m/2位后的混合异或信号以及低位乘积信号D0(x)进行异或操作后输出,即输出为两个乘数的乘积。
在一种实施方式中,参考图2,第二模块M4包含第一异或门、第二异或门,以及第三乘法器。其中,第一异或门接收要进行迦罗华域乘法的两个乘数的低位部分Al和Bl,输出该两个低位的异或值;第二异或门接收要进行迦罗华域乘法的两个乘数的高位部分Ah和Bh,输出该两个高位的异或值;第三乘法器接收第一异或门和第二异或门的输出,并将第一异或门和第二异或门的输出相乘后输出混位乘积信号。
在另一种实施方式中,图2中的第三模块包括两个移位器,其中第一移位器用于将高位乘积信号D2(x)左移m位后输出,第二移位器用于将混合异或信号Q左移m/2位后输出;以及第四异或门组,该异或门组用于将第一移位器的输出,第二移位器的输出以及第一乘法器的输出进行异或操作后输出,组成了第三模块的输出,即输出为两个乘数的乘积。
图3示意性地示出了图2中第三模块的另外一种更具体实施方式。在图中,第三模块的第四异或门组采用了至少m-2个异或门来实现,其中,m/2-1个异或门用于将混和异或信号的高位与高位乘积信号的低位进行异或操作;另外m/2-1个异或门用于将混合异或信号的低位与低位乘积信号的高位进行异或操作。具体来说,第三模块的输出是由其高位、次高位、中位、次低位和低位组成,这里除中位只包含1位外,其余均为多个位。具体来说,高位为D2(x)的m-2到m/2-1位;次高位为Q的m-2到m/2位与D2(x)的m/2-2到0位逐位作“与”操作的输出;中位为Q的m/2-1位;次低位为Q的m/2-2到0位与D0(x)的m-2到m/2位逐位作“与”操作的输出;低位为D0(x)的m/2-1到0位。
图2和图3都只是一种优选的计算乘积AB的电路,本领域技术人员可以知道,有若干种电路可以用于计算乘积AB,这些电路都可以被用于实现本发明的迦罗华域乘法器。
对于均为m位的A与B,其乘积AB为2m-1个位。因此,乘积AB的电路输出包含2m-1个位。
由上述电路的说明可以看出,本发明本质上是一种Bit Parallel方法,本发明是通过先计算出和本原多项式相关的系数并存储,这样与现有的Bit Parallel设计相比,不仅可以减少响应时间,而且可以减少硬件电路的面积,同时,由于本原多项式可以事前计算,选择任何本原多项式都可以采用本发明,因此,本发明具有最大的通用性。
本发明可以实现为普通电路,也可以实现为集成电路的一个模块,甚至可以独立做成一个集成电路芯片。
发明人采用IBM半导体生产工艺中的Cu-08库已经实现了本发明的迦罗华域乘法器,使用该工艺设计出的32位的迦罗华域乘法器,很容易达到300MHz的频率,性能是比较领先的。表1示出了使用本发明设计出的迦罗华域乘法器和乘法阵列的一些性能参数。
根据表1,本发明设计出的迦罗华域乘法阵列面积增长的趋势为3倍,即每乘数的位数增加一倍,迦罗华域乘法阵列为原来面积的3倍,可见乘法阵列面积的增长趋势是线性的,并且,响应时间的增长趋势也是线性的,而且,每当乘数的位数增加一倍,响应时间只增加了一点点,说明本发明的设计是非常成功的设计。虽然整个迦罗华域乘法器的面积增长呈O(m2)关系,即GF(64)大约为GF(32)的4倍,GF(128)为GF(64)的4倍,依次类推;但是响应时间的增长趋势仍然是线性的。
表1.使用本发明设计出的迦罗华域乘法器和乘法阵列的一些性能参数
乘法阵列 | 面积(μm×μm) | 响应时间(ns) |
GF(256)_array | 299731 | 5.12 |
GF(128)_array | 96997 | 4.27 |
GF(64)_array | 30899 | 3.4 |
GF(32)_array | 9597 | 2.71 |
GF(16)_array | 2856 | 2.01 |
乘法器 | 面积(μm×μm) | 响应时间(ns) |
GF(256) | 1459890 | 5.6 |
GF(128) | 480145 | 4.8 |
GF(64) | 161437 | 3.74 |
GF(32) | 37700 | 2.63 |
虽然这里参照附图描述了本发明的示例性实施例,但是应该理解本发明不限于这些精确的实施例,并且在不背离本发明的范围和宗旨的情况下,本领域普通技术人员能对实施例进行各种变化的修改。所有这些变化和修改意欲包含在所附权利要求中限定的本发明的范围中。
Claims (9)
1.一种迦罗华域乘法器,包括:
乘法电路,用于输入两个具有m位的二进制乘数,输出其乘积,其中,所述乘法电路的输出包括高位输出与低位输出,m为2的整数次幂;
存储器,用于存储根据选择的迦罗华域本原多项式计算出的迦罗华域乘法系数组;
第一模块,用于将所述乘法电路的输出与所述存储器存储的迦罗华域乘法系数组进行运算,获得所述两个具有m位的二进制乘数的迦罗华域乘法的结果,其中,所述第一模块进行的运算包括:将所述乘法电路的高位输出的每个位与所述存储器存储的迦罗华域乘法系数组中对应的乘法系数进行“与”运算后,将全部“与”运算的结果进行异或操作,再对所述异或操作结果与所述乘法电路的低位输出进行异或操作,获得两个乘数的迦罗华域乘法的结果;
其中,所述乘法电路包括第一乘法器、第二乘法器、第二模块,第三异或门组和第三模块,并且其中
该第一乘法器接收要进行迦罗华域乘法的两个具有m位的二进制乘数的低位部分,输出该两个乘数的低位乘积信号;
该第二乘法器接收要进行迦罗华域乘法的两个具有m位的二进制乘数的高位部分,输出该两个乘数的高位乘积信号;
该第二模块接收要进行迦罗华域乘法的两个具有m位的二进制乘数的低位部分和高位部分,分别将所述要进行迦罗华域乘法的两个乘数的低位部分和高位部分进行异或运算,对异或运算的结果进行乘法运算,并输出混位乘积信号;
该第三异或门组用于对混位乘积信号、低位乘积信号和高位乘积信号进行异或操作,输出混合异或信号;
该第三模块用于接收低位乘积信号、高位乘积信号、以及混合异或信号,将高位乘积信号左移m位,将混合异或信号左移m/2位,将所述左移m位的高位乘积信号、左移m/2位的混合异或信号及低位乘积信号进行异或操作后输出两个乘数的乘积。
2.根据权利要求1所述的迦罗华域乘法器,其中,该第一模块包括多个与门,所述多个与门被分成至少m-1个与门组,每个与门组至少有m个与门,每个与门组用于实现迦罗华域乘法系数组中的一个迦罗华域乘法系数与所述乘法电路高位输出的逐位“与”运算。
3.根据权利要求2所述的迦罗华域乘法器,其中,该第一模块还包括多个异或门,所述多个异或门被分成两组,每组至少有m个异或门,其中,第一组的m个异或门的一个异或门将上述每个与门组的对应位输出作为其输入,输出所述每个与门组的对应位的异或结果,第二组的m个异或门的每一个用于将第一组的异或门的每一个的输出,与所述乘法电路的低位输出的对应位进行异或操作,输出迦罗华域乘法结果的每一位。
4.根据权利要求1所述的迦罗华域乘法器,其中,该第二模块包含:
第一异或门,用于接收要进行迦罗华域乘法的两个具有m位的二进制乘数的低位部分,输出该两个乘数的低位的异或值;
第二异或门,用于接收要进行迦罗华域乘法的两个具有m位的二进制乘数的高位部分,输出该两个乘数的高位的异或值;
第三乘法器,用于接收第一异或门和第二异或门的输出,并将第一异或门和第二异或门的输出相乘后输出混位乘积信号。
5.根据权利要求1或4所述的迦罗华域乘法器,其中,该第三模块包括:
两个移位器,其中第一移位器用于将高位乘积信号左移m位,第二移位器用于将混合异或信号左移m/2位;以及
第四异或门组,该异或门组用于将所述第一移位器的输出、第二移位器的输出、以及第一乘法器的输出进行异或操作后输出两个乘数的乘积。
6.根据权利要求5所述的迦罗华域乘法器,其中,所述第三模块的第四异或门组采用了至少m-2个异或门来实现,其中,m/2-1个异或门用于将混和异或信号的高位与高位乘积信号的低位进行异或操作;另外m/2-1个异或门用于将混合异或信号的低位与低位乘积信号的高位进行异或操作。
7.根据权利要求6所述的迦罗华域乘法器,其中,所述第三模块的第四异或门组的输出是由其高位、次高位、中位、次低位和低位组成,其中除中位只包含1位外,其余均为多个位,高位为所述高位乘积信号的m-2到m/2-1位;次高位为所述混合异或信号的m-2到m/2位与所述高位乘积信号的m/2-2到0位逐位作“与”操作的输出;中位为所述混合异或信号的m/2-1位;次低位为所述混合异或信号的m/2-2到0位与所述低位乘积信号的m-2到m/2位逐位作“与”操作的输出;低位为所述低位乘积信号的m/2-1到0位。
8.根据权利要求1所述的迦罗华域乘法器,其中,所述用于存储根据选择的迦罗华域本原多项式计算出的迦罗华域乘法系数组的存储器使用移位寄存器计算出迦罗华域乘法系数组的结果并存储来实现。
9.根据权利要求1所述的迦罗华域乘法器,其中,所述用于存储根据选择的迦罗华域本原多项式计算出的迦罗华域乘法系数组的存储器预先计算出迦罗华域乘法系数组的结果,然后用存储器阵列来存储。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101427130A CN101901127B (zh) | 2009-05-31 | 2009-05-31 | 一种迦罗华域乘法器 |
US12/778,378 US20100306293A1 (en) | 2009-05-31 | 2010-05-12 | Galois Field Multiplier |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101427130A CN101901127B (zh) | 2009-05-31 | 2009-05-31 | 一种迦罗华域乘法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101901127A CN101901127A (zh) | 2010-12-01 |
CN101901127B true CN101901127B (zh) | 2012-07-25 |
Family
ID=43221469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101427130A Expired - Fee Related CN101901127B (zh) | 2009-05-31 | 2009-05-31 | 一种迦罗华域乘法器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100306293A1 (zh) |
CN (1) | CN101901127B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10338918B2 (en) | 2013-01-23 | 2019-07-02 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011006051A1 (en) * | 2009-07-09 | 2011-01-13 | Georgia Tech Research Corporation | Systems and methods for providing physical layer security |
US8650239B2 (en) * | 2009-09-08 | 2014-02-11 | Texas Instruments Incorporated | Hardware implementation of a Galois field multiplier |
US9569771B2 (en) | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
US9037564B2 (en) | 2011-04-29 | 2015-05-19 | Stephen Lesavich | Method and system for electronic content storage and retrieval with galois fields on cloud computing networks |
US9137250B2 (en) | 2011-04-29 | 2015-09-15 | Stephen Lesavich | Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks |
US9361479B2 (en) | 2011-04-29 | 2016-06-07 | Stephen Lesavich | Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks |
CN102710265A (zh) * | 2011-11-01 | 2012-10-03 | 记忆科技(深圳)有限公司 | 应用于bch解码器的优化方法及*** |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
CN105487938A (zh) * | 2015-11-30 | 2016-04-13 | 浪潮(北京)电子信息产业有限公司 | 一种gf乘法器、校验位生成装置、主控芯片及固态硬盘 |
US10326596B2 (en) * | 2016-10-01 | 2019-06-18 | Intel Corporation | Techniques for secure authentication |
WO2018118569A1 (en) | 2016-12-21 | 2018-06-28 | Cryptography Research, Inc. | Protecting parallel multiplication operations from external monitoring attacks |
CN110543291A (zh) * | 2019-06-11 | 2019-12-06 | 南通大学 | 有限域大整数乘法器及基于ssa算法的大整数乘法的实现方法 |
CN112286490B (zh) * | 2020-11-11 | 2024-04-02 | 南京大学 | 一种循环迭代乘加运算的硬件架构及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI253011B (en) * | 2004-10-13 | 2006-04-11 | Promise Technology Inc | Galois field multiplier and multiplication method thereof |
-
2009
- 2009-05-31 CN CN2009101427130A patent/CN101901127B/zh not_active Expired - Fee Related
-
2010
- 2010-05-12 US US12/778,378 patent/US20100306293A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10338918B2 (en) | 2013-01-23 | 2019-07-02 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
Also Published As
Publication number | Publication date |
---|---|
US20100306293A1 (en) | 2010-12-02 |
CN101901127A (zh) | 2010-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101901127B (zh) | 一种迦罗华域乘法器 | |
Jain et al. | Efficient semisystolic architectures for finite-field arithmetic | |
Cantor et al. | On fast multiplication of polynomials over arbitrary algebras | |
Strollo et al. | Elementary functions hardware implementation using constrained piecewise-polynomial approximations | |
Lee et al. | A Gaussian noise generator for hardware-based simulations | |
von zur Gathen et al. | Efficient FPGA-based Karatsuba multipliers for polynomials over | |
Chren | One-hot residue coding for low delay-power product CMOS design | |
CN102314330B (zh) | 一种复合有限域乘法器 | |
Abd-Elkader et al. | Efficient implementation of Montgomery modular multiplier on FPGA | |
Kumawat et al. | Design and comparison of 8× 8 Wallace Tree Multiplier using CMOS and GDI technology | |
Chren | PN code generator with low delay-power product for spread-spectrum communication systems | |
US6917218B2 (en) | Serial finite field multiplier | |
Liu et al. | Efficient digit-serial KA-based multiplier over binary extension fields using block recombination approach | |
Fisher | The Cassels–Tate pairing and the Platonic solids | |
US11818244B2 (en) | Cryptographic processor for fully homomorphic encryption (FHE) applications | |
Lin et al. | Scalable hardware-algorithms for binary prefix sums | |
US20060161610A1 (en) | Device and method for generating a sequence of numbers | |
Khan et al. | Design of 2× 2 vedic multiplier using GDI technique | |
CN108008934B (zh) | 一种基于查找表的复合有限域求逆装置 | |
CN100382012C (zh) | 一种操作数长度可伸缩的蒙哥马利模乘器运算方法 | |
Chen et al. | Scalable and systolic Montgomery multipliers over GF (2 m) | |
CN101216752B (zh) | 一种二元域乘法器 | |
CN101127575A (zh) | 一种均匀分布随机数发生器及均匀分布随机数产生方法 | |
Patil et al. | Create a 32-bit Vedic Multiplier and Compare it Against Other Multipliers Using A Carry Look-Ahead Adder | |
Nguyen et al. | An efficient hardware implementation of radix-16 Montgomery 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20150531 |
|
EXPY | Termination of patent right or utility model |