一种基于乘方运算的复合有限域求逆器及其求逆方法技术

技术编号:19542374 阅读:25 留言:0更新日期:2018-11-24 20:23
本发明专利技术公开了基于乘方运算的复合有限域求逆器,包括控制器、输入端口、输出端口、复合域平方模块、复合域乘法模块、第一子域乘法模块、第一子域加法模块、第一子域平方模块、第二子域乘法模块和第二子域加法模块。所述复合域乘法模块分别与第二子域加法模块、第二子域乘法模块连接;所述控制器分别与输入端口、输出端口、复合域乘法模块、复合域平方模块连接。本发明专利技术还公开了上述基于乘方运算的复合有限域求逆器的求逆方法。本发明专利技术通过乘方运算实现了复合有限域的求逆运算,在计算GF((2

A Complex Finite Field Inverter Based on Multiplier Operations and Its Inversion Method

The invention discloses a composite finite field inverter based on multiplication operation, including a controller, an input port, an output port, a composite domain square module, a composite domain multiplication module, a first sub-domain multiplication module, a first sub-domain addition module, a first sub-domain square module, a second sub-domain multiplication module and a second sub-domain addition module. The composite domain multiplication module is connected with the second sub-domain addition module and the second sub-domain multiplication module respectively, and the controller is connected with the input port, the output port, the composite domain multiplication module and the composite domain square module respectively. The invention also discloses the inversion method of the complex finite field inverter based on the multiplication operation. The invention realizes the inverse operation of compound finite field by multiplier operation, and calculates GF ((2)

【技术实现步骤摘要】
一种基于乘方运算的复合有限域求逆器及其求逆方法
本专利技术涉及一种对有限域的元素进行求逆的装置,特别涉及一种基于乘方运算的复合有限域求逆器及其求逆方法。
技术介绍
有限域运算器包括加法器、乘法器、求逆器等,可以分别计算有限域上两个元素的加法、乘法和一个元素的逆元。有限域除法一般使用乘法器和求逆器协同运算。所以,有限域求逆器在有限域运算中被广泛使用。有限域求逆属于有限域运算,与有限域加法、乘法、除法、平方、乘方等运算一起被密码算法广泛使用。复合有限域属于有限域,常用的复合有限域是GF((2n)2),域的大小是(2n)2,它的子域是GF(2n)。GF((2n)2)的求逆运算一般需要子域GF(2n)的加法、乘法、求逆等运算。因为复合有限域是GF((2n)2)求逆包含子域GF(2n)运算,所以通过优化GF(2n)运算可以提升GF((2n)2)的求逆效率。现有技术中存在的复合有限域求逆器较少基于乘方运算来实现求逆。在实时和对速度敏感的环境下,使用基于乘方运算的复合有限域求逆器来实现有限域求逆可以提高运算效率。
技术实现思路
为了克服现有技术的上述缺点与不足,本专利技术的目的在于提供一种基于乘方运算的复合有限域求逆器,在计算GF((2n)2)的求逆运算相对于现有的有限域求逆器能够提高效率。本专利技术的目的通过以下技术方案实现:一种基于乘方运算的复合有限域求逆器,包括:输入端口,包括用于输入复合有限域GF((2n)2)的求逆运算数a(x)的端口a、用于输入时钟信号t的端口clk、用于输入复合有限域GF((2n)2)的不可约多项式q(x)的端口q和用于输入子域GF(2n)的不可约多项式p(x)的端口p;输出端口,包括用于输出复合有限域GF((2n)2)的求逆运算结果b(x)的端口b;控制器,用于调度与其相连的部件和控制输入输出;复合域乘法模块,用于计算复合有限域GF((2n)2)乘法;复合域平方模块,用于计算复合有限域GF((2n)2)平方;第一子域加法模块,用于计算子域GF(2n)加法;第一子域乘法模块,用于计算子域GF(2n)乘法;第一子域平方模块,用于计算子域GF(2n)平方;第二子域加法模块,用于计算子域GF(2n)加法;第二子域乘法模块,用于计算子域GF(2n)乘法;所述复合域平方模块分别与第一子域乘法模块、第一子域乘法模块、第一子域平方模块连接;所述复合域乘法模块分别与第二子域加法模块、第二子域乘法模块连接;所述控制器分别与输入端口、输出端口、复合域乘法模块、复合域平方模块连接。所述输入端口的复合有限域GF((2n)2)的不可约多项式q(x),表示成多项式的形式为:所述输入端口的运算数a(x)由两个n比特的数ah,al组成,表示成多项式的形式:a(x)=ahx+al,ah,al是有限域GF(2n)的元素;所述输入端口的运算数a(x)表示成系数的形式为:a(x)=a(ah,al),ah,al是有限域GF(2n)的元素。所述输入端口的复合有限域GF((2n)2)的不可约多项式q(x),表示成多项式的形式为:q(x)=x2+x+e,e是有限域GF(2n)的常数;所述输入端口的子域GF(2n)的不可约多项式p(x),表示成多项式的形式为:p(x)=xn+pn-1xn-1+pn-2xn-2+...+p1x+1,pn-1,pn-2,...,p1是有限域GF(2)的元素,即二进制数(0)2和(1)2中的数;所述输出端口的运算数b(x)由两个n比特的数bh,bl组成,表示成多项式的形式为:b(x)=bhx+bl,bh,bl是有限域GF(2n)的元素;所述输出端口的运算数b(x)可以表示成系数的形式:b(x)=b(bh,bl),bh,bl是有限域GF(2n)的元素。所述复合域平方模块计算复合有限域GF((2n)2)的元素表示为a(x)=ahx+al,那么计算a(x)的平方的步骤如下:首先,调用第一子域平方模块运算s0=ah2,s0,ah是子域GF(2n)的元素;然后,调用第一子域平方模块运算s1=al2,s1,al是子域GF(2n)的元素;调用第一子域乘法模块运算s2=s0e,s2,s0,e是子域GF(2n)的元素;最后,调用第一子域加法模块运算s3=s2+s1,s3,s2,s1是子域GF(2n)的元素;令bh=s0,bl=s3,bh,bl是子域GF(2n)的元素;令b(x)=bhx+bl,b(x)是复合有限域GF((2n)2)的元素,b(x)是a(x)=ahx+al的平方运算结果。所述复合域乘法模块计算复合有限域GF((2n)2)的两个元素的乘法的步骤如下:复合有限域GF((2n)2)的两个元素表示为a(x)=ahx+al和b(x)=bhx+bl,那么计算a(x)和b(x)的乘法的步骤如下:首先,调用第二子域乘法模块运算s0=ahbh,s0,ah,bh是子域GF(2n)的元素;然后,调用第二子域乘法模块运算s1=ahbl,s1,ah,bl是子域GF(2n)的元素;接着,调用第二子域乘法模块运算s2=albh,s2,al,bh是子域GF(2n)的元素;然后,调用第二子域乘法模块运算s3=albl,s3,al,bl是子域GF(2n)的元素;接着,调用第二子域乘法模块运算s4=s0e,s4,s0,e是子域GF(2n)的元素;然后,调用第二子域加法模块运算s5=s4+s3,s5,s4,s3是子域GF(2n)的元素;接着,调用第二子域加法模块运算s6=s0+s1,s6,s0,s1是子域GF(2n)的元素;最后,调用第二子域加法模块运算s7=s6+s2,s7,s6,s2是子域GF(2n)的元素;令ch=s7,cl=s5,ch,cl是子域GF(2n)的元素;令c(x)=chx+cl,c(x)是复合有限域GF((2n)2)的元素,c(x)是a(x)=ahx+al和b(x)=bhx+bl的乘法运算结果。所述第一子域加法模块和第二子域加法模块的构造相同,包含n个异或逻辑门,用于计算GF(2n)的两个已知元素f(x),g(x)的加法h(x)=f(x)+g(x),其中,f(x)=fn-1xn-1+fn-2xn-2+...+f0,g(x)=gn-1xn-1+gn-2xn-2+...+g0,h(x)=hn-1xn-1+hn-2xn-2+...+h0,fn-1,fn-2,...,f0,gn-1,gn-2,...,g0,hn-1,hn-2,...,h0是有限域GF(2)的元素;所述第一子域加法模块和第二子域加法模块,计算h(x)=f(x)+g(x)的步骤如下:对于i=0,1,...,n-1,计算hi=fi+gi,其中+是限域GF(2)的加法;是h(x)=f(x)+g(x)的运算结果。所述第一子域平方模块,用于计算GF(2n)的已知元素c(x)的平方h(x)=f(x)2,其中,f(x)=fn-1xn-1+fn-2xn-2+...+f0,h(x)=hn-1xn-1+hn-2xn-2+...+h0,fn-1,fn-2,...,f0,hn-1,hn-2,...,h0是有限域GF(2)的元素;所述第一子域平方模块包含的平方查找表的构造如下:对于有限域GF(2n)的每一个元素,计算平方,假定GF(2n)元素是α,计算β=α2modp(x),mod是模运算,β是GF(本文档来自技高网...

【技术保护点】
1.一种基于乘方运算的复合有限域求逆器,其特征在于,包括:输入端口,包括用于输入复合有限域GF((2n)2)的求逆运算数a(x)的端口a、用于输入时钟信号t的端口clk、用于输入复合有限域GF((2n)2)的不可约多项式q(x)的端口q和用于输入子域GF(2n)的不可约多项式p(x)的端口p;输出端口,包括用于输出复合有限域GF((2n)2)的求逆运算结果b(x)的端口b;控制器,用于调度与其相连的部件和控制输入输出;复合域乘法模块,用于计算复合有限域GF((2n)2)乘法;复合域平方模块,用于计算复合有限域GF((2n)2)平方;第一子域加法模块,用于计算子域GF(2n)加法;第一子域乘法模块,用于计算子域GF(2n)乘法;第一子域平方模块,用于计算子域GF(2n)平方;第二子域加法模块,用于计算子域GF(2n)加法;第二子域乘法模块,用于计算子域GF(2n)乘法;所述复合域平方模块分别与第一子域乘法模块、第一子域乘法模块、第一子域平方模块连接;所述复合域乘法模块分别与第二子域加法模块、第二子域乘法模块连接;所述控制器分别与输入端口、输出端口、复合域乘法模块、复合域平方模块连接。

【技术特征摘要】
1.一种基于乘方运算的复合有限域求逆器,其特征在于,包括:输入端口,包括用于输入复合有限域GF((2n)2)的求逆运算数a(x)的端口a、用于输入时钟信号t的端口clk、用于输入复合有限域GF((2n)2)的不可约多项式q(x)的端口q和用于输入子域GF(2n)的不可约多项式p(x)的端口p;输出端口,包括用于输出复合有限域GF((2n)2)的求逆运算结果b(x)的端口b;控制器,用于调度与其相连的部件和控制输入输出;复合域乘法模块,用于计算复合有限域GF((2n)2)乘法;复合域平方模块,用于计算复合有限域GF((2n)2)平方;第一子域加法模块,用于计算子域GF(2n)加法;第一子域乘法模块,用于计算子域GF(2n)乘法;第一子域平方模块,用于计算子域GF(2n)平方;第二子域加法模块,用于计算子域GF(2n)加法;第二子域乘法模块,用于计算子域GF(2n)乘法;所述复合域平方模块分别与第一子域乘法模块、第一子域乘法模块、第一子域平方模块连接;所述复合域乘法模块分别与第二子域加法模块、第二子域乘法模块连接;所述控制器分别与输入端口、输出端口、复合域乘法模块、复合域平方模块连接。2.根据权利要求1的基于乘方运算的复合有限域求逆器,其特征在于,所述输入端口的复合有限域GF((2n)2)的不可约多项式q(x),表示成多项式的形式为:所述输入端口的运算数a(x)由两个n比特的数ah,al组成,表示成多项式的形式:a(x)=ahx+al,ah,al是有限域GF(2n)的元素;所述输入端口的运算数a(x)表示成系数的形式为:a(x)=a(ah,al),ah,al是有限域GF(2n)的元素。所述输入端口的复合有限域GF((2n)2)的不可约多项式q(x),表示成多项式的形式为:q(x)=x2+x+e,e是有限域GF(2n)的常数;所述输入端口的子域GF(2n)的不可约多项式p(x),表示成多项式的形式为:p(x)=xn+pn-1xn-1+pn-2xn-2+...+p1x+1,pn-1,pn-2,...,p1是有限域GF(2)的元素,即二进制数(0)2和(1)2中的数;所述输出端口的运算数b(x)由两个n比特的数bh,bl组成,表示成多项式的形式为:b(x)=bhx+bl,bh,bl是有限域GF(2n)的元素;所述输出端口的运算数b(x)可以表示成系数的形式:b(x)=b(bh,bl),bh,bl是有限域GF(2n)的元素。3.根据权利要求2所述的基于乘方运算的复合有限域求逆器,其特征在于,所述复合域平方模块计算复合有限域GF((2n)2)的元素表示为a(x)=ahx+al,那么计算a(x)的平方的步骤如下:首先,调用第一子域平方模块运算s0=ah2,s0,ah是子域GF(2n)的元素;然后,调用第一子域平方模块运算s1=al2,s1,al是子域GF(2n)的元素;调用第一子域乘法模块运算s2=s0e,s2,s0,e是子域GF(2n)的元素;最后,调用第一子域加法模块运算s3=s2+s1,s3,s2,s1是子域GF(2n)的元素;令bh=s0,bl=s3,bh,bl是子域GF(2n)的元素;令b(x)=bhx+bl,b(x)是复合有限域GF((2n)2)的元素,b(x)是a(x)=ahx+al的平方运算结果。4.根据权利要求2所述的基于乘方运算的复合有限域求逆器,其特征在于,所述复合域乘法模块计算复合有限域GF((2n)2)的两个元素的乘法的步骤如下:复合有限域GF((2n)2)的两个元素表示为a(x)=ahx+al和b(x)=bhx+bl,那么计算a(x)和b(x)的乘法的步骤如下:首先,调用第二子域乘法模块运算s0=ahbh,s0,ah,bh是子域GF(2n)的元素;然后,调用第二子域乘法模块运算s1=ahbl,s1,ah,bl是子域GF(2n)的元素;接着,调用第二子域乘法模块运算s2=albh,s2,al,bh是子域GF(2n)的元素;然后,调用第二子域乘法模块运算s3=albl,s3,al,bl是子域GF(2n)的元素;接着,调用第二子域乘法模块运算s4=s0e,s4,s0,e是子域GF(2n)的元素;然后,调用第二子域加法模块运算s5=s4+s3,s5,s4,s3是子域GF(2n)的元素;接着,调用第二子域加法模块运算s6=s0+s1,s6,s0,s1是子域GF(2n)的元素;最后,调用第二子域加法模块运算s7=s6+s2,s7,s6,s2是子域GF(2n)的元素;令ch=s7,cl=s5,ch,cl是子域GF(2n)的元素;令c(x)=chx+...

【专利技术属性】
技术研发人员:易海博聂哲
申请(专利权)人:深圳职业技术学院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1