目录

5.1群

5.1.1 群的性质

5.1.2 交换群

5.1.3 循环群

5.2 环

5.3 域

5.4 有限域GF(p)

5.4.1 阶为p的有限域

5.4.2 在有限域GF(p)中求乘法逆元

5.4.3 小结

5.5 多项式运算

5.5.1 普通多项式运算

5.5.2 系数在Zp中的多项式运算

5.5.3 求最大公因式

5.5.4 小结

5.6 有限域GF(2^n)

5.6.1 动机

5.6.2 多项式模运算

5.6.3 求乘法逆元

5.6.4 计算上的考虑

5.6.5 使用生成元

5.6.6 小结

学习目标

  • 区分群、环和域。
  • 理解有限域GF(p)的定义。
  • 区分普通多项式运算、系数在中的多项式运算和有限域GF()中的多项式运算。
  • 理解有限域GF()的定义。
  • 解释模运算符的两种不同的用法。

有限域在密码学中的地位越来越重要。许多密码算法都依赖于有限域的性质,特别是高级加密标准(AES)和椭圆曲线加密算法。其他例子包括消息认证码(CMAC)和认证加密方案(GCM)。

本章介绍有关有限域概念的背景知识,以便读者理解AES及其他使用有限域知识的密码算法的设计。

5.1群

群、环和域都是数学理论中的分支——抽象代数或近世代数的基本元素。在抽象代数中,我们关心的是其元素能够进行代数运算的集合,也就是说,可以通过多种方法使得集合上的两个元素运算后得到集合中的第三个元素。这些运算方法都遵守特殊的规则,而这些规则又能确定集合的性质。根据约定,集合上元素的两种主要运算符号与普通数字的加法和乘法所用的符号相同。但要指出的是,在抽象代数中并不只限于普通的算术运算,详见后面的介绍。

5.1.1 群的性质

群G,有时记为,是定义了一个二元运算的集合,这个二元运算可表示为    ,G中的每个序偶(a,b)通过运算生成中的元素,并且满足以下公理。                                                         (A1) 封闭性  若a和b都属于G,则也属于G。(这里a和一个意思不加区分,后文也一样)         (A2) 结合律  对于G中的任意元素a,b,c,都有。                                             (A3) 单位元  G中存在一个元素e,对于G中的任意元素a,都有。                         (A4) 逆元  对于G中的任意元素a,G中都存在一个元素,使得

---------------------------------------------------------------------------------------------------------------------------------书本这里举了一个置换群的例子,详细请看书

---------------------------------------------------------------------------------------------------------------------------------

若一个群的元素是有限的,则该群称为有限群,并且群的阶等于群中元素的个数。否则,称该群为无限群。

5.1.2 交换群

一个群若满足以下的条件,则称为交换群。                                                                                           (A5). 交换律  对于G中的任意元素a,b,都有。                                                                 加法运算下的整数集(包括正整数、负整数和零)是一个交换群。乘法运算下的非零实数集是一个交换群。前列中的集合(置换群)是一个群,但是对于,他不是交换群。                               群众的运算是加法时,其单位元是0;a的逆元是-a;且减法用以下规则定义:a-b=a+(-b)。

5.1.3 循环群

我们在群中将求幂运算定义为重复运用群中的运算,如。此外,我们定义为单位元,并且,其中是a在群内的逆元素。若群G中的每个元素都是一个固定元素的幂(k为整数),则称群G是循环群。我们认为元素a生成了群G,或者说a是群G的生成元。循环群总是交换群,他可能是有限群或无限群。

e.g. 整数的加群是一个无限循环群,它由1生成。在这种情况下,幂被解释为是用加法合成的,因此n是1的第n次幂。

5.2 环

环R,有时记为,是有两个二元运算的集合,这两个二元运算分别称为加法和乘法,且对于R中的任意元素a,b,c,满足以下公理。                                                                                             (A1~A5)R关于加法是一个交换群;也就是说,R满足从1到5的所有原则。对于此种情况下的加法群,我们用0表示其单位元,用-a表示a的逆元。                                                                                (M1)  乘法封闭性  若a和b都属于R,则ab也属于R。                                                                          (M2)  乘法结合律  对于R中的任意元素a,b,c,有。                                                    (M3)  分配律  对于R中的任意元素a,b,c,总有

环本质上是一个集合,可在其上进行加法、减法[a-b=a+(-b)]和乘法而不脱离该集合。

环若还满足以下条件,则被称为交换环。                                                                                                  (M4)  乘法交换律  对于R中的任意元素a,b,有ab=ba。

下面定义整环,它是满足以下公理的交换环。                                                                                            (M5)  乘法单位元  在R中存在元素1,使得对R中的任意元素a,有a1=1a=a。                                  (M6)  无零因子  若有R中的元素a,b,且ab=0,则必有a=0或b=0.

---------------------------------------------------------------------------------------------------------------------------------后面我会专门出一篇文章来学习环,多项式环,分圆多项式环,等。对于一些密码学方案来说是一种基本的结构

---------------------------------------------------------------------------------------------------------------------------------

5.3 域

域F,有时记为,是有两个二元运算的集合,这两个二元运算分别称为加法和乘法,且对于F中的任意元素a,b,c,满足以下公理。                                                                                                     (A1~M6)  F是一个整环;也就是说,F满足从A1到A5及从M1到M6的所有原则。                             (M7)  乘法逆元  对F中的任意元素a(除0外),F中存在一个元素使得

域本质上是一个集合,可以在其上进行加法、减法、乘法和除法而不脱离该集合。除法又按规则来定义。

深入理解这些内容后,下面这些可以替代的描述可能是有用的。域是一个集合,定义了两个二元运算——加法和乘法,满足下面的条件。

  1. F对加法组成一个交换群。
  2. 除零外,F对乘法组成一个交换群。
  3. 分配律成立。也就是说,对F中的任意元素a,b,c,有

5.4 有限域GF(p)

有限域的阶(元素的个数)必须是一个素数的幂,其中n为正整数。阶为的有限域一般记为GF(),GF代表Galois域,它以第一位研究有限域的数学家的名字命名。在此要关注两种特殊的情形:n=1时的有限域GF(p),它和n>1时的有限域有着不同的结构,本节将对它进行研究。对有限域GF()来说,有限域GF()具有特别重要的密码学意义,详见5.6节。

5.4.1 阶为p的有限域

给定一个素数p,元素个数为p的有限域GF(p)被定义为整数的集合,其运算为模p的算数运算。

整数的集合,在模n的算术运算下构成一个交换环。进一步发现:中的任一整数有乘法逆元当且仅当该整数与n互素。若n为素数,则中的所有非零整数都与n互素,中所有非零整数都有乘法逆元。

因为w与p互素,若用w乘以的所有元素,则得出的剩余类时中所有元素的另一种排列。因此,恰好只有一个剩余类值为1。于是,中存在这样的整数:当它乘以w,得余数1。这个整数就是w得乘法逆元,记为,所以其实是一个有限域。

5.4.2 在有限域GF(p)中求乘法逆元

当p值较小时,求有限域GF(p)中元素得乘法逆元很容易:只需构造一个乘法表,所要结果直接从表中读出。但是,当p值较大时,这种方法时不切实际的。

若a和b互素,则b有模a的乘法逆元。也就是说,若gcd(a,b)=1,则b有模a的乘法逆元。即对于正整数b<a,存在使得。若a时素数且,则a和b显然互素,且其最大公因式为1。运用扩展欧几里得算法容易计算

再次重复(2.7),我们证明过该式可以用扩展欧几里得算法求解:

现在,若,则有。运用2.3节定义的模算术的基本公式,有

然而,若,则。因此,若,则通过对式(2.7)运用扩展欧几里得算法可以获得b的乘法逆元。

更一般地,对任意n,扩展欧几里得算法可用于求内的乘法逆元。若对方程应用扩展欧几里得算法,并且得到,则在内有

5.4.3 小结

本节介绍了如何构建阶为p的有限域,其中p为素数。特别地,我们用以下性质定义有限域GF(p)。

  1. 有限域GF(p)由p个元素构成。
  2. 在该集合中定义了二元运算+和。加、减、乘、除可以在集合内实现。除0外,集合内的其他元素都有乘法逆元。

我们已经证明了有限域GF(p)中的元素是集合{0,1,...,p-1}中的元素,其算术运算是模p的加法和乘法。

5.5 多项式运算

在继续讨论有限域之前,需要介绍一个有趣的问题——多项式算术。这里只讨论单变元多项式,并且将多项式运算分为三种。

  • 使用代数基本规则的普通多项式运算。
  • 系数运算是模p运算的多项式运算,即系数在有限域GF(p)中。
  • 系数在有限域GF(p)中,且多项式被定义为模一个n次多项式m(x)的多项式运算。

本节讨论前两种多项式运算,下一节讨论最后一种多项式运算。

5.5.1 普通多项式运算

一个n次多项式()的表达形式为

式中,是某个指定数集S中的元素,称该数集为系数集,且。称是定义在系数集S上的多项式。零次多项式被称为常数多项式,它只是系数集中的一个元素。若,则对应的n次多项式就被称为首一多项式。

在抽象代数中,一般不给多项式中的x赋一个特定值。为了强调这一点,变元x有时被称为不定元

多项式运算包含加法、减法和乘法,这些运算是把变量x当成集合S中一个元素来定义的。除法也以类似的方式定义,但这时要求S是域。域包括实数域、有理数域、和素数域。注意整数并不是域,它也不支持多项式除法运算。

加法、减法的运算规则是把相应的系数相加减。因此,若

则加法运算定义为

乘法运算定义为

式中,。在后一个公式中,当时令,当时,令。注意结果的次数等于两个多项式的次数之和。

5.5.2 系数在Zp中的多项式运算

现在考虑系数是域F中的元素的多项式,这种多项式被称为域F上的多项式。在这种情况下,容易看出这样的多项式结合是一个环,称为多项式环。也就是说,如果把每个不同的多项式视为集合中的元素,那么这个结合就是一个环。

对有限域中的多项式进行多项式运算时,除法运算是可能的。注意,这并不是说能进行整除。下面说明两者的区别。在一个域中,给定两个元素a和b,a除以b的商也是这个域中的一个元素。然而,在非域的环R中,普通除法将得到一个商式和一个余式,这并不是整除。

现在,如果试图在非域系数集上进行多项式除法,那么除法运算并不总是有定义的。

然而,如所见的那样,即使系数集是一个域,多项式除法也不一定是整除。一般来说,除法会产生一个商式和一个余式。对于有限域中的多项式,式(2.1)的除法可以重述如下:给定n次多项式f(x)和m次多项式g(x)(),若用g(x)除f(x),则得到一个商式q(x)和一个余式r(x),它们满足                                                                                                       (5.2)

各个多项式的次数为

   

若允许有余数,则我们说有限域中的多项式除法是可能的。与整数的长除法相同,长除法也适用于多项式除法。后面会给出一些例子。

与整数运算相似,我们可以把余式r(x)写成f(x) mod g(x),即。若这里没有余式,则说g(x)整除f(x),并写为;等价地,可以说g(x)是f(x)的一个因式除式

有限域GF(2)中的多项式对我们而言式有意义的。在有限域GF(2)中加法等价于异或(XOR)运算,乘法等价于逻辑与(AND)运算。

域F中的多项式f(x)被称为不可约的(即约的),当且仅当f(x)不能表示为两个多项式的积(两个多项式都在F上,次数都低于f(x)的次数)。与整数相似,一个不可约多项式也被称为素多项式。

5.5.3 求最大公因式

通过定义最大公因式,可以扩展有限域中多项式运算和整数运算之间的相似性。如果:

  1. c(x)能同时整除a(x)和b(x),
  2. a(x)和b(x)的任何因式都是c(x)的因式。

那么多项式c(x)为a(x)和b(x)的最大公因式。下面是一个等价的定义:gcd[a(x),b(x)]是能同时整除a(x)和b(x)的多项式中次数最高的一个。

                         (5.3)

上式假设a(x)的次数大于b(x)的次数,可以重复使用(5.3)来求最大公因式。将下列方案和用于整数的欧几里得算法的定义进行比较。

每个循环中都有,直至最后 。因此,通过重复应用除法,我们得到了两个多项式的最大公因式。这就是用于多项式的欧几里得算法。

5.5.4 小结

本节首先讨论了一般多项式的算术运算。在一般多项式算术运算中,变量不被计算,即不给多项式的变量赋值。相反,运用代数的一般规则对多项式进行算术运算(加、减、乘、除)。除非系数是域的元素,否则多项式的除法是不允许的。

接着讨论了有限域GF(p)中的多项式算术运算:加、减、乘、除。然而,除法不是整除,即除法的结果通常是商和余数。

最后,本节说明了使用欧几里得算法可以求有限域中的两个多项式的最大公因式。

本节论述的知识为下一节的学习奠定了基础。下一节中将用多项式来构建阶为的有限域。

5.6 有限域GF(2^n)

前几节中提到过有限域的元素个数必须为,其中p为素数,n为正整数。5.4节中讨论了元素个数为p的有限域这一特殊情况。我们发现在使用上的模运算时,它满足域的所有条件。当n>1时,上的多项式在模运算时并不能产生一个域。本节介绍在一个具有个元素的集合中,什么样的结构满足域的所有条件,并集中讨论有限域GF()。

5.6.1 动机

实际上所有的加密算法(包括对称密钥和公开密钥算法)都涉及整数集上的算术运算。如果某种算法使用的运算之一是除法,那么就使用定义在有限域中的运算。为了方便使用和提高效率,我们希望这个整数集中的数与给定的二进制位数所能表达的信息一一对应而不应出现浪费。也就是说,我们希望这个整数集的范围是从0到,以便正好对应一个n位的字。

 

5.6.2 多项式模运算

设集合S由域上次数小于等于n-1的所有多项式组成。每个多项式的形式如下:

式中,在集合{0,1,....,p-1}上取值。S中共有个不同的多项式。

如果定义了合适的运算,那么每个这样的集合S就是一个有限域。定义由如下几条组成。

  1. 该运算遵循代数基本规则中的普通多项式运算规则以及如下两条限制。
  2. 系数运算以p为模,即遵循有限域上的运算规则。
  3. 如果乘法运算的结果是次数大于n-1的多项式,那么须将其除以某个次数为n的即约多项式m(x)并取余式。对于多项式f(x),这个余数可表示为

5.6.3 求乘法逆元

如欧几里得算法可以用来求两个多项式的最大公因式那样,扩展欧几里得算法可以用来求一个多项式的乘法逆元。若多项式b(x)的次数小于a(x)的次数且,则该算法能求出b(x)以a(x)为模的乘法逆元。若a(x)为即约多项式,即除了本身与1外没有其他因式,则始终有gcd[a(x),b(x)]=1。算法的描述方式和整数情形的扩展欧几里得算法一样。给定两个多项式a(x)和b(x),其中a(x)的次数大于b(x)的次数。我们希望解如下方程得到v(x)、w(x)和d(x),其中d(x) = gcd[a(x),b(x)]:

如果d(x)=1,那么w(x)是b(x)模a(x)的乘法逆元。计算过程如下:

5.6.4 计算上的考虑

有限域GF()中的多项式

可以由它的n个二进制系数唯一地表示。因此,有限域GF()中的每个多项式都可以表示一个n位的二进制数。

加法     我们发现这里的多项式加法是对应系数分别相加,而对于上的多项式,加法其实就是异或(XOR)运算。所以,有限域 GF()中的两个多项式的加法等同于按位异或运算。

乘法     简单的异或运算不能完成有限域 GF()中的乘法,但是可以使用一种相当直观且容易实现的技巧。以为多项式的有限域 GF()是AES中使用到的有限域,我们将参照该域来讨论这个技巧。这个技巧容易推广到有限域 GF()。

这个技巧基于下面的等式:

                             (5.4)

稍作思考就不难证明式(5.4)是正确的。如果不确定,可以除一下。一般来说,在有限域 GF()中对n次多项式p(x),有

5.6.5 使用生成元

定义有限域GF()的另一种等价方式有时更方便,它使用相同的不可约多项式。首先,需要两个定义:阶位q的有限域F的生成元是一个元素,记为g,该元素的前q-1个幂构成了F的所有非零元素,即域F的元素是0,

回顾第2章的讨论可知,若a是n的一个本原根,则其幂是不同的(mod p)。且他们与n是互素的。特别地,对于素数p,若a是p的一个本原根,则其幂是不同的(mod p)。考虑由多项式f(x)定义的域F,若F内的一个元素b满足,则称b为多项式f(x)的根。包含于F的元素b称为多项式的一个根,前提是

首一多项式f(x)是有限域GF(p)上的n次本原多项式,当且仅当其根是有限域GF()的非零元素的生成元。特别地,可以证明,f(x)满足

此外,上述方程为真时的最小正整数是。也就是说,不存在整数使得f(x)整除

所有本原多项式都是不可约的,反之则不成立。对于不是本原多项式的不可约多项式i,我们可以找到一个正整数

最后,可以证明一个不可约多项式的根g是这个不可约多项式定义的有限域的生成元。

通常,对于由不可约多项式f(x)生成的有限域GF(),有。计算的值。域的元素对应g的幂:,另外再加上零元素。域元素的乘法用公式实现,其中k为任意整数。

5.6.6 小结

本节说明了如何构建阶为的有限域。特别地,定义了具有如下性质的有限域GF()。

  1. 有限域 GF()由个元素组成。
  2. 集合上定义了二元运算+和。加、减、乘、除可以在集合内进行。除零元素外的其他元素都有乘法逆元。

有限域 GF()的元素可由二元有限域中所有次数不大于n-1的多项式集合定义。每个多项式可由唯一的n位数来表示。有限域中的算术是模某个次数为n的不可约多项式算术。还介绍了有限域 GF()的一种等价定义,该定义利用了生成元,其运算用生成元的幂进行。

密码编码学与网络安全--原理与实现--(第八版)第5章 ------有限域相关推荐

  1. 【密码学Sage代码】椭圆曲线加密/解密(基于《密码编码学与网络安全——原理与实践(第七版)》)

    [密码学Sage代码]椭圆曲线加密/解密(基于<密码编码学与网络安全--原理与实践(第七版)>) 教材内容: 实践的Sage代码: #[静水流深Sage代码]使用椭圆曲线密码体制进行加密/ ...

  2. 密码编码学与网络安全——原理与实践(第八版)——第一章:信息与网络安全概念

    密码编码学与网络安全--原理与实践(第八版) 第一章:信息与网络安全概念 1.1网络空间安全.信息安全和网络安全 1.2OSI安全架构 1.3安全攻击 1.4安全服务 1.5安全机制 1.6密码学 1 ...

  3. 密码编码学与网络安全———原理与实践(第八版)第三章笔记

    第3章 传统加密技术 学习目标 简要介绍对称密码的主要概念. 解释密码分析和穷举攻击的差异. 理解单表代替密码的操作. 理解多表代替密码的操作. 简要介绍Hill密码. 目录 第3章 传统加密技术 3 ...

  4. 密码编码学与网络安全----原理与实践(第八版)---第9章笔记

    第九章 公钥密码学与RSA 学习目标: 概述公钥密码体制的基本原理. 阐述公钥密码体制的两个不同应用. 列举和解释公钥密码体制的要求. 概述RSA算法. 理解计时攻击. 总结算法复杂性的相关问题. 公 ...

  5. 密码编码学与网络安全(2):对称密码之传统加密技术

    对称密码之传统加密技术 关于对称加密 对称密码模型 密码编码学 密码分析学与穷举攻击 古典加密算法 代替技术 置换技术 转轮机 隐写术 关于对称加密 对称加密,也称为传统加密或单密钥加密,是20世纪7 ...

  6. 《密码编码学与网络安全》William Stalling著---学习笔记(二)【知识点速过】【数字签名+密钥管理分发+用户认证】

    提示:博文有点长,请保持耐心哦~ 前一篇文章: <密码编码学与网络安全>William Stalling著-学习笔记(一)[知识点速过][传统密码+经典对称加密算法+经典公钥密码算法+密码 ...

  7. 《密码编码学与网络安全》William Stalling著---学习笔记(三)【知识点速过】【网络安全与Internet安全概览】

    提示:博文有点长,请保持耐心哦~ 前两篇文章: <密码编码学与网络安全>William Stalling著-学习笔记(一)[知识点速过][传统密码+经典对称加密算法+经典公钥密码算法+密码 ...

  8. 通信原理教程樊昌信版第四章 模拟信号的数字化

    通信原理教程樊昌信版第四章 模拟信号的数字化 思维导图

  9. 密码编码学与网络安全期末考试笔记

    文章目录 M 记忆的部分 1 计算机安全核心的三个目标:CIA 三元组 2 一次一密 OTP(one time password) 3 对称密码与非对称密码的对比 4 分组加密工作模式 5 AES(A ...

  10. 《密码编码学与网络安全》复习总结

    软院田园老师的课,虽然上课没听(我觉得他讲得不好),自己看书也差不多看懂了七七八八,以下是看书过程中列出的部分重点 数论 欧几里得算法三形式,思路 欧拉定理.费马定理证明 中国剩余定理 计算 可能和低 ...

最新文章

  1. 2022-2028年中国即时通讯市场投资分析及前景预测报告
  2. Tony Qu的《WPF揭秘》情节
  3. 未来的设计:我们正在进入“计算设计”时代
  4. SpringBoot实现OAuth2认证服务器
  5. 利用ABAP调试模式修改SE16里数据库表的内容
  6. Oracle数据库管理员经常使用的表和视图
  7. openwrt信号弱掉线_斐讯 FIR151M 频繁掉线(OpenWRT解决方案)
  8. linux编程两个子进程,Linux中fork同时创建多个子进程的方法
  9. android--多线程,android多线程
  10. Rtworld目录网全解开源2.0-功能齐全
  11. Servlet的单例模式
  12. DBA最缺的不是技术
  13. 莫比乌斯反演 BZOJ 2820
  14. c语言中药品管理系统报告,C语言 药品管理系统.doc
  15. windows server 2012的DHCP保留地址导出导入、DHCP故障转移配置、DNS条目命令导入
  16. 美国飞机安全事件频发:背后黑手竟然是5G?
  17. CVE-2018-5767 栈溢出漏洞复现
  18. 晒晒自己写的C++小程序(初学,书上的题目)
  19. ionic开发记账软件《易跟金》
  20. GraphicsLab Project之简易贴画系统(Decal System)

热门文章

  1. java 解析ttf字体文件_stb_truetype解析ttf字体并将其保存到图片中
  2. CF55D-Beautiful numbers【数位dp】
  3. LoadRunner11 下载 及 license注册
  4. 目前国内汉语自动分词系统的研究现状
  5. java完全自学手册(java完全自学手册pdf洪维恩)
  6. hls ask 调制
  7. 基于spring boot的Java开源商城系统(附完整版源码)
  8. JS递归算法经典案例与分析
  9. java json.stringify_JSON.stringify() 方法
  10. Java对象与JSON数据的相互转换