CN1608244A - 伽罗瓦域乘法/乘法一加法乘法累加 - Google Patents
伽罗瓦域乘法/乘法一加法乘法累加 Download PDFInfo
- Publication number
- CN1608244A CN1608244A CN02826084.8A CN02826084A CN1608244A CN 1608244 A CN1608244 A CN 1608244A CN 02826084 A CN02826084 A CN 02826084A CN 1608244 A CN1608244 A CN 1608244A
- Authority
- CN
- China
- Prior art keywords
- multiply
- galois field
- multiplication
- add
- circuit
- 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.)
- Granted
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
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)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
- Developing Agents For Electrophotography (AREA)
- Photoreceptors In Electrophotography (AREA)
- Noodles (AREA)
Abstract
一种伽罗瓦域乘法/乘法-加法/乘法-累加系统(10),包括一个将伽罗瓦域上的两个带系数的多项式相乘以获得乘积的乘法器电路;一个响应乘法器电路,预测该多项式乘积对一个不可约分多项式的模余数的伽罗瓦域线性变换电路;用来为伽罗瓦域线性变换器电路提供一组系数以对一个预定的不可约分多项式预测模余数的存储电路;以及一个伽罗瓦域加法器电路,在伽罗瓦域将乘法器电路的乘积与带系数的第三多项式相加,以在单个周期中执行乘法和加法运算。
Description
技术领域
本发明涉及一种在一个周期中能够执行乘法/乘法-加法/乘法累加运算的伽罗瓦域乘法/乘法-加法/乘法累加系统。
相关申请
本申请要求以下美国临时申请的优先权:Stein等人于2001年11月30日申请的标题为“GF2-ALU”的美国临时申请第60/334,662号(AD-239J);Stein等人于2001年12月18日申请的标题为“使用GF2-ALU的伽罗瓦域乘法加法(MPA)”的美国临时申请第60/341,635号(AD-299J);Stein等人于2001年12月18日申请的标题为“使用GF2-ALU和8路并行逻辑单元表的数据加密标准方法(DES)”的美国临时申请第60/341,711号(AD-297J),以及Stein等人于2001年11月30日申请的标题为“伽罗瓦域乘法器系统”的美国临时申请第60/334,510号(AD-240J)。
背景技术
在很多应用中都要用到伽罗瓦域乘法,乘法-加法及乘法-累加运算。例如,在执行诸如Reed-Solomon的前向差错控制(FEC)编码方案时,必须在伽罗瓦域使用多项式计算十六个校正子(syndrome)。这是通过使用Homer规则递归完成的。例如,1+x+x2+x3+x4也可以递归写成x(x(x(x+1)+1)+1)+1,这需要一系列的乘法-加法运算。在预先加密标准(AES)密码函数中对于MixColumn变换需要进行乘法-累加运算,在此,一个向量乘以一个矩阵。在超长指令字(VLIW)处理器中有许多计算部件例如,乘法器、加法器和移位器。因此任何时候当一个数值在进行乘法运算时,前一个乘法的乘积可以进行加法运算。
这种同时性的运算或者流水线技术使得完全处理一长串的n个数值只需要n+1个周期,而不需要2n个周期。然而在较小的处理器中,一个计算部件必须执行所有的功能,每个数值需要两个周期完成乘法和加法运算,因此处理一组n个数值需要2n个周期。
发明内容
因此本发明的一个目的是提供一种改进的伽罗瓦域乘法/乘法-加法/乘法-累加系统。
本发明的另一个目的是提供一种在一个周期中能够执行乘法/乘法-加法/乘法-累加运算的改进的伽罗瓦域乘法/乘法-加法/乘法-累加系统。
本发明的另一个目的是提供一种能够不需要额外的逻辑电路而提高性能的改进的伽罗瓦域乘法/乘法-加法/乘法-累加系统。
本发明的另一个目的是提供一种改进的伽罗瓦域乘法/乘法-加法/乘法-累加系统,该系统在一个周期中能执行乘法或乘法和加法或乘法和累加运算。
本发明源于一种改进的伽罗瓦域乘法/乘法-加法/乘法-累加系统的实现,这种系统通过使用一种伽罗瓦域加法器电路、在GF(2n)乘二进制多项式的多项式乘法器电路、伽罗瓦域线性变换器电路以及存储电路,只用很少或不用额外的逻辑电路,在一个周期中执行乘法或乘法和加法或乘法和累加运算,用于在单个周期中将来自乘法器的第一和第二多项式的乘积与第三多项式相加。
本发明特征在于一种伽罗瓦域乘法/乘法-加法/乘法-累加系统,包括一个乘法器电路,用于在伽罗瓦域将两个带系数的多项式相乘以获得它们的乘积,以及一个伽罗瓦域线性域变换器电路,其响应乘法器电路,以预测该多项式乘积对一个不可约分多项式的模余数。一个存储电路为伽罗瓦域线性变换器电路提供一组系数以对一个预定的不可约分多项式预测模余数。一个伽罗瓦域加法器电路,将乘法器电路的乘积与带系数的第三多项式在伽罗瓦域相加,以在单个周期中执行乘法和加法运算。
在优选的实施方案中,第三多项式可以是加法恒等多项式,并且加法运算可以为空。乘积可以递归地反馈作为第三多项式并且加法器电路可以执行一个乘法-累加运算。乘积可以传送到第一输出寄存器,而乘法-加法/乘法-累加结果可以传送到第二输出寄存器。伽罗瓦域加法器电路可能包括多个与伽罗瓦域线性变换器电路相关的加法器单元,用于在一个周期中将第三多项式与第一和第二多项式的乘积合并。
附图说明
根据下面对一个优选的实施方案的描述和参照附图,本领域的技术人员将想到本发明的其它目的、特征及优点,其中:
图1是一个根据本发明的伽罗瓦域乘法/乘法-加法/乘法-累加系统的简化框图;
图2是图1所示的伽罗瓦域乘法/乘法-加法/乘法-累加系统详细框图;
图3是图1所示的伽罗瓦域线性变换器单元的示意图,说明为实现预测结果,它的单元和那些相关的存储单元的编程;
图4是对于图1所示的乘法器电路在GF(2n)乘二进制多项式的一个多项式乘法器单元的示意图;
图5是用于图1所示的存储电路的一个存储装置的示意图;
图6是图1所示的伽罗瓦域线性变换器电路的一个单元的示意图;
图7是类似于图2,根据本发明的伽罗瓦域乘法/乘法-加法/乘法-累加系统的另一种结构图;
图8是类似于图2,根据本发明的伽罗瓦域乘法/乘法-加法/乘法-累加系统的另一种结构图;
图9是根据本发明的乘法和累加(MAC)的例子;以及
图10是根据本发明的乘法和加法(MPA)的例子。
具体实施方式
除了下面公开的一个或多个优选实施例,本发明可以有其它的实施例,并且可以以不同的方式应用或实施。因此,应当理解为本发明并不局限于以下说明中陈述或附图中示意的详细结构和部件配置的应用。
图1所示为一个伽罗瓦域乘法/乘法-加法/乘法-累加系统10,其能够选择性地将寄存器14和寄存器16中的数值相乘并将它们的乘积提供给输出寄存器11,或者将寄存器14和寄存器16中的数值相乘,并将它们的乘积与寄存器15中的数值求和,然后将结果提供给输出寄存器11。
在说明图2以及下列等等的本发明的实施方案之前,下面先简要地讨论一下伽罗瓦域乘法和加法的特性和运算。
伽罗瓦域GF(n)是一组元素,在其上能够执行两个二进制运算。加法和乘法必须满足交换律、结合律和分配律。一个具有有限数目元素的域是一个有限域。二元域的一个例子是在模2加法和模2乘法下的集合{0,1},并表示为GF(2)。模2加法和乘法运算由下图所示的表格定义。第一行和第一列表示对伽罗瓦域加法器和乘法器的输入。例如,1+1=0和1*1=1。
模2加法(XOR)
+ | 0 | 1 |
0 | 0 | 1 |
1 | 1 | 0 |
模2乘法(AND)
* | 0 | 1 |
0 | 0 | 0 |
1 | 0 | 1 |
通常,如果p是任何一个素数,则GF(p)是一个具有p个元素的有限域,并且GF(pm)是一个具有pm个元素的扩展域。另外,该域的各个元素可以通过一个域元素α自乘到不同幂次生成一个域元素α的各个幂次。例如GF(256)有256个元素,这256个元素都可以通过基本元素α自乘到256个不同幂次生成。
另外,系数是二进制的多项式属于GF(2)。如果一个多项式不能被GF(2)上次数大于零小于m的任何多项式整除,则说GF(2)上的m次多项式是不可约分的。多项式F(X)=X2+X+1是一个不可约分的多项式,因为它不能被X或X+1整除。一个整除X2m-1+1的m次不可约分多项式被称为一个基本多项式。对于给定的m,可以有一个以上基本多项式。经常用于大多数通信标准的一个m=8的基本多项式的例子为F(X)=x8+x4+x3+x2+x+1。
由于伽罗瓦域加法与模加运算一样,因此容易用软件实现。例如,如果29和16是GF(28)上的两个元素,则它们的加法运算可以简单地通过下面的XOR运算完成:29(11101)16(10000)=13(01101)。
另一方面,伽罗瓦域乘法要稍微复杂一些,如下面的例子所示,其通过基本元素α的重复乘法来计算GF(24)的所有元素。为了生成GF(24)的域元素,如下选择一个次数m=4的基本多项式G(X):G(X)=X4+X+1。为了使乘法为求模运算,使得该乘法的结果仍然是域中的元素,任何具有第五位组(bit set)的元素通过使用如下的恒等式F(α)=α4+α+1=0生成一个4位结果。通过设置α4=1+α,重复使用本恒等式生成域中不同的元素。因此,域中的元素可以列举如下:
{0,1,α,α2,α3,1+α,α+α2,α2+α3,1+α+α3,...1+α3}由于α是GF(24)的基本元素,其可设置为2,以生成GF(24)的域元素为{0,1,2,4,8,3,6,12,11...9}。
可以看出伽罗瓦域多项式乘法能够由两个基本步骤实现。第一个步骤是计算代数展开的多项式乘积c(x)=a(x)*b(x),而且收集类似的幂(加法相当于相应项之间的XOR运算)以给出c(x)。
例如c(x)=(a3x3+a2x2+a1x1+a0)*(b3x3+b2x2+b1x1+b0)
c(x)=c6x6+c5x5+c4x4+c3x3+c2x2+c1x1+c0 其中
表I
c0=a0*b0
c1=a1*b0a0*b1
c2=a2*b0a1*b1a0*b2
c3=a3*b0a2*b1a1*b2a0*b3
c4=a3*b1a2*b2a1*b3
c5=a3*b2a2*b3
c6=a3*b3
第二个步骤是计算d(x)=c(x)mod p(x),其中p(x)是一个不可约分的多项式。
举例说明,通过多项式乘法对一个不可约分多项式求模来实现乘法运算。例如:(如果p(x)=x8+x4+x3+x+1)
{57}*{83}={c1}因为
每个{*}字节都是其单个位值(0或1)按顺序{b7,b6,b5,b4,b3,b2,b1,b0}的连接,并使用多项式表示解释为有限元素:
b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x1+b0x0=∑bixi
第一步
(x6+x4+x2+x+1)(x7+x+1)=x13x11x9x8x7
x7x5x3x2x
x6x4x2xx
=x13x11x9x8x6x5x4x31
第二步
x13+x11+x9+x8+x6+x5+x4+x3+1mod(x8+x4+x3+x+1)
=x7+x6+1
根据本发明如图2所示的一种改进的伽罗瓦域乘法器系统10,包括一个二进制多项式乘法器电路12,用来将寄存器14中的两个二进制多项式和寄存器16中的多项式相乘以得到它们的乘积,由表II定义的16项多项式c(x)给出。乘法器电路12实际上包括多个乘法器单元12a,12b,12c...12n。
表II
c14=a7*b7
c13=a7*b6□a6*b7
c12=a7*b5□a6*b6□a5*b7
c11=a7*b4□a6*b5□a5*b6□a4*b7
c10=a7*b3□a6*b4□a5*b5□a4*b6□a3*b7
c9=a7*b2□a6*b3□a5*b4□a4*b5□a3*b6□a2*b7
c8=a7*b1□a6*b2□a5*b3□a4*b4□a3*b5□a2*b6□a1*b7
c7=a7*b0□a6*b1□a5*b2□a4*b3□a3*b4□a2*b5□a1*b6□a0*b7
c6=a6*b0□a5*b1□a4*b2□a3*b3□a2*b4□a1*b5□a0*b6
c5=a5*b0□a4*b1□a3*b2□a2*b3□a1*b4□a0*b5
c4=a4*b0□a3*b1□a2*b2□a1*b3□a0*b4
c3=a3*b0□a2*b1□a1*b2□a0*b3
c2=a2*b0□a1*b1□a0*b2
c1=a1*b0□a0*b1
c0=a0*b0
每一项包括一个由*表示的AND函数,每一对项通过由表示的逻辑异或XOR合并。本乘积递交给伽罗瓦域线性变换器电路18,其包括许多伽罗瓦域线性变换器部件18a,18b,18c...18n,每个部件由16*8个单元35组成,响应乘法器电路12产生的乘积,以在一个周期中预测该多项式乘积对一个预定的不可约分多项式的模余数。乘法运算在部件18a,18b,18c...18n中执行。本伽罗瓦域线性变换器电路及其每个变换器部件以及它的乘法器功能的结构和运算,在由stein等人于2002年1月18日申请的标题为“伽罗瓦域线性变换器”的美国临时申请第10/051,533号(AD-239J)和由stein等人于2001年11月30日申请的标题为“伽罗瓦域乘法器系统”的美国临时申请第60/334,510号(AD-240J)中进行了详细的说明,它们的全部内容在此引入作为参考。每个伽罗瓦域线性变换器部件在一个周期中通过用多项式乘积除以一个不可约分多项式来预测模余数。这个不可约分多项式可以是,例如,下表III所示的任何一个多项式。
表III
GF(21)
0x3(x+1)
GF(22)
0x7(x2+x+1)
GF(23)
0xB(x3+x+1)
0xD(x3+x2+1)
GF(24)
0x13(x4+x+1)
0x19(x4+x3+1)
GF(25)
0x25(x5+x2+1)
0x29(x5+x3+1)
0x2F(x5+x3+x2+x+1)
0x37(x5+x4+x2+x+1)
0x3B(x5+x4+x3+x+1)
0x3D(x5+x4+x3+x2+1)
GF(26)
0x43(x6+x+1)
0x5B(x6+x4+x3+x+1)
0x61(x6+x5+1)
0x67(x6+x5+x2+x+1)
0x6D(x6+x5+x3+x2+1)
0x73(x6+x5+x4+x+1)
GF(27)
0x83(x7+x+1)
0x89(x7+x3+1)
0x8F(x7+x3+x2+x+1)
0x91(x7+x4+1)
0x9D(x7+x4+x3+x2+1)
0XA7(x7+x5+x2+x+1)
0xAB(x7+x5+x3+x1+1)
0XB9(x7+x5+x4+x3+1)
0xBF(x7+x5+x4+x3+x2+x+1)
0XC1(x7+x6+1)
0xCB(x7+x6+x3+x+1)
0XD3(x7+x6+x4+x+1)
0XE5(x7+x6+x5+x2+1)
0XF1(x7+x6+x5+x4+1)
0XF7(x7+x6+x5+x4+x2+x+1)
0xFD(x7+x6+x5+x4+x3+x2+1)
GF(28)
0x11D(x8+x4+x3+x2+1)
0x12B(x8u+x5+x3+x+1)
0x12D(x8+x5+x3+x2+1)
0x14D(x8+x6+x3+x2+1)
0x15F(x8+x6+x4+x3+x2+x+1)
0x163(x8+x6+x5+x+1)
0x165(x8+x6+x5+x2+1)
0x169(x8+x6+x5+x3+1)
0x171(x8+x6+x5+x4+1)
0x187(x8+x7+x2+x+1)
0x18D(x8+x7+x3+x2+1)
0x1A9(x8+x7+x5+x3+1)
0x1C3(x8+x7+x6+x+1)
0x1CF(x8+x7+x5+x3+x2+x+1)
0x1E7(x8+x7+xu+x5+x2+x+1)
0x1F5(x8+x7+x5+x4+x2+1)
表III示出了本伽罗瓦域乘法器在GF(28)能够执行所有等于和低于28的幂。对于低次多项式,高于所选幂次的系数为0,例如,如果实现GF(25),则GF(25)和GF(28)之间的系数为0,因此该幂次之上不要预测。
对于本特例,已经选择了组合GF(28)中的不可约分或者基本多项式0x11D。带有存储单元26的存储电路20提供给伽罗瓦域线性变换器电路一组系数,用于为该特殊的基本或不可约分多项式预测模余数。对于具有基本多项式0x11D的伽罗瓦域GF(28),存储电路20生成如图3所示的矩阵初始值,其中每个线交叉,例如,22表示线性变换器部件18a,18b,...18n的一个单元35。每个放大的圆点24表示当存储电路20中的相关存储单元26中出现一个1时被激活的一个单元。编程电路20的存储单元26以提供1的适当模式以在不可约分多项式模运算的一个周期中进行预测如列28所示。图3所示的矩阵是一个有16个输入和8个输出的阵列。
根据本发明的GF乘法的一个例子如下:
GF( )乘法之前: GF8( )乘法之后
多项式0x11d 多项式0x11d
根据本发明,图2中的第三寄存器15中包括一个在伽罗瓦域带系数的第三多项式。典型的是,每一个寄存器14,16和15都可以包括四个8位字节部分,因此每个寄存器总共可容纳4个字节或32位。寄存器15的输出传送给伽罗瓦域加法器电路19,本实施例中加法器电路19包括总线17和许多异或门19’,每个异或门对应总线17的每一位。在伽罗瓦域线性变换器电路18中获得的乘积在总线21上传送,这样在输出寄存器电路11的Mpy寄存器23可以获得简单乘积,而在总线21上的乘积与第三多项式的合并在包括异或电路19’的加法器电路19中合并,以在输出寄存器电路11的Mpa寄存器25中提供乘法和加法或乘法和累加的结果。例如,图9中,如果将伽罗瓦域乘法器系统10的输出循环反馈到输入寄存器电路15,同时两个新值传送到输入寄存器电路14和16,则执行乘法和累加(MAC)运算。另一方面,图10中,如果将伽罗瓦域乘法器系统10的输出循环反馈到输入寄存器电路14,同时两个新值传送到输入寄存器电路15和16,则执行乘法和加法(MPA)运算。通过这种方式,寄存器14和16中多项式的所有乘法以及它们与寄存器15中的多项式的加法都是在一个运算周期中完成的。
图2中,多项式乘法器电路12中的每个单元29包括许多图4所示的AND门30,一个AND门30对应多项式乘积中的每一项,一个异或门32对应多项式乘积中的每一对项。当异或XOR门32进行累加运算时,AND门30执行乘法运算。图2中,伽罗瓦域线性变换器电路18中的每个单元35从前一单元接收输入并提供输出给下一个单元。第一单元的输入如图3所示在31接地。图5中,存储电路20中的每个单元33包括一个触发器34,触发器34含有一个数据(D)输入;一个时钟(Wr)输入;以及一个(Q)允许输出。伽罗瓦域线性变换器电路中的每个单元35以及伽罗瓦域线性变换器电路的一个或多个部件中,每个都包括一个图4所示的单元35,每个单元35具有一个图6所示的AND门36和一个异或XOR门38,上述内容也由stein等人于2002年1月18日申请的标题为“伽罗瓦域线性变换器”的美国临时申请第10/051,533号(AD-239J)进行了详细的说明,其全部内容在此引入作为参考。每个单元29,33和35中,所示的具体实施方案并不是对本发明的限制。例如存储装置33不必通过触发器实现,任何其它的存储装置都可以使用。在图2和4中,单元29和35分别需要AND功能和XOR功能,但是这些功能可以通过很多种不同的方式来实现,不需要特殊的XOR门或AND门,只要它们是在布尔意义上类似于XOR门和AND门的逻辑电路即可。例如,实现AND功能可以不需要使用2:1输入多路变换器来执行AND功能的特殊AND门。
尽管在图2,所示的实施方案使用了包括一个实际的逻辑电路,即XOR电路19’,的加法器电路19,但这不是对本发明的必要限制。本发明可以如图7所示更加简单地实现,其中寄存器15中的多项式值在线17a上直接发送到伽罗瓦域线性变换器电路18的第一单元35中。
在此情况下,去掉了图3中的接地连接31,取而代之的是在19a与线17a上的输入连接,因此加法器电路只包括线17a和连接19a,以在一个周期执行全部的乘法和加法或乘法和累加运算。然而,如果要做不带加法的纯乘法,则输入寄存器电路15应对加“0”保持加法的恒等特性,而且该加法运算为空。在稍微不那么简单的如图8所示的实现中,加法器电路19b除了包括输入线17b外,还包括许多门19b’,从线17b接收输入并且每一个都连接到伽罗瓦域线性变换器电路18的第一单元35的不同输入。线50上的信号调节每个门传递或不传递来自存储在寄存器15中的多项式中的值。如果要做不带加法的纯乘法,则能使所有的门19b’都无效。当门有效时,寄存器15中的多项式将与寄存器14和16中多项式的乘积相加。伽罗瓦域线性变换器电路18中的第一单元35的使用方法在由stein等人于2002年6月12日申请的“可编程的数据加密引擎”进行了详细的说明,在此引入作为参考。
尽管本发明的详细特征在一些附图中示出而没有在其它附图中示出,这仅仅是为了方便,因为根据本发明每个特征都可以与任何或所有其它特征相结合。在此使用的词“包括”、“包含”、“具有”以及“带有”应取广义而不应局限到任何物理互连。此外,本申请中公开的任何实施方案并不认为是唯一可能的实施方案。
本领域的技术人员将想到其它的实施方案,它们包含在以下的权利要求书中。
Claims (6)
1.一种伽罗瓦域乘法/乘法-加法/乘法-累加系统,包括:
一个乘法器电路,用于在伽罗瓦域将两个带系数的多项式相乘以得到它们的乘积;
一个伽罗瓦域线性变换器电路,响应所述乘法器电路,用于预测该多项式乘积对一个不可约分多项式的模余数;
一个存储电路,用于为所述伽罗瓦域线性变换器电路提供一组系数,以对一个预定的不可约分多项式预测模余数;以及
一个伽罗瓦域加法器电路,用于将所述乘法器电路的所述乘积与一个带系数的第三多项式在伽罗瓦域相加,以在单个周期内执行乘法和加法运算。
2.根据权利要求1的伽罗瓦域乘法/乘法-加法/乘法-累加系统,其中所述第三多项式是加法恒等多项式,且所述加法运算为空。
3.根据权利要求1的伽罗瓦域乘法/乘法-加法/乘法-累加系统,其中所述乘法器电路的乘积被循环反馈作为所述第三多项式,且所述加法器电路执行一个乘法-累加运算。
4.根据权利要求1的伽罗瓦域乘法/乘法-加法/乘法-累加系统,其中将所述乘积传送到一个第一输出寄存器,并将乘法-加法/乘法-累加的结果传送到一个第二输出寄存器。
5.根据权利要求1的伽罗瓦域乘法/乘法-加法/乘法-累加系统,其中所述伽罗瓦域加法器电路包括多个与所述伽罗瓦域线性变换器电路相关的加法器单元,用于在一个周期中将所述第三多项式与第一和第二多项式的乘积合并。
6.根据权利要求5的伽罗瓦域乘法/乘法-加法/乘法-累加系统,其中所述伽罗瓦域加法器电路包括一个与每个所述加法器单元相关的门,用来制止所述第三多项式与所述第一和第二多项式的乘积相加,以使加法运算无效。
Applications Claiming Priority (16)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33451001P | 2001-11-30 | 2001-11-30 | |
US33466201P | 2001-11-30 | 2001-11-30 | |
US60/334,662 | 2001-11-30 | ||
US60/334,510 | 2001-11-30 | ||
US34163501P | 2001-12-18 | 2001-12-18 | |
US34171101P | 2001-12-18 | 2001-12-18 | |
US60/341,711 | 2001-12-18 | ||
US60/341,635 | 2001-12-18 | ||
US10/051,533 | 2002-01-18 | ||
US10/051,533 US6587864B2 (en) | 2001-11-30 | 2002-01-18 | Galois field linear transformer |
US10/060,699 US6766345B2 (en) | 2001-11-30 | 2002-01-30 | Galois field multiplier system |
US10/060,699 | 2002-01-30 | ||
US10/170,267 | 2002-06-12 | ||
US10/170,267 US7283628B2 (en) | 2001-11-30 | 2002-06-12 | Programmable data encryption engine |
US10/228,526 US7082452B2 (en) | 2001-11-30 | 2002-08-26 | Galois field multiply/multiply-add/multiply accumulate |
US10/228,526 | 2002-08-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1608244A true CN1608244A (zh) | 2005-04-20 |
CN100480986C CN100480986C (zh) | 2009-04-22 |
Family
ID=27539940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028260848A Expired - Fee Related CN100480986C (zh) | 2001-11-30 | 2002-12-02 | 伽罗瓦域乘法/乘法一加法乘法累加 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7082452B2 (zh) |
EP (1) | EP1456745B1 (zh) |
JP (2) | JP4732688B2 (zh) |
CN (1) | CN100480986C (zh) |
AT (1) | ATE475136T1 (zh) |
DE (1) | DE60237108D1 (zh) |
WO (1) | WO2003048921A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650644B (zh) * | 2009-04-10 | 2012-07-04 | 北京邮电大学 | 一种伽罗华域乘法器实现装置 |
CN101739233B (zh) * | 2008-11-11 | 2012-08-29 | 财团法人工业技术研究院 | 半循序输入的伽罗瓦乘法器与其执行方法 |
CN104956323A (zh) * | 2013-01-23 | 2015-09-30 | 国际商业机器公司 | 向量伽罗瓦域乘法求和与累加指令 |
CN103853523B (zh) * | 2012-11-30 | 2017-05-31 | 北京兆易创新科技股份有限公司 | 一种伽罗瓦域的加法乘法器 |
CN107381555A (zh) * | 2017-08-09 | 2017-11-24 | 华中科技大学 | 一种结构可控的三维石墨烯及其复合材料的制备方法 |
CN113343174A (zh) * | 2020-03-03 | 2021-09-03 | 辉达公司 | 执行位线性变换的技术 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7283628B2 (en) * | 2001-11-30 | 2007-10-16 | Analog Devices, Inc. | Programmable data encryption engine |
US7895253B2 (en) | 2001-11-30 | 2011-02-22 | Analog Devices, Inc. | Compound Galois field engine and Galois field divider and square root engine and method |
US7269615B2 (en) * | 2001-12-18 | 2007-09-11 | Analog Devices, Inc. | Reconfigurable input Galois field linear transformer system |
US7177891B2 (en) * | 2002-10-09 | 2007-02-13 | Analog Devices, Inc. | Compact Galois field multiplier engine |
US6766345B2 (en) | 2001-11-30 | 2004-07-20 | Analog Devices, Inc. | Galois field multiplier system |
US7508937B2 (en) * | 2001-12-18 | 2009-03-24 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
US6941446B2 (en) * | 2002-01-21 | 2005-09-06 | Analog Devices, Inc. | Single instruction multiple data array cell |
US6865661B2 (en) | 2002-01-21 | 2005-03-08 | Analog Devices, Inc. | Reconfigurable single instruction multiple data array |
US7000090B2 (en) * | 2002-01-21 | 2006-02-14 | Analog Devices, Inc. | Center focused single instruction multiple data (SIMD) array system |
US7447310B2 (en) * | 2002-08-06 | 2008-11-04 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Lean multiplication of multi-precision numbers over GF(2m) |
US7401109B2 (en) * | 2002-08-06 | 2008-07-15 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Multiplication of multi-precision numbers having a size of a power of two |
US7421076B2 (en) * | 2003-09-17 | 2008-09-02 | Analog Devices, Inc. | Advanced encryption standard (AES) engine with real time S-box generation |
CN1333331C (zh) * | 2004-01-29 | 2007-08-22 | 海信集团有限公司 | 8位模多项式乘法器电路 |
KR100640601B1 (ko) * | 2004-10-05 | 2006-11-01 | 삼성전자주식회사 | 수직 자기 기록매체가 재생하는 코드 워드의 에러 이벤트발생 유무 검출방법 및 장치 |
US20060107027A1 (en) * | 2004-11-12 | 2006-05-18 | Inching Chen | General purpose micro-coded accelerator |
US7512647B2 (en) * | 2004-11-22 | 2009-03-31 | Analog Devices, Inc. | Condensed Galois field computing system |
WO2006120691A1 (en) * | 2005-05-06 | 2006-11-16 | Analog Devices Inc. | Galois field arithmetic unit for error detection and correction in processors |
RU2475810C2 (ru) * | 2011-02-17 | 2013-02-20 | Российская Федерация в лице Министерства промышленности и торговли РФ | УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ КОЭФФИЦИЕНТОВ БУЛЕВЫХ ПРЕОБРАЗОВАНИЙ НАД ПОЛЕМ ГАЛУА GF(2n) |
US8504845B2 (en) | 2011-03-30 | 2013-08-06 | Apple Inc. | Protecting states of a cryptographic process using group automorphisms |
GB2490914B (en) * | 2011-05-17 | 2015-12-09 | Aptcore Ltd | Signal processing apparatus |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9417848B2 (en) * | 2014-03-28 | 2016-08-16 | Storart Technology Co. Ltd. | Serial multiply accumulator for galois field |
US20230305846A1 (en) * | 2022-03-24 | 2023-09-28 | Intel Corporation | Processor hardware and instructions for vectorized fused and-xor |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1181461B (de) * | 1963-10-08 | 1964-11-12 | Telefunken Patent | Adressenaddierwerk einer programm-gesteuerten Rechenmaschine |
US3805037A (en) * | 1972-02-22 | 1974-04-16 | J Ellison | N{40 th power galois linear gate |
JPS54151339A (en) * | 1978-05-19 | 1979-11-28 | Nec Corp | Exclusive logical sum array |
JPH0680491B2 (ja) * | 1983-12-30 | 1994-10-12 | ソニー株式会社 | 有限体の演算回路 |
JPH0778748B2 (ja) * | 1984-04-11 | 1995-08-23 | 三菱電機株式会社 | ガロア体演算ユニット |
JPS62500326A (ja) * | 1984-09-28 | 1987-02-05 | モトロ−ラ・インコ−ポレ−テッド | 単サイクル乗算/累算用デジタル信号処理装置 |
US4722050A (en) * | 1986-03-27 | 1988-01-26 | Hewlett-Packard Company | Method and apparatus for facilitating instruction processing of a digital computer |
US4918638A (en) * | 1986-10-15 | 1990-04-17 | Matsushita Electric Industrial Co., Ltd. | Multiplier in a galois field |
FR2605769B1 (fr) * | 1986-10-22 | 1988-12-09 | Thomson Csf | Operateur polynomial dans les corps de galois et processeur de traitement de signal numerique comportant un tel operateur |
JPS63132532A (ja) * | 1986-11-25 | 1988-06-04 | Ricoh Co Ltd | 拡張ガロア体上の多項式除算回路 |
JPS63282777A (ja) * | 1987-03-04 | 1988-11-18 | 株式会社リコー | モジュロ演算プロセッサチップ |
US4847801A (en) * | 1987-10-26 | 1989-07-11 | Cyclotomics, Inc. | Compact galois field multiplier |
FR2628862B1 (fr) * | 1988-03-17 | 1993-03-12 | Thomson Csf | Multiplieur-additionneur parametrable dans les corps de galois, et son utilisation dans un processeur de traitement de signal numerique |
DE68925840T2 (de) * | 1988-04-27 | 1996-09-12 | Nippon Electric Co | Speicherzugriffssteuerungsvorrichtung, die aus einer verringerten Anzahl von LSI-Schaltungen bestehen kann |
US5095525A (en) * | 1989-06-26 | 1992-03-10 | Rockwell International Corporation | Memory transformation apparatus and method |
US5214763A (en) * | 1990-05-10 | 1993-05-25 | International Business Machines Corporation | Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism |
JPH0659686B2 (ja) | 1990-10-29 | 1994-08-10 | ダイアホイルヘキスト株式会社 | コンデンサー用二軸配向ポリエステルフィルム |
US5446850A (en) * | 1991-01-15 | 1995-08-29 | International Business Machines Corporation | Cross-cache-line compounding algorithm for scism processors |
US5386523A (en) * | 1992-01-10 | 1995-01-31 | Digital Equipment Corporation | Addressing scheme for accessing a portion of a large memory space |
US5379243A (en) * | 1992-08-31 | 1995-01-03 | Comstream Corporation | Method and apparatus for performing finite field division |
KR0135846B1 (ko) * | 1994-02-02 | 1998-06-15 | 김광호 | 룩-업-테이블장치 |
US5642367A (en) * | 1994-02-07 | 1997-06-24 | Mitsubishi Semiconductor America, Inc. | Finite field polynomial processing module for error control coding |
US5832290A (en) * | 1994-06-13 | 1998-11-03 | Hewlett-Packard Co. | Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems |
US5689452A (en) * | 1994-10-31 | 1997-11-18 | University Of New Mexico | Method and apparatus for performing arithmetic in large galois field GF(2n) |
US5754563A (en) * | 1995-09-11 | 1998-05-19 | Ecc Technologies, Inc. | Byte-parallel system for implementing reed-solomon error-correcting codes |
US5768168A (en) * | 1996-05-30 | 1998-06-16 | Lg Semicon Co., Ltd. | Universal galois field multiplier |
US5996066A (en) * | 1996-10-10 | 1999-11-30 | Sun Microsystems, Inc. | Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions |
US6078937A (en) * | 1996-12-19 | 2000-06-20 | Vlsi Technology, Inc. | Barrel shifter, circuit and method of manipulating a bit pattern |
GB9627069D0 (en) * | 1996-12-30 | 1997-02-19 | Certicom Corp | A method and apparatus for finite field multiplication |
US6199096B1 (en) * | 1997-03-14 | 2001-03-06 | Efusion, Inc. | Method and apparatus for synchronizing information browsing among multiple systems |
US6002728A (en) * | 1997-04-17 | 1999-12-14 | Itt Manufacturing Enterprises Inc. | Synchronization and tracking in a digital communication system |
GB9707861D0 (en) * | 1997-04-18 | 1997-06-04 | Certicom Corp | Arithmetic processor |
JP3850511B2 (ja) * | 1997-05-07 | 2006-11-29 | 日本テキサス・インスツルメンツ株式会社 | リードソロモン復号装置 |
US6199086B1 (en) * | 1997-12-24 | 2001-03-06 | Motorola, Inc. | Circuit and method for decompressing compressed elliptic curve points |
US6223320B1 (en) * | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
US5999959A (en) * | 1998-02-18 | 1999-12-07 | Quantum Corporation | Galois field multiplier |
US6138208A (en) * | 1998-04-13 | 2000-10-24 | International Business Machines Corporation | Multiple level cache memory with overlapped L1 and L2 memory access |
US5996057A (en) * | 1998-04-17 | 1999-11-30 | Apple | Data processing system and method of permutation with replication within a vector register file |
KR100296958B1 (ko) * | 1998-05-06 | 2001-09-22 | 이석우 | 블록 데이터 암호화 장치 |
US6199087B1 (en) * | 1998-06-25 | 2001-03-06 | Hewlett-Packard Company | Apparatus and method for efficient arithmetic in finite fields through alternative representation |
JP2001055640A (ja) * | 1999-06-09 | 2001-02-27 | Toray Ind Inc | ポリフェニレンサルファイドよりなる繊維資材および衣料 |
FR2796736B1 (fr) * | 1999-07-20 | 2001-11-30 | St Microelectronics Sa | Procede pour effectuer une multiplication avec accumulation dans un corps de galois |
JP3534004B2 (ja) * | 1999-08-25 | 2004-06-07 | 馨 黒澤 | 演算装置 |
US6434662B1 (en) * | 1999-11-02 | 2002-08-13 | Juniper Networks, Inc. | System and method for searching an associative memory utilizing first and second hash functions |
JP2001194996A (ja) * | 2000-01-11 | 2001-07-19 | Toyo Commun Equip Co Ltd | 多項式の除算装置 |
US6384713B1 (en) * | 2000-04-21 | 2002-05-07 | Marvell International, Ltd. | Serial comparator |
GB0023409D0 (en) * | 2000-09-22 | 2000-11-08 | Integrated Silicon Systems Ltd | Data encryption apparatus |
ATE286636T1 (de) | 2001-03-27 | 2005-01-15 | Amphion Semiconductor Ltd | Vorrichtung zur wählbaren ver- bzw. entschlüsselung von daten |
US6738794B2 (en) * | 2001-04-10 | 2004-05-18 | Analog Devices, Inc. | Parallel bit correlator |
US7283628B2 (en) * | 2001-11-30 | 2007-10-16 | Analog Devices, Inc. | Programmable data encryption engine |
US7269615B2 (en) * | 2001-12-18 | 2007-09-11 | Analog Devices, Inc. | Reconfigurable input Galois field linear transformer system |
US6766345B2 (en) * | 2001-11-30 | 2004-07-20 | Analog Devices, Inc. | Galois field multiplier system |
US6587864B2 (en) * | 2001-11-30 | 2003-07-01 | Analog Devices, Inc. | Galois field linear transformer |
US7177891B2 (en) * | 2002-10-09 | 2007-02-13 | Analog Devices, Inc. | Compact Galois field multiplier engine |
US7508937B2 (en) * | 2001-12-18 | 2009-03-24 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
US7000090B2 (en) * | 2002-01-21 | 2006-02-14 | Analog Devices, Inc. | Center focused single instruction multiple data (SIMD) array system |
US6865661B2 (en) * | 2002-01-21 | 2005-03-08 | Analog Devices, Inc. | Reconfigurable single instruction multiple data array |
US6941446B2 (en) * | 2002-01-21 | 2005-09-06 | Analog Devices, Inc. | Single instruction multiple data array cell |
US6829694B2 (en) * | 2002-02-07 | 2004-12-07 | Analog Devices, Inc. | Reconfigurable parallel look up table system |
-
2002
- 2002-08-26 US US10/228,526 patent/US7082452B2/en not_active Expired - Fee Related
- 2002-12-02 EP EP02804489A patent/EP1456745B1/en not_active Expired - Lifetime
- 2002-12-02 CN CNB028260848A patent/CN100480986C/zh not_active Expired - Fee Related
- 2002-12-02 JP JP2003550046A patent/JP4732688B2/ja not_active Expired - Fee Related
- 2002-12-02 DE DE60237108T patent/DE60237108D1/de not_active Expired - Lifetime
- 2002-12-02 WO PCT/US2002/038501 patent/WO2003048921A1/en active Application Filing
- 2002-12-02 AT AT02804489T patent/ATE475136T1/de not_active IP Right Cessation
-
2011
- 2011-02-18 JP JP2011033194A patent/JP5266354B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739233B (zh) * | 2008-11-11 | 2012-08-29 | 财团法人工业技术研究院 | 半循序输入的伽罗瓦乘法器与其执行方法 |
CN101650644B (zh) * | 2009-04-10 | 2012-07-04 | 北京邮电大学 | 一种伽罗华域乘法器实现装置 |
CN103853523B (zh) * | 2012-11-30 | 2017-05-31 | 北京兆易创新科技股份有限公司 | 一种伽罗瓦域的加法乘法器 |
CN104956323A (zh) * | 2013-01-23 | 2015-09-30 | 国际商业机器公司 | 向量伽罗瓦域乘法求和与累加指令 |
CN104956323B (zh) * | 2013-01-23 | 2018-06-26 | 国际商业机器公司 | 向量伽罗瓦域乘法求和与累加指令 |
CN107381555A (zh) * | 2017-08-09 | 2017-11-24 | 华中科技大学 | 一种结构可控的三维石墨烯及其复合材料的制备方法 |
CN107381555B (zh) * | 2017-08-09 | 2018-09-25 | 华中科技大学 | 一种结构可控的三维石墨烯及其复合材料的制备方法 |
CN113343174A (zh) * | 2020-03-03 | 2021-09-03 | 辉达公司 | 执行位线性变换的技术 |
Also Published As
Publication number | Publication date |
---|---|
JP5266354B2 (ja) | 2013-08-21 |
CN100480986C (zh) | 2009-04-22 |
US7082452B2 (en) | 2006-07-25 |
EP1456745A4 (en) | 2006-09-27 |
ATE475136T1 (de) | 2010-08-15 |
US20030110196A1 (en) | 2003-06-12 |
JP4732688B2 (ja) | 2011-07-27 |
EP1456745B1 (en) | 2010-07-21 |
JP2005512184A (ja) | 2005-04-28 |
JP2011146052A (ja) | 2011-07-28 |
WO2003048921A1 (en) | 2003-06-12 |
DE60237108D1 (de) | 2010-09-02 |
EP1456745A1 (en) | 2004-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1608244A (zh) | 伽罗瓦域乘法/乘法一加法乘法累加 | |
CN1589429A (zh) | 伽罗瓦域乘法器系统 | |
CN1717671A (zh) | 小型伽罗华域乘法器引擎 | |
CN1898896A (zh) | 高级加密标准算法的可编程数据加密引擎 | |
CN1411630A (zh) | 用于生成循环余数核对代码以及生成其他基于余数的编码的方法、设备和产品 | |
CN1296817C (zh) | 模乘方法及装置及模乘计算单元 | |
CN1791855A (zh) | 混合Galois域机和Galois域除法器和平方根机及其方法 | |
CN1867889A (zh) | 数据转换器 | |
Choi et al. | Low-complexity elliptic curve cryptography processor based on configurable partial modular reduction over NIST prime fields | |
CN101042639A (zh) | 乘法器 | |
CN1529853A (zh) | 可编程逻辑设备上的错误检测 | |
Kudithi | An efficient hardware implementation of the elliptic curve cryptographic processor over prime field | |
Del Barrio et al. | A combined arithmetic-high-level synthesis solution to deploy partial carry-save radix-8 booth multipliers in datapaths | |
CN1738238A (zh) | 高速可配置rsa加密算法及协处理器 | |
Lee et al. | Low-complexity parallel Chien search structure using two-dimensional optimization | |
CN1648853A (zh) | 多字乘法-累加电路和蒙哥马利模乘法-累加电路 | |
CN1570848A (zh) | 使用进位存储加法的蒙哥马利模乘器及其方法 | |
CN1238604A (zh) | 里德-所罗门编码装置与编码方法 | |
Thirumoorthi et al. | An optimized m-term karatsuba-like binary polynomial multiplier for finite field arithmetic | |
CN101031904A (zh) | 带有两类子处理器以执行多媒体应用的可编程处理器系统 | |
Chen et al. | A high-performance unified-field reconfigurable cryptographic processor | |
US20110106872A1 (en) | Method and apparatus for providing an area-efficient large unsigned integer multiplier | |
CN1719766A (zh) | 一种AES加解密电路中Sbox模块优化方法及优化电路 | |
CN1689267A (zh) | 以相似的效率处理任意密钥位长加密操作的方法和设备 | |
CN1326566A (zh) | 对多个带符号的数据值执行算术运算的数据处理系统和方法 |
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: 20090422 Termination date: 20171202 |
|
CF01 | Termination of patent right due to non-payment of annual fee |