CN108874367B - 一种基于乘方运算的复合有限域求逆器及其求逆方法 - Google Patents

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

Info

Publication number
CN108874367B
CN108874367B CN201810697575.1A CN201810697575A CN108874367B CN 108874367 B CN108874367 B CN 108874367B CN 201810697575 A CN201810697575 A CN 201810697575A CN 108874367 B CN108874367 B CN 108874367B
Authority
CN
China
Prior art keywords
field
module
sub
multiplication
finite field
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.)
Active
Application number
CN201810697575.1A
Other languages
English (en)
Other versions
CN108874367A (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.)
Shenzhen Polytechnic
Original Assignee
Shenzhen Polytechnic
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 Shenzhen Polytechnic filed Critical Shenzhen Polytechnic
Priority to CN201810697575.1A priority Critical patent/CN108874367B/zh
Publication of CN108874367A publication Critical patent/CN108874367A/zh
Application granted granted Critical
Publication of CN108874367B publication Critical patent/CN108874367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field

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)2)的求逆运算相对于现有的有限域求逆器能够提高效率,可以广泛运用于各种工程领域。

Description

一种基于乘方运算的复合有限域求逆器及其求逆方法
技术领域
本发明涉及一种对有限域的元素进行求逆的装置,特别涉及一种基于乘方运算的复合有限域求逆器及其求逆方法。
背景技术
有限域运算器包括加法器、乘法器、求逆器等,可以分别计算有限域上两个元素的加法、乘法和一个元素的逆元。有限域除法一般使用乘法器和求逆器协同运算。所以,有限域求逆器在有限域运算中被广泛使用。
有限域求逆属于有限域运算,与有限域加法、乘法、除法、平方、乘方等运算一起被密码算法广泛使用。复合有限域属于有限域,常用的复合有限域是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=ah 2,s0,ah是子域GF(2n)的元素;
然后,调用第一子域平方模块运算s1=al 2,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)的加法;
Figure GDA0003485044220000041
是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(2n)元素,则α存在平方查找表的第一列,β存在平方查找表的第二列;
所述第一子域平方模块计算h(x)=f(x)2的步骤如下:
首先,在平方查找表的第一列查找f(x),找到后,其所在行的第二列的元素就是f(x)的平方运算结果,并存储至h(x),
Figure GDA0003485044220000042
是h(x)=f(x)2的运算结果。
所述第一子域乘法模块和第二子域乘法模块的构造相同,用于计算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)的元素;
所述第一子域乘法模块和第二子域乘法模块包含的乘法查找表的构造如下:
对于有限域GF(2n)的每两个元素,计算乘法,假定GF(2n)的两个元素是α和β,计算δ=α×βmod p(x),mod是模运算,δ是GF(2n)元素,则α存在乘法查找表的第一列,β存在乘法查找表的第二列,δ存在乘法查找表的第三列;
所述第一子域乘法模块和第二子域乘法模块计算h(x)=f(x)×g(x)的步骤如下:
首先,在乘法查找表的第一列查找f(x),然后在乘法查找表的第二列查找g(x),找到后,其所在行的第三列的元素就是f(x)×g(x)的乘法运算结果,并存储至h(x),
Figure GDA0003485044220000051
是h(x)=f(x)×g(x)的运算结果。
所述控制器监听输入端口a,接收复合有限域GF((2n)2)的求逆运算数a(x);监听输入端口clk,接收时钟信号t;监听输入端口q,接收复合有限域GF((2n)2)的不可约多项式q(x);监听输入端口p,接收子域GF(2n)的不可约多项式p(x)。
所述的基于乘方运算的复合有限域求逆器的复合有限域求逆方法,计算GF((2n)2)的求逆b(x)=a(x)-1步骤如下:
等待时钟信号由低电平转向高电平;
第一个时钟周期,调用复合域平方模块计算a′(x)=a(x)2
第二个时钟周期,令b(x)=a′(x),调用复合域平方模块计算a″(x)=a′(x)2
第三个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″(x),调用复合域平方模块计算a″′(x)=a″(x)2
第四个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″′(x),调用复合域平方模块计算a″″(x)=a″′(x)2
直到第2n个时钟周期完成,计算完成b(x);
计算GF((2n)2)的求逆b(x)=a(x)-1完成后,将b(x)输出至输出端口b;n为正整数。
与现有技术相比,本发明具有以下优点和有益效果:
本发明的基于乘方运算的复合有限域求逆器,通过乘方运算实现了复合有限域的求逆运算,在计算GF((2n)2)的求逆运算相对于现有的有限域求逆器能够提高效率,可以广泛运用于各种工程领域。
附图说明
图1为本发明的实施例的一种基于乘方运算的复合有限域求逆器的结构示意图。
具体实施方式
下面结合实施例,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图1所示,本发明的一种基于乘方运算的复合有限域求逆器包括控制器、输入端口、输出端口、复合域平方模块、复合域乘法模块、第一子域乘法模块、第一子域加法模块、第一子域平方模块、第二子域乘法模块和第二子域加法模块;所述复合域平方模块分别与第一子域乘法模块、第一子域加法模块、第一子域平方模块连接;所述复合域乘法模块分别与第二子域加法模块、第二子域乘法模块连接;所述控制器分别与输入端口、输出端口、复合域乘法模块、复合域平方模块连接。
所述输入端口的运算数a(x)由两个n比特的数ah,al组成,可以表示成多项式的形式:
a(x)=ahx+al
ah,al是有限域GF(2n)的元素;
所述输入端口的运算数a(x)可以表示成系数的形式:
a(x)=a(ah,al),
ah,al是有限域GF(2n)的元素;
所述输入端口的时钟信号t是单比特信号,取值是0或1,代表低电平或高电平;低电平转向高电平代表一个时钟周期的开始;
所述输入端口的复合有限域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中的一个数;
所述输入端口的子域GF(2n)的元素c(x),可以表示成多项式的形式:
c(x)=cn-1xn-1+cn-2xn-2+...+c0
cn-1,cn-2,...,c0是有限域GF(2)的元素,即二进制数(0)2和(1)2中的一个数;
所述输入端口的子域GF(2n)的元素c(x),可以表示成系数的形式:
c(x)=c(cn-1,cn-2,...,c0),
cn-1,cn-2,...,c0是有限域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)的元素;
所述控制器与输入端口相连,监听输入端口a,接收复合有限域GF((2n)2)的求逆运算数a(x)的端口a;监听输入端口clk,接收时钟信号t;监听输入端口q,接收复合有限域GF((2n)2)的不可约多项式q(x);监听输入端口p,接收子域GF(2n)的不可约多项式p(x);
所述控制器与复合域乘法模块、复合域平方模块相连,计算GF((2n)2)的求逆b(x)=a(x)-1的步骤如下:
等待时钟信号由低电平转向高电平;
第一个时钟周期,调用复合域平方模块计算a′(x)=a(x)2
第二个时钟周期,令b(x)=a′(x),调用复合域平方模块计算a″(x)=a′(x)2
第三个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″(x),调用复合域平方模块计算a″′(x)=a″(x)2
第四个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″′(x),调用复合域平方模块计算a″″(x)=a″′(x)2
直到第2n个时钟周期完成,计算完成b(x);
所述控制器与输出端口相连,计算GF((2n)2)的求逆b(x)=a(x)-1完成后,将b(x)输出至输出端口b;n为正整数。
所述复合域平方模块与第一子域加法模块、第一子域乘法模块、第一子域平方模块相连,计算复合有限域GF((2n)2)的元素的平方;
所述复合域平方模块计算复合有限域GF((2n)2)的元素可以表示为a(x)=ahx+al,那么计算a(x)的平方的步骤如下:
首先,调用第一子域平方模块运算s0=ah 2,s0,ah是子域GF(2n)的元素;
然后,调用第一子域平方模块运算s1=al 2,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)的加法;
Figure GDA0003485044220000081
是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)元素是α,计算β=α2mod p(x),mod是模运算,β是GF(2n)元素,则α存在平方查找表的第一列,β存在平方查找表的第二列;
所述第一子域平方模块计算h(x)=f(x)2的步骤如下:
首先,在平方查找表的第一列查找f(x),找到后,其所在行的第二列的元素就是f(x)的平方运算结果,并存储至h(x),
Figure GDA0003485044220000091
是h(x)=f(x)2的运算结果;
所述第一子域乘法模块和第二子域乘法模块的构造相同,用于计算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)的元素;
所述第一子域乘法模块和第二子域乘法模块包含的乘法查找表的构造如下:
对于有限域GF(2n)的每两个元素,计算乘法,假定GF(2n)的两个元素是α和β,计算δ=α×βmod p(x),mod是模运算,δ是GF(2n)元素,则α存在乘法查找表的第一列,β存在乘法查找表的第二列,δ存在乘法查找表的第三列;
所述第一子域乘法模块和第二子域乘法模块计算h(x)=f(x)×g(x)的步骤如下:
首先,在乘法查找表的第一列查找f(x),然后在乘法查找表的第二列查找g(x),找到后,其所在行的第三列的元素就是f(x)×g(x)的乘法运算结果,并存储至h(x),
Figure GDA0003485044220000092
是h(x)=f(x)×g(x)的运算结果。
所述有限域GF(2)的加法使用异或逻辑门,有限域GF(2)的乘法使用与逻辑门。
下面以n=4为例说明本发明计算求逆的工作过程。
输入端口的运算数a(x)是复合有限域GF((24)2)的元素,可以表示成多项式的形式:
a(x)=ahx+al
ah,al是有限域GF(24)的元素;
输出端口的运算数b(x)是复合有限域GF((24)2)的元素,可以表示成多项式的形式:
b(x)=bhx+bl
bh,bl是有限域GF(24)的元素;
输入端口的时钟信号clk是单比特信号,时钟周期是25纳秒;
控制器计算GF((24)2)的b(x)=a(x)-1的求逆,步骤如下:
控制器接收输入运算数a(x)、时钟信号、GF((24)2)的不可约多项式q(x)=x2+x+9,GF(24)的不可约多项式p(x)=x4+x+1,等待时钟信号由低电平转向高电平;
第一个时钟周期,调用复合域平方模块计算a′(x)=a(x)2
第二个时钟周期,令b(x)=a′(x),调用复合域平方模块计算a″(x)=a′(x)2
第三个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″(x),调用复合域平方模块计算a″′(x)=a″(x)2
第四个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″′(x),调用复合域平方模块计算a″″(x)=a″′(x)2
直到第2n个时钟周期完成,计算完成b(x);b(x)=bhx+bl是a(x)=ahx+al的逆元,被控制器输出至输出端口。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (9)

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=ah 2,s0,ah是子域GF(2n)的元素;
然后,调用第一子域平方模块运算s1=al 2,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+cl,c(x)是复合有限域GF((2n)2)的元素,c(x)是a(x)=ahx+al和b(x)=bhx+bl的乘法运算结果。
5.根据权利要求2所述的基于乘方运算的复合有限域求逆器,其特征在于,所述第一子域加法模块和第二子域加法模块的构造相同,包含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)的加法;
Figure FDA0003485044210000031
是h(x)=f(x)+g(x)的运算结果。
6.根据权利要求2所述的基于乘方运算的复合有限域求逆器,其特征在于,所述第一子域平方模块,用于计算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(2n)元素,则α存在平方查找表的第一列,β存在平方查找表的第二列;
所述第一子域平方模块计算h(x)=f(x)2的步骤如下:
首先,在平方查找表的第一列查找f(x),找到后,其所在行的第二列的元素就是f(x)的平方运算结果,并存储至h(x),
Figure FDA0003485044210000032
是h(x)=f(x)2的运算结果。
7.根据权利要求2所述的基于乘方运算的复合有限域求逆器,其特征在于,所述第一子域乘法模块和第二子域乘法模块的构造相同,用于计算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)的元素;
所述第一子域乘法模块和第二子域乘法模块包含的乘法查找表的构造如下:
对于有限域GF(2n)的每两个元素,计算乘法,假定GF(2n)的两个元素是α和β,计算δ=α×βmodp(x),mod是模运算,δ是GF(2n)元素,则α存在乘法查找表的第一列,β存在乘法查找表的第二列,δ存在乘法查找表的第三列;
所述第一子域乘法模块和第二子域乘法模块计算h(x)=f(x)×g(x)的步骤如下:
首先,在乘法查找表的第一列查找f(x),然后在乘法查找表的第二列查找g(x),找到后,其所在行的第三列的元素就是f(x)×g(x)的乘法运算结果,并存储至h(x),
Figure FDA0003485044210000041
是h(x)=f(x)×g(x)的运算结果。
8.根据权利要求2所述的基于乘方运算的复合有限域求逆器,其特征在于,所述控制器监听输入端口a,接收复合有限域GF((2n)2)的求逆运算数a(x);监听输入端口clk,接收时钟信号t;监听输入端口q,接收复合有限域GF((2n)2)的不可约多项式q(x);监听输入端口p,接收子域GF(2n)的不可约多项式p(x)。
9.权利要求1所述的基于乘方运算的复合有限域求逆器的复合有限域求逆方法,其特征在于,计算GF((2n)2)的求逆b(x)=a(x)-1步骤如下:
等待时钟信号由低电平转向高电平;
第一个时钟周期,调用复合域平方模块计算a′(x)=a(x)2
第二个时钟周期,令b(x)=a′(x),调用复合域平方模块计算a″(x)=a′(x)2
第三个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″(x),调用复合域平方模块计算a″′(x)=a″(x)2
第四个时钟周期,调用复合域乘法模块计算b(x)=b(x)a″′(x),调用复合域平方模块计算a″″(x)=a″′(x)2
直到第2n个时钟周期完成,计算完成b(x);
计算GF((2n)2)的求逆b(x)=a(x)-1完成后,将b(x)输出至输出端口b;n为正整数。
CN201810697575.1A 2018-06-29 2018-06-29 一种基于乘方运算的复合有限域求逆器及其求逆方法 Active CN108874367B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810697575.1A CN108874367B (zh) 2018-06-29 2018-06-29 一种基于乘方运算的复合有限域求逆器及其求逆方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810697575.1A CN108874367B (zh) 2018-06-29 2018-06-29 一种基于乘方运算的复合有限域求逆器及其求逆方法

Publications (2)

Publication Number Publication Date
CN108874367A CN108874367A (zh) 2018-11-23
CN108874367B true CN108874367B (zh) 2022-05-13

Family

ID=64297248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810697575.1A Active CN108874367B (zh) 2018-06-29 2018-06-29 一种基于乘方运算的复合有限域求逆器及其求逆方法

Country Status (1)

Country Link
CN (1) CN108874367B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527241B (zh) * 2020-12-10 2023-08-08 深圳市紫光同创电子有限公司 并行有限域乘法装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721771B1 (en) * 2000-08-28 2004-04-13 Sun Microsystems, Inc. Method for efficient modular polynomial division in finite fields f(2{circumflex over ( )}m)
CN102314330A (zh) * 2011-09-09 2012-01-11 华南理工大学 一种复合有限域乘法器
CN102902510A (zh) * 2012-08-03 2013-01-30 华南理工大学 一种有限域求逆器
CN106445464A (zh) * 2016-10-13 2017-02-22 深圳职业技术学院 一种基于心动模型的复合有限域乘法器
CN206224471U (zh) * 2016-11-18 2017-06-06 深圳职业技术学院 一种基于有限域的线性方程组求解装置
CN106951210A (zh) * 2017-03-21 2017-07-14 深圳职业技术学院 一种基于心动阵列的有限域乘法装置
CN108008934A (zh) * 2017-12-04 2018-05-08 深圳职业技术学院 一种基于查找表的复合有限域求逆装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936569B (zh) * 2017-05-18 2020-05-19 北京万协通信息技术有限公司 一种抗功耗攻击的sm4算法掩码s盒的实现方法
CN107728993B (zh) * 2017-11-03 2021-07-13 深圳职业技术学院 一种基于全一不可约多项式的有限域乘法器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721771B1 (en) * 2000-08-28 2004-04-13 Sun Microsystems, Inc. Method for efficient modular polynomial division in finite fields f(2{circumflex over ( )}m)
CN102314330A (zh) * 2011-09-09 2012-01-11 华南理工大学 一种复合有限域乘法器
CN102902510A (zh) * 2012-08-03 2013-01-30 华南理工大学 一种有限域求逆器
CN106445464A (zh) * 2016-10-13 2017-02-22 深圳职业技术学院 一种基于心动模型的复合有限域乘法器
CN206224471U (zh) * 2016-11-18 2017-06-06 深圳职业技术学院 一种基于有限域的线性方程组求解装置
CN106951210A (zh) * 2017-03-21 2017-07-14 深圳职业技术学院 一种基于心动阵列的有限域乘法装置
CN108008934A (zh) * 2017-12-04 2018-05-08 深圳职业技术学院 一种基于查找表的复合有限域求逆装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
有限域运算和多变量公钥密码硬件的优化和设计;易海博;《中国博士学位论文全文数据库 (信息科技辑)》;20150815;I136-11 *

Also Published As

Publication number Publication date
CN108874367A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
Chung et al. A high-performance elliptic curve cryptographic processor over GF (p) with SPA resistance
CN103793199B (zh) 一种支持双域的快速rsa密码协处理器
US20100146028A1 (en) Method and apparatus for modulus reduction
Kudithi An efficient hardware implementation of the elliptic curve cryptographic processor over prime field
CN102314330B (zh) 一种复合有限域乘法器
CN108874367B (zh) 一种基于乘方运算的复合有限域求逆器及其求逆方法
CN101295237B (zh) 求商和余数的高速除法器
CN107885486B (zh) 一种基于查找树的复合有限域求逆装置
CN108008934B (zh) 一种基于查找表的复合有限域求逆装置
CN108897526B (zh) 一种基于多次平方运算的复合有限域求逆器及其求逆方法
CN1099071C (zh) 具有比特移位单元的数字滤波器
CN106951210B (zh) 一种基于心动阵列的有限域乘法装置
CN108268243B (zh) 一种基于查找的复合域乘法装置
CN102646033B (zh) 提供了加密和签名功能的rsa算法的实现方法和装置
CN109358836B (zh) 一种基于表结构的复合域除法装置
CN109947393B (zh) 基于求余器的运算方法及装置
CN112631546A (zh) 基于ko-8算法的高性能模乘器
CN115033205B (zh) 一种低延迟高精度定值除法器
Bello et al. A MRC based RNS to binary converter using the moduli set {22n+ 1-1, 2n-1, 22n-1}
Zhou et al. New algorithm and fast VLSI implementation for modular inversion in galois field GF (p)
Abbot et al. Modified efficient OMS LUT-design for memory-based multiplication
Hu et al. High Performance SM2 Elliptic Curve Cryptographic Processor over GF (p)
Krishnan et al. Design of area efficient unified binary/decimal adder/subtractor using triple carry based prefix adder
CN208766637U (zh) 一种有限域求逆器
JP5261738B2 (ja) 半導体装置

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