專利名稱:混合Galois域機(jī)和Galois域平方根機(jī)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Galois域除法機(jī)和方法,更一般地,涉及用于在一次變換運(yùn)算中執(zhí)行 連續(xù)的Galois域變換的混合Galois域機(jī)。相關(guān)專利申請(qǐng)本專利申請(qǐng)主張以下申請(qǐng)的優(yōu)先權(quán)2002年10月9日提交的、Stein等的、題目為A COMPACT GALOIS FIELD MULTIPLIER 的美國(guó)臨時(shí)專利申請(qǐng)(AD-337J) ;2001 年 11 月 30 日提 交的、Stein等的、題目為GF2-ALU的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)No. 60/334,662 (AD-239J);
2001年 11 月 20 日提交的、Stein 等的、題目為 PARALLEL GALOIS FIELDMULTIPLIER 的美 國(guó)臨時(shí)專利申請(qǐng)序列號(hào)No. 60/334,510 (AD-240J) ;2001年12月18日提交的、Stein等 的、題目為GALOIS FIELD MULTIPLY ADD(MPA)USING GF2-ALU的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào) No. 60/341,635 (AD-299J) ;2001 年 12 月 18 日提交的、Stein 等的、題目為 PROGRAMMABLE GF2-ALU LINEARFEEDBACK SHIFT REGISTER-INCOMING DATA SELECTION 的美國(guó)臨時(shí)專利 申請(qǐng)序列號(hào)No. 60/341,737 (AD-300J)。本專利申請(qǐng)還主張以下申請(qǐng)的優(yōu)先權(quán)2003年3 月 24 日提交的、Stein 等的、題目為 COMPACT GALOIS FIELD MULTIPLIER ENGINE 的美國(guó) 專利申請(qǐng)序列號(hào)No. 10/395, 620 (AD-337J) ;2002年1月18日提交的、Stein等的、題目為 GALOIS FIELD LINEAR TRANSF0RMERER 的美國(guó)專利申請(qǐng)序列號(hào) No. 10/051,533 (AD-239J);
2002年 1 月 30 日提交的、Stein 等的、題目為 GALOIS FIELD MULTIPLIER SYSTEM 的美 國(guó)專利申請(qǐng)序列號(hào)No. 10/060,699 (AD-240J) ;2002年8月26日提交的、授權(quán)給Stein 等、題目為 GALOIS FIELD MULTIPLY/MULTIPLYADD/MULTIPLY ACCUMULATE 的美國(guó)專禾Ij 申請(qǐng)序列號(hào)No. 10/228,526 (AD-299J);和2002年5月1日提交的、Stein等的、題目為 REC0NFIG。URABLE INPUT GALOIS FIELDTRANSFORMERER SYSTEM 的美國(guó)專利申請(qǐng)序列號(hào) No. 10/136,170(AD-300J)。
背景技術(shù):
在諸如加密和錯(cuò)誤控制編碼的某些應(yīng)用中,必須執(zhí)行算術(shù)運(yùn)算,例如在Galois域 上的加法、減法、平方根、乘法和除法。在Galois域上任何兩個(gè)成員之間的任何這樣的運(yùn)算 將導(dǎo)致輸出(和、差、平方根、乘積、商),它是同一個(gè)Galois域上的另一個(gè)數(shù)值。在Galois 域上元素的數(shù)目是2m,其中m是域的度(degree)。例如,GF (24)中具有16個(gè)不同的元素; GF(28)將具有256個(gè)元素。Galois域是從特定冪次的不可約的多項(xiàng)式生成的。特定的度 的每個(gè)Galois域?qū)⒕哂卸鄠€(gè)不可約的多項(xiàng)式,從每個(gè)多項(xiàng)式,通過(guò)使用相同的項(xiàng)但以不同 的階次可以作出不同的域。在Galois域上的除法是通過(guò)把被除數(shù)乘以除數(shù)的倒數(shù)而完成的。這個(gè)除數(shù)倒數(shù)可以以多種方式被生成。一個(gè)方法是用存儲(chǔ)的倒數(shù)查找表,其中除數(shù)是表的地址。這個(gè)方法的一個(gè)問(wèn)題是對(duì)于每個(gè)不可約多項(xiàng)式的每個(gè)域,必須存儲(chǔ)分開(kāi)的表。另外,該表只能被順 序地訪問(wèn)如果需要并行運(yùn)算,則必須對(duì)于每個(gè)并行運(yùn)算提供每個(gè)表的拷貝。另一個(gè)方法 是把每個(gè)存儲(chǔ)的Galois域元素乘以各個(gè)除數(shù)。產(chǎn)生一的乘積的數(shù)值就是特定的除數(shù)的倒 數(shù)。再次地如果打算進(jìn)行并行運(yùn)算的話,所有的數(shù)值并行被存儲(chǔ)在多個(gè)拷貝。并且,需要一 個(gè)Galois域乘法器來(lái)完成檢索。第三個(gè)方法使用兩個(gè)線性反饋移位寄存器(LFSR),每個(gè)被 配置成生成特定的不可約多項(xiàng)式的選擇的Galois域。第一個(gè)被初始化為除數(shù);第二個(gè)被初 始化為“1”。從除數(shù)值開(kāi)始,兩個(gè)寄存器的時(shí)鐘被同步。當(dāng)?shù)谝粋€(gè)LFSR的乘積等于1時(shí),除 數(shù)被乘以它的倒數(shù)。在這時(shí)第二個(gè)LFSR的乘積是Galois域元素,它是除數(shù)的倒數(shù)。這個(gè) 方法的一個(gè)問(wèn)題是對(duì)于每個(gè)度的每個(gè)不可約多項(xiàng)式的每個(gè)Galois域需要不同的LFSR對(duì)。 在以上的第二查找表方法和LFSR方法中,尋找倒數(shù)需要高達(dá)2m-l次迭代
發(fā)明內(nèi)容
所以,本發(fā)明的目的是提供改進(jìn)的Galois域除法機(jī)和方法。本發(fā)明的另一個(gè)目的是提供這樣的改進(jìn)的Galois域除法機(jī),它可以以m_l次迭代 完成尋找除數(shù)倒數(shù)。本發(fā)明的另一個(gè)目的是提供這樣的改進(jìn)的Galois域除法機(jī),它可以容易地重新 配置成適應(yīng)不同的度的不同的不可約多項(xiàng)式Galois域。本發(fā)明的另一個(gè)目的是提供這樣的改進(jìn)的Galois域除法機(jī),它可以用來(lái)生成除 數(shù)倒數(shù)并把它乘以被除數(shù)。本發(fā)明的另一個(gè)目的是提供這樣的改進(jìn)的Galois域除法機(jī),它需要較少的功率 和較小的面積。本發(fā)明的另一個(gè)目的是提供用于在一次變換運(yùn)算中執(zhí)行連續(xù)Galois域變換的更 一般的改進(jìn)的混合的Galois域機(jī)。本發(fā)明來(lái)自于這樣的實(shí)現(xiàn)方案,更小的、更快速的、和更加有效的、改進(jìn)的Galois 域除法器可以這樣得到=Galois域倒數(shù)生成器和輸入選擇電路初始地輸入1和第一Galois 域元素到Galois域倒數(shù)生成器以得到輸出,以后在Galois域倒數(shù)生成器中把第一 Galois 域元素乘以Galois域倒數(shù)生成器的輸出,用于預(yù)測(cè)m-2次不可約多項(xiàng)式的多項(xiàng)式乘積的平 方的模余數(shù),其中m是Galois域的度,以得到第一 Galois域元素的倒數(shù),以及在Galois域 倒數(shù)機(jī)中把第一 Galois域元素的倒數(shù)乘以第二 Galois域元素,用于預(yù)測(cè)不可約多項(xiàng)式的 多項(xiàng)式乘積的模余數(shù),以便在m次循環(huán)中得到兩個(gè)Galois域元素的商。更一般地,本發(fā)明也可以這樣被實(shí)現(xiàn)用于對(duì)于連續(xù)多項(xiàng)式輸入(其中每個(gè)輸入, 除了第一個(gè)以外,是前一個(gè)的Galois域線性變換的輸出)執(zhí)行連續(xù)的Galois域線性變換 的改進(jìn)的混合Galois域機(jī)可以通過(guò)來(lái)實(shí)現(xiàn)提供第一輸入輸入電路以及具有可響應(yīng)第一 輸入的小單元的矩陣的Galois域線性變換器,其被配置成在一次變換中,立即預(yù)測(cè)不可約 Galois域多項(xiàng)式的連續(xù)Galois域線性變換的模數(shù)余數(shù),以直接從第一輸入得出Galois域 線性變換的最后輸出。本發(fā)明的特征在于Galois域除法機(jī),包括Galois域倒數(shù)生成器和輸入選擇電路, 初始地輸入1和第一 Galois域元素到Galois域倒數(shù)生成器以得到輸出,隨后在Galois域 倒數(shù)生成器中把第一 Galois域元素乘以Galois域倒數(shù)生成器的輸出,用于預(yù)測(cè)m_2次不可約多項(xiàng)式的多項(xiàng)式乘積的平方的模余數(shù),其中m是Galois域的度,以得到第一 Galois域 元素的倒數(shù),以及在Galois域倒數(shù)機(jī)中把第一 Galois域元素的倒數(shù)乘以第二 Galois域元 素,用于預(yù)測(cè)不可約多項(xiàng)式的多項(xiàng)式乘積的模余數(shù),以便在m次循環(huán)中得到兩個(gè)Galois域 元素的商。在優(yōu)選實(shí)施例中,倒數(shù)生成器可包括第一和第二 Galois域乘法器。第一 Galois域乘法器可包括第一多項(xiàng)式乘法器電路和第一 Galois域線性變換器。第一 Galois域線 性變換器可包括小單元的矩陣。第一 Galois域線性變換器可包括矩陣部分和單位矩陣部 分。第二 Galois域乘法器可包括第二多項(xiàng)式乘法器電路和第二 Galois域線性變換器。第 二 Galois域線性變換器可包括小單元的矩陣。第二 Galois域線性變換器單元的矩陣可包 括矩陣部分和單位矩陣部分。第一 Galois域乘法器的輸出可被饋送到第二線性乘法器的 兩個(gè)相乘輸入端,以提供該輸出的平方。Galois域倒數(shù)生成器可包括包含第一多項(xiàng)式乘法 器與第一 Galois域變換器的Galois域乘法器,和第二 Galois域變換器,用于計(jì)算Galois 域乘法器輸出的平方。第二 Galois域變換器可以近似于第一 Galois域變換器的尺寸的一 半。第一和第二 Galois域變換器,每個(gè)可包括小單元的矩陣,以及第二 Galois域變換器可 包括第一 Galois域變換器的近似一半數(shù)目的小單元。Galois域倒數(shù)機(jī)可包括Galois域乘 法器和程序電路,該程序電路用于編程Galois域乘法器以執(zhí)行m-2次的混合的相乘-平方 運(yùn)算,后面跟隨乘法運(yùn)算,本發(fā)明在廣義上其特征在于混合Galois域機(jī),用于對(duì)于連續(xù)的多項(xiàng)式輸入執(zhí)行 連續(xù)的Galois域線性變換,以得出最后輸出,其中每個(gè)輸入,除了第一輸入以外,是前一個(gè) Galois域線性變換的輸出。有用于提供第一輸入的輸入電路和Galois域線性變換器,具有 響應(yīng)于第一輸入的小單元的矩陣,以及被配置成在一次變換中,立即預(yù)測(cè)不可約Galois域 多項(xiàng)式的連續(xù)的Galois域線性變換的模數(shù)余數(shù),以直接從第一輸入得出Galois域線性變 換的最后輸出。本發(fā)明的特征還在于Galois域除法的方法,包括初始地輸入1和第一 Galois域 元素到Galois域倒數(shù)生成器以得到輸出,在Galois域倒數(shù)生成器中把第一 Galois域元素 乘以Galois域倒數(shù)生成器的輸出,用于預(yù)測(cè)m-2次不可約多項(xiàng)式的多項(xiàng)式乘積的平方的模 余數(shù),其中m是Galois域的度,以得到第一 Galois域元素的倒數(shù),以及在Galois域倒數(shù)機(jī) 中把第一 Galois域元素的倒數(shù)乘以第二 Galois域元素,用于預(yù)測(cè)不可約多項(xiàng)式的多項(xiàng)式 乘積的模余數(shù),以便在m次循環(huán)中得到兩個(gè)Galois域元素的商。本發(fā)明的特征還在于Galois域平方根機(jī),包括Galois域平方根生成器和輸入電 路,該輸入電路用于輸入Galois域元素到Galois域平方根生成器,以得到在一次循環(huán)中 Galois域元素的平方根。在優(yōu)選實(shí)施例中,Galois域平方根機(jī)可包括Galois域乘法器和程序電路,該程序 電路用于編程Galois域乘法器,以在一次循環(huán)中執(zhí)行m-1次混合平方運(yùn)算。本發(fā)明的特征還在于Galois域平方根方法,包括輸入Galois域元素到Galois 域平方根生成器以得到輸出,以及在Galois域平方根生成器中對(duì)Galois域平方根生成器 的輸出進(jìn)行平方,用于預(yù)測(cè)m-1次不可約多項(xiàng)式的多項(xiàng)式乘積的平方的模余數(shù),其中m是 Galois域的度,以便在(m-1)次循環(huán)中得到Galois域元素的平方根。
通過(guò)優(yōu)選實(shí)施例的以下的說(shuō)明和附圖,本領(lǐng)域技術(shù)人員將明白其它目的特性和優(yōu)點(diǎn)圖1是按照本發(fā)明的緊湊式Galois域乘法機(jī)的功能性框圖;圖2是按照本發(fā)明的傳統(tǒng)的Galois域乘法機(jī)的更詳細(xì)的功能性框圖;圖3是顯示本發(fā)明的減小尺寸的Galois域變換器單位矩陣特性的圖1的緊湊式 Galois域乘法機(jī)的更詳細(xì)的功能性框圖;圖4是用于圖2和3的Galois域線性變換器電路的矩陣的典型的可編程X_0R電 路小單元的示意圖;圖5是顯示了用于冪次8的特定的多項(xiàng)式的按照本發(fā)明的矩陣部分和單位矩陣部 分單元的編程的圖3和9的Galois域線性變換器電路的簡(jiǎn)化的示意圖;圖6是顯示了用于冪次8的另一個(gè)多項(xiàng)式的按照本發(fā)明的矩陣部分和單位矩陣部 分單元的編程的圖3和9的Galois域線性變換器電路的簡(jiǎn)化的示意圖;圖7是顯示了用于冪次4的再一個(gè)多項(xiàng)式的按照本發(fā)明的矩陣部分和單位矩陣部 分單元的編程的圖3和9的Galois域線性變換器電路的簡(jiǎn)化的示意圖;圖8是顯示了作為在這個(gè)特定的實(shí)施例中用于支持在半⑷冪次與全⑶冪次之 間的多項(xiàng)式冪次的稀疏矩陣的第二矩陣部分的編程的、圖3和9的Galois域線性變換器電 路的簡(jiǎn)化的示意圖;圖9是包含本發(fā)明的減小尺寸的矩陣和減小的硬件和本地化的總線特性的、圖1 的緊湊式Galois域乘法機(jī)的更詳細(xì)的框圖;圖10是采用多個(gè)Galois域線性變換器單元的、按照本發(fā)明的Galois域乘法機(jī)的 框圖;圖11是在圖2,3,5和9上可使用的多項(xiàng)式乘法器的示意圖;圖12是用于圖11的多項(xiàng)式乘法器的轉(zhuǎn)移函數(shù)的圖;圖13是按照本發(fā)明的除法機(jī)的簡(jiǎn)化的示意性框圖;圖14是圖13的Galois域乘法器和平方器的更詳細(xì)的圖;圖15是用于圖12的多項(xiàng)式乘法器的減小的轉(zhuǎn)移函數(shù)值的圖;圖16是類似于實(shí)施圖15的減小的轉(zhuǎn)移函數(shù)的圖14的Galois域乘法器和平方器 的圖;圖17是圖14的Galois域線性變換器的使能的小單元的模式的示意圖;圖18是利用減小的轉(zhuǎn)移函數(shù)的、圖16的Galois域線性變換器的使能的小單元的 模式的示意圖;圖19是用于對(duì)于連續(xù)的多項(xiàng)式輸入執(zhí)行連續(xù)的Galois域線性變換以得到最后輸 出,例如按照本發(fā)明的更一般特性的除法的混合的Galois域機(jī)的、混合的Galois域線性機(jī) 的使能的小單元的模式的示意圖;圖20是利用圖19所示的Galois域變換的混合的Galois域機(jī)的簡(jiǎn)化的示意圖;圖21是按照本發(fā)明的Galois域除法器方法的流程圖;圖22是按照本發(fā)明的平方根機(jī)的示意性框圖;圖23是用于如圖22所示的、對(duì)于連續(xù)多項(xiàng)式輸入執(zhí)行連續(xù)Galois域線性變換以得到最后輸出,例如按照本發(fā)明的更一般特性的平方根的混合的Galois域線性機(jī)的使能 的小單元的模式的示意圖;圖24是按照本發(fā)明的Galois域平方根方法的流程圖;以及圖25是按照本發(fā)明的混合的Galois域機(jī)的簡(jiǎn)化框圖。
具體實(shí)施方式
除了下面公開(kāi)的優(yōu)選實(shí)施例以外,本發(fā)明能夠?qū)嵤┢渌鼘?shí)施例,以及以各種方式 被實(shí)踐或被實(shí)行。因此,應(yīng)當(dāng)看到,本發(fā)明不限于它應(yīng)用到在下面的說(shuō)明中闡述的或在附圖 上顯示的部件的結(jié)構(gòu)和安排的細(xì)節(jié)。 在公開(kāi)本發(fā)明混合Galois域機(jī)和除法機(jī)及其方法之前,為了更好地了解,先說(shuō)明 Galois域變換器和乘法器。Galois域GF(η)是可以在其上執(zhí)行兩種二進(jìn)制運(yùn)算的一組元素。加法和乘法必須 滿足交換、結(jié)合、和分布律。具有有限數(shù)目的元素的域是有限的域。二進(jìn)制域的例子是在模 2加法和模2乘法下的集{0,1}以及被表示為GF(2)。模2加法和模2乘法運(yùn)算由以下的 說(shuō)明中所顯示的表定義。第一行和第一列表示加到Galois域加法器和乘法器的輸入。例 如,1+1 = O 和 1 * 1 = 1。 通常,如果ρ是任何質(zhì)數(shù),則可以證明,GF (ρ)是具有ρ個(gè)元素的有限域以及GF (pm) 是具有元素的擴(kuò)展域。另外,域的不同的元素可以按一個(gè)域元素β的不同的冪次--對(duì) 它取成不同的冪次一被生成。例如,GF(256)具有256個(gè)元素,它可以全部通過(guò)對(duì)質(zhì)元素 (primitive element)賦予256個(gè)不同的冪次被生成。另外,系數(shù)為二進(jìn)制數(shù)的多項(xiàng)式屬于GF(2)。度為m的GF(2)上的多項(xiàng)式被稱為不 可約的,如果它對(duì)于度小于m但大于零的GF(2)上的任何多項(xiàng)式是不能除盡的話。多項(xiàng)式 F⑴=X2+X+l是不可約多項(xiàng)式,因?yàn)樗荒鼙籜或X+1除盡。除以X2m+1的度為m的不可 約多項(xiàng)式被稱為質(zhì)多項(xiàng)式。對(duì)于給定的m,可以有一個(gè)以上的質(zhì)多項(xiàng)式。對(duì)于m = 8的質(zhì)多 項(xiàng)式的例子一在大多數(shù)通信標(biāo)準(zhǔn)中經(jīng)常使用的一是F(X) = Oxlld = x8+x4+x3+x2+l0
Galois域加法是易于用軟件實(shí)現(xiàn)的,因?yàn)樗桥c模加相同的。例如,如果 29和16是GF(28)中的兩個(gè)元素,則它們的加法作為如下的XOR運(yùn)算被簡(jiǎn)單地完成 另一方面,Galois域乘法是稍微復(fù)雜的,如以下的例子所顯示的,它通過(guò)重復(fù)進(jìn)行質(zhì)元素β的乘法而計(jì)算GF(24)的所有的元素。為了生成GF(2)的域元素,度m = 4的質(zhì)多 項(xiàng)式G(X)被選擇為G(X) =x4+x+l。為了使得乘法是按模進(jìn)行以使得乘法的結(jié)果仍舊是域 的元素,第5比特被設(shè)置的任何元素通過(guò)使用以下的恒等式F( β) = β4+β+1 = 0而得到 4比特結(jié)果。通過(guò)設(shè)置β4= 1+β+1這個(gè)恒等式被重復(fù)地使用,形成域的不同的元素。因 此,域的元素可被枚舉為如下{0,1, β , β2, β3,1+β,β+β2,β2+β3,1+β+β3,…1+β3,}由于β是用于GF(24)的質(zhì)元素,它可被設(shè)置為2以生成GF(24)的域元素為{0, 1,2,4,8,3,6,12,11,. . 9}??梢钥吹?,Galois域多項(xiàng)式乘法可以以兩個(gè)基本步驟被實(shí)施。第一步驟是計(jì)算多 項(xiàng)式乘積c(X) =a(x) *b(x),它被代數(shù)展開(kāi),以及同冪次被合并(加法相應(yīng)于在相應(yīng)的項(xiàng) 之間的XOR運(yùn)算)給出c(x)0mta C (x) = (a3x3+a2x2+a1x1+a0) * (b3x3+b2x3+b1x1+b0)c (χ) = c6x6+c5x5+c4x4+c3x3+c2x2+c1x1+c0其中圖表 Ic0 = a0*b0cv = ai*bo Θ ao*biC2 = a2*bo Φ ai+bi Φ ao*b2C3 = a3*bo Θ Θ ai*b2 Φ ao*b3C4 = a3*bi Θ a2*b2 十05 = a3*b2 Θ a2*b3c6 = a3*b3第二步驟是計(jì)算d (χ) = c (χ)模ρ (χ)為了說(shuō)明起見(jiàn),乘法通過(guò)多項(xiàng)式以不可約多項(xiàng)式為模的乘法進(jìn)行。例如,(如果 m(x) = x8+x4+x3+x+l){57} * {83} = {cl}因?yàn)榈谝徊襟E 第二步驟χ13+χη+χ9+χ8+χ6+χ5χ4+χ3+1 modulo (χ8+χ4+χ3+χ+1)= χ7+χ6+1實(shí)現(xiàn)了這個(gè)方法的改進(jìn)的Galois域乘法器系統(tǒng)10,包括乘法器電路,用于把具有在Galois域上的系數(shù)的在A寄存器中的兩個(gè)多項(xiàng)式a(|-a7與在B寄存器中的多項(xiàng)式b^h 相乘,以得到它們的乘積,這由如圖表II定義的15項(xiàng)多項(xiàng)式C(X)給出。乘法器電路實(shí)際 上包括多個(gè)乘法器小單元。圖表 IIcl4 = a7*b7C13 = a7*b6 φ a6*b7cl2 = a7*b5 Φ a6*b6 φ a5*b7cl 1 = a7*b4 φ a6*b5 十 a5*b6 φ a4*b7clO = a7*b3 φ a6*b4 十 a5*b5 Θ a4*b6 φ a3*b7c 9 = a7*b2 θ a6*b3 十 a5*b4 Θ a4*b5 Θ a3*b6 Φ a2*b7c 8 = a7*bl Θ a6*b2 φ a5*b3 φ a4*b4 φ a3*b5 θ a2*b6 al*b7c 7 = a7*b0 Θ a6*bl θ a5*b2 φ a4*b3 θ a3*b4 θ a2*b5 φ al*b6 φ a0*b7
c 6 = ae^bO θ a5*bl φ a4*b2 φ a3*b3 θ a2*b4 Θ al*b5 φ a0*b6c 5 = a5*b0 Θ a4*bl φ a3*b2 a2*b3 φ al*b4 θ a0*b5;c 4 = a4*b0 Φ a3*bl φ a2*b2 φ al*b3 φ a0*b4c 3 = a3*b0 Θ a2*bl φ al *b2 @ a0*b3c 2 = a2*b0 Θ al *bl φ a0*b2c 1 = al*b0 φ a0*blc0 = a0*b0Galois域乘法器系統(tǒng)的操作在2002年1月30日提交的、Stein等的、題目為 GALOIS FIELD MULTIPLIER SYSTEM[AD_240J] 10/060,699 的美國(guó)專利申請(qǐng)中說(shuō)明,該專利 申請(qǐng)整體地在此引用以供參考。15個(gè)多項(xiàng)式C(X)項(xiàng)的每個(gè)項(xiàng)包括如由一個(gè)*代表的與(AND)功能,以及每對(duì)項(xiàng) 與如由一個(gè)*代表的邏輯異或相組合。如在CHART II表示的這個(gè)乘積被提交到Galois域 線性變換器電路,它可包括多個(gè)Galois域線性變換器單元,每個(gè)由15 X 8個(gè)小單元組成,它 們相應(yīng)于由乘法器電路產(chǎn)生的乘積,以便對(duì)于預(yù)定的不可約多項(xiàng)式預(yù)測(cè)多項(xiàng)式乘積的模余 數(shù)。Atl,B0的乘法在第一單元中進(jìn)行,A1, B1的乘法在第二單元中進(jìn)行,A2, B2的乘法在第三 單元中進(jìn)行,以及An,Bn的乘法在最后單元中進(jìn)行。Galois域線性變換器電路和它的每個(gè) 變換器單元的操作在2002年1月18日提交的、Stein等的、題目為GALOIS FIELDLINEAR TRANSF0RMERER[AD-239J] 10/051, 533的美國(guó)專利申請(qǐng)中說(shuō)明,該專利申請(qǐng)整體地在此引用 以供參考。每個(gè)Galois域線性變換器單元通過(guò)把多項(xiàng)式乘積除以不可約多項(xiàng)式而預(yù)測(cè)模 余數(shù)。該不可約多項(xiàng)式例如可以是圖表III上所示的任一個(gè)多項(xiàng)式。圖表 III:GF(21)0x3 (x+1):GF(22)0x7 (x2+x+l):GF(23)OxB (x3+x+l)
OxD(x3+x2+l):GF(24)0χ13(χ4+χ+1)0X19(X4+X3+1):GF(25)0x25(X5+X2+1)0x29 (x5+x3+l)0x2F (x5+x3+x2+x+l)0x37 (x5+x4+x2+x+l)0x3B (x5+x4+x3+x+l)0x3D (x5+x4+x3+x2+l):GF(26)0x43 (x6+x+l)0x5B (x6+x4+x3+x+l)0X61(X6+X5+1)0x67 (x6+x5+x2+x+l)0x6D (x6+x5+x3+x2+l)0x73 (x6+x5+x4+x+l):GF(27)0x83(X7+X+1)0x89 (x7+x3+l)0x8F (x7+x3+x2+x+l)0x91(X7+X4+1)0x9D (x7+x4+x3+x2+l)0xA7 (x7+x5+x2+x+l)OxAB (x7+x5+x3+x+l)0xB9 (x7+x5+x4+x3+l)OxBF (x7+x5+x4+x3+x2+x+l)OxCl (x7+x6+l)OxCB (x7+x6+x3+x+l)0xD3 (x7+x6+x4+x+l)0xE5 (x7+x6+x5+x2+l)OxFl (x7+x6+x5+x4+l)0xF7 (χ7+χ6+χ5+χ4+χ2+χ+1)
OxFD (χ7+χ6+χ5+χ4+χ3+χ2+1):GF(28)0x11D(X8+X4+X3+X2+1)0xl2B (x8+x5+x3+x+l)0xl2D (x8+x5+x3+x2+l)
0xl4D (x8+x6+x3+x 2+l)0xl5F (x8+x6+x4+x3+x2+x+l)0x163 (x8+x6+x5+x+l)0x165 (x8+x6+x5+x2+l)0x169 (x8+x6+x5+x3+l)0x171 (x8+x6+x5+x4+l)0x187 (x8+x7+x2+x+l)0xl8D (x8+x7+x3+x2+l)0xlA9 (x8+x7+x5+x3+l)0xlC3 (x8+x7+x6+x+l)OxlCF (x8+x7+x5+x3+x2+x+l)0xlE7 (x8+x7+x6+x5+x2+x+l)0xlF5 (χ8+χ7+χ5+χ4+χ2+1)這里給出的Galois域乘法器GF(28)能夠?qū)τ趦绱?8與冪次24以及在如下圖表 III所示的進(jìn)行。GF乘法的例子為如下在GF 0乘法之前 在GF9 ()乘法之后多項(xiàng)式Oxlld多項(xiàng)式Oxlld45 23 00 Olh45 23 00 OlhGF ()GFO
57 34 00 Olh 57 34 00 Olh
XX XX XX XXh 72 92 00 Olh圖1上顯示緊湊式Galois域乘法機(jī)10其伴隨有A輸入寄存器12、B輸入寄存器 14和C輸出寄存器16。緊湊Galois域乘法機(jī)10能夠進(jìn)行多種不同的運(yùn)算,包括乘、乘加 禾口乘法累力口(multiply-accumulate)。傳統(tǒng)的Galois域乘法機(jī)10a,圖2,需要三個(gè)寄存器,A寄存器12a、B寄存器14a和 C寄存器26a。這些寄存器的負(fù)擔(dān)必須由相關(guān)的數(shù)字信號(hào)處理器(DSP)核心28承載,以及 需要很大的外部總線工作。除了用于提供數(shù)據(jù)到A寄存器12a的總線30、用于提供數(shù)據(jù)到 B寄存器14a的總線34和用于提供數(shù)據(jù)到C寄存器26a的總線36以外,需要用于把來(lái)自寄 存器16a的輸出反饋到數(shù)字信號(hào)處理器28的總線32和用于把從數(shù)字信號(hào)處理器28輸出 的數(shù)據(jù)反饋到B寄存器14a或C寄存器26a的總線34或總線36。總線31連接Galois域 線性變換器電路20與輸出寄存器16a。因此多項(xiàng)式乘法器電路18可以把適當(dāng)?shù)臄?shù)值提供 到Galois域線性變換器電路20的矩陣22的乘法輸入端40,連同從C寄存器26a反饋到矩 陣22的加法器輸入端42的數(shù)值,以執(zhí)行乘、乘加和乘法累加功能。矩陣22在這里被顯示 為8X15矩陣,用于支持冪次8的多項(xiàng)式的乘法,但它可以被做成更大或更小,包含更多或 更少的單元24,取決于要被提供服務(wù)的多項(xiàng)式的冪次。在機(jī)器IOb中Galois域線性變換器電路20b的矩陣22b的圖3的每行的單元24b 的數(shù)目通過(guò)把矩陣22b配置成兩個(gè)矩陣部分,即矩陣部分50和單位矩陣部分52,而可以減 小一半。單位矩陣部分只需要一組單元54,其中當(dāng)乘法器電路的輸出是具有小于不可約多項(xiàng)式冪次的冪次的多項(xiàng)式時(shí),這些單位矩陣部分單元代表余數(shù)的預(yù)測(cè)。因此,在圖3上,其 中不可約多項(xiàng)式具有8的冪次,小于8的任何多項(xiàng)式將不超過(guò)模數(shù),以及將被通過(guò)矩陣,因 此在單位矩陣部分52中的缺失的小單元是不必要的。這幾乎節(jié)省矩陣22a所需要的單元 的一半,導(dǎo)致更小的、更簡(jiǎn)單的和更快速的機(jī)器。圖4的每個(gè)單元24b可包括與電路100和異或電路102。有數(shù)據(jù)輸入端104和使 能輸入端106。異或電路102把在線108上的輸出提供到下一個(gè)異或電路的輸入端以及在 它的輸入端110處接收來(lái)自前面的異或電路的輸出,除了其輸出被連接到矩陣的輸出端的 最后的異或電路,以及其輸入端被連接到加法器電路一圖3的42b或圖9的42g-的第一 個(gè)異或電路以外。在線106上的使能信號(hào)使得線104上的數(shù)據(jù)能夠傳送通過(guò)與門100以及 由異或電路102對(duì)于它與線110上的輸入執(zhí)行異或運(yùn)算。線106上使能信號(hào)的缺乏只把線 110上的輸入通過(guò)異或門102傳送到輸出線108。在線106上的使能信號(hào)使能單元24。這 樣,這個(gè)矩陣可能對(duì)于任何特定的不可約多項(xiàng)式被重新配置。圖3的機(jī)器IOb的效能可以通過(guò)從圖表 III選擇不可約多項(xiàng)式,如上文,以及通 過(guò)使能必須的小單元來(lái)實(shí)施它而被理解。例如,為了實(shí)施代表不可約多項(xiàng)式x8+x4+x3+x2+l、 被稱為Oxlld的、冪次8的第一多項(xiàng)式,被使能的小單元,總的用24cc表示,通過(guò)如以前在 圖3上顯示的單元54c的線形成單位矩陣52c,圖5。當(dāng)從圖表III選擇第二不可約多項(xiàng)式 0x12b時(shí),不可約多項(xiàng)式x8+x5+x3+x+l產(chǎn)生在矩陣部分50d和單位矩陣部分52d中的使能的 小單元,圖6的24dd,的模式,其中單位矩陣部分52d再次導(dǎo)致使能的小單元54d的線。需要的小單元的數(shù)目的減小不僅僅限于具有與不可約多項(xiàng)式相同的冪次的多項(xiàng) 式。它也適用于任何具有不可約多項(xiàng)式的冪次的一半或更小的冪次的多項(xiàng)式。例如,8X15 矩陣22b(圖3所示的和在圖5與6上為了說(shuō)明被參考的)也可以支持冪次為1,2,3或4 的多項(xiàng)式,但不支持冪次為5,6和7的多項(xiàng)式,如果不可約多項(xiàng)式冪次是16,支持它的矩陣 也可以支持冪次直到8的多項(xiàng)式,但不支持9到15的多項(xiàng)式。如果它是32的冪次,則它可 以支持32冪次直到16的多項(xiàng)式,但不支持17到31的多項(xiàng)式。例如,如圖7所示,對(duì)于四 次方的不可約多項(xiàng)式,矩陣部分50e和單位矩陣部分52e變?yōu)楦〉模约翱梢栽诰仃?2e 內(nèi)的任何地方被實(shí)施。這里,矩陣部分50e具有多個(gè)使能的小單元24ee,以及在單位矩陣 52e中的使能單元,它們現(xiàn)在具有使能的小單元54e的更小的線,形成單位矩陣部分52e。如果希望為冪次為5,6和7的中間多項(xiàng)式服務(wù),單位矩陣部分可以用稀疏矩陣部 分52f代替(圖8),在其中使能的小單元52ff,52fff,52ffff的附加線可被利用來(lái)分別支 持冪次為7,6和5的多項(xiàng)式。但它多少了對(duì)于降低矩陣的尺寸和需要的單元數(shù)目的減小。輸入寄存器的數(shù)目可以從3減小到2,以及所依賴的與數(shù)字信號(hào)處理器(DSP) 28g, 圖9,的通信的外部總線的數(shù)目可被減小并本地化為機(jī)器IOg本身的內(nèi)部。因此,如圖9所 示,只有兩個(gè)輸入寄存器A 12g和B 14g,來(lái)自輸出端31g的反饋不需要通過(guò)DSP 28g而是 在機(jī)器IOg上通過(guò)內(nèi)部總線60直接地本地地進(jìn)到乘法器輸入部分62和加法器輸入選擇電 路64。數(shù)字信號(hào)處理器28g只需要把線66上的控制信號(hào)提供到乘法器輸入部分62和把線 68上的控制信號(hào)提供到加法器輸入選擇電路64。因此,在相乘模式下,乘法器輸入選擇電 路62把來(lái)自B寄存器14g的輸入傳送到多項(xiàng)式乘法器電路18g,而加法器輸入選擇電路64 把加性相同電平(additive identity level)(在本例中是地電平70)提供到Galois域線 性變換器電路20g的加法器輸入端42g。在乘加模式下,數(shù)字信號(hào)處理器28指令乘法器輸入選擇電路62把來(lái)自矩陣22g的輸出通過(guò)線60反饋到多項(xiàng)式乘法器電路18g和指令加法 器輸入選擇電路64把在B寄存器14g中的多項(xiàng)式傳送到Galois域線性變換器電路20g的 加法器輸入端42g。在乘-累加模式,數(shù)字信號(hào)處理器28指令乘法器輸入選擇電路62把來(lái) 自B寄存器14g的多項(xiàng)式傳遞到多項(xiàng)式乘法器電路18g和指令加法器輸入選擇電路64反 饋Galois域線性變換器電路20g的、在線60上的輸出。另一個(gè)特性是藉助于選擇地使能小單元24g而得到的Galois域線性變換器電路 20g的可重新配置性??芍匦屡渲玫目刂齐娐?0選擇地使能對(duì)于實(shí)施所選擇的不可約多項(xiàng) 式的系數(shù)所需要的一個(gè)單元24g,并且可以減小它本身尺寸,因?yàn)樗枰刂频男卧臄?shù) 目已經(jīng)減小??芍匦屡渲玫妮斎隚alois域線性變換器電路的操作在2002年5月1日提交 的、Stein 等的、題目為RECONFIG URABLE INPUTGALOIS FIELD LINEAR TRANSFORMERER SYSTEM(AD-300J)的美國(guó)專利申請(qǐng)序列號(hào)No. 10/136,170和所有的它的優(yōu)先權(quán)申請(qǐng)和文件 中被說(shuō)明,它們整體地在此引用以供參考。雖然至今為了簡(jiǎn)單性起見(jiàn),說(shuō)明僅僅是對(duì)于一個(gè)機(jī)器作出的,但多個(gè)機(jī)器可以一 起被利用,如圖10所示,其中每個(gè)機(jī)器具有乘法器電路10h, IOi, 10j, IOk. · · IOn和Galois 域線性變換器201!,2(^,20」,2(^...2011電路。通過(guò)單個(gè)中央可重新配置的控制電路801控 制它們?nèi)浚@些機(jī)器可以共享同樣的寬度[32,64,128]比特,A和B寄存器每個(gè)工作在 不同的8比特(字節(jié))分段上,或每個(gè)可以由它的自己的可重新配置的控制單元80h,80i, 80j, 80k. · · 80η提供服務(wù),以及每個(gè)由它的自己的A和B寄存器對(duì)Atl和B0,12h和14h 和 B1,12 和 14i ;A2 和 B2 12j 和 14j ;A3 和 B3,12k 和 14k 等等服務(wù)。在這里所示的實(shí)施例中可使用來(lái)提供輸出c0_cl4的多項(xiàng)式乘法器電路181,(圖 11),其包括多個(gè)與門120,它們與異或門122相組合可以把任何來(lái)自A寄存器121與B寄存 器141的多項(xiàng)式對(duì)(例如如圖12的表124所示的多項(xiàng)式a0-a7,多項(xiàng)式b0_b7)相乘。在圖13上顯示按照本發(fā)明的Galois域除法機(jī)150,包括Galois域倒數(shù)生成器 155,具有Galois域乘法器152和第二 Galois域乘法器154,用于執(zhí)行平方功能。機(jī)器150 通過(guò)執(zhí)行操作* l/i3k執(zhí)行除法 ^/ ^,其中日工和^^是。^!“^域的元素,例如當(dāng)m =8時(shí),也就是GF(28)域的度是8。初始地,Galois域乘法器152接收1和β k,以及把它 們相乘。然后該輸出在Galois域乘法器154中進(jìn)行平方以及被反饋到Galois域乘法器 152。這個(gè)結(jié)果被反復(fù)乘以次,這樣,總共發(fā)生m-1次迭代。這時(shí),得到倒數(shù)l/3k 以及代替β k被提供,(因?yàn)棣?k已經(jīng)經(jīng)過(guò)m-2次迭代的每次迭代),現(xiàn)在β i被提供來(lái)執(zhí)行 乘法P1* (l/i3k)。因此,在總共m次迭代中發(fā)生整個(gè)除法,m-1次用于生成倒數(shù)和1次用 于把除數(shù)的倒數(shù)與被除數(shù)相乘以得到商。定時(shí)地施加“1”,^和P1由輸入選擇電路171 執(zhí)行。β2m-2=1/β的事實(shí)通過(guò)以下的說(shuō)明來(lái)證明,給定GF(q)的域由數(shù)字{0,1,... (q_l)}組成。如果我們把{0,1,. . .(q_l)}的每個(gè)成員 乘以β (β是域成員并興0),以得到{1β,2β,...(q_l) β},我們可以容易地看到,我們?cè)?次得到相同的組(具有改變的序號(hào))。這意味著,1·2·... · (q-1) =1β ·2β ·... (q-1) β = 1 · 2 · ... · (q-1) β (H)通過(guò)從兩個(gè)邊消除因子1 · 2 · . . . · (q-1)保證得到
β = 1. (1)所以β = β ^2 (2)用2m代替q,導(dǎo)致表達(dá)式β2"'2O)圖13是這個(gè)表達(dá)式的直接的實(shí)現(xiàn)。按照(3),對(duì)于η = 7我們需要計(jì)算β 254。β 254可被計(jì)算為 β 128 · β 64 · β 32 · β 16 · β 8 · β 4 · β 2。它們可被迭代地計(jì)算為 圖13的電路從1的初始值開(kāi)始以及在155時(shí)生成以下連續(xù)的數(shù)值
迭代數(shù)Γ1Γ1Γ1Γ1Γ~6 Hz
在點(diǎn) 155 的數(shù)值 β1^^^F1^ ^sr"可以看到,β—1的最終的數(shù)值在(η-1)次循環(huán)中得到。相同的電路對(duì)于所有的中 間的冪次m GF (2m) {m = 3. 7}的生成,例如,如果m = 4,則在η = 3時(shí)生成/?2"。2 =14。在一個(gè)實(shí)施例中,Galois域倒數(shù)生成器155a,圖14,可包括Galois域乘法器152a 和Galois域乘法器154a。Galois域乘法器152a包括Galois域線性變換器156和多項(xiàng)式 乘法器158。Galois域乘法器156被顯示為包括具有兩個(gè)部分的異或小單元的矩陣、矩陣部 分160和減小的單位矩陣部分162,但這并不是對(duì)于本發(fā)明的必須的限制,因?yàn)閱挝痪仃嚥?分162可以用滿陣(full matrix)實(shí)施,矩陣部分160也是如此,如果尺寸不成問(wèn)題的話。 Galois域乘法器154a也包括多項(xiàng)式乘法器164和Galois域變換器166,它也可包括,但是 必須地,滿陣部分168和減小的單位矩陣部分170。這里再次地,單位矩陣170在花費(fèi)和面 積上是有利的,但不是必須地,因?yàn)樵谀抢锟梢允褂脻M陣部分。Galois域除法機(jī)150a以m 次迭代執(zhí)行除法。在第一次迭代時(shí),輸入選擇電路171把與β !^目組合的1引入Galois域 乘法器152a,這產(chǎn)生在線172上的輸出β k,它被傳遞到Galois域乘法器154a的多項(xiàng)式乘 法器輸入端174,176。因此,執(zhí)行平方函數(shù),以及把輸出反饋到輸入選擇電路171的輸入端 178。這個(gè)迭代進(jìn)行m-2次,其中m是Galois域的度。在m_2次迭代后,輸入選擇電路171 把被除數(shù)引入Galois域乘法器152a,因?yàn)檫@時(shí)在輸出端178處的數(shù)值是倒數(shù)l/i3k。通過(guò)把(被除數(shù))乘以l/3k(除數(shù)的倒數(shù)),結(jié)果是被除以β k,在180處得到Galois域 除法的商。在輸入端174和176處的數(shù)值具有從最高有效位到最低有效位,b7_bQ和a7-a。的 形式。當(dāng)如這里執(zhí)行平方函數(shù)時(shí),則值W-Idci的每個(gè)值將分別是與值^-%的每個(gè)值相同的, 因?yàn)樗鼈兪窍嗤臄?shù)。數(shù) 字W-Iv 37、的數(shù)取決于多項(xiàng)式的尺寸,在m是8的情形下它 是8個(gè)數(shù)字。無(wú)論是什么尺寸,因?yàn)樵谳斎攵颂帞?shù)值是相同的,異或函數(shù)將是零。也就是, 進(jìn)到異或門的相同的輸入得到零輸出,這是熟知的。因此,再次參照?qǐng)D12,可以看到,對(duì)于 每個(gè)多項(xiàng)式乘法輸出Ctl-C14,在圖12上奇數(shù)編號(hào)的輸出包含相同數(shù)值的對(duì)。例如,C1等于 ai*b0十Ht^b1。因?yàn)槲覀冋谶M(jìn)行平方,我們知道在輸入端174和176給出的兩個(gè)數(shù)值 是相同的,所以%和k是相同的以及ai和bi是相同的。所以C1在被異或運(yùn)算時(shí)將具有零 的數(shù)值。這對(duì)于其它奇數(shù)編號(hào)的GaloiS域乘法器輸出c3,c5, c7, c9, C11, C13同樣是正確的。 結(jié)果顯示于圖15的182處,其中不僅可以看到,在奇數(shù)編號(hào)的C1-C13最終結(jié)果的零值,而且 剩余的非零偶數(shù)編號(hào)的數(shù)值不需要異或門,而只需要進(jìn)行乘法。例如,Ctl是% * Iv但這 是最簡(jiǎn)單的與函數(shù),導(dǎo)致%的數(shù)值。類似地,對(duì)于c2,把數(shù)值ai乘以b1;給出與函數(shù),它導(dǎo)致 S1的簡(jiǎn)單的輸出。相同的結(jié)果在c4,c6,c8,Cltl,C12,和C14中是正確的。這也適用于Galois 域乘法器156b。實(shí)施平方函數(shù)的Galois域乘法器154b可以在尺寸上減小一半,這是通過(guò) 矩陣部分168b和單位部分170b減小一半達(dá)到的。另外,由于功能已經(jīng)轉(zhuǎn)到簡(jiǎn)單的輸入,如 圖15的列184所示,不需要兩個(gè)分開(kāi)的輸入,所以不再需要多項(xiàng)式乘法器164。Galois域變換器156c和166c,圖17,被同樣地實(shí)施。涂黑的圓圈表示在每個(gè)變 換器中的使能的異或門小單元。編程是由在列190上的代碼完成的,以及對(duì)于兩個(gè)變換器 156c和166c是相同的。變換器156c接收輸入Ctl-C14以及提供輸出AQ-A7。這些形成Galois 域線性變換器166c的、具有為O的Atl-A7的輸入,線性變換器166c的最后的輸出是Btl-B715 這兩個(gè)變換器是對(duì)于不可約多項(xiàng)式(0x12b)的度8的Galois域GF(28) (m = 8)被實(shí)施的。 當(dāng)實(shí)現(xiàn)圖15所示的減小時(shí),Galois域乘法器156d,圖18,同樣地在列190d執(zhí)行所有的編 程的指令,但Galois域線性變換器166d使所有其它的列,即零列取消,導(dǎo)致圖16所示的結(jié) 構(gòu)。當(dāng)Galois域除法機(jī)如圖16所示地被減小時(shí),現(xiàn)在可以達(dá)到進(jìn)一步的減小。因?yàn)?Galois域除法機(jī)154b在第二 Galois域變換器166b中沒(méi)有多項(xiàng)式乘法器,可以構(gòu)建單個(gè) 矩陣或變換器,它在一個(gè)周期中以及通過(guò)使用單個(gè)線性變換器200 (圖19)直接從Ctl-C14傳 遞輸出Btl-B7而不用中間項(xiàng)Atl-A715變換器200被編程來(lái)使能由涂黑色的圓圈表示的異或門 小單元的組合,以便在一個(gè)Galois域線性變換器中和一次操作中執(zhí)行Galois域線性變換。 因此,輸入C(1-Cl4被Galois域線性變換器200直接變換成最后的輸出Btl-B715通過(guò)使用B7, 圖18,的簡(jiǎn)單的圖示可以看到將兩個(gè)矩陣156d和166d,圖18,的減小到圖19的單個(gè)矩陣 Galois域線性變換器200的混合,它可被看作為等效于異或A7, A6和A5,如Galois域線性 變換器166d所示。然后參照Galois域線性變換器156d(其中劃線表示取消項(xiàng)目,因?yàn)樗?是重復(fù)的),可以看到,A5 等于 c14,C13, C12,明,0\O, c8, C5A6 等于QW, ff3, <X2, jm, c9, c6,A7 等于抓 5<2, Wo, and c7,
在它們之間都利用異或函數(shù)。這導(dǎo)致輸出C14,異或C13,異或C12,異或C9,異或c8, 異或C7,異或C6,異或c5。因此,在矩陣200中,圖19,B7可被看作為包括C14,C13,C12,c9,C8, c7,C6和C5的異或組合。這樣的混合Galois域除法機(jī)202的一個(gè)實(shí)現(xiàn)顯示于圖20,其中圖 19的Galois域線性變換矩陣200與多項(xiàng)式乘法器204和帶有雙輸入選擇單元206,208的 輸入選擇電路171e —起出現(xiàn)?,F(xiàn)在Galois域倒數(shù)生成器205通過(guò)單個(gè)混合Galois域線性 變換器200被實(shí)施。輸入選擇單元206能夠執(zhí)行乘加(MPA),乘法累加(MAC),和乘(MAY)。 輸入選擇單元208類似地起作用和把如前所述的加法器輸入提供到Galois域線性變換器 200。程序序列器210提供控制觸發(fā)器2 12的映射,所述觸發(fā)器使能和禁止包括異或門的小 單元的矩陣。程序序列器可以編程GFLT矩陣200作為在用于除法的一個(gè)周期中執(zhí)行(GF_ ΜΡΥ(α, β))2的混合乘法器,作為用于乘法的Galois域乘法器,作為用于相乘和積累的相 乘和積累,和作為用于乘加功能的乘加。在操作中,一開(kāi)始GFLT被編程作為執(zhí)行(GF_MPY (α, β))2的混合乘法器,把1提 供在輸入端214處和把β k提供在輸入端216處。此后對(duì)于m-2次迭代,輸出180被反饋 到輸入端214,而β k保持在輸入端216。在m-2次迭代后,當(dāng)系統(tǒng)經(jīng)過(guò)總共m-1次迭代時(shí), 在214處的輸入現(xiàn)在是^^的倒數(shù)。這時(shí),GFLT被編程為Galois域乘法器,在輸入端216 處的^現(xiàn)在用輸入β工代替,這樣,下一個(gè)乘法,第m次迭代,把^乘以Pk的倒數(shù),提供 輸出P1除以3k。本發(fā)明的Galois域除法方法顯示于圖21,其中在開(kāi)始時(shí)240,提供除數(shù)
和被除數(shù) ^。然后在步驟242,進(jìn)行關(guān)于這次迭代是否為第m次迭代的詢問(wèn),其中m是 所涉及的Galois域的度。如果這是第m次迭代,則系統(tǒng)直接進(jìn)到步驟244,在其中執(zhí)行 與Galois域線性變換輸出的倒數(shù)l/i3k的Galois域乘法。然后在246產(chǎn)生商。如果迭代 沒(méi)有達(dá)到m,則在步驟248進(jìn)行關(guān)于它是否為第一次迭代的詢問(wèn)。如果是的話,則在步驟250 實(shí)施β k與1的乘法,以及然后在步驟252在Galois域上執(zhí)行該數(shù)值的平方。如果它不是 第一次迭代,作為在步驟254,執(zhí)行β k與Galois域線性變換輸出的Galois域乘法,然后在 步驟252在Galois域乘法器中執(zhí)行平方。來(lái)自平方計(jì)算的輸出然后被反饋(步驟242),再 次開(kāi)始迭代。至今為止本發(fā)明集中在Galois域除法機(jī)和方法上,以及通過(guò)首先減小一個(gè) Galois域線性變換器的尺寸和取消一個(gè)多項(xiàng)式乘法器而減小該機(jī)器尺寸的能力,以及然后 組合兩個(gè)線性變換器的功能以使得對(duì)于一系列多項(xiàng)式輸入執(zhí)行一系列Galois域線性變換 以得到最后的輸出(商),如圖19和20所示。但這并不是對(duì)于本發(fā)明的必須的限制,也就 是本發(fā)明不僅僅限于除法。按照本發(fā)明的混合Galois域機(jī)可以對(duì)于一系列多項(xiàng)式輸入執(zhí) 行任何連續(xù)的Galois域線性變換以得到最后的輸出,其中每個(gè)輸入,除了第一個(gè)以外,是 以前的Galois域線性變換的輸出。也就是,在一次變換中,它可以立即預(yù)測(cè)不可約Galois 域多項(xiàng)式的連續(xù)的Galois域線性變換的模數(shù)余數(shù),以便直接從第一輸入得出Galois域線 性變換的最后輸出。這個(gè)事實(shí)的另一個(gè)例子可以在Galois域成員β的平方根運(yùn)算中看到。圖22上 顯示按照本發(fā)明的混合Galois域機(jī)300,它執(zhí)行(m_l)次連續(xù)的Galois域線性變換302, 304,. . . 306,其中第一輸入β,308被提交到Galois域變換器302,然后變換的輸出變?yōu)檩?入加到下一個(gè)Galois域線性變換器304,它的輸出變?yōu)檩斎爰拥较乱粋€(gè)Galois域線性變換 器,等等,直至它達(dá)到最后的變換器306為止,正如在本例中那樣,#輸出。按照本發(fā)明,通過(guò)混合Galois域線性變換器310,圖23,圖22的(m_l)個(gè)變換器可被減小為圖23所示的 僅僅一個(gè)GFLT的簡(jiǎn)化的實(shí)施方案,其中初始輸入β可以通過(guò)混合Galois域線性變換器平 方根機(jī)330在單次運(yùn)行中被變換,以便在一次迭代中提供#輸出。/? -"的事實(shí)通過(guò)以下給出的說(shuō)明被證明在(1)中我們已證明β — = 1.用2m代替q以及在兩邊乘以β,導(dǎo)致表示式β2" =^ β(4)在兩邊,導(dǎo)致表示式β{2 )!2 =(5)或β^ =^(6)圖22是這個(gè)表示式的直接實(shí)現(xiàn)。本發(fā)明的Galois域平方根方法顯示于圖24,在其中在開(kāi)始312時(shí),提供域元素 β。然后在步驟314,進(jìn)行關(guān)于這次迭代是否為第m-1次迭代的詢問(wèn),其中m是所涉及的 Galois域的度。如果這是 第m-1次迭代,則系統(tǒng)直接進(jìn)到步驟316,在其中產(chǎn)生β的Galois 域平方根。如果迭代還沒(méi)有達(dá)到m-1,則在步驟318進(jìn)行關(guān)于它是否為第一次迭代的詢問(wèn)。 如果是的話,則在步驟320在Galois域上執(zhí)行該β值的平方。如果它不是第一次迭代,則 在步驟322在Galois域上執(zhí)行Galois域線性變換輸出的平方。然后,在步驟314,來(lái)自平 方計(jì)算的輸出被反饋,以及迭代重新開(kāi)始。編程電路控制觸發(fā)器212a和編程序列器210a, 編程Galois域線性變換器平方機(jī)330,如圖23所示??傊?,按照本發(fā)明的混合Galois域機(jī)260,圖25,通常可以執(zhí)行多種連續(xù)的Galois 域線性變換262,264,266,268,其中第一輸入A 270被提交到Galois域變換器262,然后變 換的輸出B變?yōu)榧拥较乱粋€(gè)Galois域線性變換器264的輸入,它的輸出C又變?yōu)榧拥较?一個(gè)Galois域線性變換器266的輸入,它的輸出D又變?yōu)榧拥较乱粋€(gè)Galois域線性變換 器268的輸入,等等。在這種情形下,最后的輸出是E。按照本發(fā)明,通過(guò)如圖19所示混合 Galois域線性變換器,通過(guò)減小圖18的兩個(gè)變換器以產(chǎn)生如圖20所示的實(shí)施方案,初始的 輸入A可以通過(guò)混合的Galois域線性變換器280在單次操作中被變換,在它的一次迭代中 提供最后輸出E。雖然本發(fā)明的具體的特性在某些附圖中被顯示以及在其它附圖中未示出,但這僅 僅是為了方便起見(jiàn),因?yàn)槊總€(gè)特性可以與按照本發(fā)明的任何的或所有的其它特性相組合。 這里所使用的單字“包括”,“具有”,和“帶有”,被廣泛地和全面地解譯,而不限于任何物理 的互聯(lián)。而且,在本申請(qǐng)中公開(kāi)的任何實(shí)施例不被看作為唯一可能的實(shí)施例。本領(lǐng)域技術(shù)人員將會(huì)看到其它實(shí)施例以及這些實(shí)施例屬于以下的權(quán)利要求內(nèi)。
權(quán)利要求
一種混合Galois域機(jī),用于對(duì)于連續(xù)的多項(xiàng)式輸入執(zhí)行連續(xù)的Galois域線性變換,以得出最后輸出,其中每個(gè)輸入,除了第一輸入以外,是前一個(gè)Galois域線性變換的輸出,所述混合Galois機(jī)包括用于提供第一輸入的輸入電路;以及Galois域線性變換器,具有響應(yīng)于第一輸入的小單元的矩陣,以及被配置成在一次變換中,立即預(yù)測(cè)不可約Galois域多項(xiàng)式的連續(xù)Galois域線性變換的模數(shù)余數(shù),以直接從所述第一輸入得出Galois域線性變換的最后輸出。
2.—種Galois域平方根方法,包括輸入Galois域元素到Galois域平方根生成器以得到輸出;以及在Galois域平方根生成器中對(duì)Galois域平方根生成器的輸出進(jìn)行平方,用于預(yù)測(cè)m-1 次不可約多項(xiàng)式的多項(xiàng)式乘積的平方的模數(shù)余數(shù),其中m是Galois域的度,以便在m_l次 循環(huán)中得到Galois域元素的平方根。
3.一種Galois域平方根機(jī),包括Galois域平方根生成器;輸入電路,用于輸入Galois域元素到Galois域平方根生成器,以便在一次循環(huán)中得到 Galois域元素的平方根。
4.權(quán)利要求3的Galois域平方根機(jī),其中所述Galois域平方根機(jī)包括Galois域乘法 器和程序電路,該程序電路用于編程所述Galois域乘法器,以在一次循環(huán)中執(zhí)行m-1次混 合平方運(yùn)算。
全文摘要
本申請(qǐng)公開(kāi)了混合Galois域機(jī)和Galois域平方根機(jī)及其方法。本發(fā)明包括混合Galois域機(jī),用于對(duì)于一系列多項(xiàng)式輸入執(zhí)行一系列Galois域線性變換,以得出最后輸出,其中每個(gè)輸入,除了第一輸入以外,是以前的Galois域線性變換的輸出;Galois域平方根是通過(guò)輸入Galois域元素到Galois域平方根生成器以得到輸出,在Galois域平方根生成器中對(duì)該輸出進(jìn)行平方,用于預(yù)測(cè)m-1次不可約多項(xiàng)式的多項(xiàng)式乘積的平方的模數(shù)余數(shù),其中m是Galois域的度,以便在(m-1)次循環(huán)中得到Galois域元素的平方根而得到的。
文檔編號(hào)G06F7/00GK101840326SQ20101016676
公開(kāi)日2010年9月22日 申請(qǐng)日期2004年3月29日 優(yōu)先權(quán)日2003年5月16日
發(fā)明者喬舒亞·A.·卡布羅特斯基, 約塞弗·斯坦恩 申請(qǐng)人:阿納洛格裝置公司