CN1608244A - 伽罗瓦域乘法/乘法一加法乘法累加 - Google Patents

伽罗瓦域乘法/乘法一加法乘法累加 Download PDF

Info

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
Application number
CN02826084.8A
Other languages
English (en)
Other versions
CN100480986C (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.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
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
Priority claimed from US10/051,533 external-priority patent/US6587864B2/en
Priority claimed from US10/060,699 external-priority patent/US6766345B2/en
Priority claimed from US10/170,267 external-priority patent/US7283628B2/en
Application filed by Analog Devices Inc filed Critical Analog Devices Inc
Publication of CN1608244A publication Critical patent/CN1608244A/zh
Application granted granted Critical
Publication of CN100480986C publication Critical patent/CN100480986C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite 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,α23,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*b0a0*b1
c2=a2*b0a1*b1a0*b2
c3=a3*b0a2*b1a1*b2a0*b3
c4=a3*b1a2*b2a1*b3
c5=a3*b2a2*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)=x13x11x9x8x7
                         x7x5x3x2x
                         x6x4x2xx
                      =x13x11x9x8x6x5x4x31
第二步
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的伽罗瓦域乘法/乘法-加法/乘法-累加系统,其中所述伽罗瓦域加法器电路包括一个与每个所述加法器单元相关的门,用来制止所述第三多项式与所述第一和第二多项式的乘积相加,以使加法运算无效。
CNB028260848A 2001-11-30 2002-12-02 伽罗瓦域乘法/乘法一加法乘法累加 Expired - Fee Related CN100480986C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (8)

* Cited by examiner, † Cited by third party
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