CN1717671A - 小型伽罗华域乘法器引擎 - Google Patents
小型伽罗华域乘法器引擎 Download PDFInfo
- Publication number
- CN1717671A CN1717671A CNA2003801043108A CN200380104310A CN1717671A CN 1717671 A CN1717671 A CN 1717671A CN A2003801043108 A CNA2003801043108 A CN A2003801043108A CN 200380104310 A CN200380104310 A CN 200380104310A CN 1717671 A CN1717671 A CN 1717671A
- Authority
- CN
- China
- Prior art keywords
- galois field
- circuit
- input
- multiplier
- polynomial
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Error Detection And Correction (AREA)
- Eye Examination Apparatus (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Complex Calculations (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Gyroscopes (AREA)
Abstract
一种小型伽罗华域并行乘法器引擎,包括:用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;伽罗华域线性变换器电路,其具有一个来自该乘法器电路的乘输入,用以预测该多项式乘积对一个不可约多项式的模余数;第一和第二多项式输入;该伽罗华域线性变换器电路可包括配置在一个矩阵和一个单位矩阵部分中的多个单元,其中,这些单位矩阵部分单元表示当该乘法器电路的输出是一个其幂小于该不可约多项式的幂的多项式时余数的预测。
Description
技术领域
本发明涉及一种小型伽罗华(Calois)域乘法器引擎,并且更具体地涉及一种可以在伽罗华域上相乘、乘加和乘累加的乘法器引擎。
本发明要求以下申请的优先权:Stein等2003年3月24日申请的标题为“小型伽罗华域乘法器”的美国专利申请序号10/395,620(AD-337J),Stein等2002年10月9日申请的标题为“伽罗华域乘法器”的美国临时申请序号60/417,384(AD-337J),Stein等2001年11月30日申请的标题为“GF2-ALU”的美国临时申请序号60/334,662(AD-239J),Stein等2001年11月20日申请的标题为“并行伽罗华域乘法器”的序号60/334,510(AD-240J),Stein等2001年12月18日申请的标题为“利用GF2-ALU的伽罗华域乘加(MPA)”的序号60/341,635(AD-299J),Stein等2001年12月18日申请的标题为“可编程GF2-ALU线性反馈移位寄存器—输入数据选择”的序号60/341,737(AD-300J)。本申请还要求以下专利申请的优先权:Stein等2002年1月18日申请的标题为“伽罗华域乘法器系统”的美国专利申请序号10/060,699(AD-240J),Stein等2002年8月26日申请的标题为“伽罗华域乘/乘加/乘累加”的美国专利申请序号10/228,526(AD-299J),以及Stein等2002年5月1日申请的标题为“可重配置的输入伽罗华域线性变换器系统”的美国专利申请序号10/136,170(AD-300J)。
背景技术
在通信系统中对里德—索罗蒙(RS)编码和先进加密标准(AES)广泛使用利用伽罗华域(GF)中的系数的多项式相乘。在一些情况下,基本伽罗华域相乘是不够的,从而需要更先进的伽罗华域运算例如伽罗华域乘和累加(GF-MAC)或者伽罗华域乘和加(GF-MPA)。传统数字信号处理器(DSP)完成伽罗华域乘是困难的和耗时的。DSP对于有限脉冲响应(FIR)滤波以及其它乘累加(MAC)密集运算是最优的,但是不能有效处理伽罗华域类型的运算。一种方法利用每次处理一个比特的线性反馈移位寄存器(LFSR)来使用伽罗华域上的直接多项式乘和除。这是非常慢的处理。例如,在用于AES类型应用的宽带通信中,当比特率高达每秒40兆比特时,可存在每秒多达5百万次的GF乘(GF-MPS)并且每次乘可能需要许多次例如60-100次运算。另一种方法利用查找表进行伽罗华域乘。典型地,该方法需要10-20个或更多的周期,这对于5GF-MPS造成略低的但仍然非常大量的运算,例如20×5=100MIPS或更多。已经广泛把里德—索罗蒙代码采纳为宽带网络中的优选差错控制编码方式。里德—索罗蒙编码器和译码器的可编程实现是一种吸引人的解决办法,因为它向系统设计者提供在数据带宽和纠错能力之间的折衷的独特灵活性,根据信道状态这种折衷是需要的。里德—索罗蒙译码中的第一步骤是计算校正子(syndrome)。校正子可形式上用Si=R模G定义,其中i=(0,1...15)。接收的码字可以表达为多项式形式Ri=roXN-1+r1XN-2+...rN-1,其中该接收的字的长度是N。可以看出计算校正子等于在伽罗华域上于用发生器多项式的第i个根的第j次幂定义的根上进行多项式评估。对于里德—索罗蒙算法中的每个接收到的字存在十六个要计算的校正子,这产生以十六为因子的多达每秒1.6百万次运算(BOPS)的运算,这对现有微处理器是不现实的。利用直接乘代替查找表使运算率增加到6.4BOPS。随着通信领域的扩大以及对通信数据施加加密要求,伽罗华域乘的需求明显增加。由于每一差错域检查、加密需要不同伽罗华域上的要求不同查找表的伽罗华域乘,情况进一步复杂。伽罗华域乘法器系统或引擎中的最新改进提供更快的运算和减小的存储要求,但是仍然要求更快、更节能和更小的设计。
发明内容
从而本发明的一个目的是提供一种新的和改进的小型伽罗华域乘法器引擎。
本发明的另一个目的是提供一种这样的新的和改进的小型伽罗华域乘法器引擎,其进一步减小尺寸和传播路径,从而得到更小、更简单和更快的设计。
本发明的另一个目的是提供一种进一步减小所要求的存储量的新的和改进的小型伽罗华域乘法器引擎。
本发明的另一个目的是提供一种减少所要求的外部总线并且对相关DSP使用较少的资源例如寄存器的新的和改进的小型伽罗华域乘法器引擎。
本发明的另一个目的是提供一种可以减少为新多项式重新配置所需要的时间的新的和改进的小型伽罗华域乘法器引擎。
本发明的另一个目的是提供一种这样的新的和改进的小型伽罗华域乘法器引擎,其不仅完成单周期乘还完成乘加以及乘累加运算从而提供更多的功能。
本发明是这样实现的:通过采用一个乘法器电路和一个加法器输入选择电路并且把适当的输入多项式提供给该乘法器电路以及伽罗华域线性变换器单元的加法器输入,实现能得到输入多项式的伽罗华域乘、乘加和乘累加功能中的一个或多个的小型伽罗华域乘法器引擎,并实现外部总线和DSP资源要求的减少;还可以通过把伽罗华线性变换器电路配置到一个矩阵和一个单位矩阵中减小存储要求,其中该单位矩阵的单元在该乘法器的输出是幂小于该不可约多项式的幂的多项式时代表对剩余部分的预测;还进一步实现成,如果该乘法器引擎专用于一种用途,例如乘、乘加或乘累加,还可以去掉该加法器输入选择电路和乘法输入选择电路。
本发明特征是一种小型伽罗华域并行乘法器引擎,其包括一个用于在伽罗华域上使二个带有系数的多项式相乘以得到它们的乘积的乘法器电路。存在一个伽罗华域线性变换器电路,它具有来自该乘法器电路的乘输入、加输入以及用于使该加输入和该多项式乘积对一个不可约多项式的预测模余数相组合的输出。存在至该乘法器电路的第一多项式输入,第二多项式输入,以及乘法器输入选择电路,其用于以乘方式向该乘法器电路提供第二多项式、以乘加方式提供伽罗华域线性变换器电路的输出以及以乘累加方式提供第二多项式。一个加法器输入选择电路对伽罗华域线性变换器电路的加输入以乘方式提供加法单位元电平、以乘加方式提供第二多项式输入和以乘累加方式提供伽罗华域线性变换器的输出,以得到这些输入多项式的伽罗华域乘、乘加以及乘累加功能。
在一优选实施例中,该乘法器电路可以包括一个用于多项式乘积的每个项的“与”逻辑电路以实现伽罗华乘法器。该乘法器电路可以包括一个用于多项式乘积中的每一对项的“异或”逻辑电路以实现伽罗华求和。该伽罗华域线性变换器电路可以包括一个单元的矩阵,每个单元包括一个“异或”逻辑电路以及一个具有连接到该“异或”逻辑电路的输出并且具有用于接收输入数据位的输入的“与”逻辑电路。该伽罗华域线性变换器电路的输出可以在该引擎的本地总线上反馈到该乘法器输入选择电路和该加法器输入选择电路。该乘法器输入选择电路可包括来自该伽罗华域线性变换器电路的输出的输入以及来自第二多项式的输入。该加法器输入选择电路可包括来自该伽罗华域线性变换器电路的输出的输入、来自第二多项式的输入以及一个控制输入。每个“异或”逻辑电路可以使它的输出和下一个相继“异或”逻辑电路的输入连接,但最后一个“异或”逻辑电路的输出和该矩阵的输出连接而第一“异或”逻辑电路的输入和加法单位元电平连接。可以存在一个可重配置的控制电路,以用于向该伽罗华域线性变换器电路提供一组用来对一个预先确定的不可约多项式预测模余数的系数。该伽罗华域线性变换器电路可以包括多个伽罗华域变换器单元,并且该可重配置的控制电路可并行地向这些伽罗华域变换器单元提供系数。该伽罗华域线性变换器电路可包括多个配置在一个矩阵部分以及一个单位矩阵部分中的单元,其中该单位矩阵部分的各单元代表当该乘法器电路的输出是一个其幂小于该不可约多项式的幂的多项式时余数的预测。该伽罗华域线性变换器电路可包括多个伽罗华域变换器单元并且该可重配置的控制电路可并行地对这些伽罗华域变换器单元提供系数。该伽罗华域线性变换器电路可包括多个伽罗华域变换器单元并且该可重配置的控制电路可包括多个各自和一个伽罗华域线性变换器单元关联的可重配置的控制单元。该加法单位元电平,可以是零电平并且可以在一个周期中得到输入多项式的各功能。
本发明还以一种小型伽罗华域乘法器引擎为特征,该引擎包括一个用于在伽罗华域上使二个带有系数的多项式相乘以得到它们的乘积的乘法器电路。一个伽罗华域线性变换器电路具有一个来自该乘法器电路的乘输入,用以对一个不可约多项式预测多项式乘积的模余数。存在一个至该乘法器电路的第一多项式输入,一个第二多项式输入以及一个加法器输入选择电路,其用于在乘方式下对该伽罗华域线性变换器电路的加输入提供加法单位元电平,以得到这些输入多项式的伽罗华域乘功能。
本发明还以一种小型伽罗华域乘法器引擎为特征,该引擎包括一个用于在伽罗华域上使二个带系数的多项式相乘以得到它拉的乘积的乘法器电路。一个伽罗华域线性变换器电路具有来自该乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可解多项式的预测模余数的输出。存在一个至该乘法器电路的第一多项式输入,一个第二多项式输入以及一个加法器输入选择电路,该选择电路用于在乘加方式下对该伽罗华域线性变换器电路的加输入提供该第二多项式输入,以得到这些输入多项式的伽罗华域乘加功能。
本发明以一种小型伽罗华域乘法器引擎为特征,该引擎包括一个用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路。一个伽罗华域线性变换器电路具有来自该乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出。存在一个至该乘法器电路的第一多项式输入,一个第二多项式输入以及一个加法器输入选择电路,该选择电路用于在乘累加方式下对该伽罗华域线性变换器电路的加输入提供该伽罗华域线性变换器电路的输出以得到这些输入多项式的伽罗华域乘累加功能。
本发明还以一种小型伽罗华域乘法器引擎为特征,该引擎包括一个用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路。一个伽罗华域线性变换器电路具有来自该乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出。存在一个至该乘法器电路的第一多项式输入,一个第二多项式输入以及一个乘法器输入选择电路,该选择电路用于在乘方式下向该乘法器电路提供第二多项式、在乘加方式下提供该伽罗华域线性变换器电路的输出,还存在一个加法器输入选择电路,其用于对该加罗瓦域线性变换器电路的加输入在乘方式下提供加法单位元电平和在乘加方式下提供第二多项式输入,以得到伽罗华域乘和乘加。
本发明还以一种小型伽罗华域乘法器引擎为特征,该引擎包括一个用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路。一个伽罗华域线性变换器电路具有来自该乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出。存在一个至该乘法器电路的第一多项式输入,一个第二多项式输入,一个乘法器输入选择电路和一个加法器输入选择电路,该乘法器输入选择电路用于向该乘法器电路在乘方式下提供第二多项式和在乘累加方式下提供第二多项式,而该加法器输入选择电路用于对该伽罗华域线性变换器电路的加输入在乘方式下提供加法单位元电平和在乘累加方式下提供该伽罗华域线性变换器电路的输出,以得到这些输入多项式的伽罗华域乘和乘累加功能。
本发明还以一种小型伽罗华域乘法器引擎为特征,该引擎包括一个用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路。一个伽罗华域线性变换器电路具有来自该乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出。存在一个至该乘法器电路的第一多项式输入,一个第二多项式输入,一个乘法器输入选择电路和一个加法器输入选择电路,该乘法器输入选择电路用于向该乘法器电路在乘加方式下提供该伽罗华域线性变换器电路的输出和在乘累加方式下提供第二多项式,而该加法器输入选择电路用于对该伽罗华域线性变换器电路的加输入在乘加方式下提供第二多项式输入和在乘累加方式下提供该伽罗华域线性变换器电路的输出,以得到这些输入多项式的伽罗华域乘加和乘累加功能。
本发明还以一种小型伽罗华域乘法器引擎为特征,其包括一个在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路,以及一个用于预测它的多项式乘积对一个不可约多项式的模余数的伽罗华域线性变换器电路,其包括配置在一个矩阵部分以及一个单位矩阵部分中的多个单元,其中,在该单位矩阵部分中各单元表示当该乘法器电路的输出是一个其幂小于该不可约多项式的幂的多项式时的余数预测。
在一优选实施例中,每个单元可包括一个可编程“异或”单元。该可编程“异或”单元可包括一个“异或”电路和一个“与”电路。存在一个可重配置的控制电路,用于对伽罗华域线性变换器电路提供用来为一个预先确定的不可约多项式预测模余数的一组系数。该伽罗华域线性变换器电路可包括多个伽罗华域线性变换器电路单元。该可重配置的控制电路可并行地对这些伽罗华域变换器单元提供系数,或者该可重配置的控制电路可包括多个各自和一个伽罗华域线性变换器单元关联的可重配置的控制单元。
本发明还以一种较简单的伽罗华域乘法器引擎为特征,其适于在没有加法器和乘法器输入选择电路的情况下在乘、乘加和乘累加运算中进行选定的运算。
附图说明
从下面的对优选实施例的说明和附图本领域技术人员会想到其它目的、特征和优点,附图中:
图1是依据本发明的小型伽罗华域乘法器引擎的功能框图;
图2是依据本发明的常规伽罗华域乘法器引擎的更详细功能框图;
图3是图1的小型伽罗华域乘法器引擎的更详细功能框图,以示出本发明的尺寸减小的伽罗华域线性变换器单位矩阵特征;
图4说明用于图2和3的伽罗华域线性变换器电路矩阵的典型可编程“异或”电路单元;
图5是图3和9的伽罗华域线性变换器电路的简化示意图,以说明依据本发明的对一个幂数为八的具体多项式的矩阵部分和单位矩阵部分单元的编程;
图6是图3和9的伽罗华域线性变换器电路的简化示意图,以说明依据本发明的对一个幂数为八的另一个多项式的矩阵部分和单位矩阵部分单元的编程;
图7是图3和9的伽罗华域线性变换器电路的简化示意图,以说明依据本发明的对一个幂数为四的又一个多项式的矩阵部分和单位矩阵部分单元的编程;
图8是图3和9的伽罗华域线性变换器电路的简化示意图,以说明对第二矩阵部分按稀疏矩阵编码,从而在该具体实施例中支持半幂数(4)和全幂数(8)之间的多项式幂数;
图9是图1的小型伽罗华域乘法器引擎的更详细框图,其含有本发明的矩阵尺寸减小、硬件减少和总线本地化的特征;
图10是依据本发明的采用若干伽罗华域线性变换器单元的伽罗华域乘法器引擎的框图;
图11是可在图2、3、5和9中使用的多项式乘法器的示意图;
图12说明图11的多项式乘法器的传递函数;以及
图13、14和15是依据本发明的分别专用于乘、乘累加、乘加运算的伽罗华域乘法器引擎的简化示意图。
具体实施方式
除下面公开的优选实施例或各优选实施例外,本发明能为其它实施例并且能在不同方式下实现或完成。从而应理解,在应用上本发明不受下面的说明中阐述的或在附图中说明的结构细节以及组成部分的安排的限制。
伽罗华域GF(n)是一组在其上可进行二进制运算的元素。加法和乘法必须满足互换律、结合律和分配律。带有有限数量元素的域是有限域。二进制域的一个例子是集{0,1},在模2加法和模2乘法下用GF(2)表示。模2加法和乘法运算由下面图中示出的表定义。第一行和第一列指示对伽罗华域加法器和乘法器的输入。例如,1+1=0以及1*1=1。
模2加法(“异或”)
+ | 0 | 1 |
0 | 0 | 1 |
1 | 1 | 0 |
模2乘法(“与”)
* | 0 | 1 |
0 | 0 | 0 |
1 | 0 | 1 |
通常,如果p是任何质数,则可以表示GF(p)是一个带有p个元素的有限域以及GF(pm)是一个带个pm个元素的扩展域。另外,通过把一个域元素α提升到它的不同的幂,可以按α的各个幂生成该域的各个元素。例如GF(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)=0x11d=X8+X4+X3+X2+1。
容易按软件实现伽罗华域加法,因为它和模加法相同。例如,如果29和16是GF(28)中的二个元素,则简单地按如下的“异或”运算进行它们的相加:29(11101)16(10000)=13(01101)。
另一方面如通过下面的例子示出那样伽罗华域乘法略复杂一些,其通过重复地乘本原元素α计算GF(24)的所有元素。为了生成GF(24)的域元素,把次数m=4的本原多项式G(x)选择为G(x)=X4+X+1。为了使乘法是取模的从而乘法的结果仍是该域的元素,利用恒等式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),其是代数展开的并且汇集相同的幂(加法对应对应项之间的“异或”运算)以给出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)模p(x)。
为了说明,利用多项式相乘对一个不可约多项式取模完成乘法。例如:(如果m(x)=x8+x4+x3+x+1)
{57}*{83}={c1},这是因为,
第一步
(x6+x4+x2+x+1)+(x7+x+1)=x13x11x9x8x7
x7x5x3x2x
x6x4x2xx
=x13x11x9x8x6x5x4x31
第二步
x13+x11+x9+x8+x6+x5+x4+x3+1模(x8+x4+x3+x+1)=x7+x6+1
一种在此方法上预先处理的改进型伽罗华域乘法器系统10包括一个乘法器电路,其用于在伽罗华域上对系数a0-a7在A寄存器中的以及系数b0-b7在B寄存器中的二个带系数的多项式相乘以得到它们的乘积,该乘积由表II所定义的15个项多项式c(x)给出。该乘法器实际包括多个乘法器单元。
表II
c14=a7*b7
c13=a7*b6a6*b7
c12=a7*b5a6*b6a5*b7
c11=a7*b4a6*b5a5*b6a4*b7
c10=a7*b3a6*b4a5*b5a4*b6a3*b7
c9=a7*b2a6*b3a5*b4a4*b5a3*b6a2*b7
c8=a7*b1a6*b2a5*b3a4*b4a3*b5a2*b6a1*b7
c7=a7*b0a6*b1a5*b2a4*b3a3*b4a2*b5a1*b6a0*b7
c6=a6*b0a5*b1a4*b2a3*b3a2*b4a1*b5a0*b6
c5=a5*b0a4*b1a3*b2a2*b3a1*b4a0*b5
c4=a4*b0a3*b1a2*b2a1*b3a0*b4
c3=a3*b0a2*b1a1*b2a0*b3
c2=a2*b0a1*b1a0*b2
c1=a1*b0a0*b1
c0=a0*b0
在2002年1月30日申请的Stein等的标题为“伽罗华域乘法器系统”[AD-240J]的美国专利申请10/060,699中解释了一种伽罗华域乘法器系统的操作,该申请整体收录在此作为参考。
多项式c(x)的15个项中的每个项包括用*表示的“与”功能并且用通过表示的逻辑“异或”组合各个项对。该在表II中表示的乘积提交到一个伽罗华域线性变换器电路,该电路可包括若干各由15×8个单元构成的伽罗华线性变换器单元,它们响应该乘法器电路产生的乘积以预测该多项式乘积对一个预先确定的不可约多项式的模余数。A0、B0的乘积在第一单元中完成,A1、B1的在第二单元中,A2、B2的在第三单元中,以及An、Bn的在最后一个单元中完成。在2002年1月18日申请的Stein等的标题为“伽罗华域线性变换器”[AD-239J]的美国专利申请10/051,533号解释了伽罗华域线性变换器电路以及它的每个变换器单元的操作,该申请整体收录在此作为参考。每个伽罗华域线性变换器单元通过用一个不可约多项式除多项式乘积来预测模余数。该不可约多项式例如可以是表3中示出的任何一个多项式。
表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+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+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)
在此给出的伽罗华域乘法器GF(28)能在幂28、幂24以及表III中示出的幂下实现。
依据本发明的一个GF乘法例子按如下发生:
GF()乘法前; GF9()乘法后;
多项式Ox11d 多项式Ox11d
图1中示出根据本发明的小型伽罗华乘法器引擎10,其伴有A输入寄存器12、B输入寄存器14和输出寄存器16。小型伽罗华域引擎10能进行一些不同的运算,包括乘、乘加和乘累加。
图2的常规伽罗华域乘法器引擎10a需要三个寄存器:A寄存器12a、B寄存器14a和C寄存器26a。这些寄存器的负担必须由关联的数字信号处理器(DSP)核心28承担并且需要繁重的外部总线工作。除了向A寄存器12a提供数据的总线30外,总线34用于向B寄存器14a提供数据并且总线36用于向C寄存器26a提供数据,需要用于把寄存器16a的输出反馈到数字信号处理器28的总线32以及用于把数字信号处理器28的输出反馈到B寄存器14a或C寄存器26a的总线34或总线36。总线31连接伽罗华域线性变换器电路20的输出和输出寄存器16a。这样,结合从C寄存器26a馈送到矩阵22的加法器输入42的值多项式乘法器电路18可以对伽罗华域线性变换器电路20的矩阵22的乘法输入40提供适当的值以实现乘、乘加和乘累加功能。这里,矩阵22是按支持幂为8的多项式乘法的8×15矩阵示出的,但可把它做得更大或更小、含有更多或更少的单元24,这取决于要服务的多项式的幂。
依据本发明,通过把矩阵22b配置到二个矩阵部分,矩阵部分50和单位矩阵部分52,中可以接近一半地减小图3引擎10b中的伽罗华域线性变换器电路20b的矩阵22b的每行的单元24b的数量。单位矩阵部分只需一组单元54,其中当乘法器电路的输出是一个其幂小于该不可约多项式的幂的多项式时这些单位矩阵部分单元表示余数的预测。这样,在其中该不可约多项式的幂为8的图3中,任何幂小于8的多项式不会超过该模并且会直接通过该矩阵,从而单位矩阵部分52中的缺少单元是不必要的。这几乎一半地节约了矩阵22b所需的单元,从而产生更小、更简单和更快的引擎。
每个单元24b(图4)可包括一个“与”电路100和一个“异或”电路102。存在数据输入104和使能输入106。“异或”电路102在线路108上向下一个“异或”电路的输入提供输出并在它的输入110处接收前一个“异或”电路的输出,但其输出连接到矩阵的输出的最后一个“异或”电路以及其输入连接到加法器输入42b(图3)或42g(图9)的第一个“异或”电路除外。线路10b上的使能信号使线路104上的数据通过“与”门100并由“异或”电路102进行和线路110上的输入的“异或”运算。线路106上不存在使能信号简单地使线路110上的输入通过“异或”门102到达输出线路108。线路106上的使能信号使能单元24。在此方式下,整个矩阵可以重新为任何具体的不可约多项式配置。
通过从上面的表III中选择一个不可约多项式以及通过使能必要的单元实现它,可以理解图3引擎10b的效力。例如,为了实现标记成Ox11d代表不可约多项式x8+x4+x3+x2+1的第一个幂为8的多项式,这些概括地在24cc指示的被使能单元形成图5的单位矩阵52c,该矩阵如前面在图3中所描述带有一排单元54c。当从表III选择第二个不可约多项式Ox12b,不可约多项式x8+x5+x3+x+1在图6的矩阵部分50d和单位矩阵52d中产生被使能单元图案24dd,其中单位矩阵52d再次产生一排被使能单元54d。
所需的单元的数量的减小不仅仅限于其幂和不可约多项式一样高的多项式。它还适用任何幂为该不可约多项式的幂的一半或更低的多项式。例如,图3中示出并且在图5和6中解释的8×15矩阵22b也可支持幂为1、2、3或4的多项式但不支持幂5、6和7,如果该不可约多项式的幂为16,支持它的矩阵也支持幂最多为8的多项式但不支持9到15。如果它的幂为32,它会支持幂为32以及最多是16的多项式,但不支持17到31。例如,如图7中所示,对于一个幂为4的不可约多项式,矩阵部分50e和单位矩阵部分52e变得更小并且可以在矩阵22e内的任何地方实现。这里,除单位矩阵52e中的被使能单元外矩阵部分50e具有多个被使能单元24ee,其中单位矩阵部分52e具有构成它的更小的一排被使能的单元54e。
如果希望对幂为5、6和7的不可约多项式服务,可以用图8的稀疏矩阵部分52f代替单位矩阵部分,其中可以利用附加的被使能单元排54ff、54fff、54ffff分别支持幂为7、6和5的多项式。但是,这在矩阵的大小以及所需单元数量的减少上略差。
依据本发明的另一个特征,输入寄存器的数量可以从三个减到二个,并且和图9数字信号处理器(DSP)28g通信所依赖的外部总线数量可以减少并本地化成引擎10g自身的内部总线。这样,如图9中所示,只存在二个输入寄存器A(12g)和B(14g),并且从输出31的反馈不必通过DSP 28g而是直接、本地地在引擎10g通过内部总线60到达乘法器输入选择电路62和加法器输入选择电路64。数字信号处理器28g只需要在线路66上对乘法器输入选择电路62以及在线路68上对加法器输入选择电路64上提供控制信号。这样,在乘方式下,乘法器输入选择电路62把来自B寄存器14g的输入传送到多项式乘法器电路18g,同时加法器输入选择电路64向伽罗华域线性变换器电路20g的加法器输入42g提供加法单位元电平,本情况中即地电平70。在乘加方式下,数字信号处理器28指示乘法器输入选择电路62在线路60上把来自矩阵22g的输出反馈到多项式乘法器电路18g,并指示加法器输入选择电路64把B寄存器14g中的多项式传送到伽罗华域线性变换器电路20g的加法器输入42g。在乘累加方式下,数字信号处理器28g指示乘法器输入选择电路62把来自B寄存器14g的多项式传送到多项式乘法器电路18g并且指示加法器输入选择电路64在伽罗华域线性变换器电路20g的线路60上反馈输出。
本发明的另一个特征是由于选择性地使能各单元24g达到的伽罗华域线性变换器电路20g的可重配置性。可重配置的控制电路80选择性地使能一些用来实现所选取的不可约多项式的系数所需的单元24g,并且由于依据本发明需要控制的单元的数量已得到减小,所以控制电路80本身尺寸可减小。
在2002年5月1日申请的Stein等的标题为“可重配置输入伽罗华域线性变换器系统”(AD-300J)的美国专利申请10/136,170号以及在它的所有优先申请和文档中解释了可重配置的输入伽罗华域线性变换器电路的操作,它们整体收录在此作为参考。
尽管迄今出于简明只相对一个引擎说明本发明,但如图10中所示可以一起使用若干引擎,其中每个引擎各具有一个乘法器电路10h、10i、10j、10k...10n和一个伽罗华域线性变换器电路20h、20i、20j、20k...20n。它们全部用单个中央可重配置的控制电路80’来控制。这些引擎可以共享它们各在一个不同的8位(字节)段上操作的位数[32,64,128]相同的A、B寄存器,或者各由它自己的可重配置控制单元80h、80i、80j、80k...80n并且各自由它自己的一对A、B寄存器,即A0和B0,12h和14h、A1和B1,12i和14i、A2和B2,12j和14j、A3和B3,12k和14k等等,服务。
图11的多项式乘法器电路181可在本文示出的实施例中使用以提供输出c0-c14,其包括多个和各个“异或”门122组合的“与”门120,从而可以乘任何一对来自A寄存器121和B寄存器141的多项式,例如图12的表124中示出的多项式a0-a7和多项式b0-b7。
如果乘法器引擎专用于单种应用,例如乘、乘加或乘累加,则为了结构更简单可以去掉乘法器输入选择电路和加法器输入选择电路,例如如图13、14和15中示出那样。
图13的伽罗华域乘引擎100包括多项式乘法器电路18p和伽罗华域变换器电路20p,电路20p接收来自乘法器电路18p的多项式乘积并把它和加法器输入42p结合以在102处产生输出,不过本处对该加法器输入提供加法单位元电平。
图14的伽罗华域乘累加引擎104包括多项式乘法器电路18q和伽罗华域变换器电路20q,电路20q接收来自乘法器电路18q的多项式乘积并把它和加法器输入42q结合以在102q处产生输出。但在此输出120q反馈到加法器输入42q。
图15的伽罗华域乘加引擎108包括多项式乘法器电路18r和伽罗华域变换器电路20r,电路20r接收来自乘法器电路18r的多项式乘积并把它和加法器输入42r结合以在102r处产生输出。但在此输出102r反馈到乘法器电路18r。
尽管在一些附图中但不在其它附图中示出本发明的一些特殊特征,这只是出于方便,因为依据本发明每种特征可以和其它特征中的任何或全部相组合。本文使用的词“包括”、“包含”、“具有”和“带有”是广泛和全面地解释并且不受限于任何物理互连。此外,本申请中公开的任何实施例不当成是唯一可能的实施例。
本领域技术人员会想到其它实施例并且在下述权利要求书之内。
Claims (57)
1.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其具有一个来自所述乘法器电路的乘输入、一个加输入和一个用于使该加输入和该多项式乘积对一个不可约多项式的预测模余数相组合的输出;
至所述乘法器电路的第一多项式输入;
第二多项式输入;
乘法器输入选择电路,用于向所述乘法器电路在乘方式下提供所述第二多项式、在乘加方式下提供所述伽罗华域线性变换器电路的所述输出和在乘累加方式下提供所述第二多项式;以及
加法器输入选择电路,用于对所述伽罗华域线性变换器电路的所述加输入在乘方式下提供加法单位元、在乘加方式下提供所述第二多项式输入和在所述乘累加方式下提供所述伽罗华域线性变换器电路的所述输出,以得到输入多项式的乘、乘加和乘累加功能。
2.如权利要求1的小型伽罗华域乘法器引擎,其中,所述乘法器电路包括用于所述多项式乘积的每个项的“与”逻辑电路以实现伽罗华乘法器。
3.如权利要求1的小型伽罗华域乘法器引擎,其中,所述乘法器电路包括用于所述多项式乘积中的每一对项的“异或”逻辑电路以实现伽罗华求和。
4.如权利要求1的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括一个单元矩阵,每个单元包括一个“异或”逻辑电路、一个其输出连接到所述“异或”逻辑电路的“与”逻辑电路以及一个接收输入数据位的输入。
5.如权利要求1的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路的所述输出在所述引擎中的本地总线上反馈到所述乘法器输入选择电路和所述加法器输入选择电路。
6.如权利要求1的小型伽罗华域乘法器引擎,其中,所述乘法器输入选择电路包括来自所述伽罗华域线性变换器电路的所述输出的输入以及来自所述第二多项式的输入。
7.如权利要求1的小型伽罗华域乘法器引擎,其中,所述加法器输入选择电路包括来自所述伽罗华域线性变换器电路的所述输出的输入、来自所述第二多项式的输入以及加法单位元输入。
8.如权利要求4的小型伽罗华域乘法器引擎,其中,每个所述“异或”逻辑电路使它的输出和下一个相继“异或”逻辑电路的输入连接,但最后一个“异或”逻辑电路的输出和该矩阵的输出连接而第一“异或”逻辑电路的输入和零电平连接。
9.如权利要求1的小型伽罗华域乘法器引擎,还包括一个可重配置的控制电路,用于向所述伽罗华域线性变换器电路提供用来预测对一个预先确定的不可约多项式的模余数的一组系数。
10.如权利要求9的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括多个伽罗华域变换器单元,并且所述可重配置的控制电路并行地向所述伽罗华域变换器单元提供所述系数。
11.如权利要求1的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括配置在一个矩阵部分以及一个单位矩阵部分中的多个单元,其中,该单位矩阵部分的单元代表当该乘法器电路的输出是一个其幂小于该不可约多项式的幂的多项式时余数的预测。
12.如权利要求9的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括多个伽罗华域变换器单元,并且所述可重配置的控制电路包括多个各自和所述伽罗华域线性变换器单元中的每个单元关联的可重配置的控制单元。
13.如权利要求1的小型伽罗华域乘法器引擎,其中,在一个周期中产生输入多项式的所述功能。
14.如权利要求9的小型伽罗华域乘法器引擎,其中,所述加法单位元电平是零电平。
15.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其具有一个来自所述乘法器电路的乘输入,用于预测该多项式乘积对一个不可约多项式的模余数;
至所述乘法器电路的第一多项式输入;
第二多项式输入;以及
加法器输入选择电路,用于在乘方式下对所述伽罗华域线性变换器电路的所述加输入提供加法单位元电平,以获得输入多项式的伽罗华域乘功能。
16.如权利要求15的小型伽罗华域乘法器引擎,其中,所述乘法器电路包括用于所述多项式乘积的每个项的“与”逻辑电路,以实现伽罗华乘法器。
17.如权利要求15的小型伽罗华域乘法器引擎,其中,所述乘法器电路包括用于所述多项式乘积中的每一对项的“异或”逻辑电路,以实现伽罗华求和。
18.如权利要求15的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器包括一个单元矩阵,每个单元包括一个“异或”逻辑电路、一个其输出连接到所述“异或”逻辑电路的“与”逻辑电路以及一个用于接收输入数据位的输入。
19.如权利要求15的小型伽罗华域乘法器引擎,其中,所述加法器输入选择电路包括来自所述伽罗华域线性变换器电路的所述输出的输入、来自所述第二多项式的输入以及加法单位元输入。
20.如权利要求18的小型伽罗华域乘法器引擎,其中,每个所述“异或”逻辑电路使它的输出和下一个相继的“异或”逻辑电路的输入连接,但最后一个“异或”逻辑电路的输出和该矩阵的输出连接而第一“异或”逻辑电路的输入和所述加法器输入选择电路连接。
21.如权利要求15的小型伽罗华域乘法器引擎,还包括一个可重配置的控制电路,用于向所述伽罗华域线性变换器电路提供用来预测对一个预先确定的不可约多项式的模余数的一组系数。
22.如权利要求21的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括多个伽罗华域变换器单元,并且所述可重配置的控制电路并行地向所述伽罗华域变换器单元提供所述系数。
23.如权利要求15的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括配置在一个矩阵部分以及一个单位矩阵部分中的多个单元,其中,这些单位矩阵部分单元代表当该乘法器电路的输出是一个其幂小于该不可约多项式的幂的多项式时余数的预测。
24.如权利要求21的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括多个伽罗华域变换器单元,并且所述可重配置的控制电路包括多个各自和所述伽罗华域线性变换器单元中的每一个单元关联的可重配置控制单元。
25.如权利要求15的小型伽罗华域乘法器引擎,其中,在一个周期中产生输入多项式的所述功能。
26.如权利要求15的小型伽罗华域乘法器引擎,其中,所述加法单位元电平是零电平。
27.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其具有一个来自所述乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出;
至所述乘法器电路的第一多项式输入;
第二多项式输入伽罗华域线性变换器电路的所述输出;
加法器输入选择电路,用于在乘加方式下对所述伽罗华域线性变换器电路的所述加输入提供所述第二多项式输入,以得到输入多项式的伽罗华域乘加功能。
28.如权利要求27的小型伽罗华域乘法器引擎,其中,在一个周期中产生输入多项式的所述功能。
29.如权利要求27的小型伽罗华域乘法器引擎,其中,所述加法单位元电平是零电平。
30.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其具有一个来自所述乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出;
至所述乘法器电路的第一多项式输入;
第二多项式输入;
加法器输入选择电路,用于在所述乘累加方式下对所述伽罗华域线性变换器电路的所述加输入提供所述伽罗华域线性变换器电路的所述输出,以得到输入多项式的伽罗华域乘累加功能。
31.如权利要求30的小型伽罗华域乘法器引擎,其中,在一个周期中产生输入多项式的所述功能。
32.如权利要求30的小型伽罗华域乘法器引擎,其中,所述加法单位元电平是零电平。
33.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其具有一个来自所述乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出;
至所述乘法器电路的第一多项式输入;
第二多项式输入;
乘法器输入选择电路,用于向所述乘法器电路在乘方式下提供所述第二多项式以及在乘加方式下提供所述伽罗华域线性变换器电路的所述输出;以及
加法器输入选择电路,用于对所述伽罗华域线性变换器电路的所述加输入在乘方式下提供加法单位元电平以及在乘加方式下提供所述第二多项式输入,以得到输入多项式的伽罗华域乘和乘加功能。
34.如权利要求33的小型伽罗华域乘法器引擎,其中,在一个周期中产生输入多项式的所述功能。
35.如权利要求33的小型伽罗华域乘法器引擎,其中,所述加法单位元电平是零电平。
36.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其具有一个来自所述乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出;
至所述乘法器电路的第一多项式输入;
第二多项式输入;
乘法器输入选择电路,用于向所述乘法器电路在乘方式下提供所述第二多项式以及在乘累加方式下提供所述第二多项式;以及
加法器输入选择电路,用于对所述伽罗华域线性变换器电路的所述加输入在乘方式下提供加法单位元电平以及在所述乘累加方式下提供所述伽罗华域线性变换器电路的所述输出,以得到输入多项式的伽罗华域乘和乘累加功能。
37.如权利要求36的小型伽罗华域乘法器引擎,其中,在一个周期中产生输入多项式的所述功能。
38.如权利要求36的小型伽罗华域乘法器引擎,其中,所述加法单位元电平是零电平。
39.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其具有一个来自所述乘法器电路的乘输入、一个加输入以及一个用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数的输出;
至所述乘法器电路的第一多项式输入;
第二多项式输入;
乘法器输入选择电路,用于向所述乘法器电路在乘加方式下提供所述伽罗华域线性变换器电路的所述输出以及在乘累加方式下提供所述第二多项式;以及
加法器输入选择电路,用于对所述伽罗华域线性变换器电路的所述加输入在乘加方式下提供所述第二多项式输入以及在乘累加方式下提供所述伽罗华域线性变换器电路的所述输出,以得到输入多项式的伽罗华域乘加和乘累加功能。
40.如权利要求39的小型伽罗华域乘法器引擎,其中,在一个周期中产生输入多项式的所述功能。
41.如权利要求39的小型伽罗华域乘法器引擎,其中,所述加法单位元电平是零电平。
42.一种小型伽罗华域并行乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;以及
用于预测它的多项式乘积对一个不可约多项式的模余数的伽罗华域线性变换器电路,其包括配置在一个矩阵部分以及一个单位矩阵部分中的多个单元,其中,该单位矩阵部分的单元表示当该乘法器电路的输出是一个其幂小于该不可约的多项式的幂的多项式时余数的预测。
43.如权利要求42的小型伽罗华域并行乘法器电路,其中,每个所述单元包括一个可编程的“异或”单元。
44.如权利要求43的小型伽罗华域并行乘法器电路,其中,所述可编程“异或”单元包括一个“异或”电路和一个“与”电路。
45.如权利要求42的小型伽罗华域并行乘法器电路,还包括一个可重配置的控制电路,用于向所述伽罗华域线性变换器电路提供用于预测对一个预先确定的不可约多项式的模余数的一组系数。
46.如权利要求45的小型伽罗华域并行乘法器电路,其中,所述伽罗华域线性变换器电路包括多个伽罗华域线性变换器单元。
47.如权利要求45的小型伽罗华域并行乘法器电路,其中,所述可重配置的控制电路并行地对所述伽罗华域线性变换器单元提供所述系数。
48.如权利要求45的小型伽罗华域并行乘法器电路,其中,所述可重配置的控制电路包括多个各自和所述伽罗华域线性变换器单元中的每一个关联的可重配置的控制单元。
49.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
至所述乘法器电路的第一多项式输入;
至所述乘法器电路的第二多项式输入;
伽罗华域线性变换器电路,其具有来自所述乘法器电路的乘输入,用于预测该多项式乘积对一个不可约多项式的模余数,以得到输入多项式的伽罗华域乘功能。
50.如权利要求49的小型伽罗华域乘法器引擎,其中,所述伽罗华域线性变换器电路包括一个单元矩阵,每个单元包括一个“异或”逻辑电路、一个输出连接到所述“异或”逻辑电路的“与”逻辑电路以及一个用于接收输入数据位的输入。
51.如权利要求50的小型伽罗华域乘法器引擎,其中,每个所述“异或”逻辑电路使它的输出和下一个相继的“异或”逻辑电路的输入连接,但最后一个“异或”逻辑电路的输出和该矩阵的输出连接而第一“异或”逻辑电路的输入和加法单位元电平连接,以得到输入多项式的伽罗华域乘功能。
52.一种小型伽罗华域乘法器引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
伽罗华域线性变换器电路,其响应来自所述乘法器电路的所述多项式乘积以及在它的加输入处的多项式输入,用于通过组合该加输入和该多项式乘积对一个不可约多项式的预测模余数来对所述乘法器提供多项式输入之一,从而得到输入多项式的伽罗华域乘加功能。
53.如权利要求52的小型伽罗华域乘加引擎,其中,所述伽罗华域线性变换器电路包括一个单元矩阵,每个单元包括一个“异或”逻辑电路、一个其输出连接到所述“异或”逻辑电路的“与”逻辑电路以及一个用于接收输入数据位的输入。
54.如权利要求53的小型伽罗华域乘加引擎,其中,每个所述“异或”逻辑电路使它的输出和下一个相继的“异或”逻辑电路的输入连接,但最后一个“异或”逻辑电路的输出和该矩阵的输出连接而第一“异或”逻辑电路的输入和第二多项式输入连接,以得到输入多项式的伽罗华域乘加功能。
55.一种小型伽罗华域乘累加引擎,包括:
用于在伽罗华域上使二个带系数的多项式相乘以得到它们的乘积的乘法器电路;
至所述乘法器电路的第一多项式输入;
至所述乘法器电路的第二多项式输入;
响应来自所述乘法器电路的所述多项式乘积的伽罗华域线性变换器电路,以及一个多项式加输入,其用于组合该加输入和该多项式乘积对一个不可约多项式的预测模余数,以得到输入多项式的伽罗华域乘累加功能;以及
所述输出向所述伽罗华域线性变换器电路的所述加输入提供所述多项式。
56.如权利要求55的小型伽罗华域乘累加引擎,其中,所述伽罗华域线性变换器电路包括一个单元矩阵,每个单元包括一个“异或”逻辑电路、一个其输出连接到所述“异或”逻辑电路的“与”逻辑电路以及一个用于接收输入数据位的输入。
57.如权利要求55的小型伽罗华域乘累加引擎,其中,每个所述“异或”逻辑电路使它的输出和下一个相继的“异或”逻辑电路的输入连接,但最后一个“异或”逻辑电路的输出和该矩阵的输出连接而第一“异或”逻辑电路的输入和所述伽罗华域线性变换器电路的所述输出连接,以得到输入多项式的伽罗华域乘累加功能。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41738402P | 2002-10-09 | 2002-10-09 | |
US60/417,384 | 2002-10-09 | ||
US10/395,620 | 2003-03-24 | ||
US10/395,620 US7177891B2 (en) | 2002-10-09 | 2003-03-24 | Compact Galois field multiplier engine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1717671A true CN1717671A (zh) | 2006-01-04 |
CN100389414C CN100389414C (zh) | 2008-05-21 |
Family
ID=32095940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801043108A Expired - Fee Related CN100389414C (zh) | 2002-10-09 | 2003-10-09 | 小型伽罗华域乘法器引擎 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7177891B2 (zh) |
EP (1) | EP1550046B1 (zh) |
JP (1) | JP4739020B2 (zh) |
KR (1) | KR100825855B1 (zh) |
CN (1) | CN100389414C (zh) |
AT (1) | ATE474262T1 (zh) |
AU (1) | AU2003277314A1 (zh) |
DE (1) | DE60333378D1 (zh) |
WO (1) | WO2004034207A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011732A (zh) * | 2011-12-30 | 2014-08-27 | 英特尔公司 | 双合成域高级加密标准存储器加密引擎 |
CN106066784A (zh) * | 2015-04-23 | 2016-11-02 | 阿尔特拉公司 | 用于实现伽罗华域约简的电路和方法 |
CN107728993A (zh) * | 2017-11-03 | 2018-02-23 | 深圳职业技术学院 | 一种基于全一不可约多项式的有限域乘法器 |
CN114063973A (zh) * | 2022-01-14 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 伽罗华域乘法器及纠删编解码系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7082452B2 (en) * | 2001-11-30 | 2006-07-25 | Analog Devices, Inc. | Galois field multiply/multiply-add/multiply accumulate |
US7421076B2 (en) * | 2003-09-17 | 2008-09-02 | Analog Devices, Inc. | Advanced encryption standard (AES) engine with real time S-box generation |
KR100594265B1 (ko) * | 2004-03-16 | 2006-06-30 | 삼성전자주식회사 | 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법. |
US7363336B1 (en) | 2004-03-19 | 2008-04-22 | Microsoft Corporation | Six-term Karatsuba-variant calculator |
US7765252B1 (en) | 2004-03-19 | 2010-07-27 | Microsoft Corporation | Five-term karatsuba-variant calculator |
AU2005255946C1 (en) * | 2004-06-14 | 2009-10-29 | The University Of North Carolina At Greensboro | Systems and methods for digital content security |
TWI253011B (en) * | 2004-10-13 | 2006-04-11 | Promise Technology Inc | Galois field multiplier and multiplication method thereof |
US7512647B2 (en) * | 2004-11-22 | 2009-03-31 | Analog Devices, Inc. | Condensed Galois field computing system |
US20070271325A1 (en) * | 2006-05-08 | 2007-11-22 | Nvidia Corporation | Matrix multiply with reduced bandwidth requirements |
US8650239B2 (en) * | 2009-09-08 | 2014-02-11 | Texas Instruments Incorporated | Hardware implementation of a Galois field multiplier |
RU2011107568A (ru) | 2011-03-01 | 2012-09-10 | ЭлЭсАй Корпорейшн (US) | Устройство (варианты) и способ генерирования конструкции комбинационного умножителя конечного поля малой глубины |
US8929539B2 (en) * | 2011-12-22 | 2015-01-06 | Intel Corporation | Instructions to perform Groestl hashing |
US8683296B2 (en) | 2011-12-30 | 2014-03-25 | Streamscale, Inc. | Accelerated erasure coding system and method |
US8914706B2 (en) | 2011-12-30 | 2014-12-16 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
US9646105B2 (en) * | 2012-11-08 | 2017-05-09 | Texas Instruments Incorporated | Reduced complexity hashing |
CN109791517B (zh) | 2016-12-21 | 2023-09-08 | 密码研究公司 | 保护并行乘法运算免受外部监测攻击 |
KR101879516B1 (ko) * | 2016-12-22 | 2018-07-17 | 한국항공우주연구원 | 디지털 디첩 처리 장치 및 방법 |
US10409615B2 (en) | 2017-06-19 | 2019-09-10 | The Regents Of The University Of Michigan | Configurable arithmetic unit |
US10678507B2 (en) | 2017-12-22 | 2020-06-09 | Alibaba Group Holding Limited | Programmable multiply-add array hardware |
US11032061B2 (en) * | 2018-04-27 | 2021-06-08 | Microsoft Technology Licensing, Llc | Enabling constant plaintext space in bootstrapping in fully homomorphic encryption |
Family Cites Families (49)
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 |
US4251875A (en) | 1979-02-12 | 1981-02-17 | Sperry Corporation | Sequential Galois multiplication in GF(2n) with GF(2m) Galois multiplication gates |
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 |
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 |
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 |
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 |
JPH05344006A (ja) * | 1992-06-11 | 1993-12-24 | Fujitsu Ltd | 巡回符号生成装置及び巡回符号生成方法 |
US5379243A (en) | 1992-08-31 | 1995-01-03 | Comstream Corporation | Method and apparatus for performing finite field division |
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) |
JP2963018B2 (ja) * | 1994-11-08 | 1999-10-12 | 旭化成マイクロシステム株式会社 | リード・ソロモン誤り訂正符号復号化回路 |
JPH08202533A (ja) * | 1995-01-23 | 1996-08-09 | Fujitsu Ltd | 除算処理装置 |
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 |
DE69731932T2 (de) * | 1996-10-29 | 2006-02-16 | International Business Machines Corp. | Verfahren und Vorrichtung für zweistufige CRC-32-Berechnung |
GB9627069D0 (en) | 1996-12-30 | 1997-02-19 | Certicom Corp | A method and apparatus for finite field multiplication |
GB9707861D0 (en) | 1997-04-18 | 1997-06-04 | Certicom Corp | Arithmetic processor |
JP3850511B2 (ja) | 1997-05-07 | 2006-11-29 | 日本テキサス・インスツルメンツ株式会社 | リードソロモン復号装置 |
WO1999016175A1 (fr) * | 1997-09-24 | 1999-04-01 | Hitachi, Ltd. | Circuit integre a semi-conducteurs et systeme de traitement de donnees |
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 |
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 |
JP2000172520A (ja) * | 1998-12-04 | 2000-06-23 | Fujitsu Ltd | ガロア体演算プロセッサ |
FI107094B (fi) * | 1999-05-10 | 2001-05-31 | Nokia Mobile Phones Ltd | Menetelmä päivittää koodigeneraattorin lineaarinen palautesiirtorekisteri |
FR2796736B1 (fr) | 1999-07-20 | 2001-11-30 | St Microelectronics Sa | Procede pour effectuer une multiplication avec accumulation dans un corps de galois |
JP3742293B2 (ja) * | 1999-11-01 | 2006-02-01 | 株式会社東芝 | 剰余演算装置 |
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 |
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 |
US6587864B2 (en) | 2001-11-30 | 2003-07-01 | Analog Devices, Inc. | Galois field linear transformer |
US7082452B2 (en) * | 2001-11-30 | 2006-07-25 | Analog Devices, Inc. | Galois field multiply/multiply-add/multiply accumulate |
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 |
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 |
-
2003
- 2003-03-24 US US10/395,620 patent/US7177891B2/en not_active Expired - Fee Related
- 2003-10-09 DE DE60333378T patent/DE60333378D1/de not_active Expired - Lifetime
- 2003-10-09 AT AT03808174T patent/ATE474262T1/de not_active IP Right Cessation
- 2003-10-09 WO PCT/US2003/031886 patent/WO2004034207A2/en active Application Filing
- 2003-10-09 CN CNB2003801043108A patent/CN100389414C/zh not_active Expired - Fee Related
- 2003-10-09 AU AU2003277314A patent/AU2003277314A1/en not_active Abandoned
- 2003-10-09 KR KR1020057006206A patent/KR100825855B1/ko not_active IP Right Cessation
- 2003-10-09 EP EP03808174A patent/EP1550046B1/en not_active Expired - Lifetime
- 2003-10-09 JP JP2005501127A patent/JP4739020B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011732A (zh) * | 2011-12-30 | 2014-08-27 | 英特尔公司 | 双合成域高级加密标准存储器加密引擎 |
CN106066784A (zh) * | 2015-04-23 | 2016-11-02 | 阿尔特拉公司 | 用于实现伽罗华域约简的电路和方法 |
CN106066784B (zh) * | 2015-04-23 | 2022-03-11 | 阿尔特拉公司 | 用于实现伽罗华域约简的电路和方法 |
CN107728993A (zh) * | 2017-11-03 | 2018-02-23 | 深圳职业技术学院 | 一种基于全一不可约多项式的有限域乘法器 |
CN107728993B (zh) * | 2017-11-03 | 2021-07-13 | 深圳职业技术学院 | 一种基于全一不可约多项式的有限域乘法器 |
CN114063973A (zh) * | 2022-01-14 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 伽罗华域乘法器及纠删编解码系统 |
Also Published As
Publication number | Publication date |
---|---|
KR100825855B1 (ko) | 2008-04-28 |
EP1550046A2 (en) | 2005-07-06 |
WO2004034207A3 (en) | 2004-07-29 |
EP1550046A4 (en) | 2006-09-27 |
AU2003277314A1 (en) | 2004-05-04 |
DE60333378D1 (de) | 2010-08-26 |
WO2004034207A2 (en) | 2004-04-22 |
ATE474262T1 (de) | 2010-07-15 |
JP2006503382A (ja) | 2006-01-26 |
CN100389414C (zh) | 2008-05-21 |
EP1550046B1 (en) | 2010-07-14 |
JP4739020B2 (ja) | 2011-08-03 |
AU2003277314A8 (en) | 2004-05-04 |
US20040078409A1 (en) | 2004-04-22 |
KR20050083747A (ko) | 2005-08-26 |
US7177891B2 (en) | 2007-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1717671A (zh) | 小型伽罗华域乘法器引擎 | |
CN1608244A (zh) | 伽罗瓦域乘法/乘法一加法乘法累加 | |
CN1898896A (zh) | 高级加密标准算法的可编程数据加密引擎 | |
CN1411630A (zh) | 用于生成循环余数核对代码以及生成其他基于余数的编码的方法、设备和产品 | |
CN1589429A (zh) | 伽罗瓦域乘法器系统 | |
CN1791855A (zh) | 混合Galois域机和Galois域除法器和平方根机及其方法 | |
CN1296817C (zh) | 模乘方法及装置及模乘计算单元 | |
CN1347607A (zh) | 生成加密数据流密码的方法和装置 | |
CN1836394A (zh) | 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法 | |
CN1471665A (zh) | 增速密码法与装置 | |
CN1864171A (zh) | 处理数据的系统及其方法 | |
CN101080874A (zh) | 纠错编码装置以及在其中使用的纠错编码方法 | |
CN1107905C (zh) | 在分组数据上执行乘-加运算的装置 | |
CN1630204A (zh) | 具有矩阵转换技术的循环冗余码计算方法及系统 | |
CN1280336A (zh) | 信息处理设备和方法以及发行媒体 | |
CN1238604A (zh) | 里德-所罗门编码装置与编码方法 | |
CN1251715A (zh) | 有限域离散对数密码系统的割圆多项式结构 | |
CN1164912A (zh) | 数据变换装置及数据变换方法 | |
CN1530824A (zh) | 用于执行蒙哥马利型模乘法的装置及方法 | |
CN1757191A (zh) | 前向纠错的方法和系统 | |
CN1870499A (zh) | 产生新的多变量公钥密码系统的方法 | |
CN1764881A (zh) | 协助处理密码消息的指令 | |
CN1582544A (zh) | 用于线性系统方案数组处理 | |
CN1648853A (zh) | 多字乘法-累加电路和蒙哥马利模乘法-累加电路 | |
CN1685621A (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: 20080521 Termination date: 20171009 |
|
CF01 | Termination of patent right due to non-payment of annual fee |