任意伽罗瓦域算术在可编程处理器上的实施的制作方法

文档序号:6593532阅读:231来源:国知局
专利名称:任意伽罗瓦域算术在可编程处理器上的实施的制作方法
技术领域
本发明涉及GF(2m)中伽罗瓦域算术的实施,其中长度m及产生器多项式p(x)两 者可由用户规定。为实现此,引入两个指令(l)gfmul指令及(2)gfn0rm指令,所述指令一 起实施伽罗瓦域乘法。
背景技术
伽罗瓦域算术在许多应用中使用,包含译码理论及加密技术。如所属领域的技术人员可了解,译码理论领域内的实例包含众所周知的李德_所 罗门(Reed-Solomon) ( “RS”)错误校正代码。RS错误校正代码通常表示为RS (n, k)。在一个实例中,RS代码可与m位符号一起运算。在此类代码中,编码器将k*m个 位编组成k个数据-符号的数据_字,其中每一符号具有m个位。然后,编码器计算n-k个 额外奇偶符号(同样每一者为m个位)以形成n*m个位的码字,其在本文中称为“η符号” 码字。η的最大大小为2m-l。一般来说,RS代码能够校正任何(n-k)/2个错误的符号。RS代码的普遍实例是RS (255,223)。RS (255,223)使用8位符号,将32个奇偶字 节添加到223个字节的数据块,且校正所得255字节码字中的任何错误的16个字节。由于 此特定RS代码应为所属领域的技术人员所已知,因此本文中不提供进一步详尽细节。使用以下三分式方法计算所述奇偶符号,所述方法在随后的段落中进行论述。首先,选取k个m位符号为在伽罗瓦域GF(2m)上的k_l次多项式的系数。出于本
文的目的,将所述函数称为“d (χ) ”。因此,如果待传输的符号为Cltl.....Clk^1,则可根据等式
(1)写出多项式d (χ) = (IcrKl1X+. · ·+dk—pH ... eq(l)第二,针对给定RS代码,选择产生器多项式。所述产生器多项式可由“g(x) ”表示, 具有2m-l次。因此,产生器多项式可由等式(2)表示g(x) = (x+a) (x+a2). . . (x+an_k) ... eq(2)在等式⑵中,“a”为GF(2m)中的特别值,称为“本原元素”,如所属领域的技术人 员应认识到。第三,奇偶符号是通过对奇偶等式求解来计算,其可表达为在等式(3)中ρ (X) = d (χ) *xn-k mod g (χ)…eq (3)在等式(3)中,所有运算在域GF (2m)上执行。如可自先前内容所了解,在各种大小的伽罗瓦域中的加法及乘法形成李德-所罗门编码的基础。加法及乘法还形成各种RS解码算法的基础,例如伯莱克姆(Berlekamp)算 法(1996年5月,IEEE信息理论国际会议杂志第42卷,第704到720页,E. Berlecamp (E. 伯莱克姆)的标题为“有界距离+1软判决李德-所罗门解码(Bounded distance+lsoft decision Reed-Solomon decoding) ”的文章)及弗尼(Forney)算法(1996 年 4 月,IEEE 信 息理论国际会议杂志第IT-12卷,第125到131页,G. D. Forney (G. D.弗尼)的标题为“一 般最小距离解码(Generalized Minimum Distance Decoding) ” 的文章)。由于加法及乘法是实施伽罗瓦域等式的基础,因此执行伽罗瓦域加法及乘法的快 速性辅助改进处理时间及增加处理效率。如所属领域的技术人员可了解,伽罗瓦域加法是简单的,通常为两个自变量的“异 或”。然而,伽罗瓦域乘法更复杂,需要专门硬件或需要查找表的方法。
如先前内容强调,处理时间及效率的增加是伽罗瓦域处理领域中的期望“利益”。

发明内容
本发明因此呈现用以增加处理效率且降低处理时间的某些方法。本发明呈现解决相对于现有技术所述的缺陷中的至少某些缺陷的方法。具体来说,本发明的一个方面是提供执行第一指令、然后第二指令的用于伽罗瓦 域乘法的方法。所述第一指令可以为gmful指令且所述第二指令可以为gfnorm指令。本发明的另一方面提供包含在所述第一指令中的三个运算及提供于所述第二指 令中的四个运算。包含在所述第一指令中的所述三个运算包含接收包含第一变量的第一输 入,接收包含第二变量的第二指令及使用第一及第二输入在GF (2m)上执行多项式乘法。提 供用于所述第二指令的四个运算包含接收为来自所述第一指令的乘积的第三输入,接收为 用以对所述乘积进行运算的预定产生器多项式的第四输入,接收为所述预定产生器多项式 的用以限制所述预定产生器多项式对所述乘积的运算的长度的第五输入及经由受所述长 度限制的所述预定产生器多项式计算所述乘积相对于除数的模数。本发明的又一方面提供包含gmful逻辑及gfnorm逻辑的硬件块。所述gmful逻辑 包含第一输入及第二输入。所述gmful逻辑还包含多项式乘法器逻辑,其经配置以在GF (2m) 上使所述第一及第二输入相乘且产生乘积。所述gfnorm逻辑包含接收来自所述gmful逻 辑的所述乘积的第三输入、接收对来自所述多项式乘法器逻辑的所述乘积进行运算的预定 产生器多项式、用以接收所述预定产生器多项式的限制所述预定产生器多项式对所述乘积 的运算的长度的第五输入,及用以经由受所述长度限制的所述预定产生器多项式计算所述 乘积相对于除数的模数的计算逻辑。如所属领域的技术人员应了解,根据下面的论述及图式本发明的其它方面将明 了。


本文所附的图式图解说明本发明的一个或一个以上实施例,其中图1是图解说明本发明所涵盖的一种方法的第一部分的流程图;图2是图解说明图1中所图解说明的方法的第二部分的流程图;图3是提供针对gmful指令的一个所涵盖逻辑的框图4是提供针对gfnorm指令的一个所涵盖逻辑的框图;及图5是提供针对计算级逻辑的一个所涵盖布置的框图。
具体实施例方式现在将结合一个或一个以上实施例描述本发明。然而,本发明并不打算限于本文所述实施例。相反,如以下论述将使其明了,存在可采用而不背离本发明的范围及精神的所 论述实施例的众多变化形式及等效内容。这些变化形式及实施例打算归属于本发明的范围。关于本发明,出于实行伽罗瓦域乘法(本文中,也称为“multiplication”(乘法)) 的目的,通常需要四条信息⑴称为“被乘数1”的变量的值,⑵称为“被乘数2”的变量 的值,⑶产生器多项式P(X)及⑷所述多项式的长度m。在这四个变量中,前三个变量一般可从寄存器(通常为源寄存器)获得。多项式 的长度m (其为第四变量)可作为指令的部分进行编码或可从寄存器(通常为立即寄存器) 读取。如所属领域的技术人员应了解,大多数指令集架构不能够提供三个源寄存器指令 加上一个立即寄存器指令。另外,还如所属领域的技术人员应了解,大多数指令集架构不能 够提供四个源寄存器指令。而现有技术指令集架构诉诸于专门专用寄存器来提供所需信息 中的至少一些信息。本发明依赖于用以经操纵以用于伽罗瓦域算法的复杂变量集的简单方法。具体来 说,对于本发明,将伽罗瓦域乘法分解为两个单独指令(l)gfmul指令及(2)gfn0rm指令。 所述gfmul指令在GF (2)上执行m位多项式乘法,从而产生2m_l位乘积。在通用替代变化 形式中,gfmul指令在GF(2m)上执行m位多项式乘法。因此,在GF⑵实例中,m = 1。所 述gfnorm指令计算2m-l位的数相对于m+1位的除数的模数。在此分解下,gfmul指令具 有2个输入(1)被乘数1,及(2)被乘数2。如应明了,gfnorm指令具有3个指令(1)乘 积,(2)多项式ρ (χ)及(3)长度m。如应立即明了,此分解减少用于指令集的端口 /编码需要。然而,其也趋于迫使处 理器针对每一 GF乘法发布两个指令。从理论观点来看,迫使处理器针对每一 GF乘法发布两个指令相对于现有技术将 似乎不提供任何可观优点。然而,在实际中,以比gfmul指令少得多的频率发布gfnorm指 令。因此,此分解相对于现有技术确实提供优点。具体来说,已观察到GF乘法通常作为较 大简约的部分来实施。以下等式总结了此观察结果z = ao bo Φ …Φ an bn此等式可根据以下改写z = (a0Xb0) % P . . . (anXbn) % P = (a0Xb0 ... anXbn) % P因此,可对η个gfmul指令的2m_l位的乘积一起进行“异或”运算且在结束时执 行最终模数。通过根据此设计执行指令,不需要在每一步骤处执行模数。在某些情况中,此 在处理时间及功率消耗两方面提供显著的处理节省。共享逻辑如所属领域的技术人员应了解,在伽罗瓦域算法中(如同其它计算一样),可需要计算余数。本发明将余数计算中的某些模式考虑在内,所述模式准许简单化此计算。本发 明还利用其它数学模式,如下文详细说明。为计算余数(也称为余数多项式),基于当前余数的首项位是否为1而执行除数的 一系列减法(即,“异或”)。为计算乘积,基于另一被乘数的对应位是否为1,执行所述被乘 数中的一者的一系列加法(即,“异或”运算)。作为实例,考虑101100与011011的乘法。如果以长形式写出所述乘法,则所述乘 法呈现如下101100011011000000010110011011001000000010110011011001_01111010100应注意,此乘法以与良序相反的序写出。在所述实例中,从左而非从右开始写出所 述乘法。考虑到此实例,提供11001101110对1001001的模数的计算的实例。此处,将除法 计算写为110011011101001001101111111010010010101101100000000101101101001001 01001000000000_100100这两个计算是以此方式呈现以指出矩阵中的相似处。如立即明了,右边的数是部分和。参考上文详细说明的两个计算,一个差异在于除法“异或”产生m+1位的数,而乘法“异或”产生m位的数的事实。然而,可补偿此差异。产生器多项式具有首项位总是“1” 的性质。因此,可利用产生器多项式的此性质。举例来说,涵盖通过以下算法使用m位“异 或” (1)如果部分和的首项位是1,则对剩余位与余数多项式的最低m个位进行“异或”运 算,及(2)将所述首项位调为零。两个计算之间的主要异处为对是否执行“异或”的选择。在乘法的情况下,使用被 乘数的第i个最左边位。在余数的情况下,使用当前余数的最左边位。左调整/填零
本发明涵盖对计算的简化。出于简化的目的,假设所涉及的所有数(包含被乘 数、乘积及余数多项式)存储在寄存器的最高有效位(“MSB”)中。另外,假设寄存器中 所有未使用的位调为零。因此,如果将数101101存储在16位寄存器中,寄存器内容变为 1011_0100_0000_000。尽管此并非严格必须的,但其简化了计算余数所需要的逻辑,因为执 行用以识别首项数位的任何额外指令(或执行任何额外工作)变得不必要。由于所有数经零填充,因此不需要m作为到gfmul运算的输入。gmful运算执行最 大数目个“异或”步骤,且由于多项式的真实长度与由硬件支持的最大多项式长度之间的任 何位将为零,因此额外的“异或”步骤会将0引入结果。对于gfnorm运算,必须执行m_l个“异或”步骤以将2m_l位多项式减少到m位多 项式。伪代码下面的码段#1呈现所涵盖以针对最大m为8实施统一的gfnorm/gfmul指令的伪 码的一个实施例。到gfmul指令的输入为a及b,其结果为t,且到gfnorm指令的输入为a、 b及N,其结果为t。标记为左边开始(即,0为寄存器的MSB)。码段#1gfmulgfnorma = a << 7 ;t = 0 ; t = b ;for(i = 0 ;i < 8 ;i++) {for(i = 0 ;i < 8 ;i++) {if (b[i] == 1) {if (t
== 1&& <= N) {t = (t << 1) "a ;t = (t << 1) "a ;} }else{else{t = t << 1 ; t = t << 1 ;}}}} 显然基础的逻辑是相同的,且仅控制是不同的。£M可以数个不同方式修改上文所论述的基本运算。举例来说,可添加到基本实例的 运算包含(Dgfmac指令,(2)向量及(3)向量-简约。gfmac指令是具有三个输入的运算。 gfmac指令计算其输入中的两者的乘积且对所述乘积与第三输入进行“异或”运算,借此产 生结果。向量是向量/SIMD处理器。对于向量,直接添加gfmul/gfnorm/gfmac指令的向量 /SIMD等效物且并行执行多个所述指令。在具有简约单元的向量/SIMD处理器中执行向量 简约。此处,本发明涵盖添加并行执行多个gfmul运算及将所有结果写入到标量目标(例 如累加器)之前对所述结果一起进行“异或”运算的运算。现在将结合方法实施例及硬件块实施例描述本发明,所述方法及硬件块两者均囊 括在本发明中。结合此论述,参考图1到5。本发明方法的一个实施例涵盖伽罗瓦域乘法。具有参考编号10的方法图解说明 于图1及2中。
方法10开始于12处。然后,在14处,所述方法执行第一指令。执行第一指令14 包含三个运算,其中的第一者为在16处接收第一输入。所述第一输入包含第一变量。执行 第一指令14还包含在18处接收第二输入。第二输入可以为第二变量。执行第一指令额外 地包含,在20处使用所述第一及第二输入在GF (2m)上执行多项式乘法。作 为20处执行多 项式的结果,执行第一指令14产生乘积。所述乘积可变为用于在24处执行第二指令的输 入中的一者(即,第三输入),结合图2论述所述执行第二指令。图1包含过渡块22,其指 示方法10在图2中继续。图2详细说明方法10的剩余部分。方法10继续到在24处执行第二指令。如图 2中所详细说明,存在构成第二指令的四个运算。四个运算中的第一者在26处,其中方法 10接收第三输入,所述第三输入可以为来自第一指令的乘积。在28处,方法10接收第四输 入,所述第四输入为用以对所述乘积运算的预定产生器多项式。在30处,方法10接收第五 输入,所述第五输入为用以限制预定产生器多项式对所述乘积的运算的预定产生器多项式 的长度。在32处,方法10经由受长度限制的预定产生器多项式计算所述乘积相对于除数 的模数。方法10在34处结束。在方法10的一个所涵盖变化形式中,第一指令包括gfmul指令且第二指令包括 gfhorm 指令。在方法10的另一所涵盖变化形式中,第一变量包括被乘数1且第二变量包括被乘 数2。还涵盖方法10可经执行以使得长度为整数m且所述乘积在长度上为2m_l个位。 与此方法一致,多项式乘法可以为m位乘法。因此,除数在长度上可以为m+1个位。在一个 替代实施例中,涵盖所述长度为整数m-1。如上文所述,涵盖方法10将在14处执行第一指令及在24处执行第二指令以使得 所述第二指令以比第一指令少的频率执行。此是在作为第三输入发送到步骤24之前对步 骤14的多个执行的结果一起进行“异或”运算时发生的。在本发明的另一所涵盖实施例中,方法10可包含其中对第一指令的预定数η的乘 积求和的运算。在此所涵盖实施例中,可在对第一指令的预定数的乘积求和之后执行最后 模数。如应明了,在此实施例中,η为整数。如上文所指示,涵盖方法10可经执行以使得将第一及第二输入的值存储在对应 寄存器中的最高有效位中。另外,涵盖可通过评估当前余数的首项位是否等于1来修改第二指令24。如果当 前余数的首项位等于1,则第二指令24执行余数的至少一次减法。因此,第二指令24可产 生余数。可将余数的值存储在对应寄存器中的最高有效位中。另一选择为,方法10可包含第一输入与第二输入之间的比较。在比较之后,方法 10可评估第一或第二输入中的一者中的预定对应位是否等于1。如果第一或第二输入中的 一者中的预定对应位等于1,则方法10可在所述第一或第二输入中的至少一者上执行至少 一次加法。因此,方法10将产生所得乘积。可将所得乘积的值存储在对应寄存器中的最高 有效位中。在一个所涵盖的变化形式中,可将对应寄存器中的所有未使用的位调为零。在另 一所涵盖的变化形式中,第一变量、第二变量、长度、乘积及余数中的至少一者可含有经左移位的数据。还涵盖修改方法10以使得自第四输入执行预定产生器多项式的首项位,借此形 成具有m个位长度的第四变量。参考图3及4,本发明还分别囊括硬件块36及38。硬件块36图解说明针对gfmul 逻辑的一个所涵盖实施例。硬件块38提供针对gfnorm逻辑的一个所涵盖实施例。这两个 实施例打算仅为对所涵盖归属本发明范围的许多硬件块中的两者36、38的说明。如图3中所示,硬件块36包含N个计算级块48、50及52。这些计算级块48、50、 52中的每一者读取由前一计算级块产生的中间值且写入所述中间值以供下一计算级块消 耗。由计算级块消耗的值由图中的46、54、56及58指示。值58是硬件块36的输出。计算 级块48、50、52中的每一者读取加数值40及长度值44。硬件块36打算为处理器,例如半导 体组件,其经配置以借助或不借助额外软件指令执行特定指令。如所属领域的技术人员应 了解,此可囊括广泛的装置。继续参考图3,此图指示块是如何经连接以实施gmful逻辑。其包含第一输入40 及第二输入42。第一输入40为接收包含第一变量的信号的组件或连接,第一变量为被乘数 1变量。第二输入42可以为接收第二变量的组件或连接,例如被乘数2变量。如图3中所图解说明,将加数值44设定为由N个零前插的第一输入值40。将加数 值 44提供到第一计算级块48、第二计算级块50及第三计算级块52。另外,将中间值46提 供到第一计算级块48。在此图解说明中,将中间值46设定为0。应注意,可根据硬件块36 所需将中间值46设定为非0的其它值。如自图3明了,每一计算级48、50、52读取第二输入38中的至少一个位。换句话 说,第二输入38将数据提供到计算级48、50、52中的每一者。将长度值44设定为N,其等 效于计算级的数目。如图3中所述,从0... N-I给计算机级编号。第i个级将读取在最高 有效位处开始的第i个位。因此,计算级#0 48读取MSB位60,计算级#1 50读取下一 MSB 位62,且最后级52读取第N个最高有效位64。现在参考图4,图4图示针对gfnorm逻辑的硬件块38。如直接明了,在硬件块38 与图3中所图解说明的硬件块36之间存在数个类似处。在图4中,将计算级编号为66、68、70。Gfnorm逻辑块38包含第三输入72,其保 持被除数(通常为gfmul的乘积);第四输入74,其为除数(通常为产生器多项式);及第 五输入76,其为步骤的数目,其通常比产生器多项式的长度小2。从第四输入74复制加数 78。从第三输入复制初始中间值80。从第五输入76复制长度值82。还如所示,将中间值 84输入到计算级#1 68中。类似地,将中间值86输入到计算级#N-170中。用参考编号88 指示输出。图5提供计算级块48、50、52、66、68、70的一个所涵盖实施例的细节。如图3及4 中所示,每一计算级块48、50、52、66、68、70读取加数90、中间值92及长度94。另外,当经 配置用于gfmul时,计算级块读取加法位96。在硬件块98中将中间值左移位1,产生经值 移位值100。然后将此值馈送到“异或”块102,其对经移位值102与加数90进行“异或” 运算。首项正负号逻辑单元104产生第一选择值106。当经配置用于gfnorm时,第一选择 值106为中间输入92的MSB 107。当经配置用于gfmul指令时,第一选择值106为加法位 96。如果第一选择值106为1,则第一多路复用器108选择所述“异或”的“异或”结果110。另外,第一多路 复用器108选择经移位值100,产生第一多路复用器结果112。长度比较逻 辑114产生第二选择值116。如果i小于所提供长度94,则针对第i个计算级,第二选择值 116为1。如果第二选择值116为1,则第二选择多路复用器118选择第一多路复用器结果 112,否则,其选择中间值92,从而产生输出中间值120。还可涵盖其它变化形式,如所属领 域的技术人员应了解。如自先前内容应明了,涵盖图3、4及5中所述的硬件块可经复制用于并行处理。如 果如此,则涵盖这些复制品以彼此并行地运算。关于此实施例,硬件块中的任何一者可包含 求和逻辑以对来自并行gfmul逻辑中的个别一者的结果求和以产生经求和结果。标量寄存 器可用于存储经求和结果。所述标量寄存器可以为累乘积器。可经由SIMD处理器执行并 行处理。如上文所述,本发明并不打算仅限于上文所论述的具体实施例。相反,所属领域的 技术人员应容易认识到存在可采用而不背离本发明的范围的所述实施例的众多等效内容 及变化形式。所述变化形式及等效内容打算归属于本发明的范围。
权利要求
1.一种用于伽罗瓦域乘法的方法,其包括 执行第一指令,其包括接收第一输入,所述第一输入包括第一变量, 接收第二输入,所述第二输入包括第二变量, 使用所述第一及第二输入在GF^11)上执行多项式乘法,及 产生乘积;及 执行第二指令,其包括接收第三输入,所述第三输入为来自所述第一指令的所述乘积, 接收第四输入,所述第四输入为用以对所述乘积进行运算的预定产生器多项式, 接收第五输入,所述第五输入为所述预定产生器多项式的用以限制所述预定产生器多 项式对所述乘积的运算的长度,及经由受所述长度限制的所述预定产生器多项式计算所述乘积相对于除数的模数。
2.如权利要求1所述的方法,其中 所述第一指令包括gfmul指令,且 所述第二指令包括gfnorm指令。
3.如权利要求1所述的方法,其中 所述第一变量包括被乘数1,且 所述第二变量包括被乘数2。
4.如权利要求1所述的方法,其中 所述长度为整数m,所述乘积包括2m-l个位, 所述多项式乘法包括m位乘法,且 所述除数包括m+1个位。
5.如权利要求1所述的方法,其中 所述长度为整数m-1。
6.如权利要求1所述的方法,其中以小于所述第一指令的频率的频率执行所述第二指令。
7.如权利要求1所述的方法,其进一步包括 对预定数目η个所述第一指令的所述乘积求和;及在对所述预定数目个所述第一指令的所述乘积求和之后执行最终模数; 其中η为整数。
8.如权利要求1所述的方法,其中将所述第一及第二输入的值存储在对应寄存器中的 最高有效位中。
9.如权利要求1所述的方法,其进一步包括 评估当前余数的首项位是否等于1 ;在所述当前余数的所述首项位等于1的情况下,对所述除数执行至少一次减法;及 产生余数,其中将所述余数的值存储在对应寄存器中的最高有效位中。
10.如权利要求1所述的方法,其进一步包括 将所述第一输入与所述第二输入相比较;评估所述第一或第二输入中的一者中的预定对应位是否等于1 ; 在所述第一或第二输入中的一者中的所述预定对应位等于1的情况下,对所述第一或 第二输入中的至少一者执行至少一次加法;及产生所得乘积,其中将所述所得乘积的值存储在对应寄存器中的最高有效位中。
11.如权利要求8所述的方法,其中将所述对应寄存器中的所有未使用的位调整为零。
12.如权利要求9所述的方法,其中将所述对应寄存器中的所有未使用的位调整为零。
13.如权利要求10所述的方法,其中将所述对应寄存器中的所有未使用的位调整为零。
14.如权利要求1所述的方法,其中所述第一变量、所述第二变量、所述长度、所述乘积 及所述除数中的至少一者含有经左移位的数据。
15.如权利要求14所述的方法,其中将所述预定产生器多项式的首项位排除在所述第 四输入之外,借此形成包括m个位的第四变量。
16.一种硬件块,其包括用于执行gmful指令的gmful逻辑,所述gmful逻辑包括用以接收第一变量的第一输入, 用以接收第二变量的第二输入,用以在GF^1)上使所述第一与第二输入相乘且产生乘积的多项式乘法器逻辑; 用于执行gfnorm指令的gfnorm逻辑,所述gfnorm逻辑包括 用以接收第三值的第三输入,用以接收对所述乘积进行运算的预定产生器多项式的第四输入, 用以接收所述预定产生器多项式的限制所述预定产生器多项式对所述乘积的运算的 长度的第五输入;及用于经由受所述长度限制的所述预定产生器多项式计算所述乘积相对于除数的模数 的计算逻辑。
17.如权利要求16所述的硬件块,其进一步包括用于计算所述乘积相对于除数的所述模数的计算逻辑,且用以在GF (2m)上做乘法的所 述多项式乘法器逻辑包括N个级,其中 提供中间值作为输入,对所述中间值与加数值进行“异或”运算以产生“异或”结果,且将所述“异或”结果左移位以产生输出中间值,其中提供所述输出中间值作为到来自所述N个级中的下一级的输入。
18.如权利要求17所述的硬件块,其进一步包括在执行所述gfmul指令的情况下将第一级的所述中间输入值设定为0或在执行gfnorm 指令的情况下将所述第一级的所述中间输入值设定为所述第三输入的选择逻辑。
19.如权利要求17所述的硬件块,其进一步包括在执行gfmul指令的情况下将所述加数的所述值设定为前插有N个0的所述第一输 入或在执行gfnorm指令的情况下将所述加数的所述值设定为所述产生器多项式的选择逻辑。
20.如权利要求17所述的硬件块,其进一步包括在每一级编号N中的首项位逻辑,其用以评估所述级的当前中间输入的首项位是否等 于1,及在所述级编号N小于第五输入的情况下,且在所述硬件执行gfnorm指令的情况下,所 述级编号N对所述加数与中间值进行“异或”运算。
21.如权利要求18所述的硬件块,其进一步包括在每一级编号N中的乘法位逻辑,其用以评估从所述首项位计数的所述第二输入的第 N个位是否为1及所述硬件块是否正在执行gfmul指令,据此所述级编号N对所述加数与中 间值进行“异或”运算。
22.如权利要求17所述的硬件块,其进一步包括在每一级编号N中的移位逻辑,其用以评估所述级编号N是否小于第五输入及所述硬 件块是否正在执行gfnorm指令,据此所述级编号N将所述“异或”结果移位。
23.如权利要求17所述的硬件块,其进一步包括在每一级编号N中的乘法移位逻辑,其用以评估所述硬件是否正在执行gfmul指令,据 此所述级编号N将所述“异或”结果移位。
24.如权利要求16所述的方法,其中复制所述gfmul逻辑及所述gfnorm逻辑以用于并 行处理且并行执行所述逻辑。
25.如权利要求M所述的方法,其进一步包括用以对来自并行gfmul逻辑中的个别者的结果求和以产生经求和结果的求和逻辑。
26.如权利要求25所述的方法,其进一步包括用以存储所述经求和结果的标量寄存器。
27.如权利要求沈所述的方法,其中所述标量寄存器为累加器。
28.如权利要求M所述的方法,其中经由SIMD处理器执行所述并行处理。
29.如权利要求16所述的方法,其中所述第三值是来自所述gmful逻辑的所述乘积。
全文摘要
一种用于伽罗瓦域乘法的方法包含执行第一及第二指令。所述第一指令包含接收第一输入,例如第一变量;接收第二输入,例如第二变量;使用所述第一及第二输入在GF(2m)上执行多项式乘法;及产生乘积。所述第二指令包含接收第三输入,其可为来自所述第一指令的所述乘积;接收第四输入,其为用以对所述乘积进行运算的预定产生器多项式;接收第五输入,其为所述预定产生器多项式的用以限制所述预定产生器多项式对所述乘积的运算的长度;及经由受所述长度限制的所述预定产生器多项式计算所述乘积相对于除数的模数。还描述一种硬件块。
文档编号G06F7/00GK102084335SQ200980116999
公开日2011年6月1日 申请日期2009年5月7日 优先权日2008年5月12日
发明者马杨·穆德吉尔 申请人:阿斯奔收购公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1