一种伽罗瓦域GF(2^n)下本原多项式的快速寻找方法技术

技术编号:18591406 阅读:26 留言:0更新日期:2018-08-04 19:57
本发明专利技术涉及一种伽罗瓦域GF(2^n)下本原多项式的快速寻找方法:通过定义寻找到GF(2^n)下的一个本原多项式;通过相应的本原多项式与生成元生成相应的域元素、加法表、乘法表;获取所有本原多项式的相应根指数序列:获取以2^n‑1为模,与模互素的数;以1开始,后一个元素在前一个元素的基础上乘以2,mod(2^n‑1),当等于第一个元素时,结束此循环,将相关元素保存入相应数组中;选取最小一个未被选中的数,以之前的方法,获得相应循环序列,保存至相应数组中;直至无元素可以选取,全部选取完毕,输出相应的序列,算法结束。本发明专利技术可快速求解出GF(2^n)中所有的本原多项式,并说明了其相互转化关系。

A fast search method for primitive polynomials in Galois field GF (2^n)

The invention relates to a fast searching method for the primitive polynomials under GF (2^n) in Galois domain: by defining an original polynomial under GF (2^n), the corresponding domain element, addition table, multiplication table, and the corresponding root index sequence of all primitive polynomials are obtained by the corresponding primitive polynomials; and 2^n is obtained by 2^n 1 as a model, the number of mutual elements with the modulus; at 1, the latter element multiplied by 2, mod (2^n 1) on the basis of the former element, and when it was equal to the first element, it ended the cycle and saved the related elements into the corresponding array; selected the smallest number unselected, and obtained the corresponding cycle sequence with the previous method. Save to the corresponding array; until no element can be selected, all of them are selected and output the corresponding sequence. The algorithm is finished. The invention can quickly solve all the primitive polynomials in GF (2^n) and explain their mutual transformation relations.

【技术实现步骤摘要】
一种伽罗瓦域GF(2^n)下本原多项式的快速寻找方法
本专利技术涉及计算机领域,具体地说,是一种伽罗瓦域GF(2^n)下本原多项式的快速寻找方法。
技术介绍
有限域理论作为现代代数的重要分支,在密码学、编码理论、组合理论、大规模集成电路设计等诸多领域都发挥着重要的作用,一方面有限域理论的应用极大地推动了这些学科的发展,另一方面,相关领域的研究热点都归结为有限域理论中的关键问题,使得有限域理论的重要性日益得到重视,充实和推动整个理论的发展。有限域上的本原元和本原多项式在诸多领域都有重要应用。在密码学方面,可以利用本原多项式生成随机比特序列以及非线性组合序列,时钟序列等多种密钥流序列;在纠错编码理论中,可以利用本原多项式来构造汉明码;利用有限域上的多项式可以得到线性递归序列,为了得到最大周期的线性序列,就需要寻找本原多项式。现在流行的二维码技术,包括微信、支付宝中使用的二维码编码与识别技术,其编码、解码以及纠错,关键的核心就在于伽罗瓦域,而其生成二维码的本原多项式为x^8+x^4+x^3+x^2+1。不同的本原多项式,决定了不同的域元素及其加法与乘法结果,因此,可以认为,不同的本原多项式,不同的生成元,即不同的二维码编解码方法。如某些专用的二维码,用普通的二维码扫码程序,则不能解析。如图1中的生成多项式,其次数为68(2t),在256个编码长度内,可以纠正34个分散甚至连续的错误。对有限域的构造进行研究就必然要找出有限域的乘法生成元(即本原元),寻找本原元或本原多项式在理论上以及应用上都具有非常重要的地位。在大的有限域里,寻找本原多项式,快速算法的实现尤为重要。期刊文献《计算机工程》,2008年第34卷第15期刊出的论文“求解本原多项式的快速算法”,结合求解最小多项式的方法给出在二元有限域上本原多项式的求解算法,在求解过程中同时给出了相应的最小多项式,并给出了算法相应的效能分析,具体的算法为:步骤1,求解出f(x)的一个根α及有限域GF(q);步骤2,计算模q的所有割圆陪集:C1,C2…,CV及陪集头的集合I;步骤3,计算每个陪集的最小多项式,对所有s∈I,其中,ms(x)即为αs及以s所在陪集为指数元素的最小多项式,设这个集合为M;步骤4,去除M中的多项式x,及x+1;步骤5,判断M中是否还有未判断的元素:若没有,则终止算法,若有,则从M中去除多项式p(x);步骤6,判断p(x)的互反多项式是否已经判断过,若判断过则转步骤5;步骤7,判断p(x)是否满足定理1(若一个n次多项式f(x)满足下列条件:(1)f(x)为不可约多项式;(2)f(x)可整除xm+1,m=2n-1;(3)f(x)除不尽xq+1,q<m。则称f(x)为本原多项式。),若是,则将f(x)放入集合F,否则转步骤5。该算法能够在执行最为占用时间的判断算法之前将搜索范围至少缩小为原有范围的1/6,提高搜索效果。期刊文献《北京石油化工学院学报》,2003年第11卷第2期刊出的论文“利用窗口法寻找产生伪随机码的本原多项式”,作者提出了寻找本原多项式的窗口法,从伪随机码产生的原理出发,通过分析伪随机码的产生过程,并结合实际,借助MATLAB语言将窗口法实现,最后利用此窗口法寻找到了部分本原多项式。然而,目前关于利用整数与多项式的对应关系,能更加快速的寻找伽罗瓦域(2^n)本原多项式的方法还未见报道。
技术实现思路
本专利技术的目的是针对现有技术中的不足,提供一种伽罗瓦域下GF(2^n)本原多项式的快速寻找方法。为实现上述目的,本专利技术采取的技术方案是:一种伽罗瓦域下本原多项式的快速寻找方法,包括以下步骤:S1,通过定义,寻找到GF(2^n)下的一个本原多项式;S2,通过相应的本原多项式与生成元,生成相应的域元素、加法表、乘法表;S3,通过以下步骤,获取所有本原多项式的相应根指数序列:S301,以2^n-1为模,将与之有因式的数去掉,留下与模互素的数;S302,以1开始,mod(2^n-1),后一个元素等于前一个×2mod(2^n-1),当等于第一个元素时,结束此循环,将此循环序列保存入相应数组中;S303,选取最小一个未被选中的数,以步骤S302的方法,获得相应循环序列,保存至相应数组中;S304,直至无元素可以选取,全部选取完毕,输出相应的序列,算法结束;以相应序列作为以α为根的指数,即为相应本原多项式的根。本专利技术还提供了一种分圆多项式的因式分解方法,包括以下步骤:S1,将分圆多项式分解为本原多项式的乘积;S2,将本原多项式使用按照如上方法获得的特定的根指数序列进行因式分解。本专利技术还提供了一种分圆多项式的获得方法,包括以下步骤:以任一本原多项式生成相应的域元素序列,其所有的本原元,即为其相应的根,所有以本原根为因式的乘积,即为分圆多项式。本专利技术优点在于:本专利技术利用整数与分圆多项式内在的对应关系,提出一种GF(2^n)本原多项式的快速寻找方法,本算法可以快速求解出GF(2^n)中相应的本原多项式,进行实际应用。附图说明附图1是基于x^8+x^4+x^3+x^2+1本原多项式,可纠正最大34个错误的生成多项式。附图2是本专利技术伽罗瓦域下本原多项式的快速寻找方法中,获取所有本原多项式的相应根指数序列的流程图。具体实施方式下面结合附图对本专利技术提供的具体实施方式作详细说明。在GF(28)之中,常用的本原多项式为m(x)=x^8+x^4+x^3+x^2+1,其多项式值用十进制表示是285,表示成十六进制形式为0x011D,二进制形式为100011101。生成域元素时,当生成元为X(等价于00000010),则它的次数增加一次,相当于左移一位,当超过了0x100,与本原多项式进行异或处理,这样就可生成254个域元素,加上0与1,则得到256个域元素。而生成元的取值并不仅仅限于X,但X是最为常用的取值。若取值为α(x)=X^2,用二进制表示为00000100,则代表次数每增加一次,左移两位,当该值超过256时,作mod本原多项式处理。若生成元α1为X2,本原生成多项式为X^8+X^5+X^3+X^2+1,则GF(2^8)域元素的表示形式如下表:表1GF(2^8)域元素与多项式、二进制十进制对照表不同的本原多项式,以及本原元的选取,代表了不同的映射关系。在GF(28)中,有φ(255)/8=16个本原多项式,其中φ(255)是欧拉函数,代表与255互素的元素个数。如X^8+X^5+X^3+X+1,十进制可用299代替,X^8+X^7+X^6+X^5+X^4+X^2+1,十进制可用501代替,等等。本原多项式,以及α1的选择,在编解码过程中,决定了加减乘除具体的结果。实施例1如在GAP软件中,键入f:=CyclotomicPolynomial(GF(2),2^8-1),得到相应的分圆多项式:x_1^128+x_1^127+x_1^126+x_1^123+x_1^122+x_1^121+x_1^113+x_1^112+x_1^110+x_1^109+x_1^108+x_1^107+x_1^105+x_1^104+x_1^98+x_1^97+x_1^95+x_1^94+x_1^93+x_1^92+x_1^90+x_1^89+x_1^83+x_1^82+x_本文档来自技高网
...

【技术保护点】
1.一种伽罗瓦域下本原多项式的快速寻找方法,其特征在于,包括以下步骤:S1,通过定义,寻找到GF(2^n)下的一个本原多项式;S2,通过相应的本原多项式与生成元,生成相应的域元素,加法表与乘法表;S3,通过以下步骤,获取所有本原多项式的相应根指数序列:S301,以2^n‑1为模,将与之有因式的数去掉,留下与模互素的数;S302,以1开始,mod(2^n‑1),后一个元素等于前一个×2mod(2^n‑1),当等于第一个元素时,结束此循环,将此循环序列保存入相应数组中;S303,选取最小一个未被选中的数,以步骤S302的方法,获得相应循环序列,保存至相应数组中;S304,直至无元素可以选取,全部选取完毕,输出相应的序列,算法结束;以相应序列作为以α为根的指数,即为相应本原多项式的根。

【技术特征摘要】
1.一种伽罗瓦域下本原多项式的快速寻找方法,其特征在于,包括以下步骤:S1,通过定义,寻找到GF(2^n)下的一个本原多项式;S2,通过相应的本原多项式与生成元,生成相应的域元素,加法表与乘法表;S3,通过以下步骤,获取所有本原多项式的相应根指数序列:S301,以2^n-1为模,将与之有因式的数去掉,留下与模互素的数;S302,以1开始,mod(2^n-1),后一个元素等于前一个×2mod(2^n-1),当等于第一个元素时,结束此循环,将此循环序列保存入相应数组中;S303,选取最小一个未被选中的数,以步骤S3...

【专利技术属性】
技术研发人员:成福春朱亮周嘉冯佳周蜜果
申请(专利权)人:上海中医药大学附属岳阳中西医结合医院
类型:发明
国别省市:上海,31

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

1