CN107992283A - 一种基于降维实现有限域乘法的方法和装置 - Google Patents
一种基于降维实现有限域乘法的方法和装置 Download PDFInfo
- Publication number
- CN107992283A CN107992283A CN201711096271.1A CN201711096271A CN107992283A CN 107992283 A CN107992283 A CN 107992283A CN 201711096271 A CN201711096271 A CN 201711096271A CN 107992283 A CN107992283 A CN 107992283A
- Authority
- CN
- China
- Prior art keywords
- module
- matrix
- finite field
- multiplication
- multiplier
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于降维实现有限域乘法的方法和装置,包括:步骤1,对m位的乘法因子A和B分别按从低位到高位进行分组;步骤2,将每个乘法因子各自的分组Ai和Bi进行有限域内两两加法运算,分别得到Ej=Ai+Ak和Fj=Bi+Bk;步骤3,将Ej和Fj做乘法运算,得到2t‑1位的乘法结果D'j=Ej·Fj;将D'j在2m‑1位有限域中进行移位操作,得到Dj;步骤4,将所有Dj进行加法操作得到D,并进行有限域内约简运算,得到C;输出C即为乘法因子A和乘法因子B在有限域内的乘积。
Description
技术领域
本发明涉及信息技术领域,特别是一种基于降维实现有限域乘法的方法和装置。
背景技术
有限域运算在差错控制、密码学领域均得到广泛应用。特别是在加密认证算法中,有限域运算应用广泛,它是指在特定的规则下进行的两类运算:加法运算和乘法运算。
有限域GF(2)仅包含两个元素0和1,加法运算很容易利用一个异或门来实现,而乘法运算利用一个与门也可以轻易实现。特别地,有限域GF(2m)可以看做GF(2)的m维扩域,包括2m个元素。此时,有限域加法可由m个异或门实现,而乘法运算的实现则要复杂很多。
在实现上,加法运算对应相应位数的异或门,而乘法的实现,效率远低于加法,资源消耗则远高于加法,是有限域运算的关键。另一方面,其他运算,如指数运算、除法运算、求逆运算等都是通过乘法的多次运算来实现。
因而乘法器的性能是有限域运算在上述领域应用的关键。
目前已提出的有限域乘法器主要有两类:比特串行乘法器和比特并行乘法器。在输入位宽为m的情况下。比特串行乘法器具有O(m)空间复杂度(O(m)表示算法的空间消耗与m成正比),该方法对同一个模块进行轮询操作,能够将资源消耗降至最低。但该方案需要等待m个周期后才能得到输出,时延大。比特并行乘法器具有(O(m2))空间复杂度,该方法结构紧凑,易于硬件实现,能够实现较高的吞吐量,适宜于现今高速的通信系统,但其消耗大量资源,不适宜成本的节约。因此,为了最大限度降低比特并行乘法器的空间复杂度,大量乘法器基于Karatsuba方法实现空间复杂度,但其显著增加了乘法器的计算时延,无法满足高吞吐量的通信系统要求。
发明内容
本发明提供了一种基于降维实现有限域乘法的方法,该方法将简化乘法器结构,保证比特并行乘法器高吞吐量的同时,最大限度降低其资源消耗,提高有限域内乘法运算的效率,具体包括如下步骤:
步骤1,对m位的乘法因子A和B分别按从低位到高位进行分组,以t位为一组,分为r组,分组后的各组分别表示为Ai和Bi,其中 表示向上取整函数,i=0,1,...,r-1;
步骤2,将每个乘法因子各自的分组Ai和Bi进行有限域内两两加法运算,分别得到相加之和Ej=Ai+Ak和Fj=Bi+Bk,其中,且 0≤n≤r-1,当时,Ej=An并且Fj=Bn,其中,0≤n≤r-1;
步骤3,将Ej和Fj做乘法运算,得到2t-1位的乘法结果D'j=Ej·Fj;将D'j在2m-1位有限域中进行移位操作,得到Dj;
步骤4,将所有Dj在有限域内做加法运算得到D,并乘以根据有限域不可约多项式生成的简化矩阵,实现有限域内约简运算,得到C;输出C即为乘法因子A和乘法因子B在有限域内的乘积。
步骤1中,分组后的Ai组的最高位Ar-1和Bi组的最高位Br-1不足t位时,将不足的位数进行补0操作,补成t位。
步骤3中,将D'j在2m-1位有限域中进行移位操作,具体为将D'j在2m-1位有限域上左移位,得到Dj。
本发明还公开了一种基于降维实现有限域乘法的装置,包括输入模块、分组加法模块、个LM(降维乘法器,Low dimension multiplier)模块、相加约简模块和输出模块;
所述输入模块用于将m位乘法因子A和m位乘法因子B发送给分组加法模块;
所述分组加法模块将乘法因子A和B分别从低位到高位进行分组操作,以位为一组,分成r组,分组后的各组分别表示为Ai和Bi;将分组Ai和Bi各自进行有限域内加法运算得到Ej=Ai+Ak和Fj=Bi+Bk,其中,且0≤n≤r-1,当时,Ej=An和Fj=Bn,其中,0≤n≤r-1;然后将所有Ej和Fj分别发送至第j个LM模块;
所述第j个LM模块LMj,用于接收分组加法模块202发送的Ej和Fj;将Ej和Fj进行乘法运算得到D'j,并在2m-1位有限域上左移位,输出Dj;
所述相加约简模块用于接收所有LM模块的输出结果并进行加法运算得到D,并利用Arash乘法器的约简模块将D约简为m位结果C,输出A和B有限域内的乘法结果C;
所述输出模块用于接收相加约简模块发送的C,并将C输出,C即为m位乘法因子A和m位乘法因子B在有限域内的相乘运算的结果。
所述LMj模块包括2t-1维乘法模块、2m-1维移位模块和寄存器;
所述2t-1维乘法模块用于接收分组加法模块发送的乘法因子Ej和Fj,将Ej和Fj进行2t-1维有限域乘法运算,得到D'j并发送给2m-1维移位模块;
所述2m-1维移位模块将D'j在2m-1维有限域进行左移位操作,得到Dj并发送到寄存器;
寄存器用于存储2m-1维移位模块发送的Dj。
所述2t-1维乘法模块包括左移位模块、右移位模块和矩阵相乘模块,
所述左移位模块用于接收分组加法模块发送的乘法因子Ej,将获取到的操作数进行t-1次左移位操作,结合操作数得到t行t列的矩阵Lt×t,将所述矩阵Lt×t发送给矩阵相乘模块;
所述右移位模块用于接收分组加法模块发送的乘法因子Ej,将获取到的操作数进行t-1次右移位操作,得到t-1行t列的矩阵Ut-1×t,将所述矩阵Ut-1×t发送给矩阵相乘模块;
所述矩阵相乘模块用于将左移位模块和右移位模块联合生成的与分组加法模块输出的Fj进行相乘运算,得到并将发送给2m-1维移位模块。
所述矩阵相乘模块包括2t-1个MU(multiplier unit,乘法单元),其中,t-1个MU与右移位模块相连,用于实现矩阵Ut-1×t与Fj的相乘运算结果;t个MU与左移位模块相连,实现Lt×t与Fj的相乘运算。
当h≤t时,所述的MUh(表示第h个MU)包括h个与门和个异或门;当h>t时,所述的MUh包括2t-h个与门和个异或门;其中,与门为并列结构,位于第一级,异或门为树形结构,与门与异或门次级连接。
所述相加约简模块包括相加模块和矩阵简化模块,
所述相加模块用于接收所有LMj模块的输出Dj,进行加法运算,得到结果D并发送给矩阵简化模块;
所述矩阵简化模块用于接收相加模块的输出D,实现D与简化矩阵R相乘,将2m-1位的结构D转化为m位的乘法结果C。
所述简化矩阵R由约简矩阵Q和单位矩阵I组成,其中,约简矩阵Q由有限域上的不可约多项式P(x)=xm+xsp+..+xs2+xs1+1确定且具有唯一性,其生成规则如下(引用文献“A.R-Masoleh,andM.A.Hasan.Low ComPlexity Bit Parallel Architectures forPolynomial Basis Multiplication over GF(2m).IEEE Trans.Computers,vol.53,no.8,PP.945-958,2004.”的方法规则):
R矩阵的第m-1列有p+1行1,其余列为0,1的分布分别在0,s1,s2,…,sp行,其中0,s1,s2,…,sp为表示P(x)=xm+xsp+..+xs2+xs1+1中x的幂,p为计数单位;
R矩阵的第m-2列至sp列由第0列依次下移位得到;
R矩阵的第sp-1至0列的构造规则如下:
当i列最后一行以1结尾时,i-1列向下移一位并与第m-1列的值进行异或运算;
当i列最后一行以0结尾时,i-1列向下移一位;
按照上述构造规则,构造第0列至第m-2列,得到的约简矩阵Q为m行m-1列矩阵,则简化矩阵为R=[Qm×(m-1) Im×m],其中,Qm×(m-1)为根据有限域不可约多项式生成的约简矩阵,Im×m为单位矩阵。
由上述可知,本发明这种通过降维的方法,将高位宽的相乘运算分解成多个低位宽的相乘运算,降低了空间复杂度,提高了有限域内乘法运算的效率。
降维有限域乘法器算法模型如下:
GF(2m)上的两个元素和其中, 或者则有限域的乘法可表示为:C(α)=A(α)B(α)modF(α)=D(α)modF(α),其中,F(α)=0为GF(2m)上的不可约多项式。因此,经过进一步整理可得:其中,
因此,m维的乘法运算可以分解为个t维的乘法运算。
基于降维实现有限域乘法的特征值选取:
一般情况下,一个异或门的资源消耗约等于3个与门的资源消耗,则可计算降维乘法运算的资源消耗等价为N个异或门,其中,NX和NA分别为异或门和与门的个数。经分析可知,N(r)存在极小值。考虑实际中m的数值非常大,可近似解得,当时,N达到最小值。
对于时延,比特并行乘法器为:其中,TA和TX分别为单个异或门和单个与门的时延,为计算D(α)modF(α)关键路径上异或门的个数。基于降维的乘法器时延为:不论r或t的取值大小,该乘法器设计方法比传统设计方法多了3个异或门的时延。另外,基于Karatsuba方法实现的复杂度乘法器时延为:在m较大时该乘法器延时过大,不适用于高通量计算的要求。
综上所述,将m维的乘法器分解为多个维乘法器之和,能够实现基于降维的最优乘法器设计。
有益效果:本发明的优点体现在:
(1)以增加3个异或门时延为代价,将有限域乘法运算的资源消耗降到了最低。实验证明,当m为400时,比传统的乘法器资源消耗降低了40%左右,并随着m的增加逐渐接近50%。
(2)在满足高通量要求的前提下,有助于大幅度降低有限域乘法器实现的成本,适用于现今高速的通信系统。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1是本发明中的一种基于降维实现有限域乘法的方法的流程图;
图2是本发明中一种基于降维实现有限域乘法的装置的整体结构示意图;
图3是本发明中一种基于降维实现有限域乘法的装置的LMj模块的内部结构图;
图4是本发明中一种基于降维实现有限域乘法的装置的2t-1维模块结构示意图;
图5是本发明中一种基于降维实现有限域乘法的装置的MU的结构示意图;
图6是本发明中一种基于降维实现有限域乘法的装置的相加约简模块的结构示意图。
图7是本发明中一种基于降维实现有限域乘法的装置的实施例的结构示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明公开了一种基于降维实现有限域乘法的方法,本方法用于实现有限域内m位乘法因子A和m位乘法因子B的相乘运算,为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1是本发明中的一种基于降维实现有限域乘法的方法的流程图,包括:
步骤101,对m位的乘法因子A和B分别按从低位到高位进行分组,以t位为一组,分为r组,分组后的各组分别表示为Ai和Bi,其中i=0,1,...,r-1;
步骤102,将每个乘法因子各自的分组进行有限域内两两加法运算,得到Ej=Ai+Ak和Fj=Bi+Bk,其中,且 0≤n≤r-1,当时,Ej=An和Fj=Bn,其中,0≤n≤r-1;
步骤103,将Ej和Fj做乘法运算,得到2t-1位的乘法结果D'j=Ej·Fj;将D'j在2m-1位有限域中进行移位操作,得到Dj;其中,
步骤104,将所有Dj进行加法操作得到D,并进行有限域内约简运算,得到C;输出C即为乘法因子A和乘法因子B在有限域内的乘积。
本发明这种将有限域内的高阶乘法运算分解成有限域内多个低阶乘法运算;表示向上取整函数,即分组个数r的值等于将m/t的值向上取整;其中,最高位Ar-1和Br-1不足t位时,将不足的位数进行补0操作,补成t位。
本发明还公开了一种基于串并结合实现有限域乘法的装置,该装置用于实现有限域内m位乘法因子A和m位乘法因子B的相乘运算,如图2所示,图2是本发明中一种基于降维实现有限域乘法的装置的整体结构示意图。该装置包括:输入模块201,分组加法模块202,个LM模块203,相加约简模块204,输出模块205;
输入模块201,用于将m位乘法因子A和m位乘法因子B发送给分组加法模块202;
分组加法模块202,用于接收输入模块201发送的乘法因子A和B,将乘法因子A和B分别从低位到高位进行分组操作,以位为一组,分成r组,分组后的各组分别表示为Ai和Bi;将分组Ai和Bi各自进行有限域内加法运算得到Ej=Ai+Ak和Fj=Bi+Bk,其中,且0≤n≤r-1,当时,Ej=An和Fj=Bn,其中,0≤n≤r-1;
LMj模块203,用于接收分组加法模块202发送的Ej和Fj;将Ej和Fj进行乘法运算得到D'j,并在2m-1位有限域上左移位,输出Dj;其中,且
相加约简模块204,用于接收所有LMj模块的输出结果Dj并进行加法运算得到D,并利用Arash乘法器的约简模块将D约简为m位结果C,输出A和B有限域内的乘法结果C;
输出模块205,用于接收相加约简模块204发送的C,将C输出。所述输出模块205输出的C即为m位乘法因子A和m位乘法因子B在有限域内的相乘运算的结果。
图3是本发明中一种基于降维实现有限域乘法的装置的LMj模块的内部结构图,所示LMj模块203包括2t-1维乘法模块301,2m-1维移位模块302,寄存器Zj303;
2t-1维乘法模块301,用于接收分组加法模块202发送的乘法因子Ej和Fj,将Ej和Fj进行2t-1维有限域乘法运算,得到并发送给2m-1
2m-1维移位模块302,用于接收D'j,将D'j在2m-1维有限域进行左移位操作,得到Dj并发送到寄存器Zj303;
寄存器Zj303,用于存储2m-1维移位模块发送的Dj。
LMj模块203的输入由图2中的分组加法模块202提供输入。
图4是本发明中一种基于降维实现有限域乘法的装置的2t-1维乘法模块结构示意图,包括:左移位模块401,右移位模块402,矩阵相乘模块403;其中,
左移位模块401,用于接收分组加法模块202发送的乘法因子Ej,将获取到的操作数进行t-1次左移位操作,结合操作数得到t行t列的矩阵Lt×t,将所述矩阵Lt×t发送给矩阵相乘模块403;
右移位模块402,用于接收分组加法模块发送的乘法因子Ej,将获取到的操作数进行t-1次右移位操作,得到t-1行t列的矩阵Ut-1×t,将所述矩阵Ut-1×t发送给矩阵相乘模块403;
矩阵相乘模块403,用于将左移位模块401和右移位模块402联合生成的与分组加法模块202输出的Fj进行相乘运算,得到将发送给2m-1维移位模块302。
如图4所示,矩阵相乘模块403包括2t-1个MU,其中,t-1个MU与右移位模块402相连,用于实现矩阵Ut-1×t与Fj的相乘运算结果;t个MU与左移位模块401和分组加法模块202输出Ej相连,实现Lt×t与Fj的相乘运算。
图5是本发明中一种基于降维实现有限域乘法的装置的MUh的结构示意图,当h≤t时,所述的MUh包括h个与门和个异或门;当h>t时,所述的MUh包括2t-h个与门和个异或门;其中,与门为并列结构,位于第一级,异或门为树形结构,与门与异或门次级连接。
图6是本发明中一种基于降维实现有限域乘法的装置的相加约简模块的结构示意图,包括:相加模块601,矩阵简化模块602;其中,
相加模块601,用于接收所有DMj模块203的输出Dj,进行加法运算,得到结果D并发送给矩阵简化模块602;
矩阵简化模块602,用于接收相加模块的输出D,实现D与简化矩阵R相乘,将2m-1位的结构D转化为m位的乘法结果C。
所述简化矩阵R由约简矩阵Q和单位矩阵I组成,其中,约简矩阵Q由有限域上的不可约多项式P(x)=xm+xsp+..+xs2+xs1+1确定且具有唯一性,其生成规则如下:
R矩阵的第m-1列有p+1行1,其余列为0,1的分布分别在0,s1,s2,…,sp行,其中0,s1,s2,…,sp为表示P(x)=xm+xsp+..+xs2+xs1+1中x的幂,p为计数单位,表示第几个;
R矩阵的第m-2列至sp列由第0列依次下移位得到。
R矩阵的第sp-1至0列的构造规则如下:
当i列最后一行以1结尾时,i-1列向下移一位并与第m-1列的值进行异或运算;
当i列最后一行以0结尾时,i-1列向下移一位。
在本发明中按照上述构造规则,构造第0列至第m-2列,得到的约简矩阵Q为m行m-1列矩阵。则简化矩阵为R=[Qm×(m-1) Im×m],其中,Qm×(m-1)为根据有限域不可约多项式生成的约简矩阵,Im×m为单位矩阵。
下面结合具体实施例来说明本发明。GCM(Galois/Counter Mode)是一种在二元Galois域使用泛散列提供加密认证的分组密码算法。其中认证方案核心为128位乘法装置。即实现m位的乘法因子A和m位的乘法因子B的乘法运算,其中m=128。图7是本发明中一种基于降维实现有限域乘法的装置的实施例的结构示意图。
步骤1:m=128,取值即以24位宽为一组,将A和B分别均分为6组:乘法因子A的[23:0]为A0,[47:24]为A1,…,[127:120]为A5的低8位,A5的高16位补0。同理,可将乘法因子B分为B0,…,B5。
步骤2:对于A和B的分组分别进行两两相加,得到Ej和Fj。
步骤3:利用12个LM模块实现Ej和Fj的乘法运算,得到结果Dj,其中,j=0,1,…,11。
步骤4:将所有Dj相加得到255位宽的结果D,其中,j=0,1,…,11;
按照前面所述简化矩阵R的生成规则,对于有限域GF(2128)上的不可约多项式为P(x)=x128+x7+x2+x+1,即s1=1,s2=2,s3=7,共有3个数则p=3。则构造的约简矩阵Q的第127列有p+1=4个1,分别在127,126,125,120行;按照生成规则可的Q为:
则简化矩阵为R=[Q128×127 I128×128];将D经过依据规则生成的约简矩阵R=[Q128×127 I128×128]计算,得到128位宽的乘法结果C,即为GF(2128)上A和B的乘积。
综上所述,本发明采用分治思想,通过降维的方法,将高位宽的相乘运算分解成多个低位宽的相乘运算的和,降低了空间复杂度,具有低复杂度、高吞吐量的特性。
本发明提供了一种基于降维实现有限域乘法的方法和装置,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (10)
1.一种基于降维实现有限域乘法的方法,其特征在于,包括如下步骤:
步骤1,对m位的乘法因子A和B分别按从低位到高位进行分组,以t位为一组,分为r组,分组后的各组分别表示为Ai和Bi,其中 表示向上取整函数,i=0,1,...,r-1;
步骤2,将每个乘法因子各自的分组Ai和Bi进行有限域内两两加法运算,分别得到相加之和Ej=Ai+Ak和Fj=Bi+Bk,其中,且 0≤n≤r-1,当时,Ej=An并且Fj=Bn,其中,0≤n≤r-1;
步骤3,将Ej和Fj做乘法运算,得到2t-1位的乘法结果D'j=Ej·Fj;将D'j在2m-1位有限域中进行移位操作,得到Dj;
步骤4,将所有Dj在有限域内做加法运算得到D,并乘以根据有限域不可约多项式生成的简化矩阵,实现有限域内约简运算,得到C;输出C即为乘法因子A和乘法因子B在有限域内的乘积。
2.根据权利要求1所述的方法,其特征在于,步骤1中,分组后的Ai组的最高位Ar-1和Bi组的最高位Br-1不足t位时,将不足的位数进行补0操作,补成t位。
3.根据权利要求2所述的方法,其特征在于,步骤3中,将D'j在2m-1位有限域中进行移位操作,具体为将D'j在2m-1位有限域上左移位,得到Dj。
4.一种基于降维实现有限域乘法的装置,其特征在于,包括输入模块、分组加法模块、个LM模块、相加约简模块和输出模块;
所述输入模块用于将m位乘法因子A和m位乘法因子B发送给分组加法模块;
所述分组加法模块将乘法因子A和B分别从低位到高位进行分组操作,以位为一组,分成r组,分组后的各组分别表示为Ai和Bi;将分组Ai和Bi各自进行有限域内加法运算得到Ej=Ai+Ak和Fj=Bi+Bk,其中,且0≤n≤r-1,当时,Ej=An和Fj=Bn,其中,0≤n≤r-1;然后将所有Ej和Fj分别发送至第j个LM模块;
所述第j个LM模块LMj,用于接收分组加法模块202发送的Ej和Fj;将Ej和Fj进行乘法运算得到D'j,并在2m-1位有限域上左移位,输出Dj;
所述相加约简模块用于接收所有LM模块的输出结果并进行加法运算得到D,并利用Arash乘法器的约简模块将D约简为m位结果C,输出A和B有限域内的乘法结果C;
所述输出模块用于接收相加约简模块发送的C,并将C输出,C即为m位乘法因子A和m位乘法因子B在有限域内的相乘运算的结果。
5.根据权利要求4所述的一种基于降维实现有限域乘法的装置,其特征在于,所述LMj模块包括2t-1维乘法模块、2m-1维移位模块和寄存器;
所述2t-1维乘法模块用于接收分组加法模块发送的乘法因子Ej和Fj,将Ej和Fj进行2t-1维有限域乘法运算,得到D'j并发送给2m-1维移位模块;
所述2m-1维移位模块将D'j在2m-1维有限域进行左移位操作,得到Dj并发送到寄存器;
寄存器用于存储2m-1维移位模块发送的Dj。
6.根据权利要求5所述的一种基于降维实现有限域乘法的装置,其特征在于,所述2t-1维乘法模块包括左移位模块、右移位模块和矩阵相乘模块,
所述左移位模块用于接收分组加法模块发送的乘法因子Ej,将获取到的操作数进行t-1次左移位操作,结合操作数得到t行t列的矩阵Lt×t,将所述矩阵Lt×t发送给矩阵相乘模块;
所述右移位模块用于接收分组加法模块发送的乘法因子Ej,将获取到的操作数进行t-1次右移位操作,得到t-1行t列的矩阵Ut-1×t,将所述矩阵Ut-1×t发送给矩阵相乘模块;
所述矩阵相乘模块用于将左移位模块和右移位模块联合生成的与分组加法模块输出的Fj进行相乘运算,得到并将发送给2m-1维移位模块。
7.根据权利要求6所述的一种基于降维实现有限域乘法的装置,其特征在于,所述矩阵相乘模块包括2t-1个MU,其中,t-1个MU与右移位模块相连,用于实现矩阵Ut-1×t与Fj的相乘运算结果;t个MU与左移位模块相连,实现Lt×t与Fj的相乘运算。
8.根据权利要求7所述的一种基于降维实现有限域乘法的装置,其特征在于,当h≤t时,第h个MU,即MUh,包括h个与门和个异或门;当h>t时,所述的MUh包括2t-h个与门和个异或门;其中,与门为并列结构,位于第一级,异或门为树形结构,与门与异或门次级连接。
9.根据权利要求8所述的一种基于降维实现有限域乘法的装置,其特征在于,所述相加约简模块包括相加模块和矩阵简化模块,
所述相加模块用于接收所有LMj模块的输出Dj,进行加法运算,得到结果D并发送给矩阵简化模块;
所述矩阵简化模块用于接收相加模块的输出D,实现D与简化矩阵R相乘,将2m-1位的结构D转化为m位的乘法结果C。
10.根据权利要求9所述的一种基于降维实现有限域乘法的装置,其特征在于,所述简化矩阵R由约简矩阵Q和单位矩阵I组成,其中,约简矩阵Q由有限域上的不可约多项式P(x)=xm+xsp+..+xs2+xs1+1确定且具有唯一性,其生成规则如下:
R矩阵的第m-1列有p+1行1,其余列为0,1的分布分别在0,s1,s2,…,sp行,其中0,s1,s2,…,sp为表示P(x)=xm+xsp+..+xs2+xs1+1中x的幂,p为计数单位;
R矩阵的第m-2列至sp列由第0列依次下移位得到;
R矩阵的第sp-1至0列的构造规则如下:
当i列最后一行以1结尾时,i-1列向下移一位并与第m-1列的值进行异或运算;
当i列最后一行以0结尾时,i-1列向下移一位;
按照上述构造规则,构造第0列至第m-2列,得到的约简矩阵Q为m行m-1列矩阵,则简化矩阵为R=[Qm×(m-1) Im×m],其中,Qm×(m-1)为根据有限域不可约多项式生成的约简矩阵,Im×m为单位矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711096271.1A CN107992283B (zh) | 2017-11-09 | 2017-11-09 | 一种基于降维实现有限域乘法的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711096271.1A CN107992283B (zh) | 2017-11-09 | 2017-11-09 | 一种基于降维实现有限域乘法的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107992283A true CN107992283A (zh) | 2018-05-04 |
CN107992283B CN107992283B (zh) | 2020-08-04 |
Family
ID=62031425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711096271.1A Active CN107992283B (zh) | 2017-11-09 | 2017-11-09 | 一种基于降维实现有限域乘法的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107992283B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194445A (zh) * | 2018-09-13 | 2019-01-11 | 中国电子科技集团公司第二十八研究所 | 一种适用于短码长喷泉码的编译码优化方法 |
CN109284083A (zh) * | 2018-09-14 | 2019-01-29 | 北京探境科技有限公司 | 一种乘法运算装置及方法 |
CN110417545A (zh) * | 2019-06-28 | 2019-11-05 | 中国人民解放军战略支援部队信息工程大学 | 有限域离散对数量子求解线路优化构造方法 |
CN110688089A (zh) * | 2019-09-24 | 2020-01-14 | 武汉理工大学 | 一种针对群元数乘或幂运算的计算方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095495A1 (en) * | 2004-10-29 | 2006-05-04 | Choi Yong J | Apparatus for hybrid multiplier in GF(2M) and method thereof |
CN102184088A (zh) * | 2011-03-23 | 2011-09-14 | 北京邮电大学 | 一种基于串并结合实现有限域乘法的方法及装置 |
CN104679474A (zh) * | 2015-03-16 | 2015-06-03 | 东南大学 | 有限域gf(2^227)上的乘法器及模乘算法 |
-
2017
- 2017-11-09 CN CN201711096271.1A patent/CN107992283B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095495A1 (en) * | 2004-10-29 | 2006-05-04 | Choi Yong J | Apparatus for hybrid multiplier in GF(2M) and method thereof |
CN102184088A (zh) * | 2011-03-23 | 2011-09-14 | 北京邮电大学 | 一种基于串并结合实现有限域乘法的方法及装置 |
CN104679474A (zh) * | 2015-03-16 | 2015-06-03 | 东南大学 | 有限域gf(2^227)上的乘法器及模乘算法 |
Non-Patent Citations (2)
Title |
---|
寿国础: ""无源光网络安全技术与关键算法研究"", 《中国博士学位论文全文数据库信息科技辑》 * |
毛泽湘: ""伽罗华域GF(2~m)乘法器研究及实现"", 《中国硕士学位论文全文数据库信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194445A (zh) * | 2018-09-13 | 2019-01-11 | 中国电子科技集团公司第二十八研究所 | 一种适用于短码长喷泉码的编译码优化方法 |
CN109194445B (zh) * | 2018-09-13 | 2020-11-27 | 中国电子科技集团公司第二十八研究所 | 一种适用于短码长喷泉码的编译码优化方法 |
CN109284083A (zh) * | 2018-09-14 | 2019-01-29 | 北京探境科技有限公司 | 一种乘法运算装置及方法 |
CN110417545A (zh) * | 2019-06-28 | 2019-11-05 | 中国人民解放军战略支援部队信息工程大学 | 有限域离散对数量子求解线路优化构造方法 |
CN110417545B (zh) * | 2019-06-28 | 2021-12-17 | 中国人民解放军战略支援部队信息工程大学 | 有限域离散对数量子求解线路优化构造方法 |
CN110688089A (zh) * | 2019-09-24 | 2020-01-14 | 武汉理工大学 | 一种针对群元数乘或幂运算的计算方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107992283B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Okada et al. | Implementation of Elliptic Curve Cryptographic Coprocessor over GF (2 m) on an FPGA | |
CN107992283A (zh) | 一种基于降维实现有限域乘法的方法和装置 | |
GB2323457A (en) | A finite field multiplication system | |
CN104679474A (zh) | 有限域gf(2^227)上的乘法器及模乘算法 | |
CN101599828A (zh) | 一种高效的rsa加解密方法及其协处理器 | |
Bisheh Niasar et al. | Efficient hardware implementations for elliptic curve cryptography over Curve448 | |
CN102184088B (zh) | 一种基于串并结合实现有限域乘法的方法及装置 | |
CN104580017A (zh) | 基于rss的网络会话分发方法及系统 | |
CN107885486B (zh) | 一种基于查找树的复合有限域求逆装置 | |
Kalimoldayev et al. | Polynomials Multiplier under Irreducible Polynomial Module for High-Performance Cryptographic Hardware Tools. | |
CN109039583A (zh) | 复用轮变换电路、aes加密电路及加密方法 | |
CN108933652A (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN113467754A (zh) | 一种基于分解约简的格加密模乘运算方法及架构 | |
CN103023659B (zh) | 一种参数位宽可扩展的ecc加密硬件装置 | |
CN109150495A (zh) | 一种轮变换复用电路及其aes解密电路 | |
Li et al. | Research in fast modular exponentiation algorithm based on FPGA | |
CN101809638A (zh) | 运算方法和运算装置 | |
Shah et al. | Maximal cyclic subgroups of the groups of units of Galois rings: a computational approach | |
CN108566271A (zh) | 复用轮变换电路、aes加密电路及其加密方法 | |
CN109033893A (zh) | 基于合成矩阵的aes加密单元、aes加密电路及其加密方法 | |
Jahani et al. | Efficient big integer multiplication and squaring algorithms for cryptographic applications | |
CN109033847A (zh) | Aes加密运算单元、aes加密电路及其加密方法 | |
CN107463354A (zh) | 一种面向ECC的双域并行度可变的Montgomery模乘电路 | |
Seo et al. | Optimized Karatsuba squaring on 8‐bit AVR processors | |
CN106775575B (zh) | 基于二次剩余的低成本rfid认证协议的乘法器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: No.1 Lingshan South Road, Qixia District, Nanjing, Jiangsu Province, 210000 Patentee after: THE 28TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp. Address before: 210007 No. 1 East Street, alfalfa garden, Jiangsu, Nanjing Patentee before: THE 28TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp. |