有限域上本原多项式与不可约多项式判定
有限域上多项式及其简单应用

有限域上多项式及其简单应用作者:李一帆来源:《科教导刊·电子版》2017年第19期摘要本文介绍了近世代数中的域及有限域的基本概念与性质,并探究了有限域中的几种重要的多项式及其在密码学领域的简单应用。
关键词域有限域多项式简单应用中图分类号:O157.4 文献标识码:A0引言域是许多数学分支(如代数、代数数论、代数几何等)研究的基础,而其中有限域对于探究代数结构及其运用是非常重要的。
有限域上多项式在、编码理论、密码学、计算机代数和通信系统等许多领域有广泛应用。
1域和有限域的基本概念1.1相关定义定义1 设R是一个环,如果,又有单位元且每个非零元素都有逆元,则称R是一个除环。
可换除环称为域。
定义2域中元素的个数为有限时,则称域为有限域或galois域,记为GF。
并把元素个数称为有限域的阶,记为GF(n)。
1.2域的基本性质(1)数域都是域;(2)域没有零因子;(3)域的特征只能是素数或无限;(4)有限除环必为域。
2有限域上的几种常用多项式2.1有限域上的一元多项式设n是一非负整数,表达式?(1)其中a0,a1,…,an属于有限域GF,称(1)为系数在有限域GF中的一元多项式。
2.2有限域上的不可约多项式设,非常数。
若有,使得,则或为常数(0次多项式),则称为多项式环中的不可约多项式或中的素元。
2.3有限域上的本原多项式设是上的n次不可约多项式。
若满足的最小正整数为,则称为上的本原多项式。
3有限域上多项式在密码学中的简单应用3.1与的乘法比较设是域上的一个n次不可约多项式,则例设为3次不可约多项式,则。
解若为的一个本原元,则。
记0=000=0,1=001=1,x=010=2,x+1=011=3,x2=100=4,x2+1=101=5,x2+x=110=6,x2+x+1=111=7;则乘法表如表1,乘法表如表2,由上述表格得出,在中,所有非零元素都有乘法逆元;在中,非零元素2,4和6无乘法逆元。
matlab有限域上的运算

matlab有限域上的运算1 有限域基础知识有限域(Galois域)的构造令p为一个素数. 则对任意的一个正整数n,存在一个特征为p,元素个数为p n的有限域GF(p n).注:任意一个有限域,其元素的个数一定为p n,其中p为一个素数(有限域的特征),n为一个正整数.例1(有限域GF(p))令p为一个素数,集合GF(p)=Z p={0,1,2,…,p?1}.在GF(p)上定义加法⊕和乘法⊙分别为模p加法和模p乘法,即任意的a,b∈GF(p),a⊕b=(a+b)mod p, a⊙b=(a?b)mod p则为一个有p个元素的有限域,其中零元素为0,单位元为1.令a为GF(p)中的一个非零元素. 由于gcd(a,p)=1,因此,存在整数b,c,使得ab+pc=1. 由此得到a的逆元为a?1=b mod p.域GF(p)称为一个素域(prime field).例注1:给定a和p,例1中的等式ab+pc=1可以通过扩展的欧几里得除法得到,从而求得GF(p)中任意非零元素的逆元.例2(有限域GF(p n))从GF(p)出发,对任意正整数n,n≥2,我们可以构造元素元素个数为p n的有限域GF(p n)如下:令g(x)为一个GF(p)上次数为n的不可约多项式,集合GF(p n)=GF(p)[x]/?g(x)?={a0+a1x+a2x2+?+a n?1x n?1| a i∈GF(p),0≤i≤n?1}在GF(p n)上定义加法⊕和乘法⊙分别为模g(x)加法和模g(x)乘法,即任意的a(x),b(x)∈GF(p n),a(x)⊕b(x)=a(x)+b(x), a(x)⊙b(x)=(a(x)?b(x))mod g(x)则为一个有p n个元素,特征为p的有限域,其中零元素为GF(p)中的0,单位元为GF(p)中的1.令a(x)为GF(p n)中的一个非零元素. 由于gcd(a(x),g(x))=1,因此,存在GF(p)上的多项式b(x),c(x),使得a(x)b(x)+g(x)c(x)=1. 由此得到a(x)的逆元为a?1(x)=b(x)mod g(x).域GF(p n)称为GF(p)的(n次)扩域(extension field),而GF(p)称为GF(p n)的子域(subfield).例注:给定GF(p)上的多项式a(x)和g(x),例2中的等式a(x)b(x)+g(x)c(x)=1可以通过扩展的欧几里得除法得到,从而求得GF(p n)中任意非零元素的逆元.例注:设GF(q)是一个含有q个元素的有限域. 对任意正整数n, GF(q)上的n次不可约多项式一定存在. 更进一步,GF(q)上首项系数为1的n 次不可约多项式的个数为N q(n)=1n∑d|nμ(nd)q d=1n∑d|nμ(d)q n/d其中μ为Moebius函数,定义为μ(m)=1(?1)k0如果m=1如果m=p1p2?p k,其中p1,p2,…,p k为互不相同的素数其它有限域的性质令GF(q)是一个含有q个元素的有限域,F?q=GF(q)?{0}为有限域GF(q)中所有非零元素构成的集合. 则在乘法之下F?q是一个有限循环群. 循环群F?q的一个生成元称为有限域GF(q)的一个本原元.若α∈GF(q)为一个本原元,则GF(q)={0,1,α,α2,…,αq?2}并且αq?1=1,即αq=α.定义:设GF(q)是一个含有q个元素的有限域,GF(p)是GF(q)的一个含有p个元素的子域(p不一定为素数),α∈GF(q). 则GF(p)上以α为根,首项系数为1,并且次数最低的多项式称为α在GF(p)上的极小多项式(minimal polynomial of α over GF(p)).特别地,若α∈GF(q)为GF(q)的一个本原元,则α在GF(p)上的极小多项式称为GF(p)上的一个本原多项式(primitive polynomial for GF(q) over GF(p)).定义注1:对任意的α∈GF(q),α在GF(p)上的极小多项式存在并且唯一,并且α在GF(p)上的极小多项式为GF(p)上的一个不可约多项式.定义注2:设α∈GF(q),则α和αp在GF(p)上具有相同的极小多项式. 更进一步,集合B(α)={α,αp,αp2,αp3,…,αp i,…}中的元素具有相同的极小多项式. 设q=p n,则αp n=α. 因此,集合B(α)中互不相同的元素的个数(记为r)不超过n. 可以证明,α为GF(q)的一个本原元当且仅当r=n.定理:设GF(q)是一个含有q个元素的有限域,GF(p)是GF(q)的一个含有p个元素的子域. 设α∈GF(q),r为满足αp r=α的最小正整数. 则α在GF(p)上的极小多项式g(x)是一个r次不可约多项式,并且B(α)={α,αp,αp2,…,αp r?1}中的元素为g(x)在GF(q)上的所有不同的根,即g(x)=(x?α)(x?αp)(x?αp2)?(x?αp r?1).注:r的计算方法如下:设α在F?q中的阶为k. 集合Z?k={m| 0≤m≤k?1,gcd(m,k)=1}在模k乘法运算下是一个含有φ(k)个元素的有限群(其中φ为欧拉(Euler)函数). 则r等于p mod k在Z?k中的阶.推论:设GF(q)是一个含有q个元素的有限域,GF(p)是GF(q)的一个含有p个元素的子域. 设|GF(q)|=p n,即q=p n. 设α∈GF(q)为GF(q)的一个本原元,则α在GF(p)上的极小多项式g(x)的次数为n,并且g(x)=(x?α)(x?αp)(x?αp2)?(x?αp n?1).更进一步,α,αp,αp2,…,αp n?1均为GF(q)的本原元.注:设GF(p)是一个含有p个元素的有限域,n是任意一个正整数,则GF(p)上的n次本原多项式一定存在. 更进一步,GF(p)上的首项系数为1的n 次本原多项式的个数为φ(p n?1)n,其中φ为欧拉函数.例3考虑二元域GF(2)上的不可约多项式p(α)=α3+α+1,构造有限域GF(23)=GF(2)[α]/?p(α)?={0,1,α,α+1,α2,α2+1,α2+α,α2+α+1}.容易验证,α,α2,α3,α4,α5,α6都是GF(23)的本原元. GF(2)上的首项系数为1的3次本原多项式有两个,分别为(i) α,α2,α4在GF(2)上的极小多项式g(x)=(x+α)(x+α2)(x+α4)=x3+x+1(ii) α3,α5,α6在GF(2)上的极小多项式g(x)=x3+x2+1有限域GF(p)上的本原多项式一定是GF(p)上的不可约多项式;但是,GF(p)上的不可约多项式不一定是GF(p)上的本原多项式.定理:设GF(q)是一个含有q个元素的有限域,GF(p)是GF(q)的一个含有p个元素的子域,g(x)是GF(p)上的一个不可约多项式. 则g(x)为GF(p)上的本原多项式当且仅当g(x)在GF(q)上的根都是GF(q)的本原元.下面例子说明不可约多项式不一定是本原多项式.例4考虑二元域GF(2)上的不可约多项式p(x)=x4+x3+x2+x+1,构造有限域GF(24)=GF(2)[x]/?p(x)?={a+bx+cx2+dx3| a,b,c,d∈GF(2)}.显然,x∈GF(24). 由于x5=1,即x的阶为5,因此,x不是GF(24)的本原元. 于是,p(x)不是GF(2)上的本原多项式. 另外,可以验证x+1是GF(24)的本原元.2 Matlab 中的有限域计算函数Matlab 中自带的有限域的计算是在GF(2m)上进行的,即在二元域GF(2)的扩域中进行计算,其中1≤m≤16.由“ 有限域的构造” 的“例2” 可知,我们只需先找到一个GF(2)上的m次不可约多项式g(x),得到集合GF(2)[x]/?g(x)?,然后定义其上的加法和乘法分别为模g(x)加法和模g(x)乘法,即得到有限域GF(2m).然而,这样得到的有限域GF(2m)中,元素x未必是本原元,这将给后面的(乘法)运算带来很多麻烦. 因此,在不可约多项式g(x)的挑选上,我们最好选择一个本原多项式. 这其实就是 Matlab 中的做法.Matlab 中GF(2m)的元素:在 Matlab 中GF(2m):=GF(2)[D]/?p(D)?,其中p(D)为一个GF(2)上的m次本原多项式.GF(2m)={a m?1D m?1+a m?2D m?2+?+a1D+a0, | a i∈GF(2),0≤i≤m?1}因此,每个GF(2m)中的元素本质上是一个次数小于m的多项式,每个元素和多项式之间有“1-1”对应关系. 例如,取m=3和本原多项式p(D)=D3+D+1,则我们得到有限域GF(23),其中的元素和多项式之间的对应关系如下:GF(23)GF(2)[D]/?p(D)?二进制00000110012D0103D+10114D21005D2+11016D2+D1107D2+D+1111GF(2)上的多项式由系数组成的二进制所对应的(十进制)数字来表示. 例如,多项式p(D)=D3+D+1的系数组成的二进制为1011,因此,多项式p(D)表示为数字11.定义有限域数组在Matlab 中,函数gf用来定义一个有限域数组,函数申明如下:X_GF = GF(X,M,PRIM_POLY)函数创建有限域GF(2M)上的一个数组,使用的GF(2)上的M次本原多项式为PRIM_POLY;M是一个1至16之间的整数;数组X中的元素为0至2M?1之间的数.例如,生成有限域GF(23)中的所有元素,并令本原多项式为p(D)=D3+D2+1.>> GF8 = gf(0:7,3,13)GF8 = GF(2^3) array. Primitive polynomial = D^3+D^2+1 (13 decimal) Array elements =0 1 2 3 4 5 6 7如果不指定本原多项式,则 Matlab 将使用默认本原多项式. 例如>> gf(0:7,3)ans = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal) Array elements =0 1 2 3 4 5 6 7在这里例子中,Matlab 使用了3次本原多项式D3+D+1.如果不指定次数M和本原多项式PRIM_POLY,则生成二元域GF(2)中的元素.>> gf(0:1)ans = GF(2) array.Array elements =0 1生成的有限域中的数组可以参与运算(+、、.、.^、\等). 注意:参与运算的操作数必须来自同一个有限域,用于生成有限域的本原多项式也必须相同!一个典型的例子是计算有限域的乘法表如下:>> GF8 = gf(0:7,3)GF8 = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal) Array elements =0 1 2 3 4 5 6 7>> GF8'*GF8ans = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal) Array elements =0 0 0 0 0 0 0 00 1 2 3 4 5 6 70 2 4 6 3 1 7 50 3 6 5 7 4 1 20 4 3 7 6 2 5 10 5 1 4 2 7 3 60 7 5 2 1 6 4 3>> GF8 = gf(0:7,3,13)GF8 = GF(2^3) array. Primitive polynomial = D^3+D^2+1 (13 decimal) Array elements =0 1 2 3 4 5 6 7>> GF8'*GF8Warning: Lookup tables not defined for this order 2^3 and primitive polynomial 13. Arithmetic still workscorrectly but multiplication, exponentiation, andinversion of elements is faster with lookup tables.Use gftable to create and save the lookup tables.> In at 35In at 20ans = GF(2^3) array. Primitive polynomial = D^3+D^2+1 (13 decimal) Array elements =0 0 0 0 0 0 0 00 1 2 3 4 5 6 70 2 4 6 5 7 1 30 3 6 5 1 2 7 40 4 5 1 7 3 2 60 5 7 2 3 6 4 10 7 3 4 6 1 5 2在这里我们用两个不同的本原多项式构造有限域GF(23),得到两张不同的乘法表.注1:当我们计算GF(2)[D]/?D3+D2+1?的乘法表时,Matlab 给产生一个警告“Warning: Lookup tables not defined for this order 2^3 and primitive polynomial 13.” 从警告中我们可以看出,Matlab 中有限域的乘法是通过查表来完成的,这样可以显著地提高计算的速度. 我们可以通过命令gftable来创建并保存查找表格.注2:用本原多项式D3+D+1和D3+D2+1生成两个不同的元素个数为8的有限域,然而这两个有限域是同构的. 一般地,我们有如下有限域同构定理:定理:任意两个元素个数相同的有限域一定同构.与本原元多项式相关的函数primpoly函数primpoly用于计算GF(2)上的本原多项式,函数申明如下:PR = PRIMPOLY(M, OPT, 'nodisplay')其中M为本原多项式的次数,其取值为2至16之间的整数;选项OPT的定义如下:OPT = 'min' 给出一个权值最小的本原多项式OPT = 'max' 给出一个权值最大的本原多项式OPT = 'all' 给出所有的本原多项式OPT = L 给出所有权值为L的本原多项式字符串‘nodisplay’用于关闭默认的本原多项式显示方式.例如,输出GF(2)上所有次数为3的本原多项式.>> primpoly(3,'all')Primitive polynomial(s) =D^3+D^1+1D^3+D^2+1ans =1113>> primpoly(3,'all','nodisplay')ans =1113isprimitive函数isprimitive用来检查GF(2)上的多项式是否为本原多项式,函数申明如下:CK = ISPRIMITIVE(A)其中A为一个表示多项式的数字,并且表示的多项式的次数不能超过16. 如果A为本原多项式,则返回1;否则返回0.例如,检查多项式D3+D2+1和D3+D2+D+1是否为本原多项式如下:>> isprimitive(13)ans =1>> isprimitive(15)ans =。
不可约多项式的判定及应用(黄嘉盛)详解

不可约多项式的判定及应用摘 要多项式理论是高等代数的重要组成部分,而不可约多项式是多项式中重要的概念. 本文主要对有理数域上不可约多项式的判别方法进行整理归纳, 较为系统的给出不可约多项式的判定方法。
对于一般的不可约多项式的判定有Eisenstein 判别法、Kronecker 判别法、Perron 判别法、Browm 判别法等。
研究了各判定方法的等价和包含关系。
此外,我们还给出了不可约多项式的一些应用。
关键词不可约多项式;判定方法;应用2. 不可约多项式的概念及性质2.1 整除的概念设P 是一个数域,对于[]P x 中任意两个多项式()f x 与()g x ,其中()0g x ≠,一定有[]P x 中的多项式()q x ,()r x 存在,使得()()()()f x q x g x r x =+成立,其中(())(())r x g x ∂<∂或者()0r x =,并且这样的()q x ,()r x 是唯一决定的。
定义2.1 数域P 上的多项式()g x 称为能整除()f x ,如果有数域P 上的多项式()h x 使等式()f x =()()g x h x成立,我们用“()g x |()f x ”表示()g x 整除()f x ,用“()g x ()f x ”表示()g x 不能整除()f x 。
定理 2.1[1] 对于数域P 上的任意两个多项式()f x ,()g x ,其中()g x 0≠,()g x |()f x 的充分必要条件是()g x 除()f x 的余式为零。
证明: 如果()r x = 0那么()f x =()()q x g x ,即()g x |()f x 。
反过来,如果()g x |()f x ,那么()f x =()()q x g x =()()q x g x +0,即()r x = 0。
注1: 带余除法中()g x 必须不为零。
下面介绍整除性的几个常用性质:(1) 如果()f x |()g x ,()g x |()f x ,那么()()f x cg x =,其中c 为非零常数。
有理数域上不可约多项式

§7.8 有理数域上的不可约多项式
高等代数课件--天津科技大学理学院高等代数精品课程教研小组
本节讨论有理数域上多项式的可约性,以及如 何求Q上多项式的有理根,由于 f x 与 cf x 在 Q x 上的可约性相同。因此讨论 f x 在Q上的可约
性可转化为求整系数多项式在Q上的可约性。 一、整系数多项式的可约性 定义1(本原多项式): 若整系数多项式 f x 的系数互素,则称 f x 是一个本原多项式。 例如:f x 3x2 6x 4, g x 5x2 1 是本原多项式。 本原多项式的加、减运算所得的未必是 本原多项式,但相乘之后必是本原多项式。
都是本原多项式
f x g x c0 c1x
p ck , k 1,2,
ci j xi j
cmn xmn .
若 f x g x 不是本原多项式,则存在素数p,使
, m n, 由于 f x , g x 都是本原多
项式,故 f x 的系数不能都被p整除,g x 的系数 也不能被p整除,
n 即 g x g1 x r g1 x . m
提出来, mg x ng1 x , g1 x 是本原多项式,
同理,存在有理数S,使 h x sh1 x , h1 x 也是本原多项式,
高等代数课件--天津科技大学理学院高等代数精品课程教研小组
但两者不能同时成立。
p2
a0
高等代数课件--天津科技大学理学院高等代数精品课程教研小组
不妨设 p b0 但 p 由于 an bk cl , 由 p
c0 。
an 知 g x 的系数不能都被p
代数数论中的不可约多项式的性质与有限域的计算与应用

不可约多项式在数学中的重要性
定义:一个多项式在 某个数域上不能再被 分解为更低次的多项 式
性质:不可约多项式 是整数的唯一因数分 解的必要条件
应用:在代数数论、 几何学、组合数学等 领域有广泛应用
重要性:不可约多项 式是数学中一个重要 的概念,对于理解数 学的内在结构和发展 有着重要意义
Байду номын сангаас
03 有限域的基本概念
有限域在数据加密 中的具体实现方式
06
有限域在编码理论中的 应用
线性码与有限域的关系
线性码是有限域 的一个重要应用 领域
有限域的元素具有 线性组合和乘法运 算的封闭性,使得 线性码具有很好的 性质
线性码的生成矩 阵和校验矩阵可 以表示为有限域 上的矩阵
有限域的元素个 数决定了线性码 的码距和最小码 距
定义:有限域 的扩展运算是 指将有限域中 的元素进行有 限次运算,以 生成新的元素。
性质:有限域 的扩展运算具 有封闭性,即 运算结果仍属
于有限域。
运算规则:有 限域的扩展运 算具有特定的 运算规则,包 括加法、减法、 乘法和除法等。
应用:有限域 的扩展运算在 密码学、编码 理论等领域有
广泛应用。
05
有限域中的元素个数有限
有限域中的元素具有加法 逆元
有限域中的乘法是可结合 的,且满足交换律
有限域中的乘法是可结合 的,但不满足交换律
有限域的运算规则
加法运算规则: 有限域中的元素 只能进行加法运 算,不能进行减 法运算,通常用 模运算实现减法。
乘法运算规则: 有限域中的元素 只能进行乘法运 算,乘法满足结 合律、交换律和
RS码与有限域的关系
有限域是编码 理论中的基本 概念,为RS码 提供了数学基
不可约多项式的判定及应用(黄嘉盛)详解

不可约多项式的判定及应用多项式理论是高等代数的重要组成部分,而不可约多项式是多项式中重要的概念.本文主要对有理数域上不可约多项式的判别方法进行整理归纳,较为系统的给出不可约多项式 Perron 判别法、Browm 判别法等。
研究了各判定方法的等价和包含关系。
此外,我们还给 出了不可约多项式的一些应用。
关键词不可约多项式;判定方法;应用2.不可约多项式的概念及性质2.1整除的概念设P 是一个数域,对于P[x]中任意两个多项式f(x)与g(x),其中g(x)H0,定有P[x]中的多项式q(x), r(x)存在,使得f(x) =q(x)g(x)+ r(x)成立,其中c(r(x))<c(g(x))或者r(x)=0,并且这样的q(x),r(x)是唯一决定的。
定义2.1数域P 上的多项式g(x)称为能整除f(x),如果有数域P 上的多项式h(x)使等式f (x) = g(x)h(x)我们用g(x)|f(x) ”表示g(x)整除f(x),用g(x) f (x) ”表示g(x)不能整除 f (x)。
定理2.1⑴ 对于数域P 上的任意两个多项式f(x) , g(x),其中的判定方法。
对于一般的不可约多项式的判定有 Eisenstein 判别法、Kronecker 判别法、 成立,H0, g(x) | f (x)的充分必要条件是g(x)除f (x)的余式为零。
证明:如果r(x) = 0那么f(x) = q(x)g(x),即g(x) | f (x)。
反过来,如果g(x) | f(x),那么 f(x) = q(x)g(x) = q(x)g(x) +0, 即卩 r(x) = 0。
注1:带余除法中g(x)必须不为零。
F 面介绍整除性的几个常用性质:(1)如果 f(x) | g(x), g(x) | f (x),那么 f(x)=cg(x),其中 c 为非零常数。
(2)如果 f(x) | g(x), g(x) |h(x),那么 f(x) | h(x)(整除的传递性)。
有限域上的不可约多项式与其分布

承诺书本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的成果。
尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。
本人授权南京航空航天大学可以有权保留送交论文的复印件,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文。
(保密的学位论文在解密后适用本承诺书)作者签名:日期:南京航空航天大学硕士学位论文1第一章 绪论有限域是计算机科学与数字通讯领域最基本的数学工具之一,也是现代代数学的重要分支之一。
在初等数论里面,我们已经知道,对于每个素数p ,都存在p 元有限域。
更进一步,利用简单的域的扩张理论,我们能确定出全部有限域,并且得出,对于任意奇素数的方幂q 和任意正整数n ,都存在着n q 个元素的有限域。
近五十年来,由于它在组合,编码,密码,通信等学科的广泛应用,而逐步形成富有特色的代数学核心课程。
有限域的理论最早可追溯到费尔马(FERMAT 1601-1665)和欧拉(EULER 1707-1783),他们为一些特别的有限域结构,如素数域,作出了重要的贡献。
有限域的一般理论主要从高斯(GAUSS 1777-1855)和伽罗瓦(GALOIS 1811-1832)的工作开始,但最近几十年,随着离散数学的发展,许多从事应用研究的数学家,开始重视有限域理论的研究和应用。
例如,有限域的计算和算法分析对计算机代数和符号计算有重要的影响。
我们用()GF q 表示含有q 个元素的有限域,q 为素数p 的方幂。
我们知道,不可约多项式在多项式中的地位相当于素数在整数中的地位。
类似整数的分解唯一性,()[]GF q x 中多项式()f x 在()GF q 上的分解也是唯一确定的。
除了多项式的次数,刻画有限域上的多项式的另一个重要参数是多项式的周期。
不可约多项式本源多项式

有限域第一次大作业一、实验内容(1)构造有限域202F .(2)找到有限域202F 上的任意元素的极小多项式;(3)找到2F 上的一个本原多项式。
二、算法设计(1)我们知道有限域()n q F q p =的表达有三种形式:()i {}q q F ααα==,α为 ()q h x x x =-的根;()ii []()()()[],p q p F x F f x F x n f x =∈的次不可约多项式; ()iii {}0,q q F F α=U 为上的一个生成元;在这里我们主要通过找到2F 上的一个20次可约多项式来构造有限域202F ,并进行相应的运算。
由于只要找到一个2F 上的不可约多项式,我们采用的算法:()a 随机生成一个20次2F 上的多项式,()b 判断多项式为不可约的,pari 代码见附录1;通过pari 我们得到了一个20次的不可约多项式()(x)f ,则[]()2(x)F x f 即为我们想要的有限域,在这有限域上可以直接进行相应的代数运算,pari 代码见附录2;(2)找到有限域202F 上的任意元素α的极小多项式()f x 的思路第一步:通过元素α的共轭元个数来判断极小多项式()f x 的次数;第二步:通过α的共轭元生成极小多项式()f x ;第三步:进一步判断该元素α是否为本原元,若是,则生成的极小多项式()f x 就是2F 上的本原多项式。
pari 代码见附录3;(3)由于上述方法(2)生成的极小多项式不一定是本原多项式,因此,我们还给出一个能找到上的本原多项式的方法,该方法也是基于随机生成多项式并判断是否为本原多项式,我们知道一个n 次不可约多项式()f x 是本原多项式的条件是其周期达到最大1n p -,由于()()11n p f x x --,所以只要11n k p p p -=L 时,若()|f x ()11 1,,n i p p x i k -⎛⎫ ⎪-= ⎪⎝⎭L ,则()f x 就是本原多项式,所用的算法思路如下第一步:随机产生一个2F 上的20次多项式()f x ;第二步:利用方法一判断该多项式()f x 是否为不可约的;第三步:进一步判断该多项式()f x 是否为本原多项式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义2.1.4(域) 可交换的除环称为域。
定义2.1.5一个域如果包含有限个元素,则称其为有限域,其元素的个数称为该域的阶。
2.2 多项式环
本节对有限环 上的多项式的相关理论做简单介绍,因为有限环 上的多项式的许多定义以及性质可以类推到有限域上,可以说,有限域上的多项式即是具有特殊限制条件的有限环 上的多项式。
(1)(封闭性) , ,有 ;
(2)(结合性) , , ,有 ;
(3)在 中有一个元素 ,对 中任意元素 ,有 ,元素 称为单位元;
(4)对 中任一元素 ,都存在 中的一个元素 ,使得 , 称为可逆元, 称谓 的逆元,记作 ,
则称 关于“ ”形成一个群(Group),记作 , ,通常在不混淆的情况下省略“ ”,用 来表示一个群, 也简记为 。
(1)R关于加法运算“ ”构成一个Abel群;
(2)R关于乘法运算“ ”构成一个半群;
(3) , , ,有 , ,即分配律成立。
则称R关于“ ”和“ ”形成一个环(Ring),记作 , , ,通常在不回产生混淆的情况下省略“ ”和“ ”,用 来表示一个环。
关于环的概念我们需要注意以下一点:
(一)加法单位元一般记作 ,称为零元。
论文的第一章为绪论部分,在绪论部分中,我们主要介绍了该课题研究背景、研究意义、研究现状以及本文的研究成果和各章节结构安排;在第二章中,参考文献[2],对域、有限域以及有限域上的多项式等知识点进行了简要介绍,对基本定义以及相关的定理进行了初步的描述与证明;第三章中对王鑫和王新梅等人在其文献[1]中提出的判定有限域上不可约多项式与本原多项式的充要条件进行了论证,其中引理的证明参考了文献[4]中的相关知识。本次毕业设计我们使用Microsoft Visual Studio 2008软件,用c++语言编程实现算法,在第四章中我们对实现判定有限域上不可约多项式及本原多项式的算法进行了介绍,并对其中的模运算、乘法运算、快速指数算法、欧几里得算法、整数分解算法等核心模块进行了描述。第五章中我们对程序的运行进行了测试,使用的是文献[7]中的 上的30次以下的本原多项式。第六章为结论部分,对本次论文情况进行了总结,并提出了本次课题的不足之处以及可以改进的地方。
定义2.2.1 关于上述加法运算“ ”和乘法运算“ ”构成的环称为环 上的多项式环。
定义2.2.2设 , ,则称多项式 的次数为 ,记为 。 称为 的首系数。若环 含有单位元1,则将首系数为1的多项式称为首一多项式。约定 。
关键词:有限域 不可约多项式 本原多项式
A
Weintroducethe basic knowledge of finitefieldstheoryin the frontof this paper. According to the knowledgeoffinite fields,wediscussanefficient algorithm, which is used to determine whether a polynomial over finite fields is irreducible (primitive) or not, proposed byWangXin and WangXinMei in [1]. Three conditionsare proposedby itasanecessary and sufficient conditionto determineirreducible polynomialsoverthe finite field. And under the preconditionthat thepolynomialisirreducibleoverfinite fields, thealgorithmproposes aconditionas the necessary and sufficient conditionto determinewhether a polynomial isprimitiveor not over finite fields.In the latter part,byusingMicrosoft Visual Studio 2008 software,we makethe mode operations, multiplicationoperations, fast exponential algorithm,Euclidalgorithm, integer factorization algorithm modules come true in c++ language. And finally achievedthe decisionmethodproposed byWangXinandWangXinMeiin[1], realizedthe determinationthatwhether the polynomialover finite fields is irreducible (primitive) or not.
1.2 相关领域的研究进展
2004年,王泽辉和方小洵在文献[3]中写道,确定一个 上 次不可约多项式时,一般整系数多项式不可约性的判定定理用不上,此时确定型(构造性)算法技术上比较复杂,一般常采用概率型算法,目前较好的算法成功率为 ( 较大时),需计算 次多项式与 次多项式的最小公因式,算法的时间复杂度为 ,属于指数时间算法,而对于由低阶构造高阶的解决方案要用到整数的标准分解。另外,确定一个 次本原多项式的难度更大。他们在文献[3]中提出的方法是对于一大类整数 ( 为素数乘于素数或 的积),分别给出有限域 上 次多项式是不可约多项式与本原多项式的一个充要条件,该条件可以通过 次 上乘法加以验证,易于硬件实现。同时提出了可约多项式的一个充分条件,借此减少验证时间,并得到用 次 上乘法确定一个 次不可约多项式及一个 次本原多项式的高效算法。
关于群的定义,我们特别需要注意以下两点
(一)群 中的运算并不一定可交换,但当它满足交换律时,则称群 为交换群或Abel群。
(二)若非空集合 中定义的运算只满足定义2.1.1中的条件(1)和(2),则称 为半群。
定义2.1.2(环) 设 为某种元素组成的一个非空集合,若在 内定义两种运算(通常表示为加法运算“ ”和乘法运算“ ”), 中所有元素满足以下条件:
其他的一些判定算法大多出现在需要使用有限域上不可约多项式与本原多项式作为工具的课题中,并未单独作为改进算法或高效算法判定有限域上多项式不可约性和本原性提出,在此不做赘述。
对于这一课题的研究从未间断,但是所取得的成果每次都是昙花一现般,两个成果间的周期很长,对于现阶段对安全性要求越来越高的实际情况下,新的有限域上性能优良的不可约多项式及本原多项式的发现十分重要,而现阶段的算法也必将日渐无法满足实际需要。
2009年,王鑫和王新梅等人在其文献[1]中提出了一个判定有限域上任一多项式是否为不可约多项式、本原多项式的高效确定算法,分析了多项式次数与其不可约因式之间的内在联系,给出了有限域上任意 次多项式是否为不可约多项式,本原多项式的一个充要条件,通过利用欧几里得算法,该判定仅需做 次域上乘法,属于多项式时间,易于硬件实现。他们提出的算法对文献[3]中提出的算法有了很大的进步,在判定过程中适用性更加广泛。
本次毕业设计的题目是“有限域上不可约多项式与本原多项式的判定”,目前,对于这一课题的研究依旧在进行,一些研究学者相继提出自己的判定算法(文献[1]、[3]等),但是尚无一个公认的高效算法去实现有限域上多项式不可约性与本原多项式的快速判定。许多书中(文献[2]、[4]等)等同样提出了一些经典的算法,但是由于其效率较低,无法满足实际应用的需求。但同时有限域上不可约多项式与本原多项式的应用却日益广泛与重要,对于课题的研究已经迫在眉睫。
1.3 本文主要的研究成果和内容安排
本文运用文献[2][4]中关于有限域的相关知识,对王鑫和王新梅等人在其文献[1]中提出的判定有限域上不可约多项式与本原多项式的充要条件进行了论证,而后使用Microsoft Visual Studio 2008软件,用c++语言编程实现了有限域上的模运算、乘法运算、快速指数算法、欧几里得算法、整数分解算法等核心模块,并最终实现了王鑫和王新梅在[1]中提出的判定方法,实现了对有限域上的多项式是否为不可约多项式及本原多项式的判定。
摘要
本文前面部分介绍了有限域理论的基础知识。然后根据有限域的相关知识,对王鑫和王新梅在[1]中提出的判定不可约多项式及本原多项式的一种高效算法进行了论证。该算法提出了三个条件作为判定有限域上多项式的不可约性的充要条件,并在有限域上多项式不可约的前提下,附加了一个条件作为判定有限域上多项式为本原多项式的充要条件。文章的后面部分,使用Microsoft Visual Studio 2008软件,用c++语言编程实现了有限域上的模运算、乘法运算、快速指数算法、欧几里得算法、整数分解算法等核心模块,并最终实现了王鑫和王新梅在[1]中提出的判定方法,实现了对有限域上的多项式是否为不可约多项式及本原多项式的判定。
Keywords:finite field irreducible polynomials primitive polynomials
第一章 绪论
1.1 研究背景和研究意义
有限域理论作为现代代数的重要分支,在密码学,编码理论,组合理论,大规模集成电路设计等诸多领域都发挥着重要作用,它的应用极大地推动了这些学科的发展,其中,许多相关领域的研究热点都可以归结为有限域理论中的关键问题,这使得有限域理论日益得到重视、充实和推动。作为有限域理论研究的重要分支,有限域上的不可约多项式与本原多项式在密码、编码理论及随机数的产生等方面有着尤其广泛的应用。例如伪随机序列在扩频通信与序列密码中被广泛应用,它可以在连续波雷达中被用作测距信号、在遥控系统中被用作遥控信号、在多址通信中被用作地址信号,在数字通信中被用作群同步信号,还可被用作噪声源在保密通信中起加密作用。这些伪随机序列大部分是利用有限域上的不可约多项式和本原多项式,通过反馈移位寄存器和其它非线性逻辑产生的。另一方面,多项式理论尤其是不可约多项式和本原多项式又是分析伪随机性能和密码体制的一种有效工具,因此对限域上不可约多项式与本原多项式相关理论的研究具有重要的意义。