本发明涉及关于GF(2m)的计算方法及装置,更具体来说,涉及采用子域GF(2m/2)对GF(2m)的计算方法及装置。 根据对数字信号处理的改进,近来已把一种定域运算用到误码校正理论,开关理论及编码理论等领域之中了。具体来讲,在定域运算中,完成其基本的乘除法时,要求高速度进行运算并且要求通过简化计算采用定域运算减小整个系统的复杂程度。
一般,可将具有2m个元素的定域GF(2m)里的各个元素的表示方法划分作矢量表示法或指数表示法。
在指数表示的计算中,相对来讲,易于作乘除法,却难于作加法。因此,用指数表示法在硬件实现上,乘法器及除法器相对比较简单,而加法器则较为复杂。但是,在矢量表示的计算中,则易于作加法,却难于作乘除法。因此,用矢量表示法,在硬件实现上,加法器会比较简单,而乘法器及除法器就很复杂了。
例如,当实现定域GF(28)的乘法器时,需要64个与门及73个异或门,而除法器的反相电路则需要304个与门和494个或门。
因此,本发明地目的是提出一种可以实现高速运算的采用子域GF(2m/2)的关于GF(2m)的运算方法。
本发明另一目的是提出一种可以简化电路结构的采用子域GF(2m/2)的关于GF(2m)运算装置。
为实现以上目的,根据本发明,采用子域GF(2m/2)对GF(2m)的运算方法,由以下步骤组成:
将由GF(2m)基表示的元素转换成由子域GF(2m/2)基表示的元素;
根据由子域GF(2m/2)基表示的元素,完成对子域GF(2m/2)的运算;以及
再将计算方法由子域GF(2m/2)基表示的元素,复原为由GF(2m)基表示的元素。
为实现另一目的,根据本发明,采用子域GF(2m/2)对GF(2m)的运算装置,包括有:
用于将由GF(2m)基表示的元素转换成由子域GF(2m/2)基表示的元素的转换装置;
用于根据由子域GF(2m/2)基表示的元素完成对子域GF(2m/2)进行计算的运算装置;以及
用于将计算出的由子域GF(2m/2)基表示的元素再复原为由GF(2m)基表示的元素的复原装置。
图1是根据本发明用于转换成GF(24)里面的元素的转换电路逻辑框图。
图2是根据本发明用于复原成GF(28)里面的元素的复原电路逻辑框图。
图3是根据本发明采用子域GF(24)的乘法器方框图。
图4是根据本发明采用子域GF(24)的反相电路方框图。
图5是根据本发明采用子域GF(24)的除法器方框图。
图6是根据本发明对于GF(24)的乘法器的逻辑电路图。
图7是根据本发明对于GF(24)的反相电路的逻辑电路框图。
图8是根据本发明对于GF(24)的平方及γ乘法器的逻辑电路框图。
图9是根据本发明对于GF(24)的γ乘法器的逻辑电路框图。
现以采用子域GF(24)对GF(28)的计算方法及电路作为本发明的实施例说明如下。
假设α4是GF(28)里的任意元素。将它表示作α4=a+bβ,在此a,b∈GF(24)和β∈GF(28)。若是这样,假设GF(28)中的任意元素是
ak=Σ7ziλ2]]>
这里λi是基元素。
也可以将它表示作
αk=Z0+Ziγ+Z2γ2+Z3γ3+Z4β+Z5βγ+Z6βγ2+Z7βγ3
=(Z0+Z1γ+Z2γ2+Z3γ3)+β(Z4+Z5γ+Z6γ2+Z7γ3)
=a+bβ
在此γ∈GF(28)并且γ∈GF(24)
这里
[Zi]={0,1}
[λi]={1,γ,γ2,γ3,β,βγ,βγ3,βγ3}
[λi]是相互线性无关的。
在本发明中,采用GF(28)的子域GF(24)并且将GF(28)子域GF(24)中的基元素定义作{1,β},在此β∈GF(28)。假设,GF(28)的原始多项式P(X)的根是α,在此,P(X)=x8+x4+x3+x2+1。将该原始多项式表示为α8+α4+α3+α2+1=0。再假设GF(24)的原始多项式的根是γ,这里P(X)=X4+X3+1。将该原始多项式表示为γ4+γ3+1=0。而且为满足γ4+γ3+1=0该GF(28)的元素γ等于α119,为满足β2=α119+1·βGF(28)的元素β等于α7。
因此,GF(28)中GF(24)里的基元素为
{1,γ,γ2,γ3,β,βγ,βγ3,βγ3,}=
{1,α119,α238,α102,α7,α126,α245,α109}
并且,用以上基元素将任意元素Z表示如下
Z=Z0+Z1α119+Z2α238+Z3α102+Z4α7+Z5α126+Z6α245+Z7α109
=(Z0+Z1+Z2+Z7)+(Z1+Z2+Z5)α+
(Z3+Z5+Z7)α2+(Z2+Z6+Z7)α3+
(Z1+Z7)α4+(Z5+Z6+Z7)α5+
(Z3+Z5+Z6)α6+(Z1+Z4+Z6+Z7)α7……(1)
ⅰ)由方程式(1),按如下方式将用GF(24)的基元素表示的元素转换成用GF(28)的基元素表示的元素。
b0=Z0+Z1+Z2+Z6+Z7
b1=Z1+Z2+Z5
b2=Z3+Z5+Z7
b3=Z2+Z6+Z7
b4=Z1+Z7
b5=Z5+Z6+Z7
b6=Z3+Z5+Z6
b7=Z1+Z4+Z6+Z7……(2)
图1示出用十三个异或门10实现方程式(2)的逻辑电路图。
ⅱ)由方程式(2),按如下方式将用GF(28)的基表示的元素转换成用GF(24)的基表示的元素。
Z0=b0+b1+b5
Z1=b1+b3+b5
Z2=b2+b3+b5
Z3=b1+b3+b4+b6
Z4=b1+b2+b3+b5+b6+b7
Z5=b2+b5+b6
Z6=b1+b2+b3+b4+b5+b6
Z7=b1+b3+b4+b5……(3)
图2示出用十三个异或门10实现方程式(3)的逻辑电路图。
采用分别由方程式(2)及(3)将通过GF(28)的基表示的元素转换成通过GF(24)的基表示的元素以及反变换的方法及电路,按如下方式形成乘法器,反相器及除法器。
假设,元素A和B是用方程式(2)转换的元素。
ⅲ)假设,元素C是元素A和B之积,于是,
C=A·B
=(a0+a1β)·(b0+b1β)
=c0+c1β
在此,a0,a1,b0,b1,c0,c1∈GF(24)
这里c0和c1表示为:
c0=a0b0+a1b1γ
c1=a0b1+a1b0+a1b1……(4)
图3示出用三个GF(24)里的乘法器50,四个GF(24)里的加法器40及一个GF(24)里的γ乘法器60实现方程式(4)的方框图。
(ⅳ)假定Z的反变换是Z-1并且
Z=x0+x1β
这里,x0x1∈GF(24)并且
Z-1=y0+y1β
这里,Y0y1∈GF(24)于是
Z·Z-1=(x0+x1β)(y0+y1β)
=x0y0+x0y1β+y0x1β+x1y1β2=1 ……(5)
在此,将β2用f0+f1β表示,并且f0,f1∈GF(24)。在方程式(5)中,若用β2=γ+β使f1等于1,那么从方程式(5)中可得出如下等式。
Z·Z-1=(x0y0+x1γy1)+[x1y0+(x0+x1)y1]β=1
并且
由方程式(6),将反变换的结果y0及y1表示作:
y0= (x0+ x1)/(x0(x0+ x1) + γ(x12))
y1= ( x1)/(x0(x0+ x1) + γ(x12)) ……(7)
图4表示出采用三个GF(24)里的乘法器50,一个GF(24)里的加法器40,一个GF(24)里的平方与γ乘法器70,以及一个GF(24)里的反相电路80实现方程式(7)的方框图。
(ⅴ)假设,元素A和B的商是D,令
D=A/B
=(a0+a1β)/(b0+b1β)
=d0+d1β
这里,a0,a1,b0,b1,d0,d1∈GF(24)
于是,可将商d0及d1,表示为:
d0= (a0(b0+ b1) + a1b1γ1)/(b0(b0+ b1) + γ(b12))
d1= (a1(b0+ b1) + b1(a0+ a1))/(b0(b0+ b1) + γ(b12)) ……(8)
图5示出采用六个GF(24)里的乘法器50,五个GF(24)里的加法器40,一个GF(24)里的反相电路80,一个γ乘法器60及一个GF(24)里的平方和γ乘法器70实现方程式(8)的方框图。
由图3,4,5所示,构成该装置,实现关于GF(24)里的乘法器,反相电路,平方及γ乘法器,和γ乘法器的步骤是按如下方式进行的。
(ⅰ)假设,元素x和y之积是Z,令
Z=x·y
=(x0+x1α1+x2α2+x3α3)·(y0+y1α+y2α2+y3α3)
=z0+z1α+z2α2+z3α3
于是可将z0,z1,z2及z3表示为
z0=x0y0+x3y1+(x2+x3)y2+(x1+x2+x3)y3
z1=x1y0+x0y1+x3y2+(x2+x3)y3
z2=x2y0+x0y1+x0y2+x3y3
z3=x3y0+(x2+x3)y1+(x1+x2+x3)y2+
(x0+x1+x2+x3)y3……(9)
图6示出用十六个与门20及十五个异或门10实现方程式(9)的逻辑电路图。
(ⅱ)假设,元素A的反变换是Ⅰ,则该反变换表为如下所示
a0a1a2a3I0I1I2I3
1 1 0 0 0 1 0 0 0
γ 0 1 0 0 0 0 1 1
γ20 0 1 0 0 1 1 0
γ30 0 0 1 1 1 0 0
γ41 0 0 1 1 0 1 1
γ51 1 0 1 0 1 0 1
γ61 1 1 1 1 0 1 0
γ71 1 1 0 0 1 1 1
γ80 1 1 1 1 1 1 0
γ91 0 1 0 1 1 1 1
γ100 1 0 1 1 1 0 1
γ111 0 1 1 1 0 0 1
γ121 1 0 0 0 0 0 1
γ130 1 1 0 0 0 1 0
γ140 0 1 1 0 1 0 0
用卡诺(Karaugh)图将上表可以简化为:
I0= a0a1+ a0a2a3+ a1a2a3
I1= a0a3+ a1a2a3+ a0a1a2+ a0a2a3
I2= a1a2+ a2a3+ a0a1a3+ a0a1a2a3
I3= a1a2+ a0a1a3+ a0a2a3……(10)
图7示出采用十六个与门20,十个或门30及未示出的四个反相器实现方程式(10)的逻辑电路图,并且对应于a0至a3
(ⅲ)为实现平方及r乘法器,假设元素A是a0+a1γ+a2γ2+a3γ3在此γ4=γ3+1然后用(a2+a3)+(a0+a2+a3)γ+a3γ2+(a1+a2)表示γA2。图8表示出用三个异或门10实现该方程式的逻辑电路图。
(ⅳ)为实现γ乘法器,假设元素A是a0+a1γ+a2γ2+a3γ3在此γ4+γ3+1然后用a3+a0γ+a1γ2+(a2+a3)γ3表示γA
图9示出用一个异或门10实现该方程式的逻辑电路图。
这里要计算用在乘法器,除法器及反相电路中总的门数。对于采用子域GF(24)的GF(28)的乘法器,除法器及反相电路基本上必须要具有图1及图2的电路。
在图3中,该门的总数分解如下
与门异或门GF(28)→GF(24)三个乘法器γ乘法器四个加法器GF(24)→GF(28)16×3=481315×3=4514×4=16134888
在图4中,该门的总数分解如下。与门异或门或门非门GF(28)→GF(24)三个乘法器反相电路一个平方及γ乘法器二个加法器GF(24)→GF(28)16×3=481315×3=4534×2=8131044882104
在图5中,该门的总数分解如下。与门异或门或门非门GF(28)→GF(24)六个乘法器五个加法器γ乘法器反相电路一个平方及γ乘法器GF(24)→GF(28)16×6=96161315×6=904×5=201313104112140104
因此,由于采用子域GF(24)对GF(28)实现乘法器,除法器及反相电路,所以本发明通过减少逻辑门的数目简化了电路结构并能以高速度完成运算,当然,可以把本发明的电路应用到对于GF(2m)的乘法器、除法器及反相电路中去,这里的m可以大于或小于8,当然,也可以将关于GF(2m)里的元素的转换过程及复原过程进行多次。
虽然,以上详细描述了本发明,但很清楚这仅仅是其中一个实施例的说明,而且本发明的实质及其保护范围绝不受此局限;故此附后提出本发明的权利要求书。