CN1573682A - 在有限域中实现平方运算的方法和装置 - Google Patents

在有限域中实现平方运算的方法和装置 Download PDF

Info

Publication number
CN1573682A
CN1573682A CNA2004100495316A CN200410049531A CN1573682A CN 1573682 A CN1573682 A CN 1573682A CN A2004100495316 A CNA2004100495316 A CN A2004100495316A CN 200410049531 A CN200410049531 A CN 200410049531A CN 1573682 A CN1573682 A CN 1573682A
Authority
CN
China
Prior art keywords
coefficient
following formula
circleplus
elements
expressed
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
Application number
CNA2004100495316A
Other languages
English (en)
Other versions
CN100432922C (zh
Inventor
秦元镒
许美淑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR10-2003-0077329A external-priority patent/KR100519775B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1573682A publication Critical patent/CN1573682A/zh
Application granted granted Critical
Publication of CN100432922C publication Critical patent/CN100432922C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种在有限域中实现平方运算的方法和装置。当有限域GF(2n)的定义多项式表示为时,其中n为奇数,有限域中所包含的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n),提供了一种计算元素A的平方的方法,该方法包括:确定预定的系数mj,Iij,V0,Vij以及V,使得系数mi满足在1≤i≤t是一个自然数时关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数v0和vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V,依据ki和n确定预定系数si并以si对系数V进行循环移位;对循环移位后的系数V与元素A进行XOR运算;并以预定的顺序重写XOR运算的结果同时输出平方运算的结果。

Description

在有限域中实现平方运算的方法和装置
技术领域
本发明涉及在有限域中实现平方运算的方法和装置。
背景技术
一个有限域GF(2n)是包含2n个元素的数系统(number system)。有限域GF(2n)的每个元素都可用n比特表示,基于此,有限域的实际应用就能实现。实际应用中,例如纠错码的硬件实现以及密码系统的椭圆形曲线通常在GF(2n)中进行计算(perform calculations)。一种用于reed-solomon码的编码/解码装置在GF(2n)中完成计算,以及一种椭圆形曲线密码系统的编码/解码装置当n取大值时在GF(2n)中完成计算。
只包含二进制数0和1的GF(2)的加法和乘法规则由公式(1)定义。
0+0=1+1=0
0+1=1+0=1                                 ...(1)
0×0=1×0=0×1=0
1×1=1
其中,二元加法为按位异或(下文指XOR)运算,二元乘法为按位与(bitwiseAND)(下文指AND)运算。
既然有限域GF(2n)(n>1)是包含2n个元素的数系统,加法和乘法相应于在GF(2)中一个不可约的具有系数的n次(n-degree)多项式的数学模。不可约的n次多项式指有限域的定义多项式(defining polynomial)。当定义多项式的一个根是a,那么有限域的一个元素可由公式(2)给出标准表示法。
a0+a1α+a2α2+...+an-1αn-1=(a0,a1,a2,...,an-1),ai∈GF(2)      ...(2)
有限域GF(2n)中两个元素的乘法通过a的多项式乘法然后再由定义多项式进行模运算给出。有限域GF(2n)中两个元素的加法通过a的多项式加法实现。
假设有限域GF(2n)的定义多项式由公式(3)所示,a是定义多项式的一个根。
f ( x ) = x n + Σ i = 1 t x k i + 1 · · · ( 3 )
其中n是任意自然数,0<t,ki<n。
如果有限域的一个元素A表示为
A=(a0,a1,a2,...,an-1)∈GF(2n),元素A的平方由a的多项式乘法再通过多项式f(a)进行模运算确定。
A2=(a0+a1α+a2α2+...+an-1αn-1)2mod f(α)
                                                         ...(4)
如上述公式(4)所示,实现平方运算的传统方法将说明如下。其中,硬件的规模,即门的数量,作为空间复杂性的一个度量。硬件的门延时作为时间复杂性一个度量。密码标准(cryptographic standards),例如SEC和ANSIX9.26,定义了椭圆形曲线密码系统所必须的系数并推荐了的几种在有限域中的系数。这两种标准很广泛的应用于有限域中确定系数。因此,两种标准在确定各自技术的广泛适用性中被用为规范(criteria)。其中,n表示有限域的维数。
由H.Wu称为“Bit-parallel finite field multiolier and squarer usingpolonomial basis(IEEE Transactions on Computers,Vol.51,No.7,pp.750-758,2002)”的发明提出了当定义多项式为一个三项式xn+xk+1时,n和k值的平方结果的排列(arrangement)。因为Wu发明所采纳的公式经过优化,在空间和时间复杂性上能获得很高的效率。但是,它并没有涵盖定义多项式是一个五项式(pentanomial)的情况。
由C.H.Kim等人称为“A new hardware architecture for operationsin GF(2n)(IEEE Transactions on Computers,Vol.51,No.1,pp.90-92,2002)”的发明提出了当n+1是一个质数时,2∈Zn+1为GF(2n)的一个本原元素,利用不规则原理(anomalous basis),并且定义多项式为全一多项式(all-onepolynomial(AOP)),平方可以通过重写(rewiring)而求得。但是,相关的n和定义多项式并没有在标准中发现。
由K.Aoki等人称为“Scheme for arithmetic operations in finitefield and group operations over elliptic curves realizing improvedcomputational speed(US Pat.Nos.6,266,688 and 6,202,076 2001)”的发明提出了当n为偶数并且有限域GF(2n)满足GF(2)<GF(2n/2)<GF(2n)的条件时,有限域GF(2n)的数学运算可以利用有限域GF(2n/2)的数学运算完成,并建议了一种利用此方案进行平方运算的设备。但是,表示有限域的方式不同于标准所述,导致很差的兼容性。此外,由于在标准中大部分“n”都是奇数,所以K.Aoki等人的发明很少应用。
由Lambert等人称为“Method and apparatus for implementingarithmetical operations in finite fields(EU Pat.No.1,076,284A1,2001)”的发明中利用一个循环的原则进行平方运算。循环原则为1,αΔ,α,α,...,α(m-1)Δ,其中Δ为2n-1的最小约数,满足m=(2n-1)/Δ≥n,Δ≥n。在该情况下,平方运算通过重写完成。但是,此发明需要基底转换,由于满足上述条件的因素Δ相当大,所以很复杂。
由G.Orlando等人称为“Squaring architecture for GF(2n)and itsapplication in cryptographic systems(ElectronicsLetters,Vol.36,No.13,pp.1116-1117,2000)”的发明揭示了依据预定原理分拆(divide)元素并将分拆的元素放入乘法器的一种方法。平方结构包含了3.5n个门以及乘法器。因此,G.Orlando等人的发明要比使用大约n/2个门的H.Wu的发明效率更低一些。
由C.C.Wang等人称为“VLSI architectures for computingmultiplications and inverses in GF(2m)(IEEE Transactions onComputers,Vil.C-34,N.o.8,pp.709-717,1985)”的发明利用了常规的基本原理以使平方运算通过重写实现。但是,发明所需的基底转换(basisconversion)非常复杂。
因此,就需要一种不需要复杂的基底转换并具有低的空间和时间复杂性的实现平方运算的方法和装置。
发明内容
本发明提供了一种在有限域中通过利用有限域的定义多项式确定对平方运算所必须的系数、对所确定的系数进行异或(下文指XOR)运算,并重写XOR运算的结果从而实现平方运算的方法和装置。
依据本发明的一个方面,当有限域GF(2n)的定义多项式表示为
f ( x ) = x n + Σ i = 1 t x k i + 1 , 其中n为奇数,有限域中所包含的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n)时,提供了一种对元素A平方的方法,该方法包括:确定预定(predetermined)的系数mi,Iij,V0,Vij以及V,使得系数mi满足在1≤i≤t是一个自然数时关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V
V i = V i 2 ⊕ V i 3 ⊕ · · · ⊕ V i m i , V = V 0 ⊕ Σ m i ≠ 0 V i ; 依据ki和n确定预定系数si并以si对系数V进行循环移位;对循环移位后的系数V和元素A进行XOR运算;并以预定的顺序重写XOR的结果同时输出平方运算的结果。
依照本发明的另一方面,当有限域GF(2n)的定义多项式表示为 f ( x ) = x n + Σ i = 1 t x k i + 1 时,其中n为奇数,有限域中的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n),提供了一种对元素A平方的装置,装置包括:一个系数计算单元,计算对平方运算所必须的系数:确定预定的系数mi,Iij,V0,Vij以及V,系数mi满足在1≤i≤t是一个自然数时关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V, V i = V i 2 ⊕ V i 3 ⊕ · · · ⊕ V i m i , V = V 0 ⊕ Σ m i ≠ 0 V i ; 依据ki和n确定预定系数si并以si对系数V进行循环移位;一个XOR运算单元,包括多个XOR门,并依据系数计算单元的结果输入完成XOR运算;以及一个重写单元,对XOR运算单元的输出以预定的顺序进行重写并输出平方运算的最终结果。
依据本发明的再一个方面,当有限域GF(2n)的定义多项式表示为 f ( x ) = x n + Σ i = 1 t x k i + 1 时,其中n为偶数,有限域中的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n),提供了一种计算元素A的平方的方法,该方法包括:确定预定的系数mi,Iij,V0,Vij以及V,系数mi满足在1≤i≤t是一个自然数时关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V V i = V i 2 ⊕ V i 3 ⊕ · · · ⊕ V i m i , V = V 0 ⊕ Σ m i ≠ 1 V i ; 依据ki和n确定预定系数si并依据预定的公式以si对系数V进行循环移位;由元素A得到 A并将循环移位后的系数V与元素 A进行XOR运算;并以预定的顺序重写XOR运算的结果同时输出平方运算的结果。
依据本发明的再一个方面,当有限域GF(2n)的定义多项式表示为 f ( x ) = x n + Σ i = 1 t x k i + 1 时,其中n为偶数,有限域中的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n),提供了一种计算元素A的平方的装置,该装置包括:一个系数计算单元,计算对平方运算所必须的系数:即确定预定的系数mi,Iij,V0,Vij以及V,系数mi满足在1≤i≤t是一个自然数时关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V, V i = V i 2 ⊕ V i 3 ⊕ · · · ⊕ V i m i , V = V 0 ⊕ Σ m i ≠ 0 V i ; 依据ki和n确定预定系数si并依据预定的公式以si对系数V进行循环移位;一个XOR运算单元,包括多个XOR门,依据预定的公式由元素A得到 A,并将接收到的来自系数计算单元循环移位后的运算结果与元素 A进行XOR运算;以及一个重写单元,对XOR运算单元的输出以预定的顺序进行重写并输出平方运算的最终结果。
附图说明
通过结合附图对本发明的优选实施方式进行详细描述,本发明的上述和其它特性和优点将变得更加清楚,附图中:
图1为依据本发明的第一个优选实施例在有限域中实现平方运算装置的方框图;
图2释义了利用利用多个异或门和重写装置(rewiring means)时公式(23)的结果实现;
图3释义了利用多个XOR门和重写装置时公式(27)的结果实现;
图4释义了降低图3的XOR门的数量后所获得的结果;
图5释义了依据本发明的第二个优选实施例在有限域中实现平方运算装置的方框图;
图6释义了利用多个XOR门和重写装置时公式(42)的结果实现;
图7为释义现有技术和本发明之间空间和时间复杂性相比较的表格;
图8为释义现有技术和本发明之间在由SEC标准定义的三个有限域中空间和时间复杂性相比较的表格;以及
图9为释义现有技术和本发明之间在对标准的适用性、基底转换以及问题上相比较的表格。
具体实施方式
下面参照附图,我们将对本发明的优选实施例进行更详细的描述。在附图中示意了本发明的优选实施例。
图1为依据本发明的第一个优选实施例在有限域GF(2n)中当n为奇数时完成平方运算装置的方框图。参照图1,装置中包括一个系数计算单元10,一个XOR运算单元12以及一个重写单元14。
系数计算单元10计算对定义多项式的平方运算所必须的系数。XOR运算单元12对从系数计算单元10输出的系数完成XOR运算。重写单元14重写XOR运算单元12的输出结果并输出平方运算的最终系数。
现对实现平方运算的运算装置作出更加详细的说明。
假设GF(2n)的定义多项式由公式(5)确定。
f ( x ) = x n + Σ i = 1 t x k i + 1 · · · ( 5 )
如果有限域的元素A表示为
A=(a0,a1,a2,...,an-1,)∈GF(2n),元素A的平方A2由公式(6)表示。
A2=(a0+a1α+a2α2+...+an-1αn-1)2mod f(α)             ...(6)
   =c0c1c2...cn-1=C
平方A2直接为一个矢量C,它也属于GF(2n)。
在公式(5)中,xn+1和 加起来为定义多项式f(x),乘法器的空间和时间复杂度由n,t以及ki确定。
为取得矢量C的分量所必须的系数mi,Iij,I,V0,Vij以及V定义如下。
如果ki=1,i=1,2,...,t,系数mi=0。
如果ki满足下面的公式(7)
( r - 2 ) n + 1 r - 1 < k i &le; ( r - 1 ) n + 1 r &CenterDot; &CenterDot; &CenterDot; ( 7 )
其中r≥2是一个整数,即可确定系数mi=r。当mi不为0,系数Iij(i=1,2,...,t,j=2,3,...,mi)由公式(8)确定。
I ij = n - 1 2 - [ ( j - 1 ) n - k i 2 ] &CenterDot; &CenterDot; &CenterDot; ( 8 )
如果ki为偶数,系数I由公式(9)确定。
I=max{Ii2|ki:偶}                              ...(9)
如果ki不是偶数,系数I=0。
系数V0由公式(10)确定
当mi≠0时系数Vij如下确定。当ki是奇数时以及当ki为偶数、j为奇数时,系数Vij都由公式(11)确定。
当ki和j都是偶数时,系数Vij由公式(12)确定。
Figure A20041004953100135
系数计算单元10通过公式(13)从已获得的系数求得系数Vi和V
V i = V i 2 &CirclePlus; V i 3 &CirclePlus; &CenterDot; &CenterDot; &CenterDot; &CirclePlus; V i m i
V = V 0 &CirclePlus; &Sigma; m i &NotEqual; 0 V i &CenterDot; &CenterDot; &CenterDot; ( 13 )
接下来,依赖于系数ki(i=1,2,...,t)的系数si由公式(14)确定。
为从公式(14)已求得的各自s1到st对系数V进行循环移位运算,XOR运算对循环移位的结果进行,并与元素A再进行一次XOR运算。XOR的运算结果C’可以由公式(15)表示为
C’=A(V>>s1)...(V>>st)         ...(15)
由公式(15)获得的结果C’表示对元素A的一次XOR运算规则。XOR运算单元12依据公式(15)实现XOR运算。
如果由公式(15)获得的结果C’表示为C’=c0’c1’...cn-1’,平方A2=c0c1...cn-1ci中的ci通过公式(16)从结果C’中获得。
ci=cj’(i≡2j mod n)                   ...(16)
重写单元14依据公式(16)对由公式(15)已获得的结果进行重写并输出平方运算的最终结果。
按照上面所构造的装置的空间和时间的复杂度计算如下。依据本发明第一个优选实施例的装置只实现XOR运算。XOR下运算的时间数由公式(17)给出。
Figure A20041004953100141
因为第三步只需要重写运算,所以在第三步中没有XOR运算产生。尤其是,当t=1时,即当定义多项式为三项式时,如果k1满足公式(18),
1 < k 1 &le; n + 1 2 &CenterDot; &CenterDot; &CenterDot; ( 18 )
那么XOR的运算数由公式(19)求出。
很难精确的说明装置的时间复杂度。因此,时间复杂性中最坏的情况能够作出解释。由于依照本发明的第一个优选实施例的平方装置只利用了XOR门,门延时可作为时间复杂度的一个衡量。由XOR门引起的最大时延由公式(20)确定。
Figure A20041004953100144
特别是,当t=1时并且ki满足公式(18),XOR的门延时由公式(21)表示。
现将第一个优选实施例中当n=11时系数和复杂度的计算结果进行说明。当定义多项式表示为x11+x2+1,t=1,k1=2。从n,t以及ki平方运算所必须的系数确定如下。依据公式(7)到(11),m1=2,I12=1,I=1,V0=a6a7a8a9a10000000以及V12=00000a1000000。利用系数m1,I12,I,V0和V12,V1=00000a1000000和V=a6a7a8a9a10a10000000可以依据公式(13)求得。
系数s1依据公式(14)确定为s1=7。依照公式(15),矢量C’由公式(22)确定。
C’=A(V>>7)
   =Aa10a1000000a6a7a8a9                        ...(22)
   =(a0a10)(a1a10)a2a3a4a5a6(a7a6)(a8a7)(a9a8)(a10a9)
如果关于C’的重写运算依据公式(14)实现,平方A2=c0c1c2...c9c10由公式(23)求得。
A2=(a0a10)a6(a1a10)(a7a6)a2(a8a7)a3(a9a8)a4(a10a9)a5      ...(23)
图2释义了利用多个XOR门21和一个重写装置22时所获得的公式(23)的结果实现;
参照图2,平方装置包括六个XOR门构成了空间复杂性,同时有一个门延时构成了时间复杂性。
现在将说明在定义多项式为x11+x4+x2+x+1的情况下的另一个例子。依照定义多项式,t=3,k1=1,k2=2,k3=4。
从t,k1,k2以及k3所取得的系数由公式(24)表示。
m1=0,m2=m3=2
l22=1,l32=2
l=2                                               ...(24)
V=a6a7a8a9a10000000
V22=00000a1000000,V32=00000a9a100000
从公式(24)的系数中,可获得V2=00000a1000000以及V3=00000a9a100000。系数V由公式(25)确定。
V=a6a7a8a9(a10a9)a1000000                        ...(25)
依据公式(14),s1=1,s2=7,s3=8可确定,因此矢量C’由公式(26)确定。
C’=A(V>>1)(V>>7)(V>>8)
   =(a0a9a10)(a1a6a10a9a10)(a2a7a9a10a10)
     (a3a8a10)(a4a9)(a5a10)(a6a9a10)(a7a6a10)
     (a8a6a7)(a9a7a8)(a10a8a9)
                                                                  ...(26)
如果重写依据公式(16)进行,矢量C由公式(27)求得。
A2=(a0a9a10)(a6a9a10)(a1a6a10a9a10)(a7a6a10)
     (a2a7a9a10a10)(a8a6a7)(a3a8a10)(a9a7a8)
     (a4a9)(a10a8a9)(a5a10)                        ...(27)
图3释义了利用多个XOR门31和一个重写装置32时公式(27)的结果实现。图4释义了在减小XOR门41的数量后所获得的结果。举例来说,在相应于公式(27)的矢量C的c2即a1a6a10a9a10中因为a10a10=0,所以只有a1a6a9需要计算。因此,XOR门的数量能够降低。另一个例子中,当c3=a8a6a7时,如果在于c3=a7a6a10中a6a7同样也存被重用,那么用于计算c5的XOR门的数量可以进一步的降低。图4释义了以上述方式减少XOR门41的数量后所获得的结果。
图5为依据本发明的第二个优选实施例在有限域GF(2n)中当n为偶数时实现平方运算装置的方框图。依据本发明的第二个优选实施例的装置包括一个系数计算单元50、一个XOR运算单元52以及一个重写单元54。
系数计算单元50利用定义多项式计算平方运算所必须的系数。XOR运算单元52对从系数计算单元50输出的系数完成XOR运算;重写单元54对XOR运算单元52的输出进行重写并输出平方运算的最终结果。
现将第二个优选实施例的运算装置进行更详细的说明。
如果当n为偶数时GF(2n)的定义多项式由公式(5)定义,同理当n为奇数时亦如此,当有限域所包含的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n),元素A的平方A2可以由公式(6)表示。公式(6)中平方运算的结果C也包含在GF(2n)中。
为获得矢量C的分量所必须的系数mi,Iij,I,V0,Vij以及V定义如下。
如果ki=1,i=1,2,...,t,那么设定系数mi=1。
如果ki满足公式(28)
( r - 2 ) n + 1 r - 1 < k i &le; ( r - 1 ) n + 1 r &CenterDot; &CenterDot; &CenterDot; ( 28 )
其中整数r≥2,系数mi可确定为r。当mi≠1(i=1,2,...t),系数Iij(j=2,3,...,mi)由公式(29)确定。
系数V0由公式(30)确定。
当mi≠1(i=1,2,...,t)时并且ki为偶数,或者当mi≠1并且ki和j都为奇数时,那么系数Vij(j=2,3,...,mi)由公式(31)确定。
另一方面,当mi≠1、ki为奇数、并且j为偶数时,那么系数Vij由公式(32)确定。
系数计算单元50输出的由公式(33)表示的最终计算结果,当mi≠1时从系数mi,V0以及Vij中求得。
V i = V i 2 &CirclePlus; V i 3 &CirclePlus; &CenterDot; &CenterDot; &CenterDot; &CirclePlus; V i m i
V = V 0 &CirclePlus; &Sigma; m i &NotEqual; 1 V i &CenterDot; &CenterDot; &CenterDot; ( 33 )
依赖于ki(i=1,2,...,t)的系数si通过公式(34)确定。
Figure A20041004953100176
接下来,元素 A由公式(35)确定。
Figure A20041004953100177
标记为 >>的移位运算由公式(36)表示。
Figure A20041004953100178
依据公式(36)关于从公式(34)求得的s1到st对系数V完成移位运算,并对移位运算的结果进行XOR运算,并与公式(35)的元素A再进行一次XOR运算。XOR的运算结果C可以由公式(37)表示为
C’= A(V >>s1)...(V >>st)             ...(37)
由公式(37)获得的结果C’表示关于元素A的一次XOR运算规则。XOR运算单元82依据公式(37)实现XOR运算。
如果由公式(37)求得的结果C’表示为C’=c0’c1’...cn-1’,A2=c0c1...cn-1中的ci依据公式(38)从结果C’中获得。
重写单元54依据公式(38)对由公式(37)已获得的结果进行重写,并输出平方运算的最终结果。
下面将说明在定义多项式为x10+x4+x3+x+1的情况下的一个例子。依照定义多项式,t=3,k1=1,k2=3,k3=4。
从t,k1,k2以及k3所获得的系数由公式(39)表示。
m1=1,m2=m3=2
l22=1,l32=2
V=a5a6a7a8a900000                             ...(39)
V22=00000a90000,V32=a8a900000000
依据公式(33),V2、V3以及V由公式(40)表示。
V2=00000a900000,V3=a8a900000000
V=(a5a8)(a6a9)a7a8a9a90000                  ...(40)
依据公式(34),可确定s1=5,s2=6,s3=2,由公式35到37,矢量C’可由公式(41)所示。
C’= A(V >>5)(V >>6)(V >>2)
   =(a0a5a8)(a1a6a9a9)(a2a7a9a5a8)(a3a8a6a9)
     (a4a9a7)(a5a8a9)(a6a9a5a8)(a7a6a9a9)
     (a8a7)(a9a8)
                                                          ...(41)
如果由公式(41)求得的结果C’经重写后,那么平方运算的结果可由公式(42)求得。
A2=(a0a5a8)(a5a8a9)(a1a6a9a9)(a6a9a5a8)
     (a2a7a9a5a8)(a7a6a9a9)(a3a8a6a9)(a8a7)
     (a4a9a7)(a9a8)                   ...(42)
图6释义了利用多个XOR门61和一个重写装置62时公式(42)的结果实现。参照图6,平方运算装置包括构成空间复杂性的25个XOR门,以及构成时间复杂性的4个XOR门时延。
图7到图9说明了现有技术和本发明之间的比较表格。参照图7,本发明考虑了在空间和时间复杂性方面当定义多项式为三项式即为xn+xk+1的情况。图8为释义现有技术和本发明之间在由SEC标准定义的三个有限域中空间和时间复杂性相比较的表格。假定了平方装置的输入符合标准表达式。图9为释义现有技术和本发明之间在对标准的适用性、基底转换以及问题上相比较的表格。假定平方装置(squaring apparatus)的输入具有标准表达式。
参照表格,在空间和时间复杂性方面,本发明的实施例按照各种情况较现有技术更优越、相近或劣于的地方。但是,C.H.Kim等人的发明利用在标准中未发现的维数和定义多项式,这导致很差的兼容性。Lambert等人的发明以及C.C.Wang等人的发明需要复杂的基底转换。总体来说,基底转换需要大约n2个门以及大约log2n的门延时。如果没有有效的基底转换方法,那么传统的发明就会比本发明缺少效率。H.Wu的发明局限于将三项式作为定义多项式,因此在应用上受到限制。
即使在n为偶数时,本发明的实施例能够应用于给定标准中的任何情况,因此获得广泛的适用性。
如上所述,由于依据本发明的平方装置适用于标准中的大多情况,因此有较强的适用性以及高效的空间和时间复杂度。另外,平方运算装置不需要基底转换。除此之外,因为平方装置当三项式以及一个五项式可以作为定义多项式,所以本发明在对标准各种情况的适用性方面较现有技术更优越。
尽管参照本发明的特定优选实施例对本发明进行了上述图示和描述,但本领域普通技术人员应当理解,在不脱离由所附权利要求书所限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的各种修改。

Claims (19)

1、当一个有限域GF(2n)的定义多项式表示为 f ( x ) = x n + &Sigma; i = 1 t x k i + 1 时,其中n为奇数,有限域中所包含的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n)时,一种对元素A取平方的方法,该方法包括:
确定预定的系数mi,Iij,V0,Vij以及V,使得系数mi在1≤i≤t是一个自然数时满足关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V
V i = V i 2 &CirclePlus; V i 3 &CirclePlus; . . . &CirclePlus; V im i ;
V = V 0 &CirclePlus; &Sigma; m i &NotEqual; 0 V i
依据ki和n确定预定系数si并以si对系数V进行循环移位;
对循环移位后的系数V与元素A进行XOR运算;以及
以预定的顺序重写XOR运算的结果并输出平方运算的结果。
2、如权利要求1所述的方法中,其中关于ki,系数mi满足下面的公式
3、如权利要求1所述的方法中,其中系数Iij由下面的公式确定
Figure A2004100495310002C5
4、如权利要求1所述的方法,其中系数V0由下面的公式确定
并且当ki是奇数时或者当ki为偶数、j为奇数时系数Vij由下面的公式
Figure A2004100495310002C7
确定,当ki和j都是偶数时系数Vij由下面公式
Figure A2004100495310002C8
确定。
5、如权利要求1所述的方法中,其中关于系数ki和n的系数si由下面公式 确定。
6、如权利要求1所述的方法,其中XOR运算的结果C’表示为C’=c’0c’1...c’n-1,元素A的平方A2表示为A2=c0c1...cn-1,ci依照下面的公式求得
ci=c’j(i≡2jmodn)。
7、当一个有限域GF(2n)的定义多项式表示为 f ( x ) = x n + &Sigma; i = 1 t x k i + 1 时,其中n为奇数,有限域中的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n)时,一种计算元素A的平方的装置,装置包括:
一个系数计算单元,计算平方运算所必须的系数:
确定预定的系数mi,Iij,V0,Vij以及V,使得系数mi在1≤i≤t是一个自然数时满足关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V
V i = V i 2 &CirclePlus; V i 3 &CirclePlus; . . . &CirclePlus; V im i ; 以及
V = V 0 &CirclePlus; &Sigma; m i &NotEqual; 0 V i
依据ki和n确定预定系数si并以si对系数V进行循环移位;
一个XOR运算单元,包括多个XOR门,依据系数计算单元的结果对输入的A完成XOR运算;以及
一个重写单元,对XOR运算单元的输出以预定的顺序进行重写并输出平方运算的最终结果。
8、如权利要求7所述的装置中,其中XOR运算单元的输出C’表示为C’=c’0c’1...c’n-1,元素A的平方A2表示为A2=c0c1...cn-1,重写单元依照下面公式利用ci重写c’j
ci=c’j(i≡2jmodn)。
9、当有限域GF(2n)的定义多项式表示为 f ( x ) = x n + &Sigma; i = 1 t x k i + 1 时,其中n为偶数,有限域中所包含的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n),一种对元素A取平方的方法,该方法包括:
确定预定的系数mi,Iij,V0,Vij以及V,使得系数mi满足在1≤i≤t是一个自然数时关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V
V i = V i 2 &CirclePlus; V i 3 &CirclePlus; . . . &CirclePlus; V i m i ;
V = V 0 &CirclePlus; &Sigma; m i &NotEqual; 1 V i
依据ki和n确定预定系数si并依据预定的公式以si对系数V进行循环移位;由元素A得到元素,并将循环移位后的系数V与元素进行XOR运算;以及
以预定的顺序重写XOR运算的结果并输出平方运算的结果。
10、如权利要求9所述的方法,其中关于ki的系数mi满足下面的公式
Figure A2004100495310004C3
11、如权利要求9所述的方法,其中系数Iij由下面的公式确定
Figure A2004100495310004C4
12、如权利要求9所述的方法,其中系数V0由以下公式确定
Figure A2004100495310004C5
并且当ki为偶数或者当ki和j都为奇数时,系数Vij由以下公式确定
Figure A2004100495310004C6
当ki为偶数、并且j为奇数时,系数Vij由下面的公式确定
Figure A2004100495310004C7
13、如权利要求9所述的方法,其中关于ki和n的系数si通过由以下公式确定
14、如权利要求9所述的方法,其中移位运算依据下面的公式关于元素A进行
其中移位运算由>>表示。
15、如权利要求9所述的方法,其中元素由以下公式确定
16、如权利要求9所述的方法,其中XOR运算的结果C’表示为C’=c’0c’1...c’n-1,元素A的平方A2表示为A2=c0c1...cn-1,ci依据以下公式求得
Figure A2004100495310005C3
17、当有限域GF(2n)的定义多项式表示为 f ( x ) = x n + &Sigma; i = 1 t x k i + 1 时,其中n为偶数,有限域中的元素A表示为A=(a0,a1,a2,...,an-1,)∈GF(2n)时,一种计算元素A的平方的装置,该装置包括:
一个系数计算单元,计算平方运算所必须的系数:
确定预定的系数mi,Iij,V0,Vij以及V,使得系数mi满足在1≤i≤t是一个自然数时关于ki的预定条件,系数Iij在2≤j≤mi时依赖于n,kij以及j,n比特的系数V0和Vij各自依赖于n,Iij和ki,并且依照下面的公式获得关于mi的系数V
V i = V i 2 &CirclePlus; V i 3 &CirclePlus; . . . &CirclePlus; V i m i ; 以及
V = V 0 &CirclePlus; &Sigma; m i &NotEqual; 0 V i
依据ki和n确定预定系数si并依据预定的公式以si对系数V进行循环移位;
一个XOR运算单元,包括多个XOR门,依据预定的公式由输入的元素A得到,并将接收到的来自系数计算单元的循环移位后的运算结果与元素进行XOR运算;以及
一个重写单元,对XOR运算单元的输出C’进行重写并输出平方运算的最终结果。
18、如权利要求17所述的装置中,其中XOR运算单元包括多个的XOR门,依据以下的公式由元素A求得元素
Figure A2004100495310006C1
19、如权利要求17所述的装置中,其中由XOR运算单元的输出C’表示为C’=c’0c’1...c’n-1,元素A的平方A2表示为A2=c0c1...cn-1,重写单元依照下面的公式利用ci重写c’j
Figure A2004100495310006C2
CNB2004100495316A 2003-06-16 2004-06-16 在有限域中实现平方运算的方法和装置 Expired - Fee Related CN100432922C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR38684/03 2003-06-16
KR38684/2003 2003-06-16
KR20030038684 2003-06-16
KR10-2003-0077329A KR100519775B1 (ko) 2003-06-16 2003-11-03 유한 체에서의 제곱 연산 방법 및 장치
KR77329/03 2003-11-03
KR77329/2003 2003-11-03

Publications (2)

Publication Number Publication Date
CN1573682A true CN1573682A (zh) 2005-02-02
CN100432922C CN100432922C (zh) 2008-11-12

Family

ID=34082419

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100495316A Expired - Fee Related CN100432922C (zh) 2003-06-16 2004-06-16 在有限域中实现平方运算的方法和装置

Country Status (3)

Country Link
US (1) US7543012B2 (zh)
JP (1) JP3959076B2 (zh)
CN (1) CN100432922C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569778A (zh) * 2015-10-13 2017-04-19 华为技术有限公司 一种数据处理的方法及电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8111686B2 (en) * 2006-08-07 2012-02-07 Microsoft Corporation Aggregating endpoint capabilities for a user
WO2012167345A1 (en) * 2011-06-06 2012-12-13 Certicom Corp. Squaring binary finite field elements

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0080528A1 (en) * 1981-11-30 1983-06-08 Omnet Associates Computational method and apparatus for finite field arithmetic
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
US5689452A (en) * 1994-10-31 1997-11-18 University Of New Mexico Method and apparatus for performing arithmetic in large galois field GF(2n)
EP0782070A1 (en) * 1995-12-28 1997-07-02 Daewoo Electronics Co., Ltd Finite field inverter
US6038581A (en) 1997-01-29 2000-03-14 Nippon Telegraph And Telephone Corporation Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
US6510228B2 (en) * 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
JP2000298433A (ja) * 1999-04-13 2000-10-24 Toyo Commun Equip Co Ltd 有限体上の二乗演算装置及び方法
CA2280271A1 (en) 1999-08-11 2001-02-11 Robert J. Lambert Method and apparatus for implementing mathematic process in finite fields
US7895253B2 (en) * 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569778A (zh) * 2015-10-13 2017-04-19 华为技术有限公司 一种数据处理的方法及电子设备
CN106569778B (zh) * 2015-10-13 2019-06-07 华为技术有限公司 一种数据处理的方法及电子设备

Also Published As

Publication number Publication date
US7543012B2 (en) 2009-06-02
US20050021584A1 (en) 2005-01-27
JP2005010783A (ja) 2005-01-13
CN100432922C (zh) 2008-11-12
JP3959076B2 (ja) 2007-08-15

Similar Documents

Publication Publication Date Title
CN1296817C (zh) 模乘方法及装置及模乘计算单元
CN1153354C (zh) 纠错编码器、纠错解码器和具有纠错码的数据传输系统
CN1630204A (zh) 具有矩阵转换技术的循环冗余码计算方法及系统
CN1728634A (zh) 伽罗瓦域中相乘的方法和设备与求逆设备及字节替换设备
CN1608244A (zh) 伽罗瓦域乘法/乘法一加法乘法累加
CN1222169C (zh) 在高级电视中使用的里德-所罗门解码器
CN1411630A (zh) 用于生成循环余数核对代码以及生成其他基于余数的编码的方法、设备和产品
CN1898896A (zh) 高级加密标准算法的可编程数据加密引擎
CN1601578A (zh) 密码处理装置、密码处理方法以及计算机程序
CN101044535A (zh) 数据变换装置以及数据变换方法
CN101080874A (zh) 纠错编码装置以及在其中使用的纠错编码方法
CN1366738A (zh) 交织地址生成装置
CN1530824A (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN1806224A (zh) 用于防御微分功率分析攻击的方法
CN1242321C (zh) 应用蒙哥马利算法的幂剩余运算器
CN1238604A (zh) 里德-所罗门编码装置与编码方法
CN1338166A (zh) 公用与专用密钥加密方法
CN1791855A (zh) 混合Galois域机和Galois域除法器和平方根机及其方法
CN1573682A (zh) 在有限域中实现平方运算的方法和装置
CN1601913A (zh) 平行化循环冗余码计算方法及系统
CN1536769A (zh) 随机序列产生设备、加密/解密设备及其方法和程序
CN1326566A (zh) 对多个带符号的数据值执行算术运算的数据处理系统和方法
CN1735858A (zh) 构造适合于加密目的的超椭圆曲线的方法以及使用这种方法的密码设备
CN1313918C (zh) 在有限域中用于基转换的方法和设备
CN1272251A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081112