模运算

除法定理
Z={⋯,−1,0,1,⋯}\mathbb{Z}=\{\cdots,-1,0,1,\cdots\}Z={⋯,−1,0,1,⋯}为整数集,对任何整数a和任何正整数n存在唯一整数q和r,满足{r:0≤r<n,r∈Z}\{r:0\le r<n,r\in \mathbb{Z}\}{r:0≤r<n,r∈Z},且a=qn+ra=qn+ra=qn+r。称q=⌊a/n⌋q=\left \lfloor a/n \right \rfloorq=⌊a/n⌋为除法的,⌊⌋\lfloor \rfloor⌊⌋表示向下取整, r≡amodnr\equiv a \mod nr≡amodn为除法的余数。
简单例子
19mod11≡8mod1119\mod 11\equiv 8\mod1119mod11≡8mod11
−7mod11≡4mod11-7 \mod 11\equiv 4\mod11−7mod11≡4mod11
模运算的好处:一些程序进行线性运算的时候,由于存储空间大小是固定的,可能存在结果溢出的情况,模运算可以将xxx结果始终确定在一个范围即{x:0≤x<n,x∈Z}\{x:0\le x<n,x\in \mathbb{Z}\}{x:0≤x<n,x∈Z}内,从而避免溢出。

有限群

群(S,⊕)(S,\oplus )(S,⊕)是集合SSS和二元运算符⊕\oplus⊕组成,顾名思义群中的元素个数是有限的。对于该运算应该满足以下性质:

  • 封闭性:对于任意a,b∈Sa,b\in Sa,b∈S,有a⊕b∈Sa\oplus b \in Sa⊕b∈S。
  • 单位元:存在一个元素e∈Se \in Se∈S,称eee为单位元,对所有a∈Sa\in Sa∈S,满足e⊕a=a⊕e=ae \oplus a=a\oplus e = ae⊕a=a⊕e=a。
  • 结合律:对任意a,b,c∈Sa,b,c\in Sa,b,c∈S,有(a⊕b)⊕c=a⊕(b⊕c)(a\oplus b)\oplus c=a\oplus(b\oplus c)(a⊕b)⊕c=a⊕(b⊕c)。
  • 逆元:对任意a∈Sa\in Sa∈S,存在b∈Sb\in Sb∈S,满足a⊕b=b⊕a=ea\oplus b=b\oplus a=ea⊕b=b⊕a=e。

模n加法群

定义群(Zn,+n)(\mathbb{Z}_n,+_n)(Zn​,+n​),其中Zn={x∣0≤x<n,x∈Z}\mathbb{Z}_n=\{x|0\le x<n,x\in\mathbb{Z}\}Zn​={x∣0≤x<n,x∈Z},+n+_n+n​指在模n上的加法,即a+nb=a+bmodna+_n b = a+b\mod na+n​b=a+bmodn,群(Z5,+5)(\mathbb{Z}_5,+_5)(Z5​,+5​)的运算表为

+5+_5+5​ 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3

在该群中单位元为0,0的逆元为0,1的逆元为4。

模n乘法群

定义群(Zn∗,⋅n)(\mathbb{Z}_n^*,\cdot_n)(Zn∗​,⋅n​),其中Zn∗={x∈Zn∣gcd(a,n)=1}\mathbb{Z}^*_n=\{x\in \mathbb{Z}_n|gcd(a,n)=1\}Zn∗​={x∈Zn​∣gcd(a,n)=1},gcd(a,n)gcd(a,n)gcd(a,n)表示求a和n的最大公因数,若两数的最大公因数为1则两个数互素,⋅n\cdot_n⋅n​指在模n上的乘法,即a⋅nb=a⋅bmodna \cdot_nb=a\cdot b \mod na⋅n​b=a⋅bmodn,群(Z8∗,⋅8)(\mathbb{Z}_8^*,\cdot_8)(Z8∗​,⋅8​)的运算表为

⋅8\cdot_8⋅8​ 1 3 5 7
1 1 3 5 7
3 3 1 7 5
5 5 7 1 3
7 7 5 3 1

注意Z8∗={1,3,5,7}≠{0,1,2,3,4,5,6,7}\mathbb{Z}_8^*=\{1,3,5,7\}\ne\{0,1,2,3,4,5,6,7\}Z8∗​={1,3,5,7}​={0,1,2,3,4,5,6,7},因为0,2,4,6和8并不互素。
构造(Z8,⋅8)(\mathbb{Z}_8,\cdot_8)(Z8​,⋅8​)的运算表如下

⋅8\cdot_8⋅8​ 0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 0 2 4 6
3 0 3 6 1 4 7 2 5
4 0 4 0 4 0 4 0 4
5 0 5 2 7 4 1 6 3
6 0 6 4 2 0 6 4 2
7 0 7 6 5 4 3 2 1

该运算并不存在逆元,因而不能构成群。

当nnn取素数时,Zn∗={1,2,…,n−1}\mathbb{Z}^*_n=\{1,2,\dots,n-1\}Zn∗​={1,2,…,n−1},因为n必然与比其小的所有数互素。

⋅5\cdot_5⋅5​ 1 2 3 4
1 1 2 3 4
2 2 4 1 3
3 3 1 4 2
4 4 3 2 1

异或群

定义群(Zn,⊕)(\mathbb{Z}_n,\oplus)(Zn​,⊕),其中Zn={x∣0≤x<n,x∈Z}\mathbb{Z}_n=\{x|0\le x<n,x\in\mathbb{Z}\}Zn​={x∣0≤x<n,x∈Z},⊕\oplus⊕指异或运算,群(Z4,⊕)(\mathbb{Z}_4,\oplus)(Z4​,⊕)的运算表为

⊕\oplus⊕ 0 1 2 3
0 0 1 2 3
1 1 0 3 2
2 2 3 0 1
3 3 2 1 0

显然此时,单位元为0,任何元素的逆元为其自身。

伽罗华域

伽罗华域也称为有限域,域(R,+,−,⋅,÷)(R,+,-,\cdot,\div)(R,+,−,⋅,÷)由运算元素集合和四则运算组成,由于减法、除法分别和加法、乘法是逆运算关系,只需要关注加法和乘法即可。对于加法来说,每个元素要求有对应的加法逆元;对于乘法来说,除0以外的每个元素要求要有对应的乘法逆元。关于群、环、域的概念进一步了解可阅读这篇博客。

伽罗华域GF(q)GF(q)GF(q)表示

qqq指有限域的阶,在有限域中阶等于元素个数,有限域的阶通常是素数PPP或是素数幂PWP^WPW,即q=P或PWq = P 或P^Wq=P或PW。

有限域GF(P)GF(P)GF(P)

GF(P)GF(P)GF(P)被称为P阶素数域,PPP为素数。运算元素的集合为Zp\mathbb{Z}_pZp​,加法和乘法运算要在模p上进行,即此时的加法和乘法运算分别为+p,⋅p+_p,\cdot _p+p​,⋅p​。在GF(P)GF(P)GF(P)上a≡bmodPa\equiv b \mod Pa≡bmodP与a=b相同,这意味着a=b→a=kn+b,k∈Za = b \to a=kn+b,k \in \mathbb{Z}a=b→a=kn+b,k∈Z。当PPP为素数时,显然所有大于0小于p的整数和是互素的,根据上面介绍的模n乘法群的概念,显然除去0以外,每个元素都能找到其逆元。
对于GF(2)GF(2)GF(2),仅包含了元素0和1,加法表为

+ 0 1
0 0 1
1 1 0(1+1=2mod2≡0mod2)0 \ (1+1 =2 \mod 2\equiv 0 \mod 2)0 (1+1=2mod2≡0mod2)

乘法表为

⋅\cdot⋅ 0 1
0 0 0
1 0 1

有限域GF(Pw)GF(P^w)GF(Pw)

当n>1n>1n>1时,GF(Pw)GF(P^w)GF(Pw)可以表示为系数属于GF(P)GF(P)GF(P)等价域上的多项式,www表示多项式不能超过的阶。举个栗子,对于GF(34)GF(3^4)GF(34),来说其包含了多项式0,1,2,x+1,x+2,2x,2x+1,2x+2,x2+x,x2+x+1,⋯,2x3+2x2+2x+20,1,2,x+1,x+2,2x,2x+1,2x+2,x^2+x, x^2+x+1,\cdots,2x^3+2x^2+2x+20,1,2,x+1,x+2,2x,2x+1,2x+2,x2+x,x2+x+1,⋯,2x3+2x2+2x+2,即多项式系数为0,1,2,此时w=4w=4w=4,多项式阶数不能超过4,符合这两个条件的多项式个数为PwP^wPw,注意这里的有限域的集合中的元素可以看成多项式,即加法和乘法是指多项式的加法和乘法,特殊之处在于对于计算后的各项系数需要取模PPP,同时对整体还需要取模f(x)f(x)f(x)。参考GF(P)GF(P)GF(P)的取模方法,这里取的模f(x)f(x)f(x)也应该是多项式,关于多项式的运算规则可以查看这篇博客。接下来我会举出大量栗子帮助理解。
对于GF(23)GF(2^3)GF(23),其包含了元素有8个分别为0,1,x,x+1,x2,x2+1,x2+x,x2+x+10,1,x,x+1,x^2,x^2+1,x^2+x,x^2+x+10,1,x,x+1,x2,x2+1,x2+x,x2+x+1
其可取的模为x3+x2+1x^3+x^2+1x3+x2+1,x3+x+1x^3+x+1x3+x+1
在有限域GF(2w)GF(2^w)GF(2w)中,需要对多项式各项系数取模2
(x+1)2=x2+2x+1≡x2+1(x+1)^2=x^2+2x+1\equiv x^2+1(x+1)2=x2+2x+1≡x2+1
3x2−x−1≡x2+x+13x^2-x-1\equiv x^2+x+13x2−x−1≡x2+x+1
(x+1)3=x3+3x2+3x+1≡x3+x2+x+1(x+1)^3=x^3+3x^2+3x+1\equiv x^3+x^2+x+1(x+1)3=x3+3x2+3x+1≡x3+x2+x+1
在有限域GF(3w)GF(3^w)GF(3w)中,需要对多项式各项系数取模3
(x+1)2≡x2+2x+1(x+1)^2\equiv x^2+2x+1(x+1)2≡x2+2x+1
3x2−x−1≡2x+23x^2-x-1\equiv 2x+23x2−x−1≡2x+2
(x+1)3≡x3+1(x+1)^3\equiv x^3+1(x+1)3≡x3+1
接下来需要进行取模,模为f(x)f(x)f(x),这个模等同于不可约多项式或是本原多项式,本原多项式是不可约多项式的特例,即在不可约多项式中除去最高阶的项,剩余项的阶最小那个多项式定义为本原多项式。希望对不可约多项式和本原多项式有更多了解的,可以参考这篇博客。对于GF(23)GF(2^3)GF(23),模可以取x3+x2+1x^3+x^2+1x3+x2+1或x3+x+1x^3+x+1x3+x+1,这两个多项式也就是阶为3的不可约多项式。
再列举几个计算案例
在GF(23)GF(2^3)GF(23),模取x3+x+1x^3+x+1x3+x+1 ,计算4x5+3x3+1modx3+x+14x^5+3x^3+1 \mod x^3+x+14x5+3x3+1modx3+x+1
回想整数除法11/5=2余111/5=2余111/5=2余1,11≡1mod511\equiv 1\mod 511≡1mod5
(4x5+3x3+1)x3+x+1=4x2−1+−4x2+x+2x3+x+1\frac{\left(4x^5+3x^3+1\right)}{x^3+x+1}=4x^2-1+\frac{-4x^2+x+2}{x^3+x+1}x3+x+1(4x5+3x3+1)​=4x2−1+x3+x+1−4x2+x+2​
那这里余项为−4x2+x+2-4x^2+x+2−4x2+x+2,即4x5+3x3+1modx3+x+1≡−4x2+x+2modx3+x+1(注意这里是对各项系数取模2,与多项式的模无关)≡xmodx3+x+14x^5+3x^3+1 \mod x^3+x+1 \equiv-4x^2+x+2\mod x^3+x+1(注意这里是对各项系数取模2,与多项式的模无关)\equiv x \mod x^3+x+14x5+3x3+1modx3+x+1≡−4x2+x+2modx3+x+1(注意这里是对各项系数取模2,与多项式的模无关)≡xmodx3+x+1
或者先对4x5+3x3+14x^5+3x^3+14x5+3x3+1系数先取模2,即4x5+3x3+1=x3+14x^5+3x^3+1=x^3+14x5+3x3+1=x3+1
x3+1x3+x+1=1+−xx3+x+1\frac{x^3+1}{x^3+x+1}=1+\frac{-x}{x^3+x+1}x3+x+1x3+1​=1+x3+x+1−x​,对余项−x-x−x的系数−1-1−1取模2,结果为xxx。
再举一个例子
(1+2m)x2+(1+2n)x≡x2+xmodx3+x+1(1+2m)x^2+(1+2n)x\equiv x^2+x \mod x^3+x+1(1+2m)x2+(1+2n)x≡x2+xmodx3+x+1,其中m,n∈Zm,n\in \mathbb{Z}m,n∈Z

多项式 模为x3+x2+1x^3+x^2+1x3+x2+1 二进制 模为x3+x2+1x^3+x^2+1x3+x2+1 多项式 模为x3+x+1x^3+x+1x3+x+1 二进制 模为x3+x+1x^3+x+1x3+x+1
0 0 000 0 000
x0x^0x0 1 001 0 001
x1x^1x1 xxx 010 2 010
x2x^2x2 x2x^2x2 100 x2x^2x2 100
x3x^3x3 x2+1x^2+1x2+1 101 x+1x+1x+1 011
x4x^4x4 x2x^2x2 100 x2+xx^2+xx2+x 110

伽罗华域(有限域)及其运算规则(包含大量例子)相关推荐

  1. 伽罗华域(Galois Field)有限域元素生成和运算原理

    存储编码,矩阵等之间的运算都是在伽罗华域(Galois Field,GF,有限域)上进行的,所以要实现底层的运算库,必须了解 GF 上的运算规则. 域: 一组元素的集合,以及在集合上的四则运算,构成一 ...

  2. 有限域(Galois Field,GF,伽罗华域)的乘法原理

    今天在打AES的代码,打到列混合变换的时候对有限域的乘法不是很熟悉,但是查了很多资料结合书本最后算是弄会了,分享一下自己的心得 这里是引用在密码学中经常用到有限域的乘法,一般在AES中用到的是GF(2 ...

  3. 伽罗华域(Galois Field,GF,有限域)

    原文见链接DataMatrix 编码生成和译码原理即方法 原文见链接存储系统中的纠删码(Erasure Codes)-XOR 码和RS 码 原文见链接(讲的很好)Galois 域上的运算(规则) 原文 ...

  4. 伽罗华域(Galois Field, GF, 有限域)的四则运算

    有限域的构造之常见本原多项式 伽罗华域(Galois Field,GF,有限域)乘法运算 伽罗华域(Galois Field)理解.基于伽罗华域的四则运算(附详细python代码)

  5. 伽罗华域(伽罗瓦域,Galois Field,GF,有限域)

    原文见链接DataMatrix 编码生成和译码原理即方法 原文见链接存储系统中的纠删码(Erasure Codes)-XOR 码和RS 码 原文见链接(讲的很好)Galois 域上的运算(规则) 原文 ...

  6. 伽罗华域GF,GF(256)来源

    Galois Field 1. 域 2. 域中单位元和逆元 3. 有限域GF(p)(p)(p) 4. 有限域GF(2p)(2^p)(2p) 4.1 有限域GF(2p)(2^p)(2p)的生成 4.2 ...

  7. c语言实现伽罗华域乘法器,伽罗华域运算及C语言实现

    伽罗华域(Galois Field)简介 在数学中,有限域(或称伽罗华域)是一个包含有限元素的域.与其他域一样,有限域是进行加减乘除运算都有定义并且满足特定规则的集合.其中加法和乘法必须满足交换.结合 ...

  8. 伽罗华域上(Galois Field)上的四则运算-笔记

    原网页:https://blog.csdn.net/shelldon/article/details/54729687 单位元:a∗e=e∗a=aa*e=e*a=aa∗e=e∗a=a 本原多项式:域中 ...

  9. 伽罗华域下的伪随机序列图像编码(一)

    最近看了一篇TPAMI文章Determining Both Surface Position and Orientation in Structured-Light-Based Sensing ,是用 ...

  10. 伽罗华域(Galois Field)理解、基于伽罗华域的四则运算(附详细python代码)

    参考链接:https://blog.csdn.net/luotuo44/article/details/41645597 参考链接:https://blog.csdn.net/shelldon/art ...

最新文章

  1. WF4.0 基础篇 (三) 流程实例WorkflowApplication与设计WF程序的基本原则
  2. web网站无法启动报错
  3. 江西理工大学c语言程序设计竞赛怎么备考,2015年江西理工大学C语言程序设计竞赛(高级组)...
  4. [BUUCTF-pwn]——others_shellcode
  5. linux编译寻找包含的头文件,Linux编写内核模块编译时找不到头文件
  6. 《AI技术人才成长路线图》:完整版PPT及要点解读
  7. OpenLDAP 2.4.44 安装 + phpLDAPadmin 安装
  8. 【机器学习】Andrew Ng——05Octave
  9. ORA-00704 ORA-00604 ORA-00942----惜分飞
  10. 数值积分方法的c语言实现,编程实现数值积分的几种--方法 c语言.doc
  11. 主题等.ppt及活动内容.ppt文档规范要求
  12. 2、Kmeans算法处理出租车数据
  13. idea调代码时返回到上一步的快捷键
  14. shell脚本中shift的用法
  15. 计算机指令定时关机,电脑使用命令设置定时关机
  16. 《我的眼睛--图灵识别》第四章:基础:图片识别
  17. 自定义android控件EditText边框背景
  18. Java新手入门200例122之通过Java反射操作成员变量,set 和 get
  19. 读完这本书打通了“数据化运营”的任督二脉
  20. 微信小程序制作简单的商品列表页,实现价格求和

热门文章

  1. BXP网卡换槽之后就要按“任意键”的问题解决方法!(转)
  2. 冰雪传奇刷怪计时器_冰雪传奇BOSS计时器
  3. native内存泄漏分析
  4. Android学习手册:JSON解析工具比较
  5. PDF虚拟打印机怎么虚拟打印
  6. 基于Mathemtica绘制一元酸滴定碱的滴定曲线(含V--PH曲线方程的推导)
  7. 三阶魔方还原步骤图_3阶魔方教程 1~7步骤,三阶魔方顶层还原图解
  8. 中国城市统计年鉴1985-2021中国城市年鉴面板数据(完美Excel版)
  9. echarts制作3D锥形金字塔
  10. 教你webm格式怎么转换成mp4