本实用新型涉及对有限域的元素进行求逆的装置,特别涉及一种有限域求逆器。
背景技术:
有限域,是域的一种类型。它又称伽罗瓦域,由伽罗瓦首先发现,是仅含有限多个元素的域。有限域在数学和工程领域应用非常广泛,例如,通信中使用的纠错码是在有限域上设计,密码算法同样使用有限域。有限域的重要理论是有限域计算,包括有限域加法、乘法、求逆、除法等。其中,有限域求逆是求解有限域单个元素的逆元,被广泛应用于密码学中。有限域求逆的算法大致可以分为四类,基于标准基、基于正规基、基于双基底和基于三角基。
有限域求逆需要不可约多项式参与运算,它的运算效率往往与不可约多项式的选择有关。不可约多项式又称既约多项式,是次数大于零的有理数系数多项式,它的特点是不能分解为两个次数较低但都大于零的有理数系数多项式。在有限域上,不可约多项式是次数大于零的多项式,除了常数和常数与本身的乘积以外,它再不能被有限域上的其他多项式整除。
选择特定不可约多项式,例如不可约三项式,对计算有限域求逆有重要意义,现有技术中存在的有限域求逆器较少使用特定不可约多项式。在实时和对速度敏感的环境下,使用基于不可约三项式的特定硬件装置来实现有限域求逆可以提高运算效率。
技术实现要素:
为了克服现有技术的上述缺点与不足,本实用新型的目的在于提供一种有限域求逆器,提高了运算效率。
本实用新型的目的通过以下技术方案实现:
有限域求逆器,包括:
输入端口,包括用于输入求逆运算数a(x)的端口a、用于输入求逆运算所在有限域GF(2n)大小的端口n、用于输入时钟信号的端口clk;
第一存储器,存储有限域GF(2n)上所有存在的不可约三项式,n<16,用于判断运算是否在求逆器范围内;
第二存储器,包含一个(2n-1)×n的矩阵,用于存储乘方模运算后生成的多项式系数,其中n与有限域GF(2n)的n的数值一致;
平方运算器,用于计算有限域元素的平方结果;
乘法运算器,用于计算有限域两个元素的乘法结果;
控制器,包括相互连接的处理器和解析器;
所述控制器分别与输入端口、输出端口、第一存储器、第二存储器、平方运算器、乘法运算器相连;所述控制器用于调度其他组件进行求逆运算;所述解析器用于解析时钟信号;
输出端口,包括用于输出求逆运算结果b(x)的端口b、用于输出运算是否在求逆器运算范围内的端口e。
所述平方运算器的包括异或逻辑门电路和与逻辑门电路。
所述平方运算器包含1个输入c(x)和一个输出d(x),c(x)和d(x)均是有限域GF(2n)的元素。
所述乘法运算器包括异或逻辑门电路和与逻辑门电路。
所述乘法运算器,包含2个输入f(x),g(x)和一个输出h(x),f(x),g(x).h(x)均是有限域GF(2n)的元素。
与现有技术相比,本实用新型具有以下优点和有益效果:
本实用新型采用基于不可约三项式的方法计算有限域的求逆,在计算GF(2n)上的求逆上相对于现有的求逆器有着明显的速度优势,可以广泛运用于数学领域和工程领域。
附图说明
图1为本实用新型的实施例的有限域求逆器的结构示意图。
具体实施方式
下面结合实施例,对本实用新型作进一步地详细说明,但本实用新型的实施方式不限于此。
实施例1
如图1所示,本实施例的有限域求逆器,包括:
有限域求逆器,包括:
输入端口,包括用于输入求逆运算数a(x)的端口a、用于输入求逆运算所在有限域GF(2n)大小的端口n、用于输入时钟信号的端口clk;
第一存储器,存储有限域GF(2n)上所有存在的不可约三项式,n<16,用于判断运算是否在求逆器范围内;
第二存储器,包含一个(2n-1)×n的矩阵,用于存储乘方模运算后生成的多项式系数,其中n与有限域GF(2n)的n的数值一致;
用于计算有限域元素的平方结果的平方运算器;
用于计算有限域两个元素的乘法结果乘法运算器;
控制器,包括相互连接的处理器和解析器;
所述控制器分别与输入端口、输出端口、第一存储器、第二存储器、平方运算器、乘法运算器相连;所述控制器用于调度其他组件进行求逆运算;所述解析器用于解析时钟信号;
输出端口,包括用于输出求逆运算结果b(x)的端口b、用于输出运算是否在求逆器运算范围内的端口e。
所述平方运算器的包括异或逻辑门电路和与逻辑门电路。
所述平方运算器包含1个输入c(x)和一个输出d(x),c(x)和d(x)均是有限域GF(2n)的元素。
所述乘法运算器包括异或逻辑门电路和与逻辑门电路。
所述乘法运算器,包含2个输入f(x),g(x)和一个输出h(x),f(x),g(x).h(x)均是有限域GF(2n)的元素。
所述第一存储器存储的不可约三项式用p(x)表示,p(x)的多项式形式如下:
p(x)=xn+pkxk+1;
其中,pk是有限域GF(2)的元素,k=1,2,...,n-1。
所述第二存储器的矩阵的元素vij,由计算得出,0≤i≤2n-2,0≤j≤n-1;p(x)是有限域GF(2n)上的不可约三项式,i代表矩阵的第i行,j代表矩阵的第j列,mod是针对不可约多项式p(x)的模运算。
所述平方运算器的包括异或逻辑门电路和与逻辑门电路。
所述平方运算器包含1个输入c(x)和一个输出d(x),均是有限域GF(2n)的元素,用多项式表示为:
c(x)=cn-1xn-1+cn-2xn-2+...+c0;
d(x)=dn-1xn-1+dn-2xn-2+...+d0;
其中,cn-1,cn-2,...,c0,dn-1,dn-2,...,d0是有限域GF(2)的元素;
所述平方运算器计算输入c(x)的平方结果d(x)的过程如下:
首先计算中的ci′,0≤i≤2n-2;
然后,通过调用第二存储器,获得的计算结果,将转换成最后,是平方结果。
所述乘法运算器包括异或逻辑门电路和与逻辑门电路。
所述乘法运算器,包含2个输入f(x),g(x)和一个输出h(x),均是有限域GF(2n)的元素,用多项式表示为:
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)的元素;
所述乘法运算器计算输入f(x),g(x)的乘法结果h(x)过程如下:
首先计算中的mi,0≤i≤2n-2;
然后,通过调用第二存储器,获得的计算结果,将转换成最后,是乘法结果。
所述输入端口的运算数a(x)和输出端口的运算数b(x)的多项式形式分别如下:
a(x)=an-1xn-1+an-2xn-2+...+a0;
b(x)=bn-1xn-1+bn-2xn-2+...+b0;
其中,an-1,an-2,...,a0,bn-1,bn-2,...,b0是有限域GF(2)的元素。
下面以n=4为例说明本实用新型的工作过程。
令输入的时钟信号clk从0变化至1,控制器中的解析器通知控制器中的处理器进入新的时钟周期。控制器中的处理器接收输入的数据信号a(x)和n。a(x)作为运算数是有限域GF(24)的元素,有如下的表示形式:
a(x)=a3x3+a2x2+a1x+a0,
a3,a2,a1,a0是有限域GF(2)的元素,取值为0或1;
n的值是4,根据n的值在不可约三项式矩阵中查找GF(24)的不可约三项式,查询结果表示
p(x)=x4+x+1,
是GF(24)的不可约三项式,令e=0,表示GF(24)求逆在求逆器的计算范围内,控制器将e=0发送至输出端口e。
接着,控制器调用第二存储器,完成矩阵元素vij的计算;
vij存储在第二存储器的矩阵的第i行第j列(首行为第0行,首列为第0列),0≤i≤6,0≤j≤3;矩阵是一个7×4的矩阵,存储的是乘法模运算生成的多项式系数;p(x)=x4+x+1是有限域GF(24)上的不可约三项式,mod是针对不可约三项式p(x)的模运算。
接着,控制器调用平方运算器计算a(x)2,计算中的ai′,0≤i≤6;通过调用第二存储器,获得的计算结果,将转换成
然后,控制器调用平方运算器计算a(x)4=a(x)2×a(x)2,方法类似;
然后,控制器调用平方运算器计算a(x)8=a(x)4×a(x)4,方法类似;
然后,控制器调用乘法运算器计算a(x)2×a(x)4,计算中的mi,0≤i≤6;通过调用第二存储器,获得的计算结果,将转换成
然后,控制器调用乘法运算器计算a(x)2×a(x)4×a(x)8,方法类似;
最后,控制器将b(x)=a(x)2×a(x)4×a(x)8输出至输出端口。
上述实施例为本实用新型较佳的实施方式,但本实用新型的实施方式并不受所述实施例的限制,其他的任何未背离本实用新型的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本实用新型的保护范围之内。