压缩伽罗瓦域计算系统的制作方法

文档序号:6553480阅读:278来源:国知局
专利名称:压缩伽罗瓦域计算系统的制作方法
技术领域
本发明涉及一种压缩伽罗瓦域计算系统。
背景技术
伽罗瓦域(GF)中具有系数的多项式的乘法被广泛用于通信系统中以进行里德-索罗门(RS)编码和用于高级加密中。对于传统的数字信号处理器(DSP)来说执行伽罗瓦域乘法是困难的并且耗时的DSP被优化用于有限脉冲响应(FIR)滤波和其他乘法-累加(MAC)密集运算,但是不能有效地处理伽罗瓦域类型的运算。一种方法使用一次处理一个比特的线性反馈移位寄存器(LFSR)在伽罗瓦域上使用直接多项式乘法和除法。这是非常慢的处理过程。例如,在用于比特率达到每秒100兆比特的AES类型应用的宽带通信中,将有高达每秒12.5百万次GF乘法(MPS),且每次乘法可能需要许多次例如60-100次运算。另一种方法使用查找表执行伽罗瓦域乘法。典型地,这种方法需要10-20次或更多次循环,这对于12.5mps导致有些减少但是仍然非常大量的运算例如20×12.5=250mps或更多。里德-索罗门编码已经被广泛接受为宽带网络的优选差错控制编码方案。因为给系统设计者提供了根据信道条件对于数据带宽和所期望的纠错能力进行折衷的独特灵活性,里德-索罗门编码器和解码器的可编程实现是一种具有吸引力的解决方案。里德-索罗门解码的第一步骤是计算并发位。该并发位能够形式上定义为Si=R mod G,这里i=(0,1...15)。接收的码字可以以多项式形式表示为Ri=roXN-1+r1XN-2+...rN-1,这里接收的码字的长度是N。能够看出计算并发位相当于在伽罗瓦域上以如由生成多项式的i’次方根的j’次幂所定义的根进行多项式求值。对于里德-索罗门算法中的每个接收码字,将要计算16个并发位,这些并发位将运算次数增至16倍达400mps-在当前微处理器上是不实际的。使用直接乘法替代查找表将运算速率提高到每秒1.6gigs。随着通信领域的扩展和对通信数据施加的加密要求,对于伽罗瓦域乘法的需要正显著增加。这进一步使得问题复杂化,因为每一个域的差错检验、加密需要在需要不同查找表集合的不同伽罗瓦域上的伽罗瓦域乘法。

发明内容
因此,本发明的一个目的是提供一种改进的压缩伽罗瓦域计算系统。
本发明的再一个目的是提供这种改进的需要更低次幂和较少领域的压缩伽罗瓦域计算系统。
本发明的又一个目的是提供这种改进的比当前的查找表和线性反馈移位寄存器(LFSR)实现快得多的压缩伽罗瓦域计算系统。
本发明的又一个目的是提供这种改进的减小所需要的存储量的压缩伽罗瓦域计算系统。
本发明的又一个目的是提供这种改进的显著地减小每秒所需要运算次数的压缩伽罗瓦域计算系统。
本发明得自以下实现能够作为需要更低次幂和较少领域的乘法器、乘法器-加法器、和乘法器-累加器操作的改进的压缩伽罗瓦域计算系统能够通过在伽罗瓦域上将带有系数的第一和第二多项式相乘以获得它们的乘积并且然后使用伽罗瓦域线性变换器电路将n次幂的不可约多项式应用到所述乘积而获得,其中所述电路包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,它用于压缩折叠的部分结果和乘积中低于n次幂的项以获得乘积的n次幂的伽罗瓦域变换。
但是,在其他实施例中,本发明不需要实现所有这些目的以及本发明的权利要求不应该局限于能够实现这些目的的结构或方法。
本发明特征在于压缩伽罗瓦域计算系统,包括用于在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们乘积的乘法器电路。存在用于将n次幂的不可约多项式应用于所述乘积的伽罗瓦域线性变换器电路,该电路包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,它用于组合折叠的部分结果和乘积中低于n次幂的项以获得乘积的n次幂的伽罗瓦域变换。
在优选实施例中,所述产生的部分结果可以包括查找表。所述查找表可以包括用于n次幂或更高次幂的组合的折叠的部分结果。所述查找表可以包括地址生成器。所述地址生成器可以提供统计上独立的地址访问。伽罗瓦域加法器可以包括三输入加法器。到所述三输入加法器的第三输入可以是0以及伽罗瓦域计算系统可以作为伽罗瓦域乘法器操作。伽罗瓦域输入或输出可以被反馈到伽罗瓦域计算系统以及该伽罗瓦域计算系统可以作为乘法器-累加器操作。所述伽罗瓦域加法器输出可以被反馈到具有第一和第二多项式之一的乘法器电路,该第一和第二多项式中的另一个多项式可以构成伽罗瓦域加法器的第三输入,以便伽罗瓦域计算系统作为乘法器-加法器操作。伽罗瓦域加法器可以包括“异或”电路。
本发明特征还在于压缩伽罗瓦域乘法器系统,包括在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们乘积的乘法器电路;以及将n次幂的不可约多项式应用于所述乘积的伽罗瓦域线性变换器电路,该电路包括部分结果生成器,它响应于所述乘积中n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,它用于组合折叠的部分结果和乘积中低于n次幂的项以执行伽罗瓦域乘法运算。
本发明特征还在于压缩伽罗瓦域乘法-累加系统,包括在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们乘积的乘法器电路;以及将n次幂的不可约多项式应用于所述乘积的伽罗瓦域线性变换器电路,该电路包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,它用于组合折叠的部分结果、乘积中低于n次幂的项以及该伽罗瓦域加法器的反馈以执行伽罗瓦域乘法-累加运算。
本发明特征还在于压缩伽罗瓦域乘法器-加法器系统,包括在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们乘积的乘法器电路;以及将n次幂的不可约多项式应用于所述乘积的伽罗瓦域线性变换器电路,该电路包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,该加法器的输出被反馈到具有第一和第二多项式其中之一的所述乘法器电路,这两个多项式中的另一个多项式是伽罗瓦域加法器的第三输入,另两个输入为折叠的部分结果以及乘积中低于n次幂的项,以执行伽罗瓦域乘法-加法运算。


根据以下对优选实施例和附图的描述本发明的其他目的、特征和优点对于本领域的普通技术人员来说将会显而易见,其中图1是根据本发明的压缩伽罗瓦域计算系统的示意方框图;图2是图1的折叠的部分结果查找表的示意方框图;图3是类似于图1的示意方框图,其中伽罗瓦域加法器具有为作为伽罗瓦域乘法器操作而设置的第三输入;图4是类似于图1的示意方框图,其中伽罗瓦域加法器具有为作为伽罗瓦域乘法器-累加器操作而连接的第三输入;以及图5是类似于图1的示意方框图,其中伽罗瓦域加法器具有为作为伽罗瓦域乘法器-加法器操作而连接的第三输入。
具体实施例方式
除以下公开的优选实施例之外,本发明还能够有其他实施例并且能够以各种方式实践或实现。因此,应该明白本发明在其应用中并不局限于在以下描述中阐述或在附图中图示的构造和组件配置的细节。如果这里仅描述一个实施例,其权利要求并不局限于该实施例。而且,本发明的权利要求不应该被限制性地阅读,除非有明确和令人信服的表明某种排除、限制或放弃的证据。
如在图1中所示根据本发明的压缩伽罗瓦域计算系统10包括多项式乘法器12、以及包含查找表(LUT)14和诸如具有两个输入18和20的“异或”门16的伽罗瓦域加法器的伽罗瓦域变换器13。
在运算中在多项式乘法器12中将在GF(28)上具有系数的8比特多项式X(x7-x0)乘以8比特多项式Y(y7-y0)。该多项式乘积是14比特数字。取代如将会是通常程序的、用n次幂的域不可约多项式除该14比特多项式乘积以得到模余数,根据本发明,直接传送该多项式乘积的低于不可约多项式的幂次n的那些项到“异或”OR门16的伽罗瓦域加法器输入18。所述乘积中具有n次幂或更高次幂的那些项被用于访问在查找表14中存储的部分结果,当在输入20被提供给“异或”OR门16和通过“异或”OR门16进行“异或”运算或伽罗瓦域相加时,产生8比特z7-z0的伽罗瓦域变换Z。本发明的实现在于低于n次幂的项不受缩减处理(用不可约多项式除所述乘积,其中n是该不可约多项式的幂次)的影响,因此能够直接地传送它们到伽罗瓦域加法器16的输入18而没有另外的运算或操作。n次幂或更高次幂的那些项必须经过缩减处理,其中使用查找表用折叠的部分结果替换它们,然后所述部分结果在加法器16中与来自输入18的更低次幂的项相加以产生正确的伽罗瓦域输出(通过以n-1次幂或更低次幂的项表示n次幂或更高次幂的所有乘积项和累加所有的项而产生部分结果查找表值)。例如,如果所选择的不可约多项式具有8次幂,将会直接传送来自多项式乘法器12的所述乘积中具有7次幂或更低次幂的所有那些项到输入18,而具有8次幂或更高次幂的那些项将在线22上被使用以访问查找表14中折叠的部分结果,当被加到在输入18上的更低次幂的项上时产生正确的伽罗瓦域输出。
伽罗瓦域多项式乘法能够以两个基本步骤实现。第一步骤是计算多项式乘积c(x)=a(x)*b(x),该乘积被代数展开,相同的幂被汇集(加法对应于相应项之间的“异或”运算)以给出c(x)。
例如,
c(x)=(a7x7+a6x6+a5x5+a4x4+a3x3+a2x2+a1x1+a0)*(b7x7+b6x6+b5x5+b4x4+b3x3+b2x3+b1x1+b0)C(x)=c14x14+c13x13+c12x12+c11x11+c10x10+c9x9+c8x8+c7x7+c6x6+c5x5+c4x4+c3x3+c2x2+c1x1+c0其中表Ic14=a7*b7c13=a7*b6a6*b7c12=a7*b5a6*b6a5*b7c11=a7*b4a6*b5a5*b6a4*b7c10=a7*b3a6*b4a5*b5a4*b6a3*b7c9=a7*b2a6*b3a5*b4a4*b5a3*b6a2*b7c8=a7*b1a6*b2a5*b3a4*b4a3*b5a2*b6a1*b7c7=a7*b0a6*b1a5*b2a4*b3a3*b4a2*b5a1*b6a0*b7c6=a6*b0a5*b1a4*b2a3*b3a2*b4a1*b5a0*b6c5=a5*b0a4*b1a3*b2a2*b3a1*b4a0*b5c4=a4*b0a3*b1a2*b2a1*b3a0*b4c3=a3*b0a2*b1a1*b2a0*b3c2=a2*b0a1*b1a0*b2c1=a1*b0a0*b1c0=a0*b0第二步骤是计算d(x)=c(x)模p(x)。
为了例示,执行利用多项式相乘对不可约多项式求模的乘法。例如(如果m(x)=x8+x4+x3+x+1){57}*{83}={c1},因为,第一步(x6+x4+x2x+1)+(x7+x+1)=x13x11x9x8x7x7x5x3x2xx6x4x2xx=x13x11x9x8x6x5x4x31第二步对于不可约多项式x8+x4+x3+x+1如果多项式乘积=x13x11x9x8x6x5x4x31那么n(8)次幂或更高次幂的项中的每一项以n-1=7次或更低次幂的项表示
x8=x4+x3+x+1x9=x·x8=x(x4+x3+x+1)=x5+x4+x2+xx11=x3·x8=x3(x4+x3+x+1)=x7+x6+x4+x3x13=x5·x8=x5(x4+x3+x+1)=x9+x8+x6+x5这简化成x6+x3+x2+1。
赋值1给每个项以表示n次幂和更高次幂的项多项式乘积中n次幂和更高次幂的项LUT 14中的折叠的部分结果 通过所述乘积中低于n次幂的项与LUT 14的折叠的部分结果进行伽罗瓦域加法(“异或”16),获得第一伽罗瓦域输出 在这种情况中使用的不可约多项式x8+x4+x3+x+1仅仅是可使用的许多多项式之一。例如,可以使用表II中所示多项式中的任何一个表IIGF(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+z4+z3+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+x+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(x8+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+x6+x5+x2+x+1)0x1F5(x8+x7+x5+x4+x2+1)总而言之,应用具有n=8次幂的不可约多项式Ox11b(x8+x4+x3+x+1)到图2中来自多项式乘法器12的多项式乘积30,该乘积能够被看作有两个部分32和34。部分32包含低于n次幂的所有那些项,其中n=8,以及部分34代表多项式乘积30中具有8次幂或更高次幂的所有那些项。由于我们选择进行处理的不可约多项式具有n=8次幂,因此将会有128种可能的组合或折叠的部分结果在查找表14中存储。通过构成n次幂或更高次幂部分34的各项的不同组合寻址每一种。有关伽罗瓦域变换器和乘法器的更多信息可以在2003年7月1日授予Stein等人的题为“GALOIS FIELD LINEARTRANSFORMER”的第658786482号美国专利、2004年7月20日授予Stein等人的题为“GALOIS FIELD MULTIPLIER SYSTEM”的第676634582号美国专利、以及Stein等人在2003年3月24日申请的题为“COMPACT GALOIS FIELD MULTIPLIER ENGINE”的第10/395620号美国专利申请中找到,其中的每一篇文献其全部内容被在此包含引作参考。
根据本发明,当压缩伽罗瓦域计算系统10a作为乘法器(MPY)操作时,压缩伽罗瓦域计算系统10a可以使用伽罗瓦域加法器、包括三个输入(第三输入36可以是0)的“异或”门16a被更加一般化。还可以提供包括加法器电路38和基地址电路40的地址生成器。然后,例如,对于高级加密标准(AES)查找表14a可以具有被加到在线22a上进入的地址上的基地址0以便所述地址将会从0到127,而对于里德-索罗门运算基地址电路40可以将数128相加到在线22a上进入的地址上以访问从128到255的地址。通过这种方式,基于不同的不可约多项式的伽罗瓦域乘法器能够共存在同一个系统中。基于基地址是27的倍数(保证最后7个最低有效位是“零”)的事实,能够将地址生成器的加法器38简化成简单的“或”电路。在图4中,根据本发明的压缩伽罗瓦域计算系统10b通过将来自伽罗瓦域加法器、“异或”门16b的输出向回施加到“异或”门16b,能够作为乘法器-累加器操作。
此外,在图5中,通过应用一个多项式X到多项式乘法器12c而应用另一个多项式Y到伽罗瓦域加法器、“异或”门16c的输入36c,它可以作为乘法器-加法器(MP/Add)10c操作。伽罗瓦域加法器16c的输出在线50上反馈给多项式乘法器12c的另一个输入。伽罗瓦域乘法-加法和其他伽罗瓦域运算的进一步讨论在Stein等人于2002年8月26日申请的题为“GALOIS FIELDMULTIPLY/MULTIPLY-ADD/MULTIPLY ACCUMULATE”的第10/228526号美国专利申请、以及Stein等人在2003年5月16日申请的题为“COMPOUND GALOIS FIELD ENGINE AND GALOISFIELD DIVIDER AND SQUARE ROOT ENGINE AND METHOD”的第10/440330号美国专利申请中进行讨论,其中的每一篇文献其全部内容被在此包含引作参考。
尽管在部分附图而没有在其他附图中显示本发明的具体特征,但是这仅仅是为了方便起见,根据本发明,每个特征可以与其他任何或全部的特征相组合。这里使用的单词“包括”、“包含”、“具有”和“带有”应该作广泛和全面地理解,并不局限于任何物理互连。此外,在本申请中公开的任何实施例并不应该认为是仅有的可能实施例。
其他实施例对于本领域普通技术人员来说是显而易见的并且包含在附属权利要求中。
另外,在针对本专利的专利申请过程中提出的任何修改并不是对在提交的本申请中出现的任何权利要求单元的放弃本领域的普通技术人员不能合理地被期望描述在字面上包含所有可能等效物的权利要求,在修改时,许多等效物将是不可能预见的并且超出了将要放弃的权利要求单元(如果有的话)的公平解释,以及支持修改的基本原理可能具有仅仅与许多等效物的离题关系,和/或有申请人不能够被期望描述对于所修改的任何权利要求单元的某种非实质性替换的许多其他理由。
权利要求
1.一种压缩伽罗瓦域计算系统,包括乘法器电路,用于在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们的乘积;和伽罗瓦域线性变换器电路,用于将n次幂的不可约多项式应用于所述乘积,包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,用于组合所述折叠的部分结果和所述乘积中低于n次幂的项以获得所述乘积的n次幂的伽罗瓦域变换。
2.根据权利要求1所述的压缩伽罗瓦域计算系统,其中所述部分结果生成器包括查找表。
3.根据权利要求2所述的压缩伽罗瓦域计算系统,其中所述查找表包括用于n次幂或更高次幂的组合的折叠的部分结果。
4.根据权利要求2所述的压缩伽罗瓦域计算系统,其中所述查找表包括用于选择折叠的部分结果表之一的地址生成器。
5.根据权利要求4所述的压缩伽罗瓦域计算系统,其中所述地址生成器提供统计上独立的地址访问。
6.根据权利要求1所述的压缩伽罗瓦域计算系统,其中所述伽罗瓦域加法器包括三输入加法器。
7.根据权利要求6所述的压缩伽罗瓦域计算系统,其中到所述三输入加法器的第三输入是零,以及所述伽罗瓦域计算系统作为伽罗瓦域乘法器操作。
8.根据权利要求6所述的压缩伽罗瓦域计算系统,其中到所述三输入加法器的第三输入是反馈的伽罗瓦域加法器输出,以及所述伽罗瓦域计算系统作为乘法器-累加器操作。
9.根据权利要求6所述的压缩伽罗瓦域计算系统,其中伽罗瓦域加法器输出被反馈到具有所述第一和第二多项式之一的所述乘法器电路,所述第一和第二多项式中的另一个多项式是到所述伽罗瓦域加法器的第三输入,以及所述伽罗瓦域计算系统作为乘法器-加法器操作。
10.根据权利要求1所述的压缩伽罗瓦域计算系统,其中所述伽罗瓦域加法器包括“异或”电路。
11.根据权利要求4所述的压缩伽罗瓦域计算系统,其中所述地址生成器包括用于组合n次幂和更高次幂的所述项和基地址的所述值以产生查找表地址的“或”电路。
12.根据权利要求2所述的压缩伽罗瓦域计算系统,其中所述查找表包括至少一个折叠的部分结果表。
13.一种压缩伽罗瓦域计算系统,包括乘法器电路,用于在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们的乘积;以及伽罗瓦域线性变换器电路,用于将n次幂的不可约多项式应用于所述乘积,包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,它用于组合所述折叠的部分结果和所述乘积中低于n次幂的项以执行伽罗瓦域乘法运算。
14.一种压缩伽罗瓦域乘法-累加系统,包括乘法器电路,用于在伽罗瓦域上将带有系数第一和第二多项式相乘来获得它们的乘积;和伽罗瓦域线性变换器电路,用于将n次幂的不可约多项式应用于所述乘积,包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,它用于组合所述折叠的部分结果、所述乘积中低于n次幂的项以及反馈的伽罗瓦域加法器的输出以执行伽罗瓦域乘法-累加运算。
15.一种压缩伽罗瓦域乘法器-加法器系统,包括乘法器电路,用于在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们的乘积;和伽罗瓦域线性变换器电路,用于将n次幂的不可约多项式应用于所述乘积,包括部分结果生成器,它响应于所述乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,其输出被反馈到具有第一和第二多项式之一的所述乘法器电路,所述第一和第二多项式中的另一个多项式作为第三输入连同所述折叠的部分结果以及所述乘积中低于n次幂的项一起输入到所述伽罗瓦域加法器,以执行伽罗瓦域乘法-加法运算。
全文摘要
一种压缩伽罗瓦域计算系统包括乘法器电路,用于在伽罗瓦域上将带有系数的第一和第二多项式相乘来获得它们的乘积;和伽罗瓦域线性变换器电路,用于将n次幂的不可约多项式应用于所述乘积,该电路包括部分结果生成器,它响应于乘积中的n次幂和更高次幂的项以提供折叠的部分结果;以及伽罗瓦域加法器,用于压缩折叠的部分结果和乘积中低于n次幂的项以获得所述乘积的n次幂的伽罗瓦域变换。
文档编号G06F7/00GK101095102SQ200580045323
公开日2007年12月26日 申请日期2005年11月21日 优先权日2004年11月22日
发明者詹姆斯·威尔逊, 约瑟夫·斯坦, 乔舒亚·凯布洛特斯基 申请人:阿纳洛格装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1