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

本文详细介绍了模运算原理,包括整数除法的商和余数定义,以及如何通过模运算在有限空间避免溢出。接着探讨了有限群的概念,如加法群和乘法群,特别是模n加法群和模n乘法群的例子。文章还重点讲解了模n乘法群在素数域中的特性,以及异或群和伽罗华域(有限域)的概念,涉及GF(p)和GF(p^w)的构造和运算。通过实例演示,深入理解了有限域中的多项式运算及其取模规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模运算

除法定理
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:0r<n,rZ},且 a = q n + r a=qn+r a=qn+r。称 q = ⌊ a / n ⌋ q=\left \lfloor a/n \right \rfloor q=a/n为除法的 ⌊ ⌋ \lfloor \rfloor 表示向下取整, r ≡ a m o d    n r\equiv a \mod n ramodn为除法的余数。
简单例子
19 m o d    11 ≡ 8 m o d    11 19\mod 11\equiv 8\mod11 19mod118mod11
− 7 m o d    11 ≡ 4 m o d    11 -7 \mod 11\equiv 4\mod11 7mod114mod11
模运算的好处:一些程序进行线性运算的时候,由于存储空间大小是固定的,可能存在结果溢出的情况,模运算可以将 x x x结果始终确定在一个范围即 { x : 0 ≤ x < n , x ∈ Z } \{x:0\le x<n,x\in \mathbb{Z}\} {x:0x<n,xZ}内,从而避免溢出。

有限群

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

  • 封闭性:对于任意 a , b ∈ S a,b\in S a,bS,有 a ⊕ b ∈ S a\oplus b \in S abS
  • 单位元:存在一个元素 e ∈ S e \in S eS,称 e e e为单位元,对所有 a ∈ S a\in S aS,满足 e ⊕ a = a ⊕ e = a e \oplus a=a\oplus e = a ea=ae=a
  • 结合律:对任意 a , b , c ∈ S a,b,c\in S a,b,cS,有 ( a ⊕ b ) ⊕ c = a ⊕ ( b ⊕ c ) (a\oplus b)\oplus c=a\oplus(b\oplus c) (ab)c=a(bc)
  • 逆元:对任意 a ∈ S a\in S aS,存在 b ∈ S b\in S bS,满足 a ⊕ b = b ⊕ a = e a\oplus b=b\oplus a=e ab=ba=e

模n加法群

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

+ 5 +_5 +501234
001234
112340
223401
334012
440123

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

模n乘法群

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

⋅ 8 \cdot_8 81357
11357
33175
55713
77531

注意 Z 8 ∗ = { 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并不互素。
构造 ( Z 8 , ⋅ 8 ) (\mathbb{Z}_8,\cdot_8) (Z8,8)的运算表如下

⋅ 8 \cdot_8 801234567
000000000
101234567
202460246
303614725
404040404
505274163
606420642
707654321

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

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

⋅ 5 \cdot_5 51234
11234
22413
33142
44321

异或群

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

⊕ \oplus 0123
00123
11032
22301
33210

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

伽罗华域

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

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

q q q指有限域的阶,在有限域中阶等于元素个数,有限域的阶通常是素数 P P P或是素数幂 P W P^W PW,即 q = P 或 P W q = P 或P^W q=PPW

有限域 G F ( P ) GF(P) GF(P)

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

+01
001
11 0   ( 1 + 1 = 2 m o d    2 ≡ 0 m o d    2 ) 0 \ (1+1 =2 \mod 2\equiv 0 \mod 2) 0 (1+1=2mod20mod2)

乘法表为

⋅ \cdot 01
000
101

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

n > 1 n>1 n>1时, G F ( P w ) GF(P^w) GF(Pw)可以表示为系数属于 G F ( P ) GF(P) GF(P)域上的多项式, w w w表示多项式不能超过的阶。举个栗子,对于 G F ( 3 4 ) GF(3^4) GF(34),来说其包含了多项式 0 , 1 , 2 , x + 1 , x + 2 , 2 x , 2 x + 1 , 2 x + 2 , x 2 + x , x 2 + x + 1 , ⋯   , 2 x 3 + 2 x 2 + 2 x + 2 0,1,2,x+1,x+2,2x,2x+1,2x+2,x^2+x, x^2+x+1,\cdots,2x^3+2x^2+2x+2 0,1,2,x+1,x+2,2x,2x+1,2x+2,x2+x,x2+x+1,,2x3+2x2+2x+2,即多项式系数为0,1,2,此时 w = 4 w=4 w=4,多项式阶数不能超过4,符合这两个条件的多项式个数为 P w P^w Pw,注意这里的有限域的集合中的元素可以看成多项式,即加法和乘法是指多项式的加法和乘法,特殊之处在于对于计算后的各项系数需要取模 P P P,同时对整体还需要取模 f ( x ) f(x) f(x)。参考 G F ( P ) GF(P) GF(P)的取模方法,这里取的模 f ( x ) f(x) f(x)也应该是多项式,关于多项式的运算规则可以查看这篇博客。接下来我会举出大量栗子帮助理解。
对于 G F ( 2 3 ) GF(2^3) GF(23),其包含了元素有8个分别为 0 , 1 , x , x + 1 , x 2 , x 2 + 1 , x 2 + x , x 2 + x + 1 0,1,x,x+1,x^2,x^2+1,x^2+x,x^2+x+1 0,1,x,x+1,x2,x2+1,x2+x,x2+x+1, 一些文章中多项式会用二进制进行表示,即8个元素也可以对应表示为000,001,010,011,100,101,110,111。
其可取的模为 x 3 + x 2 + 1 x^3+x^2+1 x3+x2+1, x 3 + x + 1 x^3+x+1 x3+x+1,模同样也可用二进制表示1101,1011.
在有限域 G F ( 2 w ) GF(2^w) GF(2w)中,需要对多项式各项系数取模2
( x + 1 ) 2 = x 2 + 2 x + 1 ≡ x 2 + 1 (x+1)^2= x^2+2x+1\equiv x^2+1 (x+1)2=x2+2x+1x2+1,这里对 2 x 2x 2x的系数取模, 2 ≡ 0 m o d    2 2 \equiv 0 \mod 2 20mod2
3 x 2 − x − 1 ≡ x 2 + x + 1 3x^2-x-1\equiv x^2+x+1 3x2x1x2+x+1,这里对 3 x 2 3x^2 3x2的系数取模, 3 ≡ 1 m o d    2 3 \equiv 1 \mod 2 31mod2
( x + 1 ) 3 = x 3 + 3 x 2 + 3 x + 1 ≡ x 3 + x 2 + x + 1 (x+1)^3=x^3+3x^2+3x+1\equiv x^3+x^2+x+1 (x+1)3=x3+3x2+3x+1x3+x2+x+1
在有限域 G F ( 3 w ) GF(3^w) GF(3w)中,需要对多项式各项系数取模3
( x + 1 ) 2 = x 2 + 2 x + 1 ≡ x 2 + 2 x + 1 (x+1)^2=x^2+2x+1\equiv x^2+2x+1 (x+1)2=x2+2x+1x2+2x+1
3 x 2 − x − 1 ≡ 2 x + 2 3x^2-x-1\equiv 2x+2 3x2x12x+2
( x + 1 ) 3 = x 3 + 3 x 2 + 3 x + 1 ≡ x 3 + 1 (x+1)^3=x^3+3x^2+3x+1 \equiv x^3+1 (x+1)3=x3+3x2+3x+1x3+1
接下来需要进行取模,模为 f ( x ) f(x) f(x),这个模等同于不可约多项式或是本原多项式,本原多项式是不可约多项式的特例,即在不可约多项式中除去最高阶的项,剩余项的阶最小那个多项式定义为本原多项式。希望对不可约多项式和本原多项式有更多了解的,可以参考这篇博客。对于 G F ( 2 3 ) GF(2^3) GF(23),模可以取 x 3 + x 2 + 1 x^3+x^2+1 x3+x2+1 x 3 + x + 1 x^3+x+1 x3+x+1,这两个多项式也就是阶为3的不可约多项式。
再列举几个计算案例
G F ( 2 3 ) GF(2^3) GF(23),模取 x 3 + x + 1 x^3+x+1 x3+x+1 ,计算 4 x 5 + 3 x 3 + 1 m o d    x 3 + x + 1 4x^5+3x^3+1 \mod x^3+x+1 4x5+3x3+1modx3+x+1
回想整数除法 11 / 5 = 2 余 1 11/5=2余1 11/5=21 11 ≡ 1 m o d    5 11\equiv 1\mod 5 111mod5
( 4 x 5 + 3 x 3 + 1 ) x 3 + x + 1 = 4 x 2 − 1 + − 4 x 2 + x + 2 x 3 + 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)=4x21+x3+x+14x2+x+2
那这里余项为 − 4 x 2 + x + 2 -4x^2+x+2 4x2+x+2,即 4 x 5 + 3 x 3 + 1 m o d    x 3 + x + 1 ≡ − 4 x 2 + x + 2 m o d    x 3 + x + 1 (注意这里是对各项系数取模 2 ,与多项式的模无关) ≡ x m o d    x 3 + x + 1 4x^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+1 4x5+3x3+1modx3+x+14x2+x+2modx3+x+1(注意这里是对各项系数取模2,与多项式的模无关)xmodx3+x+1
或者先对 4 x 5 + 3 x 3 + 1 4x^5+3x^3+1 4x5+3x3+1系数先取模2,即 4 x 5 + 3 x 3 + 1 = x 3 + 1 4x^5+3x^3+1=x^3+1 4x5+3x3+1=x3+1
x 3 + 1 x 3 + x + 1 = 1 + − x x 3 + x + 1 \frac{x^3+1}{x^3+x+1}=1+\frac{-x}{x^3+x+1} x3+x+1x3+1=1+x3+x+1x,对余项 − x -x x的系数 − 1 -1 1取模2,结果为 x x x
再举一个例子
( 1 + 2 m ) x 2 + ( 1 + 2 n ) x ≡ x 2 + x m o d    x 3 + x + 1 (1+2m)x^2+(1+2n)x\equiv x^2+x \mod x^3+x+1 (1+2m)x2+(1+2n)xx2+xmodx3+x+1,其中 m , n ∈ Z m,n\in \mathbb{Z} m,nZ

多项式表示(模为 x 3 + x 2 + 1 ) x^3+x^2+1) x3+x2+1)二进制表示(模为 x 3 + x 2 + 1 ) x^3+x^2+1) x3+x2+1)多项式表示(模为 x 3 + x + 1 ) x^3+x+1) x3+x+1)二进制(模为 x 3 + x + 1 x^3+x+1 x3+x+1)
000000000
x 0 x^0 x010011001
x 1 x^1 x1 x x x010 x x x010
x 2 x^2 x2 x 2 x^2 x2100 x 2 x^2 x2100
x 3 x^3 x3 x 2 + 1 x^2+1 x2+1101 x + 1 x+1 x+1011
x 4 x^4 x4 x 2 x^2 x2100 x 2 + x x^2+x x2+x110
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值