CN1313918C - 在有限域中用于基转换的方法和设备 - Google Patents

在有限域中用于基转换的方法和设备 Download PDF

Info

Publication number
CN1313918C
CN1313918C CNB031436145A CN03143614A CN1313918C CN 1313918 C CN1313918 C CN 1313918C CN B031436145 A CNB031436145 A CN B031436145A CN 03143614 A CN03143614 A CN 03143614A CN 1313918 C CN1313918 C CN 1313918C
Authority
CN
China
Prior art keywords
register
vector
output
coefficient vector
formula
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.)
Expired - Fee Related
Application number
CNB031436145A
Other languages
English (en)
Other versions
CN1499358A (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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1499358A publication Critical patent/CN1499358A/zh
Application granted granted Critical
Publication of CN1313918C publication Critical patent/CN1313918C/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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • 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)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Abstract

本发明通过把基转换矩阵用于定义多项式是五项式xn+xk(3)+xk(2)+xk(1)+1和指数n、k(3)、k(2)和k(1)满足n-k(3)>k(3)-k(1)的情况,提供了在有限域GF(2n)中的有效基转换矩阵Dsd和Dds和基转换方法。另外,还提供了在有限域GF(2n)中用于基转换的设备。由于具有任意次数的一般形式的五项式用作定义多项式,使得标准表示和对偶表示之间的基转换得以有效进行。因此,可以有效地实现对偶基乘法器。

Description

在有限域中用于基转换的方法和设备
技术领域
本发明涉及有限域GF(2n)中的基转换,尤其涉及在基于标准基的标准表示和基于对偶基的对偶表示之间进行基转换的设备和方法。
背景技术
有限域GF(2n)是包括2n个元素的数字系统。根据有限域的每个元素可用n个位来表示的事实,有限域的实际应用可以得以实现。像纠错码和用硬件实现椭圆曲线密码系统之类的实际应用经常使用GF(2n)中的计算。编码/解码里德-索洛蒙(Reed-Solomon)码的设备需要进行GF(2n)中的计算,并且,椭圆曲线密码系统的加密/解密设备需要进行其中“n”是大值的GF(2n)中的计算。
有限域GF(2n)是数字系统,它具有如公式(1)定义的加法和乘法规则,并且,只含有二进制数0和1作为它的元素。
0+0=1+1=0
0+1=1+0=1
0×0=1×0=0×1=0
1×1=1                                          ...(1)
这里,加法是XOR(异或)运算,乘法是AND(与)运算。
有限域GF(2n)(n>1)是包括2n个元素的数字系统。在这个数字系统中,加法和乘法对应于对含有GF(2)中的系数的不可约n次多项式的算术求模。不可约n次多项式简称为定义多项式。当定义多项式的根用α表示时,有限域的元素具有如公式(2)定义的标准表示。
a0+a1α+a2α2+...+an-1αn-1=(a0,a1,a2,...,an-1)
ai∈GF(2)                                        ...(2)
借助于定义多项式,通过对α进行多项式相乘,再加上求模运算,将GF(2n)的两个元素相乘。通过对α进行多项式相加,将GF(2n)的两个元素相加。
存在三种表示有限域GF(2n)的元素的典型表示法。这三种方法通过不同的基来定义。在标准表示中,有限域GF(2n)的元素用标准基(或多项式基){1,α,α2,α3,...,αn-1}来表示。另外,还有对偶基和标准基(normal basis)。
公式(3)定义了相互对偶的两个基{βi}和{γj}。
Tr(δβiγj)=0(i≠j),δ∈GF(2n)             ...(3)
换句话说,满足公式(3)的这两个基{β0,β1,β2,...,βn-1}和{γ0,γ1,γ2,...,γn-1}的每一个是另一个相对于Tr(δ·)的对偶基。
当GF(2n)的子集{β,β2,β4,β8,...,β2n-1}是一个基时,称这个基为标准基。
GF(2n)中的运算所需的逻辑电路的复杂性基本上取决于表示有限域的元素的具体方法。代表性的有限域乘法器是E.R.Berlekamp引入的“对偶基乘法器”[“Bit-Serial Reed-Solomon Encoders”,IEEE Trans.Inform.Theory,vol.IT-28,pp.869-874,Nov.1982]、“标准基乘法器”[C.C.Wang,T.K.Truong,H.M.Shao,L.J.Deutsch,J.K.Omura and I.S.Reed,“VLSI Archi-tecture for Computing Multiplications and Inverses in GF(2m)”,IEEETrans.Comput.,vol.c-34,Aug.1985]和“标准基乘法器”[P.A.Scott,S.E.Travares and L.E.Peppard,“A Fast Multiplier for GF(2m)”,IEEE J.Select.Areas Commun.,vol.SAC-4,Jan.1986]。对偶基乘法器可以利用线性反馈移位寄存器来实现,并且,众所周知,如果排除基转换,那么,需要芯片区最小。利用标准基的有限域运算对于除法、平方计算和指数计算是非常有效的,但是,缩小用于高次的芯片区是人们所希望的。一般说来,标准基乘法器不需要基转换,并且,与对偶和标准基乘法器相比,在对高次有限域和设计的推广方面更加容易[I.S.Hsu,T.K.Truong,L.J.Deutsch and I.S.Reed,“A Comparison of VLSI Architecture of Finite Field MultipliersUsing Dual,Normal,or Standard Bases”,IEEE Trans.on Computers,vol.37no.6,pp.735-739,June 1988]。
由于基转换矩阵的复杂性,对高次有限域的推广在对偶基乘法器中比在标准基乘法器中更困难。本发明提供了基转换矩阵和用于对偶基乘法器的方法。
让我们假设多项式Xn+Xk(s)+Xk(s-1)+...+Xk(1)+1是GF(2n)的定义多项式,A和B是GF(2n)的元素,和基{β0,β1,β2,...,βn-1}是标准基{1,α,α2,α3,...,αn-1}的对偶基。矩阵Dsd用于标准表示到对偶表示的转换,和矩阵Dds用于对偶表示到标准表示的转换。为了计算乘法C=AB,将描述输入和输出两者都是对偶表示的情况和输入和输出两者都是标准表示的情况。
首先,将描述如公式(4)所示,输入和输出两者都是对偶表示的情况。
A=a0β0+a1β1+a2β2+...+an-1βn-1=(a0,a1,a2,...,an-1)
B=b0β0+b1β1+b2β2+...+bn-1βn-1=(b0,b1,b2,...,bn-1)...(4)
根据对偶基乘法器的算法,即使输入是对偶表示,也可以进行基转换。在通过对输入元素B进行基转换而获得DdsB之后,进行矩阵计算C=MDdsB。这里,矩阵M通过公式(5)来定义。
这里,an+i=ai+ai+k(1)+ai+k(2)+ai+k(3)+...+ai+k(s)(i≥0)。
接着,将描述如公式(6)所示,输入和输出两者都是标准表示的情况。
A=a0α0+a1α1+a2α2+...+an-1αn-1=(a0,a1,a2,...,an-1)
B=b0α0+b1α1+b2α2+...+bn-1αn-1=(b0,b1,b2,...,bn-1)...(6)
在这种情况下,计算稍微复杂一点。在对偶基乘法器中,把标准表示转换成对偶表示。利用基转换矩阵Dsd进行基转换,获得通过公式(7)表达的DsdA。
(a0′,a1′,a2′,...,an-1′)=DsdA                      ...(7)
接着,根据DsdA,获得通过公式(8)表达的矩阵M。
这里,a′n+i=a′i+a′i+k(1)+a′i+k(2)+a′i+k(3)+...+a′i+k(s)(i≥0)。
接着,利用矩阵计算获得对偶表示MB。输出C,即,相乘结果,必须是对偶表示,因此,利用基转换矩阵Dds获得C=DdsMB。
将基转换矩阵Dsd或Dds乘以一个矢量(有限域的元素),进行基转换。在对偶基乘法器中的每个基转换过程中,除了一些特例之外,矩阵的复杂性是非常高的。另外,在对偶基乘法器中的每个基转换过程中,对高次有限域和设计的推广是非常困难的。
存在三种与基转换有关的传统技术。
韩国专利公布第2000-26250号公开了对特定次数有效的基转换矩阵和在对偶基乘法器中,当输入和输出两者都是对偶表示时,有效地计算MDds的方法。
对特定定义多项式有效的基转换矩阵由M.Morri,M Kasahara和D.L.Whiting引入[“Efficient Bit-Serial Multiplication and the DiscreteTime Wiener-Hopft Equation over Finite Fields”,IEEE Trans.Inform.Theory,vol.35,pp.1177-1183,Nov.1989]。
计算基转换矩阵的方法由D.R.Stinson引入[“On Bit-Serjal Multjpli-cation and Dual Bases in GE(2m)”,IEEE Trans.Inform.Theory,vol.37,no.6,pp.1133-1136,Nov.1991]。
为了阐明本发明,将简单描述上述传统技术的特征。
与对特定次数有效的基转换矩阵有关的第一传统技术提供了由公式(9)定义的矩阵,以便把特定次数“n”的对偶表示转换成标准表示。
Figure C0314361400081
这里,Dds是由2n个1组成的基转换矩阵。由于矩阵Dds的长度是n+1,所以,必须把算式C=MDdsB中所有矩阵C、M和B的长度都调整成n+1。矩阵C具有形式(c0,c1,c2,...,cn-1,c),和它的最终输出是(c0,c1,c2,...,cn-1)。矩阵B是(b0,b1,b2,...,bn-1,s[B]),和矩阵M通过公式(10)来表达。
Figure C0314361400082
这里,s[A]=a0+a1+a2+...+an-1。s[B]=b0+b1+b2+...+bn-1
在第一传统技术中,像公式(11)所示那样,使用特定次数“n”。
n=4,10,12,18,28,36,52,58,60,66,82,100,106,130,138,148,162,172,178,180,196,210,226,268,292,...   ...(11)
特定“n”次的定义多项式通过公式(12)来表达。
Σ i = 0 n x i = x n + x n - 1 + x n - 2 + . . . + x + 1 - - - ( 12 )
通过在C=MDdsB=BM′中提供通过公式(13)表达的矩阵M′,第一传统技术提供了去掉基转换的有效对偶基乘法器。
Figure C0314361400092
但是,如公式(11)所示,第一传统技术局限于特定次数,并且,使用具有公式(12)所表达的特定形式,而不是一般形式的定义多项式。本发明提供了不局限于特定次数,和应用于多项式,即,具有一般形式的五项式的方法。
与对特定定义多项式有效的基转换矩阵有关的第二传统技术提供了利用具有特定形式的定义多项式,在有限域GF(2n)中可简单、容易扩展的基转换矩阵。第二传统技术提供了用于定义多项式是如公式(14)表达的三项式的情况的基转换矩阵和用于定义多项式是如公式(15)表达的五项式的情况的基转换矩阵。
xn+xk+1                                             ...(14)
xn+xk+2+xk+1+xk+1                                   ...(15)
当定义多项式是具有如公式(14)表达的特定形式的三项式时,基转换矩阵Dds和Dsd通过公式(16)来表达。
也就是说,基转换矩阵Dds和Dsd的每一个都是n×n矩阵,并且,由“n”个1组成。
当定义多项式是具有如公式(15)表达的特定形式的五项式时,基转换矩阵Dds和Dsd通过公式(17)和(18)来表达。
Figure C0314361400103
也就是说,基转换矩阵Dds和Dsd的每一个都是n×n矩阵,并且,由n+1个1组成。
由于三项式或五项式通常用于作用在实际应用中的有限域中的定义多项式,由第二传统技术提供的基转换矩阵是非常有用的。但是,这些基转换矩阵可以用于分别具有由公式(14)和(15)表达的特定形式的三项式和五项式,但不能用于具有一般形式的五项式。但是,本发明提供了用于具有一般形式的多项式的基转换矩阵和方法。
与计算基转换矩阵的方法有关的第三传统技术提供了在任意有限域GF(2n)中计算基转换矩阵的方法。这里,{1,α,α2,...,αn-1}是GF(2n)的标准基,和定义多项式由公式(19)来表达。
f(x)=xn+xk(s)+xk(s-1)+...+xk(1)+1                     ...(19)
在如公式(20)所示,获得β之后,利用公式(21)获得把对偶表示转换成标准表示的基转换矩阵Dds
β = ( f ′ ( α ) α n t ) - 1 , t = [ s / 2 ] - - - ( 20 )
但是,由于β是把非线性方法用于k(i)生成的,所以不能容易地根据k(i)表示基转换矩阵Dds。另外,构造基转换矩阵Dds没有考虑到它的逆矩阵Dsd的复杂性,因此,在某些情况下,逆矩阵Dsd可能非常复杂。但是,本发明提供了把非线性方法用于k(i)选择出来的基转换矩阵Dds和当定义多项式是五项式时,容易通过k(i)定义的基转换矩阵Dds和Dsd
发明内容
本发明提供了应用于作为定义多项式,具有任意次的一般形式,而不是特定形式的五项式的基转换矩阵和方法。
本发明还提供了执行基转换方法的基转换设备。
根据本发明的一个方面,提供了在有限域GF(2n)中将标准表示转换成对偶表示的方法,其中,利用定义多项式xn+xk(3)+xk(2)+xk(1)+1把有限域GF(2n)的元素B的标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)转换成对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)。该方法是由基转换设备执行的。该设备包括:令牌寄存器,由“n”个位组成,用于存储基转换矩阵中的每个行矢量;数据寄存器,由“n”个位组成,用于存储要转换的矢量;“n”个位乘法器,用于在令牌寄存器的输出和数据寄存器的输出之间进行逐位相乘;和加法器,与位乘法器的输出端相连接,用于相加逐位相乘的结果。该方法包括输入定义多项式xn+xk(3)+xk(2)+xk(1)+1的指数n、k(3)、k(2)和k(1);把要转换的标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)存储在数据寄存器中;利用矢量公式(b′0,b′1,b′2,...,b′k(1))=(b0+bk(1),bk(1)-1,bk(1)-2,...,b0),获取对偶基表示的系数矢量B′的第0到第k(1)分量;利用矢量公式(b′k(1)+1,b′k(1)+2,...,b′k(1)+n-k(3))=(bn-1,bn-2,...,bk(3)),获取对偶基表示的系数矢量B′的第(k(1)+1)到第(k(1)+n-k(3))分量;利用矢量公式(b′k(1)+1+n-k(3),b′k(1)+2+n-k(3),...,b′k(1)+n-k(2))=(bk(3)-1+bn-1,bk(3)-2+bn-2,...,bk(2)+bn-k(3)+(2)),获取对偶基表示的系数矢量B′的第(k(1)+1+n-k(3))到第(k(1)+n-k(2))分量;和利用矢量公式(b′k(1)+1+n-k(2),b′k(1)+2+n-k(2),...,b′n-1)=(bk(2)-1+bn-1-k(3)+k(2)+bn-1,bk(2)-2+bn-2-k(3)+k(2)+bn-2,...,bk(1)+1+bn+1-k(3)+k(1)+bn+1-k(2)+k(1)),获取对偶基表示的系数矢量B′的第(k(1)+1+n-k(2))到第(n-1)分量。
根据本发明的另一个方面,提供了在有限域GF(2n)中将对偶表示转换成标准表示的方法,其中,利用定义多项式xn+xk(3)+xk(2)+xk(1)+1把有限域GF(2n)的元素B的对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)转换成标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)。该方法是由基转换设备执行的。该设备包括:令牌寄存器,由“n”个位组成,用于存储基转换矩阵中的每个行矢量;数据寄存器,由“n”个位组成,用于存储要转换的矢量;“n”个位乘法器,用于在令牌寄存器的输出和数据寄存器的输出之间进行逐位相乘;和加法器,与位乘法器的输出端相连接,用于相加逐位相乘的结果。该方法包括输入定义多项式的指数n、k(3)、k(2)和k(1);把要转换的对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)存储在数据寄存器中;利用矢量公式(b0,b1,...,bk(1)-1,bk(1))=(b′k(1),b′k(1)-1,...,b′1,b′0+b′k(1)),获取标准基表示的系数矢量B的第0到第k(1)分量;利用矢量公式(bk(1)+1,bk(1)+2,...,bk(2)-1)=(b′k(2)-1+b′k(3)-1+b′n-1,b′k(2)-2+b′k(3)-2+b′n-2,...,b′k(1)+1+b′k(1)+1+k(3)-k(2)+b′n+1+k(1)-k(2)),获取标准基表示的系数矢量B的第(k(1)+1)到第(k(2)-1)分量;利用矢量公式(bk(2),bk(2)+1,...,bk(3)-1)=(b′k(1)+k(3)-k(2)+b′n+k(1)-k(2),b′k(1)+k(3)-k(2)-1+b′n+k(1)-k(2)-1,...,b′k(1)+1+b′n+1+k(1)-k(3)),获取标准基表示的系数矢量B的第(k(2))到第(k(3)-1)分量;和利用矢量公式(bk(3),bk(3)+1,...,bn-1)=(b′n+k(1)-k(3),b′n+k(1)-k(3)-1,...,b′k(1)+1),获取标准基表示的系数矢量B的第(k(3))到第(n-1)分量。
根据本发明的又一个方面,提供了在有限域GF(2n)中,在标准基和对偶基之间进行基转换的设备,借此,利用按照定义多项式xn+xk(3)+xk(2)+xk(1)+1确定的基转换矩阵,进行有限域GF(2n)的元素B的标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)和对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)之间的转换。该设备包括:令牌寄存器,一个令牌寄存器由“n”个移位寄存器组成,“n”个移位寄存器分类成具有(k(1)+1)个位的高位令牌寄存器和具有(n-k(1)-1)个位的低位令牌寄存器,每个移位寄存器对启用信号和时钟脉冲作出响应,在每个时钟脉冲内把输入数据向左移动1位,其中,移位寄存器的输出分别对应于基转换矩阵中每行的分量;令牌控制器,用于接收定义多项式的指数n、k(3)、k(2)和k(1),和输出(n-1)-位输入选择信号、启动令牌寄存器的移位操作的启用信号、用于令牌寄存器的时钟脉冲、用于各个高低位令牌寄存器的初始值、到令牌寄存器的第k(1)寄存器的数据输入信号和到令牌寄存器的第(n-1)寄存器的数据输入信号;多路复用器,用于对输入选择信号作出响应,根据k(1)的值,将高位令牌寄存器与低位令牌寄存器分开,和为令牌寄存器选择数据输入路径;数据寄存器,用于存储要转换的系数矢量;AND门单元,用于对令牌寄存器的输出和数据寄存器的输出进行逐位相乘;XOR门,用于相加AND门单元的所有输出;和输出寄存器,与XOR门连接,使XOR门的输出与时钟脉冲同步。
附图说明
通过结合附图,进行如下详细描述,本发明的上面和其它特征和优点将更加清楚,在附图中:
图1是根据本发明把标准表示转换成对偶表示的基转换方法的实施例的流程图;
图2是根据本发明,执行图1所示的基转换方法的基转换设备的实施例的方块图;
图3是图2所示的令牌寄存器的内容结构的实施例的方块图;
图4是图2所示的AND门、XOR门和输出寄存器的结构的实施例的方块图;和
图5是根据本发明把对偶表示转换成标准表示的基转换方法的实施例的流程图。
具体实施方式
在下文中,为了使描述清楚起见,在n×n方阵中,将第0到第(n-1)行依次排列如下。
为了将有限域GF(2n)的任意两个元素彼此相乘,每个元素都需要相对于某一个基表示出来。有各种各样的表示方法,但是,上面已经描述了代表性方法。当α是有限域GF(2n)的一个元素时,标准基SB通过公式(22)来表示。DB是相对于标准基SB的迹函数f(=Tr(δ))的对偶基,并且,通过公式(23)来表示。
SB={αi|i=0,1,...,n-1}                           ...(22)
DB=(βi|i=0,1,...,n-1}                           ...(23)
在用有限域GF(2n)的标准基SB表示的各个元素A和B的系数矢量A=(a0,a1,a2,...,an-1)和B=(b0,b1,b2,...,bn-1)与用有限域GF(2n)的对偶基DB表示的各个元素A和B的各个系数矢量A′=(a′0,a′1,a′2,...,a′n-1)和B′=(b′0,b′1,b′2,...,b′n-1)之间的基转换中,元素A和B通过公式(24)来表示。
A = Σ i = 0 n - 1 a i α i = Σ i = 0 n - 1 a ′ i β i
B = Σ i = 0 n - 1 b i α i = Σ i = 0 n - 1 b ′ i β i - - - ( 24 )
当根据公式(24),将有限域的两个元素彼此相乘时,在对偶表示下C=AB的第i系数通过公式(25)来表达。
[ AB ] i = [ A Σ j = 0 n - 1 b j α j ] i = Σ j = 0 n - 1 b j [ α j A ] i - - - ( 25 )
也就是说,在对偶表示下C=AB的第i系数被表达成元素B的标准基SB的系数和αjA的对偶基DB的系数之和的总和。这样,在对偶表示下C=AB可以通过公式(26)来表示。
如上所述,为了将两个元素A和B相乘,在标准基SB下元素B的系数和在对偶基DB下元素A的系数是必不可少的,和相乘结果是对偶基DB下的系数。这样,与在标准基SB下,还是在对偶基SB下表示输入和输出值无关,基转换是必不可少的。基转换通过矩阵相乘来实现。这里,将对偶表示转换成标准表示的矩阵和将标准表示转换成对偶表示的矩阵是互逆关系。当元素A具有值1时,将元素B的标准表示转换成对偶表示。换句话说,如公式(27)所示,通过进行矩阵相乘,获得无线B相对于“f”的对偶表示B′。
Figure C0314361400152
根据当给出标准基SB={αi|i=0,1,...,n-1}和任意矢量v∈{0,1}″时,存在满足:
v=(f(1),f(α),...,f(αn-1))的线性函数“f”的引理,本发明提供了有效的基转换矩阵。
基转换矩阵通过公式(27)的第1列矢量确定。这样,为了获得含有少数几个1的矩阵,可以根据上述引理适当地选择第1列矢量。在具有如公式(28)表达的定义多项式的有限域GF(2n)中,把基转换矩阵的第1列矢量设置成公式(29)。
xn+xk(s)+xk(s-1)+...+xk(1)+1                        ...(28)
f(αi)=0(i≠0,k(1)),f(α0)=1,f(αk(1))=1      ...(29)
当根据公式(29)选择矢量“v”的分量时,将标准表示转换成对偶表示的基转换矩阵Dsd通过公式(3)来表达。
D sd · · · · ( k ( 1 ) + 1 ) × ( k ( 1 ) + 1 ) 0 0 · · · · · · · · · ( n - k ( 1 ) - 1 ) × ( n - k ( 1 ) - 1 ) - - - ( 30 )
基转换矩阵Dsd的、将对偶表示转换成标准表示的逆矩阵Dds也通过公式(30)来表达。
图1是根据本发明,将标准表示转换成对偶表示的基转换方法的实施例的流程图。在步骤S10中,输入定义多项式的指数n、k(3)、k(2)和k(1)。在步骤S12中,存储经过基转换的系数矢量。在步骤S14到S20中,把系数矢量B转换成对偶基表示的系数矢量B′。
本发明提供了用于定义多项式是通过公式(31)定义的五项式和满足如公式(32)所示的条件的情况的基转换矩阵Dsd和Dds和基转换方法。
xn+xk(3)+xk(2)+xk(1)+1                       ...(31)
n-k(3)>k(3)-k(1)                            ...(32)
更具体地说,在步骤S10中,输入通过公式(31)定义的定义多项式的指数n、k(3)、k(2)和k(1)。
在大多数实际使用的有限域GF(2n)中,三项式或五项式用作定义多项式。另外,由于k(1)、k(2)和k(3)的值通常小于“n”的值,如公式(32)所示的关于k(i)的条件对本发明的实用性影响不大。
通过公式(33)可以简单地重写如公式(30)所示的基转换矩阵Dsd
D sd = [ D sd ] U 0 0 [ D sd ] L - - - ( 33 )
当根据公式(31)和(32)确定有限域GF(2n)的定义多项式时,根据公式(29),通过公式(34)和(35)分别定义[Dsd]U和[Dsd]L
Figure C0314361400162
[ D sd ] L = 1 1 1 1 · · · 1 1 · · · 1 1 1 · · · 1 1 1 ( n - k ( 1 ) - 1 ) × ( n - k ( 1 ) - 1 ) - - - ( 35 )
除了公式(35)所示的1之外,[Dsd]L的所有其它元素都是0。在[Dsd]L中,在最长反对角线上存在(n-k(1)-1)个1,和在其余两条反对角线上分别存在(k(3)-k(2)-1)个1和(k(2)-k(1)-1)个1。这样,包括如公式(34)和(35)所示的上面方阵中的1的个数在内,基转换矩阵Dsd总共含有(n+k(3)-k(1)+k(2)-k(1)-1)个1。另外,[Dsd]L的反对角线分别从基转换矩阵Dsd的第(k(1)+1)行、第(k(1)+1+n-k(3))行和第(k(1)+1+n-k(2))行开始。如果k(2)-k(1)=1,那么,具有(k(2)-k(1)-1)个1的最短的第3条对角线不出现。如上所述,利用k(t)和“n”,可以容易地线性表达基转换矩阵Dsd。这意味着不需要存储基转换矩阵。
因此,在步骤S10中,通过输入本身是五项式的定义多项式的指数n、k(3)、k(2)和k(1),根据上述理论确定基转换矩阵Dsd
在步骤S12中,把有限域的元素B的标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)存储在寄存器中。
接着,步骤S14到S20与为了获得对偶基表示的系数矢量的分量而转换系数矢量有关。根据在步骤S10中确定的基转换矩阵Dsd,确定用在步骤S14到S20中的转换公式。
如下描述涉及将标准基表示的系数矢量转换成对偶基表示的系数矢量的操作。公式(36)显示了有限域GF(2n)中标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)和对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)之间的关系。
B′=Ssd·B
B ′ U B ′ L = [ D sd ] U 0 0 [ D sd ] L · B U B L - - - ( 36 )
基转换矩阵Dsd的行可以划分成大小为(k(1)+1)×(k(1)+1)的、由第0到第k(1)行组成的方阵[Dsd]u和大小为(n-k(1)-1)×(n-k(1)-1)的、由第(k(1)+1)到第(n-1)行组成的方阵[Dsd]L
在步骤S14中,利用公式(37)获得对偶基表示的系数矢量B′的第0到第k(1)分量[b′0,b′1,...,b′k(1)]T。这里,[Dsd]u与公式(34)所示的相同。
B′U=[Dsd]U·BU                                  ...(37)
作为执行步骤S14的结果,公式(37)的结果通过公式(38)来表达。
b ′ 0 b ′ 1 · · · b ′ k ( 1 ) - 1 b ′ k ( 1 ) = b 0 + b k ( 1 ) b k ( 1 ) - 1 · · · b 1 b 0 - - - ( 38 )
在步骤S16到S20中,利用公式(39)获得对偶基表示的系数矢量B′的第第(k(1)+1)到第(n-1)分量。这里,[Dsd]L与公式(35)所示的相同。
B′L=[Dsd]L·BL
b ′ k ( 1 ) + 1 b ′ k ( 1 ) + 2 · · · b ′ k ( 1 ) + 1 + n - k ( 3 ) b ′ k ( 1 ) + 2 + n - k ( 3 ) · · · b ′ k ( 1 ) + 1 + n - k ( 2 ) b ′ k ( 1 ) + 2 + n - k ( 2 ) · · · b ′ n - 1 = [ D sd ] L b k ( 1 ) + 1 b k ( 1 ) + 2 · · · b k ( 1 ) + 1 + n - k ( 3 ) b k ( 1 ) + 2 + n - k ( 3 ) · · · b k ( 1 ) + 1 + n - k ( 2 ) b k ( 1 ) + 2 + n - k ( 2 ) · · · b n - k - - - ( 39 )
如公式(35)所示,[Dsd]L中的行可以分类成具有单个1的行、具有2个1的行和具有3个1的行。这样,实现转换公式(39)的右侧的步骤可以分类成具有单项的步骤S16、具有2个项的步骤S18和具有3个项的步骤S20。换句话说,在步骤S14中获得对偶基表示的系数矢量B′的第0到第k(1)分量,在步骤S16中获得对偶基表示的系数矢量B′的第(k(1)+1)到第(k(1)+n-k(3))分量,在步骤S18中获得对偶基表示的系数矢量B′的第(k(1)+1+n-k(3))到第(k(1)+n-k(2))分量,和在步骤S20中获得对偶基表示的系数矢量B′的第(k(1)+1+n-k(2))到第(n-1)分量。因此,通过步骤S14到S20获得的基转换结果通过公式(40)来表达。
b ′ k ( 1 ) + 1 b ′ k ( 1 ) + 2 · · · b ′ k ( 1 ) + 1 + n - k ( 3 ) b ′ k ( 1 ) + 2 + n - k ( 3 ) · · · b ′ k ( 1 ) + 1 + n - k ( 2 ) b ′ k ( 1 ) + 2 + n - k ( 2 ) · · · b ′ n - 1 = b n - 1 b n n - 2 · · · b k ( 3 ) - 1 + b n - 1 b k ( 3 ) - 2 + b n - 2 · · · b k ( 2 ) - 1 + b n - 1 - k ( 3 ) + k ( 2 ) + b n - 1 b k ( 2 ) - 2 + b n - 2 - k ( 3 ) + k ( 2 ) + b n - 2 · · · b k ( 1 ) + 1 + b n + 1 - k ( 3 ) + k ( 1 ) + b n + 1 - k ( 2 ) + k ( 1 ) - - - ( 40 )
如下的描述涉及如何利用通过公式(41)表达的定义多项式,把本发明的基转换方法应用于有限域GF(213)的元素B的系数矢量B=(b0,b1,b2,...,b12)。
x13+x6+x4+x+1                                        ...(41)
这里,将标准表示转换成对偶表示的基转换矩阵Dsd是如公式(42)表达的13×13方阵。
B′=Dsd·B
B ′ U B ′ L = [ D sd ] U 0 0 [ D sd ] L · B U B L - - - ( 42 )
2×2矩阵[Dsd]u和11×11矩阵[Dsd]L分别经受如公式(43)和(44)所示的矩阵计算。在公式(44)中,在矩阵[Dsd]L中未示出的所有元素都是0。
B′U=[Dsd]U·BU
b ′ 0 b ′ 1 = 1 1 0 0 · b 0 b 1 = b 0 + b 1 b 0 - - - ( 43 )
B′L=[Dsd]L·BL
[ D sd ] L = 1 1 1 · · · 1 1 1 1 1 1 1 1 1
b ′ 2 b ′ 3 b ′ 4 b ′ 5 b ′ 6 b ′ 7 b ′ 8 b ′ 9 b ′ 10 b ′ 11 b ′ 12 = b 12 b 11 b 10 b 9 b 8 b 7 b 6 b 5 + b 12 b 4 + b 11 b 3 + b 10 + b 12 b 2 + b 9 + b 11 - - - ( 44 )
图2是根据本发明,执行图1所示的基转换方法的基转换设备的实施例的方块图。该基转换设备包括:令牌寄存器20,它由“n”个位组成和输出基转换矩阵每一行的分量;令牌控制器10,它向令牌寄存器20输出控制令牌寄存器20的控制信号SEL<0:n-2>、ENu和ENl和数据D<0:n-1>,控制信号SEL<0:n-2>用于输入选择;数据寄存器30,它由“n”个位组成和存储要转换的矢量的分量;AND门单元40,它由“n”个AND门组成,以便将令牌寄存器20的n-位输出与数据寄存器30的n-位输出逐位相乘;X0R门50,它与AND门单元40相连接,和对AND门单元40的“n”个输出进行位相加;和输出寄存器60,它是可选择地配备的,并且,与时钟脉冲信号同步地输出基转换的结果。
图4详细说明了AND门单元40、XOR门50和输出寄存器60。
图3是图2所示的令牌寄存器20的内部结构的实施例的方块图。令牌寄存器20包括由(k(1)+1)个位组成的高位令牌寄存器20a、由(n-k(1)-1)个位组成的低位令牌寄存器20b和n-1个多路复用器21,它把令牌寄存器20划分入高位令牌寄存器20a和低位令牌寄存器20b和选择令牌寄存器20的数据输入路径。
参照图2和3,令牌寄存器20由分类成高位令牌寄存器20a和低位令牌寄存器20b的“n”个移位寄存器组成。在令牌寄存器20中,对来自令牌控制器10的启用信号ENu和ENl和移位时钟脉冲CK作出响应,在每个移位时钟脉冲内将数据向左移动1位,然后,输出它。在每个移位时钟脉冲CK内“n”个移位寄存器的输出T<0:n-1>是基转换矩阵Dsd或Dds中每一行的分量的值。
多路复用器21对SEL<0:n-2>作出响应,根据k(1)的值,把令牌寄存器20划分入高位令牌寄存器20a和低位令牌寄存器20b。
令牌控制器10接收作为定义多项式的五项式的指数n、k(3)、k(2)和k(1),和输出用于(n-1)个多路复用器21的SEL<0:n-2>、启动令牌寄存器20的移位操作的启用信号ENu和ENl、用于令牌寄存器20的移位时钟脉冲CK和在每个移位时钟脉冲CK内存储在高位令牌寄存器20a和低位令牌寄存器20b中的数据D<0:n-1>。
数据寄存器30存储要转换的元素的系数矢量B=(b0,b1,b2,...,bn-1)。
基转换矩阵和系数矢量之间的相乘是通过AND门单元40和XOR门50实现的。AND门单元40将T<0:n-1>和D<0:n-1>相乘。XOR门50相加AND门单元40进行位相乘的结果。
输出寄存器60是为了输出同步而有选择地配备的。例如,当在第0到第12时钟脉冲内确定每一行的分量时,输出寄存器60接收这些分量和在第1到第13时钟脉冲内输出矢量分量。
如下的描述涉及由根据本发明、具有上述结构的基转换设备进行的、从标准表示到对偶表示的转换。
根据位k(1)的输入值,把第0到第k(1)寄存器划分为高位令牌寄存器20a,和把(k(1)+1)到第(n-1)寄存器划分为低位令牌寄存器20b。这样,分开控制高低位令牌寄存器20a和20b。这里,位k(1)是高位令牌寄存器20a的最高有效位(MSB)。换句话说,控制第k(1)多路复用器21的SEL<k(1)>,以便在基转换期间通过外部路径确定第k(1)寄存器的输入值。另外,与低位令牌寄存器20b的MSB相对应的第(n-1)寄存器不与多路复用器21的任何一个相连接,但是,总是接收外部数据。当n=13和k(1)=1时,高位令牌寄存器20a由2个移位寄存器组成,低位令牌寄存器20b由11个移位寄存器组成,并且,除了低位令牌寄存器20b的MSB之外,配备了12个多路复用器21。
在第0时钟脉冲内,把值1输入SEL<0:k(1)>中,以便从外部输入高位令牌寄存器20a的初始值。在第1到第k(1)时钟脉冲内,把值1只输入第k(1)多路复用器的SEL<k(1)>,因此,第k(1)寄存器连续接收外部输入值,并且,把值0输入SEL<0:k(1)-1>,因此,第0到第(k(1)-1)的每一个把来自下一个寄存器的输出移动1位。例如,当k(1)=1时,在第0时钟脉冲内把值(11)输入SEL<0:1>中,并且,在第1时钟脉冲内把值(0 1)输入SEL<0:1>中。在第(k(1)+1)时钟脉冲之后,通过允许控制保持高位令牌寄存器20a的输出,因此,从第(k(1)+2)时钟脉冲开始,高位令牌寄存器20a的SEL<0:k(1)>是“随意”的。
除了第(n-1)位之外,为低位令牌寄存器20b的所有其它位提供的SEL<k(1)+1:n-2>的值在第(k(1)+1)时钟脉冲内是,例如,1,以便低位令牌寄存器20b在第(k(1)+1)时钟脉冲内,与外部输入D<k(1)+1:n-1>连接。从第(k(1)+2)时钟脉冲开始,把0输入所有SEL<k(1)+1:n-2>中,以便低位令牌寄存器20b中的每个寄存器移位从下一个寄存器输出的值。
高位令牌寄存器20a和低位令牌寄存器20b的输出受启用信号ENu和ENl控制。在响应时钟脉冲CK,输出所需值的同时,控制启用信号ENu和ENl启用令牌寄存器20。如下的描述涉及令牌寄存器20的启用控制的例子。
在高位令牌寄存器20a启用控制中,响应启用信号ENu,在第0时钟脉冲内启用高位令牌寄存器20a,使它一直启用到第(k(1)+1)时钟脉冲,并且,在第(k(1)+1)时钟脉冲内,在高位令牌寄存器20的移位输出之后禁用它。例如,当k(1)=1时,在第0时钟脉冲内启用高位令牌寄存器20a,并且,响应外部输入,输出(11)。在第1时钟脉冲内,高位令牌寄存器20a响应外部输入,输出移位输出1,作为第0位,和输出0,作为第k(1)位,即第1位。因此,高位令牌寄存器20输出(10)。在第2时钟脉冲内,响应外部输入,输出移位输出0作为第0位,和输出0作为第1位,以便高位令牌寄存器20a输出(00)。从第3时钟脉冲开始,禁用高位令牌寄存器20a,因此,一直输出(00)。[Dsd]U的分量分别对应于从高位令牌寄存器20a输出的位。
在低位令牌寄存器20b启用控制中,低位令牌寄存器20b的所有输出在第0到第k(1)时钟脉冲内都是0。可以将高位令牌寄存器20b设计成在第(k(1)+1)时钟脉冲内被禁用。当设备中的所有寄存器开始操作时,例如,高位令牌寄存器20b的所有输出因全局复位而全是0。在第(k(1)+1)时钟脉冲内,低位令牌寄存器20b被禁用,开始移位操作。例如,当定义多项式是五项式x13+x6+x4+x+1,n=13,k(3)=6,k(2)=4,和k(1)=1时,响应外部输入,低位令牌寄存器20b在第0和第1时钟脉冲内输出0,和第2时钟脉冲内被禁用,致使输出(0 0...0 1)。启用状态一直保持到在第12时钟脉冲内完成基转换为止。在第3时钟脉冲内,低位令牌寄存器20b通过向左移动1位,输出(0 0...1 0)。在每个时钟脉冲内都向左移动1位。在第(k(1)+1+n-k(3)=9)时钟脉冲和第(k(1)+1+n-k(2)=11)时中脉冲内,把值1输入低位令牌寄存器20b的第(n-1)寄存器中,并且,在其它时钟脉冲内,把值0输入其中。然后,随着移位时钟脉冲逐步递增,高位令牌寄存器20a和低位令牌寄存器20b具有如下的值。这里,括号中的2个位是高位令牌寄存器20a的输出,和接着的11个位是低位令牌寄存器20b的输出
第0时钟脉冲    (11)(00000000000)
第1时钟脉冲    (10)(00000000000)
第2时钟脉冲    (00)(00000000001)
第3时钟脉冲    (00)(00000000010)
第4时钟脉冲    (00)(00000000100)
第5时钟脉冲    (00)(00000001000)
第6时钟脉冲    (00)(00000010000)
第7时钟脉冲    (00)(00000100000)
第8时钟脉冲    (00)(00001000000)
第9时钟脉冲    (00)(00010000001)
第10时钟脉冲    (00)(00100000010)
第11时钟脉冲    (00)(01000000101)
第12时钟脉冲    (00)(10000001010)
同时,通过令牌寄存器20的输出和数据寄存器40的输出之间的逐位相乘和源自逐位相乘的所有位的相加实现基转换矩阵计算。包含在AND门单元40中的“n”个AND门将响应移位时钟脉冲,从令牌寄存器20输出的、基转换矩阵Dsd中每一行的分量T<0:n-1>与从数据寄存器30输出的值b<0:n-1>相乘。XOR门50相加AND门单元40的输出。输出寄存器60使XOR门50的输出与时钟脉冲CK同步。
图5是根据本发明把对偶表示转换成标准表示的基转换方法的实施例的流程图。在步骤S30中,输入定义多项式的指数n、k(3)、k(2)和k(1)。在步骤S32中,存储经过基转换的系数矢量B′。在步骤S34到S40中,把系数矢量B′转换成标准基表示的系数矢量B。图5所示的基转换与图1所示的基转换类似,但是,使用了不同的基转换矩阵。
把对偶表示转换成标准表示的基转换矩阵Dds是基转换矩阵Dsd的逆矩阵,通过公式(45)到(47)来表达。
D ds = [ D ds ] U 0 0 [ D ds ] L - - - ( 45 )
[ D ds ] L = 1 1 1 &CenterDot; &CenterDot; &CenterDot; 1 1 1 &CenterDot; &CenterDot; &CenterDot; 1 1 &CenterDot; &CenterDot; &CenterDot; 1 1 1 1 ( n - k ( 1 ) - 1 ) &times; ( n - k ( 1 ) - 1 ) - - - ( 47 )
在公式47所示的方阵[Dds]L中,每条反对角线中1的个数和相邻把对角线之间的间隔都与在基转换矩阵Dsd的情况中描述的相同。在基转换矩阵Dsd中的第(k(1)+1)行中,反对角线分别从第(k(2)-1)列、第(k(3)-1)列和第(n-1)列开始。如果k(2)-k(1)=1,那么,最短的反对角线不出现。
与从标准表示到对偶表示的基转换类似,从对偶表示到标准表示的基转换通过公式(48)到(52)所示的顺序计算来完成。
B=Sds·B′
B U B L = [ D ds ] U 0 0 [ D ds ] L &CenterDot; B &prime; U B &prime; L - - - ( 48 )
BU=[Dds]U·B′U                                    ...(49)
当将公式(46)应用于公式(49)时,获得公式(50)。
b 0 b 1 &CenterDot; &CenterDot; &CenterDot; b k ( 1 ) - 1 b k ( 1 ) = b &prime; k ( 1 ) b &prime; k ( 1 ) - 1 &CenterDot; &CenterDot; &CenterDot; b &prime; 1 b &prime; 0 + b &prime; k ( 1 ) - - - ( 50 )
在步骤S36到S40中,利用公式(51)获得标准基表示的系数矢量B的第第(k(1)+1)到第(n-1)分量。这里,[Dds]L与公式(47)所示的相同。
BL=[Dds]L·B′L                                    ...(51)
如公式(47)所示,[Dds]L中的行可以分类成具有3个1的行、具有2个1的行和具有单个1的行。这样,实现转换公式(50)的右侧的步骤可以分类成具有3个项的步骤S36、具有2个项的步骤S38和具有单个项的步骤S40。换句话说,在步骤S34中获得标准基表示的系数矢量B的第0到第k(1)分量,在步骤S36中获得标准基表示的系数矢量B的第(k(1)+1)到第(k(1)+n-k(3))分量,在步骤S38中获得标准基表示的系数矢量B的第(k(1)+1+n-k(3))到第(k(1)+n-k(2))分量,和在步骤S40中获得标准基表示的系数矢量B的第(k(1)+1+n-k(2))到第(n-1)分量。因此,通过执行步骤S34到S40获得的基转换结果通过公式(50)来表达。
b k ( 1 ) + 1 &CenterDot; &CenterDot; &CenterDot; b k ( 2 ) - 1 b k ( 2 ) &CenterDot; &CenterDot; &CenterDot; b k ( 3 ) - 1 b k ( 3 ) &CenterDot; &CenterDot; &CenterDot; b n - 1 = b &prime; k ( 2 ) - 1 + b &prime; k ( 3 ) - 1 + b &prime; n - 1 &CenterDot; &CenterDot; &CenterDot; b &prime; k ( 1 ) + 1 + b &prime; k ( 1 ) + 1 + k ( 3 ) - k ( 2 ) + b &prime; n + 1 + k ( 1 ) - k ( 2 ) b &prime; k ( 1 ) + k ( 3 ) - k ( 2 ) + b &prime; n + k ( 1 ) - k ( 2 ) &CenterDot; &CenterDot; &CenterDot; b &prime; k ( 1 ) + 1 + b &prime; n + 1 + k ( 1 ) - k ( 2 ) b &prime; n + k ( 1 ) - k ( 2 ) &CenterDot; &CenterDot; &CenterDot; b &prime; k ( 1 ) + 1 - - - ( 52 )
当有限域GF(213)的定义多项式通过公式(53)来定义时,用于基转换的矩阵由公式(54)和(55)给出,并且,转换公式和它的结果由公式(56)和(57)给出。
x13+x6+x4+x+1                                     ...(53)
[ D ds ] U = 0 1 1 1 - - - ( 54 )
[ D ds ] L = 0 1 0 1 1 1 0 1 1 0 1 1 1 &CenterDot; &CenterDot; &CenterDot; 1 1 1 1 &times; 11 - - - ( 55 )
BU=[Dds]U·B′U
b 0 b 1 = 0 1 1 1 &CenterDot; b &prime; 0 b &prime; 1 = b 1 b 0 + b 1 - - - ( 56 )
BL=[Dds]L·B′L
b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 b 10 b 11 b 12 = b &prime; 3 + b &prime; 6 + b &prime; 12 b &prime; 2 + b &prime; 4 + b &prime; 11 b &prime; 3 + b &prime; 10 b &prime; 2 + b &prime; 9 b &prime; 8 b &prime; 7 b &prime; 6 b &prime; 5 b &prime; 4 b &prime; 3 b &prime; 2 - - - ( 57 )
除了从令牌控制器10输出和存储在高位令牌寄存器和高位令牌寄存器20a和20b中的数据信号D<0:n-1>与用在图2所示的设备中的数据不同之外,从对偶表示到标准表示的基转换设备基本上包括图2所示的设备,并且,进行与图2所示的设备相同的控制和运算操作。
当定义多项式是x13+x6+x4+x+1时,在与[Dds]U的分量相对应的高位令牌寄存器20a中,在第0时钟脉冲内设置了初始值之后,在每个时钟脉冲内,输入0作为第k(1)位。高位令牌寄存器20a被设计成在每个时钟脉冲内向左移动1位。在第k(1)时钟脉冲内,把值1输入高位令牌寄存器20a的第k(1)位中。例如,当k(1)=1时,高位令牌寄存器20a在第0时钟脉冲内输出(01),和在第1时钟脉冲内输入(11)。
在与[Dds]L的分量相对应的低位令牌寄存器20b中,在第(k(1)+1)时钟脉冲内设置了初始值之后,从第(k(1)+2)时钟脉冲开始,在每个时钟脉冲内,把值0输入第(n-1)寄存器中。高位令牌寄存器20b被设计成在每个时钟脉冲内向左移动1位。当n=13,k(3)=6,k(2)=4,和k(1)=1时,低位令牌寄存器20b由n-k(1)-1=11个移位寄存器组成,并且,11个移位寄存器的初始值是(01010000001)。在每个时钟脉冲内,将存储的初始值向左移动1位。在移动了初始值之后,在每个时钟脉冲内把值0输入第12寄存器中。然后,随着移位时钟脉冲不断递增,高位令牌寄存器20a和低位令牌寄存器20b具有如下的值。
第0时钟脉冲     (01)(00000000000)
第1时钟脉冲     (11)(00000000000)
第2时钟脉冲     (00)(01010000001)
第3时钟脉冲     (00)(10100000010)
第4时钟脉冲     (00)(01000000100)
第5时钟脉冲     (00)(10000001000)
第6时钟脉冲     (00)(00000010000)
第7时钟脉冲     (00)(00000100000)
第8时钟脉冲     (00)(00001000000)
第9时钟脉冲     (00)(00010000000)
第10时钟脉冲    (00)(00100000000)
第11时钟脉冲    (00)(01000000000)
第12时钟脉冲    (00)(10000001000)
同时,通过令牌寄存器20的输出和数据寄存器40的输出之间的逐位相乘和源自逐位相乘的所有位的相加实现基转换矩阵计算。包含在AND门单元40中的“n”个AND门将响应移位时钟脉冲,从令牌寄存器20输出的、基转换矩阵Dsd中每一行的分量T<0:n-1>与从数据寄存器30输出的值b<0:n-1>相乘。XOR门50相加AND门单元40的输出。输出寄存器60与时钟脉冲CK同步地输出XOR门50的输出。
如上所述,在根据本发明、有限域GF(2n)中用于基转换的设备和方法中,任意次数的一般五项式用作定义多项式,使得标准表示和对偶表示之间的基转换得以有效进行。因此,可以有效地实现对偶基乘法器。
本发明不局限于上述实施例,显而易见,本领域的普通技术人员可以作各种各样的改变,而不偏离所附权利要求书所限制的本发明的精神和范围。

Claims (3)

1.一种在有限域GF(2n)中将标准表示转换成对偶表示的方法,其中,利用定义多项式xn+xk(3)+xk(2)+xk(1)+1把有限域GF(2n)的元素B的标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)转换成对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1),该方法是由基转换设备执行的,该设备包括:令牌寄存器,由“n”个位组成,用于存储基转换矩阵中的每个行矢量;数据寄存器,由“n”个位组成,用于存储要转换的矢量;“n”个位乘法器,用于在令牌寄存器的输出和数据寄存器的输出之间进行逐位相乘;和加法器,与位乘法器的输出端相连接,用于相加逐位相乘的结果,该方法包括:
输入定义多项式xn+xk(3)+xk(2)+xk(1)+1的指数n、k(3)、k(2)和k(1);
把要转换的标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)存储在数据寄存器中;
利用矢量公式(b′0,b′1,b′2,...,b′k(1))=(b0+bk(1),bk(1)-1,bk(1)-2,...,b0),获取对偶基表示的系数矢量B′的第0到第k(1)分量;
利用矢量公式(b′k(1)+1,b′k(1)+2,...,b′k(1)+n-k(3))=(bn-1,bn-2,...,bk(3)),获取对偶基表示的系数矢量B′的第(k(1)+1)到第(k(1)+n-k(3))分量;
利用矢量公式(b′k(1)+1+n-k(3),b′k(1)+2+n-k(3),...,b′k(1)+n-k(2))=(bk(3)-1+bn-1,bk(3)-2+bn-2,...,bk(2)+bn-k(3)+(2)),获取对偶基表示的系数矢量B′的第(k(1)+1+n-k(3))到第(k(1)+n-k(2))分量;和
利用矢量公式(b′k(1)+1+n-k(2),b′k(1)+2+n-k(2),...,b′n-1)=(bk(2)-1+bn-1-k(3)+k(2)+bn-1,bk(2)-2+bn-2-k(3)+k(2)+bn-2,...,bk(1)+1+bn+1-k(3)+k(1)+bn+1-k(2)+k(1)),获取对偶基表示的系数矢量B′的第(k(1)+1+n-k(2))到第(n-1)分量。
2.一种在有限域GF(2n)中将对偶表示转换成标准表示的方法,其中,利用定义多项式xn+xk(3)+xk(2)+xK(1)+1把有限域GF(2n)的元素B的对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)转换成标准基表示的系数矢量B=(b0,b1,b2,...,bn-1),该方法是由基转换设备执行的,该设备包括:令牌寄存器,由“n”个位组成,用于存储基转换矩阵中的每个行矢量;数据寄存器,由“n”个位组成,用于存储要转换的矢量;“n”个位乘法器,用于在令牌寄存器的输出和数据寄存器的输出之间进行逐位相乘;和加法器,与位乘法器的输出端相连接,用于相加逐位相乘的结果,该方法包括:
输入定义多项式的指数n、k(3)、k(2)和k(1);
把要转换的对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)存储在数据寄存器中;
利用矢量公式(b0,b1,...,bk(1)-1,bk(1))=(b′k(1),b′k(1)-1,...,b′1,b′0+b′k(1)),获取标准基表示的系数矢量B的第0到第k(1)分量;
利用矢量公式(bk(1)+1,bk(1)+2,...,bk(2)-1)=(b′k(2)-1+b′k(3)-1+b′n-1,b′k(2)-2+b′k(3)-2+b′n-2,...,b′k(1)+1+b′k(1)+1+k(3)-k(2)+b′n+1+k(1)-k(2)),获取标准基表示的系数矢量B的第(k(1)+1)到第(k(2)-1)分量;
利用矢量公式(bk(2),bk(2)+1,...,bk(3)-1)=(b′k(1)+k(3)-k(2)+b′n+k(1)-k(2),b′k(1)+k(3)-k(2)-1+b′n+k(1)-k(2)-1,...,b′k(1)+1+b′n+1+k(1)-k(3)),获取标准基表示的系数矢量B的第(k(2))到第(k(3)-1)分量;和
利用矢量公式(bk(3),bk(3)+1,...,bn-1)=(b′n+k(1)-k(3),b′n+k(1)-k(3)-1,...,b′k(1)+1),获取标准基表示的系数矢量B的第(k(3))到第(n-1)分量。
3.一种在有限域GF(2n)中,在标准基和对偶基之间进行基转换的设备,借此,利用按照定义多项式xn+xk(3)+xk(2)+xk(1)+1确定的基转换矩阵,进行有限域GF(2n)的元素B的标准基表示的系数矢量B=(b0,b1,b2,...,bn-1)和对偶基表示的系数矢量B′=(b′0,b′1,b′2,...,b′n-1)之间的转换,该设备包括:
令牌寄存器,一个令牌寄存器由“n”个移位寄存器组成,“n”个移位寄存器分类成具有(k(1)+1)位的高位令牌寄存器和具有(n-k(1)-1)位的低位令牌寄存器,每个移位寄存器对启用信号和时钟脉冲作出响应,在每个时钟脉冲内把输入数据向左移动1位,其中,移位寄存器的输出分别对应于基转换矩阵中每行的分量;
令牌控制器,用于接收定义多项式的指数n、k(3)、k(2)和k(1),和输出(n-1)位输入选择信号、启动令牌寄存器的移位操作的启用信号、用于令牌寄存器的时钟脉冲、用于各个高低位令牌寄存器的初始值、到令牌寄存器的第k(1)寄存器的数据输入信号和到令牌寄存器的第(n-1)寄存器的数据输入信号;
多路复用器,用于对输入选择信号作出响应,根据k(1)的值,将高位令牌寄存器与低位令牌寄存器分开,和为令牌寄存器选择数据输入路径;
数据寄存器,用于存储要转换的系数矢量;
AND门单元,用于对令牌寄存器的输出和数据寄存器的输出进行逐位相乘;
XOR门,用于相加AND门单元的所有输出;和
输出寄存器,与XOR门连接,使XOR门的输出与时钟脉冲同步。
CNB031436145A 2002-11-09 2003-07-25 在有限域中用于基转换的方法和设备 Expired - Fee Related CN1313918C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR69460/2002 2002-11-09
KR69460/02 2002-11-09
KR10-2002-0069460A KR100486726B1 (ko) 2002-11-09 2002-11-09 유한 체에서의 기저 변환 방법 및 기저 변환 장치

Publications (2)

Publication Number Publication Date
CN1499358A CN1499358A (zh) 2004-05-26
CN1313918C true CN1313918C (zh) 2007-05-02

Family

ID=32291720

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031436145A Expired - Fee Related CN1313918C (zh) 2002-11-09 2003-07-25 在有限域中用于基转换的方法和设备

Country Status (6)

Country Link
US (1) US7346641B2 (zh)
EP (1) EP1455270B1 (zh)
JP (1) JP3823107B2 (zh)
KR (1) KR100486726B1 (zh)
CN (1) CN1313918C (zh)
DE (1) DE60312810T2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127431A1 (en) * 2005-11-11 2007-06-07 Samsung Electronics Co., Ltd. Method and apparatus for generating pseudorandom binary sequence in communication system using linear feedback shift register
CN101008937B (zh) * 2007-02-06 2010-05-19 中国科学院研究生院 提高有限域上乘法以及大矩阵消元的计算速度的方法
US8380777B2 (en) * 2007-06-30 2013-02-19 Intel Corporation Normal-basis to canonical-basis transformation for binary galois-fields GF(2m)
US8380767B2 (en) * 2007-06-30 2013-02-19 Intel Corporation Polynomial-basis to normal-basis transformation for binary Galois-Fields GF(2m)
US8176395B2 (en) * 2007-11-27 2012-05-08 Macronix International Co., Ltd. Memory module and writing and reading method thereof
CN102929574A (zh) * 2012-10-18 2013-02-13 复旦大学 Gf(2163)域上的脉动乘法器设计方法
CN103441813B (zh) * 2013-08-27 2015-11-11 湖北大学 一种用于cdma系统的低相关二元序列集生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210484A (ja) * 1990-03-14 1993-08-20 Internatl Business Mach Corp <Ibm> ビット直列除算方法及び装置
US5854759A (en) * 1997-05-05 1998-12-29 Rsa Data Security, Inc. Methods and apparatus for efficient finite field basis conversion
US6286022B1 (en) * 1997-11-18 2001-09-04 Rsa Security Inc. Efficient finite field basis conversion involving a dual basis
US6343305B1 (en) * 1999-09-14 2002-01-29 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Methods and apparatus for multiplication in a galois field GF (2m), encoders and decoders using same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940001147B1 (ko) * 1991-03-20 1994-02-14 삼성전자 주식회사 부분체 GF(2^m/2)을 이용한 GF(2^m)상의 연산방법 및 장치
US6389442B1 (en) * 1997-12-30 2002-05-14 Rsa Security Inc. Efficient finite field multiplication in normal basis
KR100322739B1 (ko) * 1998-10-19 2002-06-22 윤종용 유한체연산방법및그장치
US7197527B2 (en) * 2002-10-17 2007-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Efficient arithmetic in finite fields of odd characteristic on binary hardware
US7724898B2 (en) * 2002-10-17 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Cryptography using finite fields of odd characteristic on binary hardware

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210484A (ja) * 1990-03-14 1993-08-20 Internatl Business Mach Corp <Ibm> ビット直列除算方法及び装置
US5854759A (en) * 1997-05-05 1998-12-29 Rsa Data Security, Inc. Methods and apparatus for efficient finite field basis conversion
US6286022B1 (en) * 1997-11-18 2001-09-04 Rsa Security Inc. Efficient finite field basis conversion involving a dual basis
US6343305B1 (en) * 1999-09-14 2002-01-29 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Methods and apparatus for multiplication in a galois field GF (2m), encoders and decoders using same

Also Published As

Publication number Publication date
EP1455270A2 (en) 2004-09-08
CN1499358A (zh) 2004-05-26
US20040098437A1 (en) 2004-05-20
DE60312810D1 (de) 2007-05-10
DE60312810T2 (de) 2007-12-06
EP1455270B1 (en) 2007-03-28
KR100486726B1 (ko) 2005-05-03
KR20040041282A (ko) 2004-05-17
JP2004166274A (ja) 2004-06-10
JP3823107B2 (ja) 2006-09-20
EP1455270A3 (en) 2006-06-28
US7346641B2 (en) 2008-03-18

Similar Documents

Publication Publication Date Title
CN1702613A (zh) 蒙哥马利模乘法器
CN1149496C (zh) 自适应视频信号运算处理装置
CN1630204A (zh) 具有矩阵转换技术的循环冗余码计算方法及系统
CN1153354C (zh) 纠错编码器、纠错解码器和具有纠错码的数据传输系统
CN1296817C (zh) 模乘方法及装置及模乘计算单元
CN1296813C (zh) 浮点存储方法及浮点运算装置
CN1107905C (zh) 在分组数据上执行乘-加运算的装置
CN1210647C (zh) 适于作由正值处理及饱和运算处理组成的修整处理的处理器
CN1530824A (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN1728634A (zh) 伽罗瓦域中相乘的方法和设备与求逆设备及字节替换设备
CN1306390C (zh) 使用带符号的数位表示的乘法器
CN1364284A (zh) 数据变换装置和数据变换方法以及记录用以在计算机上执行数据变换方法的程序的计算机可读取存储媒体
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1867889A (zh) 数据转换器
CN1164039C (zh) 里德-所罗门编码装置
CN1684058A (zh) 处理器
CN1313918C (zh) 在有限域中用于基转换的方法和设备
CN1242321C (zh) 应用蒙哥马利算法的幂剩余运算器
CN1147155C (zh) Dct运算装置
CN1967469A (zh) 高效模乘方法及装置
CN1160726C (zh) 纠错装置和包含该装置的光盘阅读器
CN1841982A (zh) 一种高速译码芯片
CN1399766A (zh) 用于数据压缩的三次样条插值的快速和有效计算
CN1255998A (zh) 运算装置、运算方法及记录了该运算方法的记录媒体
CN1671090A (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: 20070502