專利名稱:用于有限域的有效vlsi結(jié)構(gòu)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及一個(gè)用于有限域算術(shù)算符(arithmetic operator)的結(jié)構(gòu)。更具體地,本發(fā)明涉及一個(gè)用于適合實(shí)現(xiàn)VLSI的有限域乘法器和除法器(求冪運(yùn)算器)的結(jié)構(gòu)。
背景技術(shù):
有限域算法已經(jīng)在數(shù)字通信系統(tǒng)中廣泛應(yīng)用,包括密碼術(shù)和信道編碼。例如,有限域算法可以使用在糾錯(cuò)應(yīng)用中,如DVD、CD-ROM、千兆以太網(wǎng)、ADSL/VDSL、電纜調(diào)制解調(diào)器、以及在信道均衡中處理誤差??蛇x擇地,有限域可以使用在安全應(yīng)用中,例如橢圓曲線密碼術(shù)。
圖1是一個(gè)傳統(tǒng)有限域GF(2m)的示意圖。有限域GF(2m)130包括2m個(gè)元素。GF(2m)是素域GF(2)110的擴(kuò)域,它具有元素0和1。所有的有限域在與其相關(guān)的GF(2)上包含一個(gè)零元素、一個(gè)單位元素、一個(gè)本原元素α和至少一個(gè)本原不可約多項(xiàng)式120,p(x)=xm+pm-1xm-1+pm-2xm-2+……+p1x+p0。正如在本申請(qǐng)中所使用的那樣,下列運(yùn)算“+”和“.”分別表示邏輯XOR和AND運(yùn)算。
本原元素α生成GF(2m)的所有非零元素,并且是本原多項(xiàng)式p(x)的根,使得GF(2m)=>p(α)=0。GF(2m)的非零元素可以以兩種形式表示,即指數(shù)形式和多項(xiàng)式形式。在指數(shù)形式(例如冪表示法)中,它們可以表示為本原元素α的冪,即
GF(2m)={0,α1,α2,···,α2m-2}]]>可以將本原多項(xiàng)式p(x)寫作p(x)=xm+P(x),其中P(x)=pm-1xm-1+Pm-2xm-2+…+p1x+p0。因?yàn)棣潦潜驹囗?xiàng)式p(x)的根,所以αm=pm-1αm-1+pm-2αm-2+…+p1α+p0,這相當(dāng)于αm=P(α)。因此,通過對(duì)αk(0≤k≤2m-2)執(zhí)行模p(α)運(yùn)算,也可以將GF(2m)的元素表示為比m低一級(jí)的α的多項(xiàng)式。這種形式此后作為多項(xiàng)式形式GF(2m)={A|A=am-1xm-1+am-2xm-2+…+a1x+a0,ai∈GF(2),0≤i≤m-1}。
表1示出了指數(shù)表示法和多項(xiàng)式表示法中m=3的GF(2m)的示范結(jié)構(gòu)。這里,GF(23)有一個(gè)G(2)中具有根α的本原元素,定義α,使得α3+α+1=0=>α3=α+1。同樣,正如以上所述,標(biāo)準(zhǔn)基或者多項(xiàng)式基是{1,α,α2,…,αm-1}。在指數(shù)和多項(xiàng)式表示法中構(gòu)造伽羅瓦(Galois)域GF(23),產(chǎn)生下面的表表1.指數(shù)表示法和多項(xiàng)式表示法
有限域中的加法算術(shù)運(yùn)算是相對(duì)簡單的運(yùn)算。一般地,多項(xiàng)式表示法通常用于有限域算術(shù)運(yùn)算,并且使用位獨(dú)立(bit-independent)的異或運(yùn)算來實(shí)現(xiàn)加法。使用表1,一個(gè)示范性的有限域中的算術(shù)加法運(yùn)算如下所示α2+α5=(α2)+(α2+α+1)=α+1=α3。同樣注意在向量形式中,坐標(biāo)和坐標(biāo)的相加α+1=(100)+(111)=(011)或α3。
然而,乘法、求逆、除法以及求冪的算術(shù)運(yùn)算是較為復(fù)雜(并且低效率)的運(yùn)算。例如,乘法是使用多項(xiàng)式乘法和模運(yùn)算來實(shí)現(xiàn)的。冪表示法對(duì)于有限域乘法、除法和求冪是有效率的,其中這些運(yùn)算可以通過加、減或乘以指數(shù)模2m-1來實(shí)現(xiàn)。
例如,參照用于構(gòu)造GF(23)的表1,考慮下面的多項(xiàng)式α4和α5的乘法α4·α5=(α9mod(2^(3)-1)=α2。
與加法相同,執(zhí)行除法a/b=α(i-j)mod(2^(m)-1)。
更具體地,使用雙向?qū)?shù)和反對(duì)數(shù)轉(zhuǎn)換表來計(jì)算除法和求冪,或使用轉(zhuǎn)換電路來把運(yùn)算數(shù)從多項(xiàng)式表示法轉(zhuǎn)換成冪表示法,按模加、減或乘以運(yùn)算數(shù)的指數(shù),并且然后把結(jié)果從冪表示法轉(zhuǎn)換成多項(xiàng)式表示法。
這樣,為了進(jìn)行乘法或除法運(yùn)算,需要一個(gè)加法器、一個(gè)模運(yùn)算器和一個(gè)存儲(chǔ)對(duì)數(shù)的查找ROM表。ROM表的大小大約是2m。當(dāng)m很大時(shí),ROM表的大小將影響電路的面積。
圖2是一個(gè)傳統(tǒng)位串行標(biāo)準(zhǔn)基乘法器結(jié)構(gòu)的示意圖。該結(jié)構(gòu)示出了元素A和B的乘法,其都是標(biāo)準(zhǔn)基形式。因而,A=am-1αm-1+am-2αm-2+…+a1α+a0B=bm-1αm-1+bm-2αm-2+…+b1α+b0C=A·B=ΔABmodp(α)]]>=b0A+b1(Aαmodp(α))+b2(Aα2modp(α))+···+bm-1(Aαm-1modp(α))]]>
am-1αm+am-1pm-1αm-1+···+am-1p1α+am-1p0(am-2+am-1pm-1)αm-1+···+(a0+am-1p1)α+am-1p0]]>這樣,有限域中的標(biāo)準(zhǔn)基乘法需要乘法運(yùn)算,并因而需要算子。對(duì)于如圖2中所示的串行乘法,標(biāo)準(zhǔn)基需要2m(m+m=2m)個(gè)與門210和2m-1(m-1+m=2m-1)個(gè)異或門220以及2m位DFFs。對(duì)于并行乘法,標(biāo)準(zhǔn)基需要m*(m-1)+m*m=2m2-m個(gè)與門和(m-1)(m-1)+m*m=2m2-2m+1個(gè)異或門。
因?yàn)閷?duì)于高速通信系統(tǒng)所設(shè)計(jì)的高速低復(fù)雜性解碼器來說,良好設(shè)計(jì)的有限域乘法器是一個(gè)重要的因素,所以當(dāng)前需要一個(gè)具有低復(fù)雜性、低運(yùn)算延遲和高處理速度的VLSI設(shè)計(jì)的有限域乘法器結(jié)構(gòu)。
現(xiàn)有技術(shù)中提出了許多方法和結(jié)構(gòu)來執(zhí)行有限域乘法和求冪。標(biāo)準(zhǔn)基、對(duì)偶基、正規(guī)基中不同的多項(xiàng)式表示法、標(biāo)準(zhǔn)基上冪表示法以及合成域被用來獲得一些有益的構(gòu)造。
例如,在S.T.J.Fenn,M.Benaissa,D.Taylor“在對(duì)偶基上的GF(2m)乘法和除法”(IEEE Transactions on Computers,Vol.45,No.3,1998年3月,pp.319-327)(以下稱為“Fenn等人”)中提出了對(duì)偶基算法結(jié)構(gòu),同樣在R.Furness,M.Benaissa,S.T.J.Fenn“用于設(shè)計(jì)里德-所羅門編解碼器的通用三角基乘法器”(IEEE Proceedings-Computers and Digital Techniques,1997,pp.202-211)(以下稱為“Furness等人”)中提出對(duì)偶基算法結(jié)構(gòu)。設(shè)B={β0,β1,…,βm-1}是GF(2m)的基。B的對(duì)偶基{γ0,γ1,…,γm-1}是滿足下式的基Tr(βαiγj)=1i=j0i≠j]]>其中β可以被近似地選擇,以簡化標(biāo)準(zhǔn)基和對(duì)偶基之間的轉(zhuǎn)換。這里對(duì)于每個(gè)基都存在一個(gè)對(duì)偶基。跡函數(shù)Tr(γ)被定義為 在對(duì)偶基表示法中,ai=Tr(βAαi),0≤i≤m-1。
Furness等人公開了對(duì)于p(x)=xm+xk+1(三項(xiàng)式)形式的本原多項(xiàng)式,標(biāo)準(zhǔn)基向?qū)ε蓟霓D(zhuǎn)換是基元素的簡單變換。對(duì)于p(x)=xm+xk+1+xk+xk-1+1(1<k<m-1,五項(xiàng)式)形式的本原多項(xiàng)式,標(biāo)準(zhǔn)基到對(duì)偶基的轉(zhuǎn)換可以通過使用簡單異或門和基系數(shù)的簡單再排序來執(zhí)行。
圖3是傳統(tǒng)位串行對(duì)偶基乘法器結(jié)構(gòu)的示意圖,如Fenn等人所公開的那樣。該結(jié)構(gòu)是通過在執(zhí)行乘法運(yùn)算之前把元素A從標(biāo)準(zhǔn)基轉(zhuǎn)換成對(duì)偶基而實(shí)現(xiàn)的,例如A=a0+a1α+a2α2+…+am-1αm-1在標(biāo)準(zhǔn)基中B=b0λ0+b1λ1+b2λ2+…+bm-1λm-1在相應(yīng)的對(duì)偶基中p(x)=p0+p1x+p2x2+…+pm-1xm-1+xm且p(α)=0 bm+k=Σj=0m-1pjbj+k]]>對(duì)于圖3所示的串行乘法,對(duì)偶基可能需要2m(m+m=2m)個(gè)與門310和2m-2(m-1+m-1=2m-2)個(gè)異或門320和m位DFFs。對(duì)于并行乘法,對(duì)偶基需要m*(m-1)+m*m=2m2-m個(gè)與門和(m-1)(m-1)+(m-1)m=2m2-3m+1個(gè)異或門。與標(biāo)準(zhǔn)基乘法器相比,對(duì)偶基乘法器可以具有較少的異或門。在一個(gè)實(shí)施例中,可以有一個(gè)較長的路徑,如圖3中所示的兩個(gè)異或鏈。
使用圖2中所示的標(biāo)準(zhǔn)基的乘法器結(jié)構(gòu)或圖3中所示的對(duì)偶基的乘法器結(jié)構(gòu),可以實(shí)現(xiàn)反相器(inverter)和求冪運(yùn)算器(exponentiator)的結(jié)構(gòu)。
圖4是標(biāo)準(zhǔn)基或?qū)ε蓟Y(jié)構(gòu)的傳統(tǒng)反相器/除法器的示意圖。特別地,可以將多項(xiàng)式a410的求逆運(yùn)算表示為a-1=a2m-2=a2·a4·a8······a2m-1.]]>同樣地,多項(xiàng)式b420除以a的除法操是b/a=b·a-1=b·a2m-2=b·a2·a4·a8······a2m-1.]]>這樣,反相器/除法器400可以使用多個(gè)乘法器430、寄存器440和多路轉(zhuǎn)換器480來處理求逆和除法運(yùn)算,以將多項(xiàng)式b和a-1相乘。
圖5是標(biāo)準(zhǔn)或?qū)ε蓟Y(jié)構(gòu)的傳統(tǒng)求冪運(yùn)算器的示意圖。在圖5中,多項(xiàng)式a510被升高到冪N520。這里,N=nm-12m-1+nm-22m-2+…+n12+n0,使得,aN=anm-1·2m-1+nm-2·2m-2+...+n1·2+n0=(a)n0(a2)n1(a4)n2·······(a2m-1)nm-1.]]>與對(duì)偶基方法相比,合成域允許減少運(yùn)算的復(fù)雜性,由此改善了硬件的效率和軟件的實(shí)現(xiàn)。例如,在Christof Paar“Efficient VLSI Architectures forbit parallel Computation in Galios Fields”,PhD Thesis,1994(以下稱為“Paar”)中提出了標(biāo)準(zhǔn)基上的合成域的算法結(jié)構(gòu)。
如果m=n·k,那么有可能通過確定域GF(2n)上的GF(2m)而得到合成域。如Paar中所述,當(dāng)GF((2n)k)可以用于表示合成域時(shí),GF(2n)被稱為基域。
如以下所示,實(shí)現(xiàn)包括多項(xiàng)式A、B和C的GF((2n)2)乘法器的結(jié)構(gòu)對(duì)于GF((2n)2),P(x)=x2+x+p0,其中p0∈GF(2n)A(x)=a1x+a0,B(X)=b1x+b0,其中a0,a1,b0,b1∈GF(2n)C(x)=A(x)B(x)mod P(x)=[a1b1x2+(a0b1+a1b0)x+a0b0]mod P(x)=(a0b1+a1b0+a1b1)x+(a0b0+p0a1b1)=c1x+c03。乘法項(xiàng)a0b0、a1b1、a0b1、a1b0和p0a1b1在基域GF(2n)內(nèi)。
對(duì)于串行乘法,合成域需要2*(m/2)*4個(gè)與門和[2*(m/2)-1]*4+3=4m-1個(gè)異或門和4m位DFFs。對(duì)于并行乘法,合成域需要[2*(m/2)2-(m/2)]*4=2*(m2)-2m個(gè)與門和[2*(m/2)2-2*(m/2)+1]*4+(m/2)*3=2*(m2)+(5/2)*m+4個(gè)異或門。因此,在一個(gè)實(shí)施例中,用于串行乘法的門比用于標(biāo)準(zhǔn)基和對(duì)偶基的多。然而處理量由于2位串行運(yùn)算而加倍。此外,對(duì)于并行乘法,合成域可能會(huì)需要比標(biāo)準(zhǔn)基和對(duì)偶基少的與門以及比標(biāo)準(zhǔn)基少的異或門。在一個(gè)實(shí)施例中,上述與門的數(shù)量不包括p0*(a1b1)的運(yùn)算,因?yàn)槠湟蕾囉谶x擇的p0。例如,p0可以被選擇用于使該運(yùn)算的門的數(shù)量最小。例如m=8時(shí),p0可以選擇為w14,該運(yùn)算僅僅需要1個(gè)附加的異或門。
這樣,為了執(zhí)行GF((2n)2)的求逆算術(shù)運(yùn)算,對(duì)求逆等式的C(x)求解C(x)=1/B(x)mod P(x)=c1x+c0=(b1/Δ)x+[(b0+b1)/Δ]。
同樣地,為了執(zhí)行GF((2n)2)的除法算術(shù)運(yùn)算,對(duì)除法等式的C(x)求解C(x)=[A(x)/B(x)]mod P(x)=c1x+c0=[(a0b1+a1b0)/Δ]x+{[a0(b0+b1)+p0a1b1]/Δ},其中Δ=b0(b0+b1)+p0b02C(x)=[A(x)/B(x)]mod P(x)。這樣,再排列多項(xiàng)式的各項(xiàng)得到A(x)=B(x)C(x)modP(x)=(b0c1+b1c0+b1c1)x+(b0c0+p0b1c1)=a1x+a0=[b1c0+(b0+b1)c1]x+(b0c0+p0b1c1)。通過Cramer定律,求解c0和c1a0=b0c0+p0b1c1,a1=b1c0+(b0+b1)c1,那么,c0=[a0(b0+b1)+p0a1b1]/Δ,c1=(a0b1+a1b0)/Δ。
合成方法的一個(gè)缺點(diǎn)是其是一個(gè)半串行和折衷的方案。
這樣,對(duì)偶基方法和合成域方法都有某些缺點(diǎn),其對(duì)VLSI設(shè)計(jì)有不利的影響。需要?jiǎng)?chuàng)建一個(gè)低復(fù)雜性、低計(jì)算延遲和高處理速率的VLSI結(jié)構(gòu)設(shè)計(jì),以用于乘法、反相、除法和求冪,這在硬件實(shí)現(xiàn)的實(shí)踐中是令人關(guān)心的。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一種執(zhí)行算術(shù)運(yùn)算的方法,包括接收在一個(gè)合成域上定義的第一數(shù)據(jù)流,并且接收在該合成域上定義的第二數(shù)據(jù)流。使用對(duì)偶基算法,對(duì)第一和第二數(shù)據(jù)流執(zhí)行一個(gè)算術(shù)運(yùn)算。
本發(fā)明的方法可進(jìn)一步包括共享硬件,以實(shí)現(xiàn)共同的輸入系數(shù)。
在本發(fā)明的方法中,該算術(shù)運(yùn)算可以是基域乘法、基域除法、或基域求冪中的任一種。
在本發(fā)明的方法實(shí)施例中,第一數(shù)據(jù)流是一個(gè)屬于GF((2n)k)的擴(kuò)域A(x),并且由GF(2n)上的一個(gè)本原多項(xiàng)式p(x)生成;第二數(shù)據(jù)流是一個(gè)屬于GF((2n)k)的擴(kuò)域B(x),并且由GF(2n)上的一個(gè)本原多項(xiàng)式p(x)生成;該算術(shù)運(yùn)算是在對(duì)偶基中對(duì)p(x)取模。
根據(jù)本發(fā)明的一種用于執(zhí)行算術(shù)運(yùn)算的系統(tǒng),包括第一接收器,用于接收在一個(gè)合成域上定義的第一數(shù)據(jù)流;第二接收器,用于接收在該合成域上定義的第二數(shù)據(jù)流;以及模算術(shù)電路,用于使用對(duì)偶基算法,對(duì)第一和第二數(shù)據(jù)流執(zhí)行一個(gè)算術(shù)運(yùn)算。
本發(fā)明的系統(tǒng)可進(jìn)一步包括共享的硬件,用于實(shí)現(xiàn)共同的輸入系數(shù)
圖1是傳統(tǒng)有限域GF(2m)的示意圖。
圖2是傳統(tǒng)位串行標(biāo)準(zhǔn)基乘法器結(jié)構(gòu)的示意圖。
圖3是傳統(tǒng)位串行對(duì)偶基乘法器結(jié)構(gòu)的示意圖。
圖4是在標(biāo)準(zhǔn)或?qū)ε蓟Y(jié)構(gòu)中傳統(tǒng)反相器/除法器的示意圖。
圖5是在標(biāo)準(zhǔn)或?qū)ε蓟Y(jié)構(gòu)中傳統(tǒng)求冪運(yùn)算器的示意圖。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的乘法器結(jié)構(gòu)的示意圖。
圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的反相器結(jié)構(gòu)的一方面的示意圖。
圖8是根據(jù)本發(fā)明一個(gè)實(shí)施例的除法器結(jié)構(gòu)的示意圖。
圖9是根據(jù)本發(fā)明一個(gè)實(shí)施例的求冪運(yùn)算器結(jié)構(gòu)的示意圖。
具體實(shí)施例方式
本發(fā)明結(jié)合了對(duì)偶基和合成域中的有限域算法的元素,以設(shè)計(jì)了一個(gè)高速和區(qū)域高效的乘法器、除法器和求冪運(yùn)算器。這些元素可以用于但不限于例如Reed-Solomn編碼器/解碼器、校驗(yàn)子計(jì)算、Berlekamp算法、Chien搜索算法和Forney算法。
本發(fā)明所有運(yùn)算在對(duì)偶基上的合成域中執(zhí)行。換句話說,對(duì)于GF((2n)k)合成域,基域GF(2n)中的算法是在對(duì)偶基上執(zhí)行的。因?yàn)闃?biāo)準(zhǔn)基到對(duì)偶基的轉(zhuǎn)換是簡單的系數(shù)(在GF(2)中)變換,所以基數(shù)轉(zhuǎn)換開銷是最小的。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的乘法器結(jié)構(gòu)的示意圖。乘法器600基于合成域GF((2n)2),其中基域GF(2n)中的算法是在對(duì)偶基上執(zhí)行的。這樣,對(duì)于GF((2n)2),P(x)=x2+x+p0,其中p0∈GF(2n)。A(x)=a1x+a0,以及B(x)=b1x+b0,其中a0、a1、b0、b1∈GF(2n)。這樣,C(x)=A(x)B(x)mod P(x)=[a1b1x2+(a0b1+a1b0)x+a1b0]mod P(x)=(a0b1+a1b0+a1b1)x+(a0b0+p0a1b1)=c1x+c0。
這意味著,對(duì)于基域乘法,這些項(xiàng)是a0b1、a1b0、a1b1、a0b0、p0a1b1。對(duì)于a1b1以及p0a1b1,有公因子a1b1。同樣地,對(duì)(a0b0,a0b1)和(a1b0,a1b1)每個(gè)在對(duì)中有一個(gè)公共元素。通過使用這些相同的項(xiàng),本發(fā)明乘法器結(jié)構(gòu)可以減小硬件需求。更具體地,每對(duì)中的乘法器可以共享部分具有相同項(xiàng)的輸入電路。在圖6中,乘法器600共享輸入電路的部分610,由此減少了電路的復(fù)雜性。在一個(gè)實(shí)施例中,一個(gè)串行乘法可能需要2*(m/2)+4*(m/2)=3m個(gè)與門、2*[(m/2)-1]+4*[(m/2)-1]+3=3m-3個(gè)異或門以及m位DFFs。一個(gè)并行乘法可能需要2*{(m/2)[(m/2)-1]}+4*[(m/2)2]=(3/2)*(m2)-m個(gè)與門和2*{[(m/2)-1]2}+4*{[(m/2)-1](m/2)}+3*(m/2)=(3/2)*(m2)-(5/2)m+2個(gè)異或門。因而,在2位串行運(yùn)算處理量相同的情況下,用于串行乘法的門的數(shù)量比合成域中所用的少。對(duì)于并行乘法,門減少的級(jí)是從2*(m2)到(3/2)*(m2)。在一些實(shí)施例中,處理量和面積可因串行運(yùn)算而折衷??蓽p少對(duì)平行運(yùn)算的門計(jì)數(shù)。
下面將描述一個(gè)基于合成域GF((2n)2)的反相器,其中在對(duì)偶基上執(zhí)行基域GF(2n)中的算法。對(duì)于GF((2n)2),P(x)=x2+x+p0,其中p0∈GF(2n)。進(jìn)一步,A(x)=a1x+a0,B(x)=b1x+b0,a0、a1,b0、b1∈GF(2n)。
C(x)=A(x)/B(x)mod P(x)=[a1b1x2+(a0b1+a1b0)x+a1b0]mod P(x)=(a0b1+a1b0+a1b1)x+(a0b0+p0a1b1)=c1x+c0=(Δ1/Δ)x+(Δ0/Δ),其中a0、a1、b0、b1、c0、c1、Δ、Δ0、Δ1∈GF(2n)。進(jìn)一步,Δ0=a0(b0+b1)+p0a1b1,Δ1=a0b1+a1b0,Δ=b0(b0+b1)+p0b12。這樣,可以得到Δ1x+Δ0=[b1x+(b0+b1)](a1x+a0),并且Δx+Δ=[b1x+(b0+b1)](b1x+b0)。
圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的一個(gè)反相器結(jié)構(gòu)的一方面的示意圖。乘法器710和720有和乘法器600相同的結(jié)構(gòu)。乘法器710產(chǎn)生輸出Δ1x+Δ0;而720產(chǎn)生輸出Δx+Δ。如圖所示,這兩個(gè)乘法器有相同的輸入項(xiàng)b1x+(b0+b1)。這樣,通過共享硬件以實(shí)現(xiàn)基域乘法的相同部分,根據(jù)本發(fā)明的反相器可以進(jìn)一步提高效率。
接下來,研究除法部分(Δ0/Δ)和(Δ1/Δ)的結(jié)構(gòu)。這里,b/a=b·a-1=b·a2m-2=b·a2·a4·a8······a2m-1.]]>可以發(fā)現(xiàn)上述等式的平方部分和乘法部分有一個(gè)相同的輸入。由于項(xiàng)(Δ0/Δ)和(Δ1/Δ)可以表示為Δ0/Δ=Δ0·Δ-1=Δ0·Δ2n-2=Δ0·Δ2·Δ4·Δ8······Δ2n-1Δ1/Δ=Δ1·Δ-1=Δ1·Δ2n-2=Δ1·Δ2·Δ4·Δ8·······Δ2n-1]]>所以可以共享Δ-1的平方部分。
圖8是根據(jù)本發(fā)明一個(gè)實(shí)施例的除法器結(jié)構(gòu)的示意圖。基域乘法器有一個(gè)相同輸入端810(如粗體線所示)。這樣,乘法器820、830和840可以共享相同輸入端810的電路,因而,實(shí)現(xiàn)了硬件區(qū)域進(jìn)一步減小。
圖9是根據(jù)本發(fā)明一個(gè)實(shí)施例的求冪運(yùn)算器結(jié)構(gòu)的示意圖。
對(duì)于aN,N-nm-12m-1+nm-22m-2+…+n1·2+n0。
aN=anm-1·2+nm-22m-2+···+n1·2+n0=(a)n0·(a2)n1(a4)n2......(a2m-1)nm-1]]>應(yīng)用如上所述的相同硬件共享技術(shù),根據(jù)本發(fā)明的求冪運(yùn)算器共享一個(gè)相同輸入端910(平方部分和乘法部分的粗體線)。允許乘法器920和930共享相同的輸入端910,這減少了結(jié)構(gòu)的復(fù)雜性。
根據(jù)本發(fā)明的一個(gè)結(jié)構(gòu)在對(duì)偶基上的合成域執(zhí)行算法運(yùn)算?;蛩惴ㄔ趯?duì)偶基下執(zhí)行。因此,所提出的結(jié)構(gòu)同時(shí)具有合成域和對(duì)偶基處理的優(yōu)點(diǎn)。也就是,本發(fā)明的混合結(jié)構(gòu)具有與合成域相關(guān)的區(qū)域效率以及與對(duì)偶基相關(guān)的時(shí)間效率。而且,如果通過位串行運(yùn)算實(shí)現(xiàn)基域GF(2n)算法,合成域GF((2n)k)結(jié)構(gòu)的整個(gè)處理量將會(huì)是在有限域GF(2m)(m=n·k)中處理量的兩倍。因而,所提出的有限域算法結(jié)構(gòu)同時(shí)具有區(qū)域、時(shí)間和處理量的優(yōu)勢(shì)。
前述本發(fā)明優(yōu)選實(shí)施例的公開是為了舉例和描述而提出。其不意味著全部的發(fā)明或?qū)l(fā)明限定為所公開的精確形式。根據(jù)上述公開,對(duì)于本領(lǐng)域技術(shù)人員來說,很多所述實(shí)施例的改變或修改是顯而易見的。本發(fā)明的范圍應(yīng)當(dāng)僅僅被后面所附權(quán)利要求及與其等效的范圍所限定。
進(jìn)一步,在描述本發(fā)明的典型實(shí)施例時(shí),說明書可能已經(jīng)按照特定順序的步驟而提出了本發(fā)明的方法和/或過程。然而,在一定程度上,所述方法或過程不依賴于這里所闡述的特定順序,方法或流程不應(yīng)該被限定于所述特定順序的步驟。如本領(lǐng)域技術(shù)人員能理解的,其它的步驟順序也是可能的。因而,說明書中所闡述的步驟的特定順序不應(yīng)被解釋為對(duì)權(quán)利要求的限定。另外,針對(duì)本發(fā)明的方法和/或處理的權(quán)利要求不應(yīng)被限定為按所述的順序而執(zhí)行它們的步驟,本領(lǐng)域技術(shù)人員能夠理解,在不脫離本發(fā)明的精神和范圍的情況下,可以改變這些順序。
權(quán)利要求
1.用于執(zhí)行算術(shù)運(yùn)算的方法,包括接收在一個(gè)合成域上定義的第一數(shù)據(jù)流;接收在該合成域上定義的第二數(shù)據(jù)流;并且使用對(duì)偶基算法,對(duì)所述第一和第二數(shù)據(jù)流執(zhí)行一個(gè)算術(shù)運(yùn)算。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括共享硬件,以實(shí)現(xiàn)共同的輸入系數(shù)。
3.如權(quán)利要求1所述的方法,其中,該算術(shù)運(yùn)算是基域乘法。
4.如權(quán)利要求1所述的方法,其中該算術(shù)運(yùn)算是基域除法。
5.如權(quán)利要求1所述的方法,其中該算術(shù)運(yùn)算是基域求冪。
6.如權(quán)利要求1所述的方法,其中,所述第一數(shù)據(jù)流是一個(gè)屬于GF((2n)k)的擴(kuò)域A(x),并且由GF(2n)上的一個(gè)本原多項(xiàng)式p(x)生成;所述第二數(shù)據(jù)流是一個(gè)屬于GF((2n)k)的擴(kuò)域B(x),并且由GF(2n)上的一個(gè)本原多項(xiàng)式p(x)生成;該算術(shù)運(yùn)算是在對(duì)偶基中對(duì)p(x)取模。
7.用于執(zhí)行算術(shù)運(yùn)算的系統(tǒng),包括第一接收器,用于接收在一個(gè)合成域上定義的第一數(shù)據(jù)流;第二接收器,用于接收在該合成域上定義的第二數(shù)據(jù)流;以及模算術(shù)電路,用于使用對(duì)偶基算法,對(duì)第一和第二數(shù)據(jù)流執(zhí)行一個(gè)算術(shù)運(yùn)算。
8.如權(quán)利要求7所述的系統(tǒng),進(jìn)一步包括共享的硬件,用于實(shí)現(xiàn)共同的輸入系數(shù)。
9.如權(quán)利要求7所述的系統(tǒng),其中該算術(shù)運(yùn)算是基域乘法。
10.如權(quán)利要求7所述的系統(tǒng),其中該算術(shù)運(yùn)算是基域除法。
11.如權(quán)利要求7所述的系統(tǒng),其中該算術(shù)運(yùn)算是基域求冪。
12.如權(quán)利要求7所述的系統(tǒng),其中所述第一數(shù)據(jù)流是一個(gè)屬于GF((2n)k)的擴(kuò)域A(x),并且由GF(2n)上的一個(gè)本原多項(xiàng)式p(x)生成;所述第二數(shù)據(jù)流是一個(gè)屬于GF((2n)k)的擴(kuò)域B(x),并且由GF(2n)上的一個(gè)本原多項(xiàng)式p(x)生成;該算術(shù)運(yùn)算是在對(duì)偶基中對(duì)p(x)取模。
全文摘要
本發(fā)明涉及用于執(zhí)行算術(shù)運(yùn)算的方法和系統(tǒng)。根據(jù)本發(fā)明的結(jié)構(gòu)在對(duì)偶基上的合成域執(zhí)行算術(shù)運(yùn)算?;蜻\(yùn)算是在對(duì)偶基下執(zhí)行的。因此,所提出的結(jié)構(gòu)具有合成域和對(duì)偶基處理的優(yōu)點(diǎn)、區(qū)域效率和時(shí)間效率。而且,如果通過位串行運(yùn)算執(zhí)行基域GF(文檔編號(hào)G06F7/72GK1652075SQ20041006401
公開日2005年8月10日 申請(qǐng)日期2004年7月5日 優(yōu)先權(quán)日2003年7月3日
發(fā)明者范國彥 申請(qǐng)人:誠致科技股份有限公司