日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 伽罗华域(有限域)及其运算规则(包含大量例子) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模運算

除法定理
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=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 nramodn為除法的余數。
簡單例子
19mod11≡8mod1119\mod 11\equiv 8\mod1119mod118mod11
?7mod11≡4mod11-7 \mod 11\equiv 4\mod11?7mod114mod11
模運算的好處:一些程序進行線性運算的時候,由于存儲空間大小是固定的,可能存在結果溢出的情況,模運算可以將xxx結果始終確定在一個范圍即{x:0≤x<n,x∈Z}\{x:0\le x<n,x\in \mathbb{Z}\}{x:0x<n,xZ}內,從而避免溢出。

有限群

(S,⊕)(S,\oplus )(S,)是集合SSS和二元運算符⊕\oplus組成,顧名思義群中的元素個數是有限的。對于該運算應該滿足以下性質:

  • 封閉性:對于任意a,b∈Sa,b\in Sa,bS,有a⊕b∈Sa\oplus b \in SabS。
  • 單位元:存在一個元素e∈Se \in SeS,稱eee為單位元,對所有a∈Sa\in SaS,滿足e⊕a=a⊕e=ae \oplus a=a\oplus e = aea=ae=a
  • 結合律:對任意a,b,c∈Sa,b,c\in Sa,b,cS,有(a⊕b)⊕c=a⊕(b⊕c)(a\oplus b)\oplus c=a\oplus(b\oplus c)(ab)c=a(bc)
  • 逆元:對任意a∈Sa\in SaS,存在b∈Sb\in SbS,滿足a⊕b=b⊕a=ea\oplus b=b\oplus a=eab=ba=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?={x0x<n,xZ}+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?01234
001234
112340
223401
334012
440123

在該群中單位元為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??={xZn?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?1357
11357
33175
55713
77531

注意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?01234567
000000000
101234567
202460246
303614725
404040404
505274163
606420642
707654321

該運算并不存在逆元,因而不能構成群。

nnn取素數時,Zn?={1,2,…,n?1}\mathbb{Z}^*_n=\{1,2,\dots,n-1\}Zn??={1,2,,n?1},因為n必然與比其小的所有數互素。

?5\cdot_5?5?1234
11234
22413
33142
44321

異或群

定義群(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?={x0x<n,xZ}⊕\oplus指異或運算,群(Z4,⊕)(\mathbb{Z}_4,\oplus)(Z4?,)的運算表為

⊕\oplus0123
00123
11032
22301
33210

顯然此時,單位元為0,任何元素的逆元為其自身。

伽羅華域

伽羅華域也稱為有限域,域(R,+,?,?,÷)(R,+,-,\cdot,\div)(R,+,?,?,÷)由運算元素集合和四則運算組成,由于減法、除法分別和加法、乘法是逆運算關系,只需要關注加法和乘法即可。對于加法來說,每個元素要求有對應的加法逆元;對于乘法來說,除0以外的每個元素要求要有對應的乘法逆元。關于群、環、域的概念進一步了解可閱讀這篇博客。

伽羅華域GF(q)GF(q)GF(q)表示

qqq指有限域的階,在有限域中階等于元素個數,有限域的階通常是素數PPP或是素數冪PWP^WPW,即q=P或PWq = P 或P^Wq=PPW。

有限域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 PabmodP與a=b相同,這意味著a=b→a=kn+b,k∈Za = b \to a=kn+b,k \in \mathbb{Z}a=ba=kn+b,kZ。當PPP為素數時,顯然所有大于0小于p的整數和是互素的,根據上面介紹的模n乘法群的概念,顯然除去0以外,每個元素都能找到其逆元。
對于GF(2)GF(2)GF(2),僅包含了元素0和1,加法表為

+01
001
110(1+1=2mod2≡0mod2)0 \ (1+1 =2 \mod 2\equiv 0 \mod 2)0?(1+1=2mod20mod2)

乘法表為

?\cdot?01
000
101

有限域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+1x2+1
3x2?x?1≡x2+x+13x^2-x-1\equiv x^2+x+13x2?x?1x2+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+1x3+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)2x2+2x+1
3x2?x?1≡2x+23x^2-x-1\equiv 2x+23x2?x?12x+2
(x+1)3≡x3+1(x+1)^3\equiv x^3+1(x+1)3x3+1
接下來需要進行取模,模為f(x)f(x)f(x),這個模等同于不可約多項式或是本原多項式,本原多項式是不可約多項式的特例,即在不可約多項式中除去最高階的項,剩余項的階最小那個多項式定義為本原多項式。希望對不可約多項式和本原多項式有更多了解的,可以參考這篇博客。對于GF(23)GF(2^3)GF(23),模可以取x3+x2+1x^3+x^2+1x3+x2+1x3+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=2111≡1mod511\equiv 1\mod 5111mod5
(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+12xmodx3+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)xx2+xmodx3+x+1,其中m,n∈Zm,n\in \mathbb{Z}m,nZ

冪多項式 模為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
000000000
x0x^0x010010001
x1x^1x1xxx0102010
x2x^2x2x2x^2x2100x2x^2x2100
x3x^3x3x2+1x^2+1x2+1101x+1x+1x+1011
x4x^4x4x2x^2x2100x2+xx^2+xx2+x110

總結

以上是生活随笔為你收集整理的伽罗华域(有限域)及其运算规则(包含大量例子)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。