CN101968732B - 检错比特并行脉动阵列移位多项式基乘法器及其构造方法 - Google Patents

检错比特并行脉动阵列移位多项式基乘法器及其构造方法 Download PDF

Info

Publication number
CN101968732B
CN101968732B CN 201010501073 CN201010501073A CN101968732B CN 101968732 B CN101968732 B CN 101968732B CN 201010501073 CN201010501073 CN 201010501073 CN 201010501073 A CN201010501073 A CN 201010501073A CN 101968732 B CN101968732 B CN 101968732B
Authority
CN
China
Prior art keywords
centerdot
multiplier
vector
toeplitz matrix
systolic arrays
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
CN 201010501073
Other languages
English (en)
Other versions
CN101968732A (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.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
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 PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN 201010501073 priority Critical patent/CN101968732B/zh
Publication of CN101968732A publication Critical patent/CN101968732A/zh
Application granted granted Critical
Publication of CN101968732B publication Critical patent/CN101968732B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明涉及信息安全技术中的一种乘法器结构,特别是涉及一种具备检错能力的比特并行脉动阵列移位多项式基乘法器。该乘法器针对一类被国际标准广泛采纳的有限域——不可约三项式定义的域GF(2m)设计,其设计原理清晰,结构规则化模块化,适合大规模集成电路设计,且因该设计采用脉动阵列结构,适合连续乘法计算,计算效率非常高。另外,借助汉明编码理论,在低开销的代价下乘法器引入并行检错功能,能够较大程度上保证计算结果的正确性,进而能够有效抵抗故障分析攻击,为密码体制的实现提供更可靠的安全保证。

Description

检错比特并行脉动阵列移位多项式基乘法器及其构造方法
一、技术领域:本发明涉及信息安全技术中一种乘法器结构,特别是涉及一种具备检错能力的比特并行脉动阵列移位多项式基乘法器及其构造方法。
二、背景技术:因在编码理论和密码学等领域的重要应用,有限域GF(2m)上的运算引起了广泛的研究。有限域中的运算主要包括加法、乘法、求逆和求幂,其中加法简单易于实现,而求逆和求幂运算可以通过多次乘法实现,从而有效的实现乘法在这些运算中成为研究的重点。考虑到硬件实现上的高效性能,专用芯片乘法器的设计成为研究的热点。另外,在密码学应用中,所使用的扩域大小m在160比特与2048比特之间,这时乘法器需要规模较大的电路器件,所以在计算过程中很可能一个甚至多个元件出错,进而导致计算结果出错。而利用计算结果出错的故障分析攻击已经被证实是一种有效的侧信道攻击手段,这种攻击手段对非对称密码体制(例如:椭圆曲线密码体制、RSA)和对称密码体制(例如:DES)都构成了威胁。因而在设计乘法器时,需要考虑效率和安全实现两个方面。
有限域基表示对乘法器的设计方式和效率有很大的影响,这些基包括多项式基、对偶基和正规基等。每种基都有自己的特点,对偶基表示下,乘法器所需的硬件开销最少,但运算之前往往需要复杂的基变换;正规基表示下,平方运算只是简单的移位,因而正规基特别适合求逆和求幂运算,但乘法相对复杂;多项式基表示下,乘法器的设计方法简单,硬件开销较低,结构规则模块化,能满足各种各样的需求,三种基表示相比,多项式基的应用最为广泛,并且为了进一步降低乘法复杂度,多项式基新的变种表示和算法相继提出,Fan等人首次提出移位多项式基表示来设计并行乘法器,Koc等人将整数上的蒙哥马利算法推广到有限域多项式基乘法等。另一方面,定义域的多项式对乘法运算复杂度也有较大的影响,通常为了计算简单,许多标准(ANSI X9.62,IEEE 1363-2000等)建议使用稀疏的不可约多项式,如三项式和五项式等。乘法器按结构类型又可分为比特型(bit-level)、数字型(digit-level)和全并行(parallel-level),对每种类型又可分为脉动阵列和非脉动阵列结构,脉动阵列结构采用流水线工作模式,特别适合连续计算,并且学者设计出多种基表示下的脉动阵列乘法器,Lee在多项式基表示下,对不可约三项式定义的有限域,提出比特并行多项式基脉动阵列乘法器;Kwon利用对偶性质,提出II型优化正规基脉动阵列乘法器。
以往乘法器的设计虽然在降低空间和时间复杂度方面做了大量的工作,但这些工作最大的缺陷是没有考虑安全实现问题。而故障分析攻击作为侧信道攻击手段的一种,对对称密码体制和非对称密码体制构成严重威胁,经典的攻击实例如:Bleichenbacher对PKCS#1 v1.5标准的RSA的攻击,Biehl等人对椭圆曲线签名的攻击等。为抵抗故障分析攻击,乘法器需要具备一定的检错或纠错能力。
三、发明内容:
本发明的目的是针对一类国际标准广泛采纳的不可约三项式定义的有限域GF(2m),基于移位多项式基表示和汉明码编码理论,提出一种具备检错能力的比特并行脉动阵列移位多项式基乘法器及其构造方法。
本发明所采用的技术方案:
一种检错比特并行脉动阵列移位多项式基乘法器,针对不可约三项式构造的有限域GF(2m)设计,所述乘法器由外围转化组件、比特并行脉动阵列Toeplitz矩阵-向量乘法器组件和并行校验电路三部分组成:
所述外围转化组件,在移位多项式基表示下,将待乘两元中的一元经异或逻辑运算得到Toeplitz矩阵的生成向量,进而将有限域乘法转化为GF(2)上的Toeplitz矩阵-向量乘法;
所述比特并行脉动阵列Toeplitz矩阵-向量乘法器组件,用于计算Toeplitz矩阵-向量乘法,由上述外围转换组件实现的有限域乘法向Toeplitz矩阵-向量乘法的转换可知,该组件输出有限域乘法结果;
所述并行校验电路,结合给出的Toeplitz矩阵-向量乘法,利用汉明码编码理论,实现比特并行脉动阵列Toeplitz矩阵-向量乘法器组件的并行校验功能,最终对有限域乘法结果检错。
所述的检错比特并行脉动阵列移位多项式基乘法器,外围转化组件通过下述步骤,将有限域乘法A·B转化为GF(2)上特殊的Toeplitz矩阵-向量乘法:
在移位多项式基M={x-k,x-k+1,…,xm-k-1}表示下,
待乘两元为 A = x - k Σ i = 0 m - 1 a i x i = Ma T , B = x - k Σ i = 0 m - 1 b i x i = Mb T ,
其乘法结果C为:
C = A · B = Σ i = 0 m - 1 a i x i - k B
= ( x - k B , . . . , x - 1 B , B , xB , . . . , x m - k - 1 B ) ( a 0 , a 1 , . . . , a m - 1 ) T
= ( x - k B , . . . , x - 1 B , B , xB , . . . , x m - k - 1 B ) a T
令xiB=M′Hi(-k≤i≤m-1-k)和C=M′cT(M′={1,x,…,xm-k-1,x-k,x-k+1,…,x-1}),
其中Hi,cT分别表示xiB和C关于M′的列向量表示,则得到
C=M′(H-k,…,H-1,H,H1,…,Hm-k-1)aT
                                                    (1)
 =M′HaT
这里H表示m×m阶矩阵H=[hi,j|0≤i≤m-1,0≤j≤m-1],且不难验证矩阵H满足常对角性质hi,j=hi+1,j+1,即H为Toeplitz矩阵,记为
Figure GSB00000708225700036
由于Toeplitz矩阵H完全由第一列向量T1=(h0,t1,…,tm-1)和最后一列向量T2=(hm-1,…,h1,h0)决定,我们称其为矩阵H的生成向量,
且由(1)式 T 1 = H - k T = x - k B , T 2 = H m - k - 1 T = x m - k - 1 B , 计算可知
T1=(b2k,L,bm-1,b0,L,bk-1,b0+bk,b1+bk+1,L,bk-1+b2k-1)
T2=(bk+1+b2k+1,L bm-k-1+bm-1,bm-k+b0,L,bm-1+bk-1,b0+bk,bk+1,bk+2,L,b2k-1,b2k)  (2)
据(1)式看出,有限域乘法A·B等价于Toeplitz矩阵-向量乘法HaT,且由(2)知由B得到此Toeplitz矩阵生成向量T1,T2只是异或逻辑运算。
所述的检错比特并行脉动阵列移位多项式基乘法器,所述比特并行脉动阵列Toeplitz矩阵-向量乘法器组件,在外围转换组件实现有限域乘法转换为Toeplitz矩阵-向量乘法基础上,该组件输出有限域乘法的结果,根据式(1),所给出的乘积为
C=ck+ck+1x+…+cm-1xm-k-1+c0x-k+c1x-k+1+…+ck-1x-1
 =M′(ck,ck+1,…,ck+j,…ck+m-1)
其中k+j=k+j(mod m),也即满足
c k c k + 1 . . . c k - 1 = Ha T = a 0 h 0 + a 1 h 1 + . . . + a m - 1 h m - 1 a 0 t 1 + a 1 h 0 + . . . + a m - 1 h m - 2 . . . a 0 t m - 1 + a 1 t m - 2 + . . . + a m - 1 h 0
据此给出比特并行脉动阵列Toeplitz矩阵-向量乘法器组件,该组件运行需要2m-1个时钟周期,周期延迟为TAND+TXOR+TLatch,其中TAND,TXOR,TLatch分别表示与门、异或门和寄存器的延迟,具体结构计算流程如下:
输入:T1=(h0,t1,…,tm-1),T2=(hm-1,…,h1,h0),A=(a0,...,aT-1)
输出:(ck,ck+1,…,ck+j,…ck+m-1)=(Fm-1,...,F0)
初始化:(Fm-1,...,F0)=(0,...,0)
For T=1 To T=m
(FT-1,...,F0)=(FT-1,...,F0)+tm-T(a0,...,aT-1)
For T=m+1 To T=2m-1
(Fm-1,...,FT-m)=(Fm-1,...,FT-m)+hT-m(aT-m,...,am-1)
其中T表示周期,tm-T(a0,...,aT-1)=(tm-Ta0,...,tm-TaT-1)。
所述的检错比特并行脉动阵列移位多项式基乘法器,所述并行校验电路根据汉明码编码理论构造,包括乘法结果校验信息预测电路和实测电路两部分,其与比特并行脉动阵列Toeplitz矩阵-向量乘法器组件同步运行实现校验,由于比特并行脉动阵列Toeplitz矩阵-向量乘法器组件输出的是有限域乘法的结果,故实际上该并行校验电路最终是对有限域乘法结果检错,其中校验信息预测电路部分通过下述方式构造:
对一个(n,m)系统汉明码,令其生成多项式为n-m次不可约多项式G,原始信息A=(a0,a1,....,am-1),记VA,PA分别为信息A编码的码字及校验信息部分,校验部分PA对信息A进行校验,其编码方法为:
PA=xn-mAmodG
VA=PA+xn-mA
为实现编码,对Toeplitz矩阵H的每个列向量的以多项式形式给出,即
Hi(x)□(1,x,…,xm-1)Hi=hi+hi-1x+…+h0xi+t1xi+1+…+tm-i-1xm-1
则乘法结果C(x)=HaT(x)=a0H0(x)+a1H1(x)+…+am-1Hm-1(x),
由于汉明码的线性性质,则乘法结果的校验信息为
P C ( x ) = a 0 P H 0 ( x ) + a 1 P H 1 ( x ) + . . . + a m - 1 P H m - 1 ( x )
首先考察
Figure GSB00000708225700052
的关系,类似的给出
Figure GSB00000708225700053
的关系,最终给出PC(x)
根据H0(x),Hi(x),我们有如下的关系成立:
H 0 ( x ) = h 0 + t 1 x + . . . + t m - 1 x m - 1 = H ‾ 0 ( x ) + t m - 1 x m - 1 , 其中 H ‾ 0 ( x ) = h 0 + t 1 x + . . . + t m - 2 x m - 2 ,
H 1 ( x ) = h 1 + x H ‾ 0 ( x ) .
P H 1 ( x ) = h 1 P 1 + x P H ‾ 0 ( x ) mod G ,
P H ‾ 0 ( x ) = P H 0 ( x ) + x n - m . t m - 1 x m - 1 mod G = P H 0 ( x ) + t m - 1 x n - 1 mod G ,
进而有 P H 1 ( x ) = h 1 P 1 + x P H 0 ( x ) + t m - 1 x n mod G ;
由汉明码的性质可知,生成多项式G|xn-1,也即xn=1modG,所以
P H 1 ( x ) = h 1 P 1 + t m - 1 + x P H 0 ( x ) mod G
同理对 P H i ( x ) , P H i - 1 ( x ) P H i ( x ) = h i P 1 + t m - i - 1 + x P H i - 1 ( x ) mod G - - - ( 3 )
定义
Figure GSB000007082257000513
则结合式(3)给出预测PC(x)的递归结构,并最终通过m个此种结构递归计算出乘法结果校验信息的预测值,此m个递归结构联合构成校验信息预测电路,设构造汉明码的多项式G的权重为ω,那么每个递归结构的时间延迟为Max(TAND+TXOR+TLatch,2TXOR+TLatch),硬件开销为n-m+ω-1个与门,2(n-m)+ω个异或门和4(n-m)个寄存器。
所述的检错比特并行脉动阵列移位多项式基乘法器,在给出乘法结果C的校验信息预测电路后,通过下述方式构造C的校验信息实测电路:根据对Hi(x)的记号,则可类似的给出计算结果C的多项式形式,即
C(x)=ck-1xm-1+ck-2xm-2+…+ck+1x+ck
同样根据汉明码编码的线性性质,可得
P C ( x ) = c k - 1 P x m - 1 + c k - 2 P x m - 2 + . . . + c k + 1 P x + c k P 1 ,
其中 P x m - 1 = x - 1 mod G , 根据 P x i - 1 = x - 1 P x i mod G , 定义 P C m - i - 1 ( x ) = P C m - i ( x ) + C k + m - i - 1 P x m - i - 1 mod G , 上式中k+m-i-1=k+m-i-1(modm)。这样得到计算乘法结果的校验信息实际值的递归结构,并最终通过m个此种结构递归计算出乘法结果校验信息的实际值,此m个递归结构联合构成校验信息实测电路,且每个递归结构的时间延迟为MAX{TXOR+TAND+TLatch,2TXOR+TLatch},硬件开销为(n-m)个与门,n-m+ω-1个异或门和3(n-m)个寄存器。
所述的检错比特并行脉动阵列移位多项式基乘法器,预测电路输出乘法结果C的校验信息预测值,实测电路输出乘法结果C的实测值,通过预测值和实测值对比即可知比特并行脉动阵列Toeplitz矩阵-向量乘法器组件输出的有限域乘法结果是否出错,且由于并行校验电路根据汉明码构造,所以该发明的检错比特并行脉动阵列乘法器可以检测两个比特出错的情况,进而可以有效的抵抗故障分析攻击,保证密码体制的安全实现。
本发明的有益积极效果:
1、本发明检错比特并行脉动阵列移位多项式基乘法器,针对一类被国际标准采纳的有限域——不可约三项式定义的有限域GF(2m)设计,其设计原理清晰,设计结构模块化规则化,适合大规模集成电路设计,且本发明乘法器采用脉动阵列架构,适合连续乘法计算,计算效率非常高。该乘法器在数字签名、身份认证等信息安全领域有广泛的应用前景。
2、本发明检错比特并行脉动阵列移位多项式基乘法器,与背景技术的乘法器相比,重要的优势在于该乘法器具备并行检错功能。借助汉明码编码理论,该乘法器在低开销的代价下引入并行检错功能,在很大程度上保证计算的正确性,进而能有效抵抗故障分析攻击,能为密码体制的实现提供更可靠的安全保证。
四、附图说明:
图1:比特并行脉动阵列Toeplitz矩阵-向量乘法器组件结构示意图
图2:图1所示乘法器中的U模块结构示意图
图3:计算预测校验信息的递归结构(Di)示意图
图4:计算实际校验信息的递归结构(Vi)示意图
图5:具备检错能力的比特并行脉动阵列Toeplitz矩阵-向量乘法器结构示意图
图6:具备检错能力的比特并行脉动阵列移位多项式基乘法器结构示意图
五、具体实施方式:
实施例一:参见图6,本发明检错比特并行脉动阵列移位多项式基乘法器,针对不可约三项式构造的有限域GF(2m)设计,其整体框架分为外围转化组件、比特并行脉动阵列Toeplitz矩阵-向量乘法器组件和并行校验电路三部分:
所述外围转化组件,即图中BTH1和BTH2部分,在移位多项式基表示下,将待乘两元中的一元经异或逻辑运算得到Toeplitz矩阵的生成向量,进而将有限域乘法转化为GF(2m)上的Toeplitz矩阵-向量乘法。该部分只是简单的异或逻辑运算,主要功能是在执行有限域乘法之前,生成Toeplitz矩阵的生成向量;
所述比特并行脉动阵列Toeplitz矩阵-向量乘法器组件,作为乘法器主干部分,用于计算Toeplitz矩阵-向量乘法,由上述外围转换组件实现的有限域乘法向Toeplitz矩阵-向量乘法的转换可知,该组件输出有限域乘法结果;
所述并行校验电路,结合给出的Toeplitz矩阵-向量乘法,利用汉明码编码理论,实现比特并行脉动阵列Toeplitz矩阵-向量乘法器组件的并行校验功能,最终对有限域乘法结果检错。并行校验电路包括结果校验信息预测电路和实测电路两部分构成,其与脉动阵列Toeplitz矩阵-向量乘法器组件同步运行,并最终通过对比校验信息预测值和实测值判断乘法计算是否正确。
实施例二:本实施例结合图1~图6,对发明的技术方案进一步具体描述:
本文中涉及的术语及符号说明如下:
Figure GSB00000708225700081
:由不可约三项式定义的有限域GF(2m),其中P(x)=xm+xk+1(k≤m/2);
M={x-k,x-k+1,…,xm-k-1}:有限域GF(2m)中元素表示采用的移位多项式基;
M′={1,x,…,xm-k-1,x-k,x-k+1,…,x-1}:M的移位形式;
A,B,C:有限域GF(2m)中的三元,其分别采用移位多项式基表示且C为A和B的乘积,即
A = x - k Σ i = 0 m - 1 a i x i = Ma T , B = x - k Σ i = 0 m - 1 b i x i = Mb T 和C=A·B,
其中a,b分别表示A、B系数的向量表示,T表示向量的转置。
1)外围转化组件:
在移位多项式基表示下,为了设计有限域
Figure GSB00000708225700084
上的乘法器,首先通过外围转化组件将有限域乘法A·B转化为GF(2)上特殊的Toeplitz矩阵-向量乘法。其具体步骤如下给出,由于
C = A · B = Σ i = 0 m - 1 a i x i - k B
= ( x - k B , . . . , x - 1 B , B , xB , . . . , x m - k - 1 B ) ( a 0 , a 1 , . . . , a m - 1 ) T
= ( x - k B , . . . , x - 1 B , B , xB , . . . , x m - k - 1 B ) a T
令xiB=M′Hi(-k≤i≤m-1-k)和C=M′cT,其中Hi,cT分别表示xiB,C关于M′的列向量表示。则可以得到
C=M′(H-k,…,H-1,H,H1,…,Hm-k-1)aT
                                                    (1)
=M′HaT
这里H表示m×m阶矩阵H=[hi,j|0≤i≤m-1,0≤j≤m-1],且不难验证矩阵H为Toeplitz矩阵,即满足hi,j=hi+1,j+1,记
事实上,由于Toeplitz矩阵H完全由第一列和最后一列向量决定,我们用T1=(h0,t1,…,tm-1),T2=(hm-1,…,h1,h0)表示,并称其为矩阵H的生成向量,且由(1)式知 T 1 = H - k T = x - k B , T 2 = H m - k - 1 T = x m - k - 1 B .
这样,由x-kB,xm-k-1B得到矩阵H生成向量T1,T2的变换过程构成组建BTH1和BTH2,可以看出它们只是简单的异或逻辑运算。
2)脉动阵列Toeplitz矩阵-向量乘法器组件:
通过1)部分说明可以看出,移位多项式基乘法器的设计关键在于实现Toeplitz矩阵H与向量aT的乘法。利用这一特点,下面我们给出脉动阵列Toeplitz矩阵-向量乘法器组件,即计算Toeplitz矩阵-向量乘法c=HaT的乘法器,且该部分组建采用脉动阵列结构。根据(1)所给出的乘积为
C=ck+ck+1x+…+cm-1xm-k-1+c0x-k+c1x-k+1+…+ck-1x-1
 =M′(ck,ck+1,…,ck+j,…ck+m-1)
其中k+j=k+j(modm),也即满足
c k c k + 1 . . . c k - 1 = Ha T = a 0 h 0 + a 1 h 1 + . . . + a m - 1 h m - 1 a 0 t 1 + a 1 h 0 + . . . + a m - 1 h m - 2 . . . a 0 t m - 1 + a 1 t m - 2 + . . . + a m - 1 h 0
根据上式,图1给出了比特并行脉动阵列Toeplitz矩阵-向量乘法器组件的示意图,其中模块U如图2所示,其中
Figure GSB00000708225700095
分别表示异或门和与门,■表示1bit的寄存器(Latch)。
图1中所述比特并行脉动阵列Toeplitz矩阵-向量乘法器组件运行需要2m-1个时钟周期,周期延迟为TAND+TXOR+TLatch(TAND,TXOR,TLatch分别表示与门、异或门和寄存器的延迟),具体计算流程如下:
Figure GSB00000708225700101
3)并行校验电路:
在给出Toeplitz矩阵-向量乘法器的基础上,为实现乘法器的检错功能,利用汉明码编码理论设计并行校验电路,进而将乘法器改造为具备检错能力的脉动阵列乘法器。
这里为了设计具备检错能力的乘法器,我们使用的是系统的汉明码。对一个(n,m)系统汉明码,令其生成多项式为n-m次不可约多项式G,原始信息A=(a0,a1,....,am-1),记VA,PA分别为编码的码字及校验信息部分,其编码方法为:
PA=xn-mAmodG
VA=PA+xn-mA
为实现上述Toeplitz矩阵-向量乘法器的检错电路设计,记
Hi(x)□(1,x,…,xm-1)Hi=hi+hi-1x+…+h0xi+t1xi+1+…+tm-i-1xm-1
则C(x)=HaT(x)=a0H0(x)+a1H1(x)+…+am-1Hm-1(x)。由于线性码的线性性质,不难验证
P C ( x ) = a 0 P H 0 ( x ) + a 1 P H 1 ( x ) + . . . + a m - 1 P H m - 1 ( x )
下面考察的关系,进而类似的给出
Figure GSB00000708225700104
的关系,并最终给出PC(x)
观察H0(x),H1(x),我们有如下的关系成立
H 0 ( x ) = h 0 + t 1 x + . . . + t m - 1 x m - 1 = H ‾ 0 ( x ) + t m - 1 x m - 1 , 其中 H ‾ 0 ( x ) = h 0 + t 1 x + . . . + t m - 2 x m - 2 .
H 1 ( x ) = h 1 + x H ‾ 0 ( x )
P H 1 ( x ) = h 1 P 1 + x P H ‾ 0 ( x ) mod G ,
P H ‾ 0 ( x ) = P H 0 ( x ) + x n - m . t m - 1 x m - 1 mod G = P H 0 ( x ) + t m - 1 x n - 1 mod G
进而有 P H 1 ( x ) = h 1 P 1 + x P H 0 ( x ) + t m - 1 x n mod G .
由汉明码的性质可知,生成多项式G|xn-1,也即xn=1modG,所以
P H 1 ( x ) = h 1 P 1 + t m - 1 + x P H 0 ( x ) mod G
对于一般的情况,类似的可以给出的关系
P H i ( x ) = h i P 1 + t m - i - 1 + x P H i - 1 ( x ) mod G - - - ( 2 )
为了得到PC(x),定义
Figure GSB000007082257001110
则结合(2)给出预测校验信息PC(x)的递归结构Di,如图3所示,其中
Figure GSB000007082257001111
分别表示n-m比特的与运算和异或运算,
Figure GSB000007082257001112
可以合并由
Figure GSB000007082257001113
实现。设构造汉明码的多项式G的权重为ω,那么这个结构总的时间延迟为Max(TAND+TXOR+TLatch,2TXOR+TLatch),总的硬件开销为n-m+ω-1个与门,2(n-m)+ω个异或门和4(n-m)个寄存器。这样,通过m个结构Di就可以递归计算出乘法结果校验信息的预测值,此m个递归结构联合构成校验信息预测电路。
上面给出了乘法结果C的校验信息的预测值,另一方面,为了能够检错,我们还需要给出实际计算得到的C的校验信息,也即校验信息的实测值。根据对Hi(x)的记号,则可类似的给出计算结果C编码下的多项式形式,即
C(x)=ck-1xm-1+ck-2xm-2+…+ck+1x+ck.
同样由汉明码的线性性质,可得
P C ( x ) = c k - 1 P x m - 1 + c k - 2 P x m - 2 + . . . + c k + 1 P x + c k P 1 , 其中 P x m - 1 = x - 1 mod G ;
根据
Figure GSB000007082257001116
并假定该运算由模块
Figure GSB000007082257001117
实现,
定义
Figure GSB000007082257001118
(这里k+m-i-1=k+m-i-1(mod m)),
图4给出了计算乘法实际所得结果的校验信息的递归结构Vi,其中
Figure GSB000007082257001119
分别表示n-m比特的与运算和异或运算。这个结构总的时间延迟为MAX{TXOR+TAND+TLatch,2TXOR+TLatch},硬件开销为(n-m)个与门,n-m+ω-1个异或门和3(n-m)个寄存器。进而,可以通过m个结构Vi递归计算出乘法结果校验信息的实际值,此m个递归结构合并构成校验信息实测电路。
这样,合并Toeplitz矩阵-向量乘法器和图3、图4的校验电路递归结构,我们给出图5所示的能够检错的Toeplitz矩阵-向量乘法器结构,其中右侧模块Di联合构成校验信息预测电路,底层模块Vi联合构成校验信息实测电路,它们共同组建成并行校验电路。这样,乘法器通过Di给出计算结果C(x)的校验信息的预测值
Figure GSB00000708225700121
通过Vi给出计算结果C(x)的校验信息的实际值PC(x),并最终给出伴随式
Figure GSB00000708225700122
判断计算结果是否出错,即若伴随式e=0则计算结果没有出错,否则出错,并且由于纠错使用的是汉明码,所以乘法器可以检测至多两比特计算结果出错的情况。
本发明空间和时间复杂度分析
本发明提供了具备检错能力的比特并行脉动阵列移位多项式基乘法器,其时间和空间复杂度分析见表1。从表1可看出,为实现乘法器的检错能力,所需额外硬件开销较低,以
Figure GSB00000708225700123
为例,设汉明码由G(x)=x8+x4+x3+x+1构造,那么额外的硬件开销仅为15%,而同样能够检两比特错误的传统的3-模块冗余法则需要200%。
表1.检错比特并行脉动阵列移位多项式基乘法器复杂度
Figure GSB00000708225700124
注:a+[b]:a表示原始乘法器的参数,b表示实现检错后乘法器额外增加的部分。

Claims (5)

1.一种检错比特并行脉动阵列移位多项式基乘法器,针对不可约三项式构造的有限域GF(2m)设计,其特征是:所述检错比特并行脉动阵列移位多项式基乘法器由外围转化组件、比特并行脉动阵列Toeplitz矩阵-向量乘法器组件和并行校验电路三部分组成:
所述外围转化组件,在移位多项式基表示下,将待乘两元中的一元经异或逻辑运算得到Toeplitz矩阵的生成向量,进而将有限域乘法转化为GF(2)上的Toeplitz矩阵-向量乘法;
所述比特并行脉动阵列Toeplitz矩阵-向量乘法器组件,用于计算Toeplitz矩阵-向量乘法,在外围转换组件实现有限域乘法转换为Toeplitz矩阵-向量乘法基础上,输出有限域乘法结果;
所述并行校验电路,结合给出的Toeplitz矩阵-向量乘法,利用汉明码编码理论,实现比特并行脉动阵列Toeplitz矩阵-向量乘法器组件的并行校验功能,最终对有限域乘法结果检错。
2.一种权利要求1所述的检错比特并行脉动阵列移位多项式基乘法器构造方法,其特征是:所述外围转化组件通过下述步骤构成,
将有限域乘法A·B转化为GF(2)上特殊的Toeplitz矩阵-向量乘法:
在移位多项式基M={x-k,x-k+1,…,xm-k-1}表示下,
待乘两元为 A = x - k Σ i = 0 m - 1 a i x i = M a T , B = x - k Σ i = 0 m - 1 b i x i = M b T ,
其乘法结果C为:
C = A · B = Σ i = 0 m - 1 a i x i - k B
= ( x - k B , · · · , x - 1 B , B , xB , · · · , x m - k - 1 B ) ( a 0 , a 1 , · · · , a m - 1 ) T
= ( x - k B , · · · , x - 1 B , B , xB , · · · , x m - k - 1 B ) a T
令xiB=M′Hi(-k≤i≤m-1-k)和C=M′cT(M′={1,x,…,xm-k-1,x-k,x-k+1,…,x-1}),其中Hi,cT分别表示xiB和C关于M′的列向量表示,则得到
C=M′(H-k,…,H-1,H,H1,…,Hm-k-1)aT             (1)
=M′HaT
这里H表示m×m阶矩阵H=[hi,j|0≤i≤m-1,0≤j≤m-1],且不难验证矩阵H满足常对角性质hi,j=hi+1,j+1,即H为Toeplitz矩阵,记为
Figure FSB00000803263400021
由于Toeplitz矩阵H完全由第一列向量T1=(h0,t1,…,tm-1)和最后一列向量T2=(hm-1,…,h1,h0)决定,我们称其为矩阵H的生成向量,
且由(1)式 T 1 = H - k T = x - k B , T 2 = H m - k - 1 T = x m - k - 1 B , 计算可知
T1=(b2k,…,bm-1,b0,…,bk-1,b0+bk,b1+bk+1,…,bk-1+b2k-1)
T2=(bk+1+b2k+1,…bm-k-1+bm-1,bm-k+b0,…,bm-1+bk-1,b0+bk,bk+1,bk+2,…,b2k-1,b2k)(2)
据(1)式看出,有限域乘法A·B等价于Toeplitz矩阵-向量乘法HaT,且由(2)知由B得到此Toeplitz矩阵生成向量T1,T2只是异或逻辑运算。
3.根据权利要求2所述的检错比特并行脉动阵列移位多项式基乘法器构造方法,其特征是:所述比特并行脉动阵列Toeplitz矩阵-向量乘法器组件,其结构通过下述方式给出:
根据式(1),所给出的乘积为
C=ck+ck+1x+…+cm-1xm-k-1+c0x-k+c1x-k+1+…+ck-1x-1
=M′(ck,ck+1,…,ck+j,…ck+m-1)
其中k+j=k+j(mod m),也即满足
c k c k + 1 · · · c k - 1 = H a T = a 0 h 0 + a 1 h 1 + · · · + a m - 1 h m - 1 a 0 t 1 + a 1 h 0 + · · · + a m - 1 h m - 2 · · · a 0 t m - 1 + a 1 t m - 2 + · · · + a m - 1 h 0
据此给出比特并行脉动阵列Toeplitz矩阵-向量乘法器组件,
该组件运行需要2m-1个时钟周期,周期延迟为TAND+TXOR+TLatch,其中TAND,TXOR,TLatch分别表示与门、异或门和寄存器的延迟,具体计算流程如下:
输入:T1=(h0,t1,…,tm-1),T2=(hm-1,…,h1,h0),A=(a0,...,aT-1)输出:(ck,ck+1,…,ck+j,…ck+m-1)=(Fm-1,…,F0)
初始化:(Fm-1…,F0)=(0,…,0)
For T=1 To T=m
(FT-1,…,F0)=(FT-1,…,F0)+tm-T(a0,...,aT-1)
For T=m+1 To T=2m-1
(Fm-1,…,FT-m)=(Fm-1,…,FT-m)+hT-m(aT-m,…,am-1)
其中T表示周期,tm-T(a0,...,aT-1)=(tm-Ta0,...,tm-TaT-1)。
4.根据权利要求3所述的检错比特并行脉动阵列移位多项式基乘法器构造方法,其特征是:并行校验电路包括乘法结果校验信息预测电路和实测电路两部分,其与比特并行脉动阵列Toeplitz矩阵-向量乘法器组件同步运行,其中校验信息预测电路部分通过下述方式构造:
对一个(n,m)系统汉明码,令其生成多项式为n-m次不可约多项式G,原始信息A=(a0,a1,…,am-1),记VA,PA分别为信息A编码的码字及校验信息部分,校验部分PA对信息A进行校验,其编码方法为:
PA=xn-mAmodG
VA=PA+xn-mA
为实现编码,对Toeplitz矩阵H的每个列向量的以多项式形式给出,即
H i ( x ) = Δ ( 1 , x , · · · , x m - 1 ) H i = h i + h i - 1 x + · · · + h 0 x i + t 1 x i + 1 + · · · + t m - i - 1 x m - 1
则乘法结果C(x)=HaT(x)=a0H0(x)+a1H1(x)+…+am-1Hm-1(x),
由于汉明码的线性性质,则乘法结果的校验信息为
P C ( x ) = a 0 P H 0 ( x ) + a 1 P H 1 ( x ) + · · · + a m - 1 P H m - 1 ( x )
首先考察
Figure FSB00000803263400033
Figure FSB00000803263400034
的关系,类似的给出
Figure FSB00000803263400036
的关系,最终给出PC(x);
根据H0(x),H1(x),我们有如下的关系成立:
H 0 ( x ) = h 0 + t 1 x + · · · + t m - 1 x m - 1 = H ‾ 0 ( x ) + t m - 1 x m - 1 , 其中 H ‾ 0 ( x ) = h 0 + t 1 x + · · · + t m - 2 x m - 2 ,
H 1 ( x ) = h 1 + x H ‾ 0 ( x ) ,
P H 1 ( x ) = h 1 P 1 + x P H ‾ 0 ( x ) mod G ,
P H ‾ 0 = P H 0 ( x ) + x n - m . t m - 1 x m - 1 mod G = P H 0 ( x ) + t m - 1 x n - 1 mod G ,
进而有 P H 1 ( x ) = h 1 P 1 + x P H 0 ( x ) + t m - 1 x n mod G ;
由汉明码的性质可知,生成多项式G/Xn-1,也即xn=1modG,所以
P H 1 ( x ) = h 1 P 1 + t m - 1 + x P H 0 ( x ) mod G
同理对
Figure FSB00000803263400046
Figure FSB00000803263400047
P H i ( x ) = h i P 1 + t m - i - 1 + x P H i - 1 ( x ) mod G - - - ( 3 )
定义则结合式(3)给出预测PC(x)的递归结构,并最终通过m个此种结构递归计算出乘法结果校验信息的预测值,此m个递归结构联合构成校验信息预测电路,设构造汉明码的多项式G的权重为ω,那么每个递归结构的时间延迟为Max(TAND+TXOR+TLatch,2TXOR+TLatch),硬件开销为n-m+ω-1个与门,2(n-m)+ω个异或门和4(n-m)个寄存器。
5.根据权利要求4所述的检错比特并行脉动阵列移位多项式基乘法器构造方法,其特征是:在给出乘法结果C的校验信息预测电路后,通过下述方式构造C的校验信息实测电路:
根据对Hi(x)的记号,则可类似的给出计算结果C的多项式形式,即
C(x)=ck-1xm-1+ck-2xm-2+…+ck+1x+ck
同样根据汉明码编码的线性性质,可得
P C ( x ) = c k - 1 P x m - 1 + c k - 1 P x m - 2 + · · · + c k + 1 P x + c k P 1 ,
其中 P x m - 1 = x - 1 mod G , 根据
Figure FSB000008032634000412
定义
P C m - i - 1 ( x ) = P C m - i ( x ) + C k + m - i - 1 P x m - i - 1 mod G ,
上式中k+m-i-1=k+m-i-1(mod m);
这样得到计算乘法结果的校验信息实际值的递归结构,并最终通过m个此种结构递归计算出乘法结果校验信息的实际值,此m个递归结构联合构成校验信息实测电路,且每个递归结构的时间延迟为
MAX{TXOR+TAND+TLatch,2TXOR+TLatch},硬件开销为(n-m)个与门,n-m+ω-1个异或门和3(n-m)个寄存器。
CN 201010501073 2010-10-09 2010-10-09 检错比特并行脉动阵列移位多项式基乘法器及其构造方法 Expired - Fee Related CN101968732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010501073 CN101968732B (zh) 2010-10-09 2010-10-09 检错比特并行脉动阵列移位多项式基乘法器及其构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010501073 CN101968732B (zh) 2010-10-09 2010-10-09 检错比特并行脉动阵列移位多项式基乘法器及其构造方法

Publications (2)

Publication Number Publication Date
CN101968732A CN101968732A (zh) 2011-02-09
CN101968732B true CN101968732B (zh) 2012-12-19

Family

ID=43547893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010501073 Expired - Fee Related CN101968732B (zh) 2010-10-09 2010-10-09 检错比特并行脉动阵列移位多项式基乘法器及其构造方法

Country Status (1)

Country Link
CN (1) CN101968732B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929574A (zh) * 2012-10-18 2013-02-13 复旦大学 Gf(2163)域上的脉动乘法器设计方法
CN104601322A (zh) * 2013-10-31 2015-05-06 上海华虹集成电路有限责任公司 用于密码芯片中三元扩域的蒙哥马利阶梯算法
CN104252332B (zh) * 2014-08-20 2018-09-18 哈尔滨工业大学深圳研究生院 一种用于椭圆密码器的乘法器处理单元及乘法器
TWI685757B (zh) * 2017-05-17 2020-02-21 美商谷歌有限責任公司 低延遲矩陣乘法單元
CN110673824B (zh) * 2018-07-03 2022-08-19 赛灵思公司 矩阵向量乘电路以及循环神经网络硬件加速器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652075A (zh) * 2003-07-03 2005-08-10 诚致科技股份有限公司 用于有限域的有效vlsi结构的系统和方法
CN1781076A (zh) * 2003-04-04 2006-05-31 爱特梅尔股份有限公司 组合多项式和自然乘法的乘法器架构
CN101216752A (zh) * 2008-01-08 2008-07-09 北京芯技佳易微电子科技有限公司 一种二元域乘法器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1781076A (zh) * 2003-04-04 2006-05-31 爱特梅尔股份有限公司 组合多项式和自然乘法的乘法器架构
CN1652075A (zh) * 2003-07-03 2005-08-10 诚致科技股份有限公司 用于有限域的有效vlsi结构的系统和方法
CN101216752A (zh) * 2008-01-08 2008-07-09 北京芯技佳易微电子科技有限公司 一种二元域乘法器

Also Published As

Publication number Publication date
CN101968732A (zh) 2011-02-09

Similar Documents

Publication Publication Date Title
Fan et al. Overlap-free Karatsuba–Ofman polynomial multiplication algorithms
Siap et al. Skew cyclic codes of arbitrary length
Horlemann-Trautmann et al. New criteria for MRD and Gabidulin codes and some rank-metric code constructions
Lin et al. FFT algorithm for binary extension finite fields and its application to Reed–Solomon codes
CN101968732B (zh) 检错比特并行脉动阵列移位多项式基乘法器及其构造方法
Mozaffari-Kermani et al. A high-performance fault diagnosis approach for the AES SubBytes utilizing mixed bases
Namin et al. A word-level finite field multiplier using normal basis
Rashidi et al. Efficient and low‐complexity hardware architecture of Gaussian normal basis multiplication over GF (2m) for elliptic curve cryptosystems
Ashraf et al. On skew cyclic codes over F3+ vF3
CN102891685A (zh) 基于fpga的并行循环冗余校验运算电路
Ding et al. Zhuang-Zi: A new algorithm for solving multivariate polynomial equations over a finite field
Cho et al. A refinement of Müller's cube root algorithm
Chuang et al. Fault-tolerant Gaussian normal basis multiplier over GF (2m)
Cazaran et al. An algorithm for computing the minimum distances of extensions of BCH codes embedded in semigroup rings
Anzis et al. Error-correction of linear codes via colon ideals
Chen et al. Rank metric decoder architectures for random linear network coding with error control
Chen et al. Some minimal cyclic codes over finite fields
Garg et al. Higher-order nonlinearity of Kasami functions
Chen et al. A fully-parallel step-by-step BCH decoder over composite field for NOR flash memories
Park et al. Subquadratic space complexity multiplier for GF (2n) using type 4 Gaussian normal bases
Mathew et al. Single error correctable bit parallel multipliers over GF (2m)
Mozhi et al. Efficient bit-parallel systolic multiplier over GF (2 m)
Ge et al. Design of low complexity GF (2 m) multiplier based on Karatsuba algorithm
Hadwin et al. Voiculescu's Theorem in Properly Infinite Factors
CN100432922C (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: 20121219

Termination date: 20131009