網路資訊保安學習筆記之數論基礎
一、群環域
1.群
群G,記作{G,•},定義一個二元運算•的集合,G中每一個序偶(a,b)通過運算生成G中的元素(a•b),滿足以下公理:
- 封閉性:如果a,b都屬於G,則a•b也屬於G
- 結合律:對於任意的a,b,c,都有a•(b•c)=(a•b)•c成立
- 單位元:G中存在一個元素e,對於G中任意元素a都有a•e = e•a = a
- 逆元:對於G中任意元素a,都存在a'∈G,使得a•a‘ = e
有限群:如果一個群中的元素是有限的則稱該群為有限群,元素的個數即為該群的階數
無限群:如果一個群中的元素個數是無限的,則稱該群為無限群
交換群(阿貝爾群): 如果對於群中的任意兩個元素a,b都有a•b = b•a,則該群為交換群
迴圈群:如果群中的每一個元素都是一個固定元素a的冪a^n,n為整數,則稱G為迴圈群,a是qunG的生成元
2.環
環R,記作{R,+,x},是具有加法和乘法兩個二元運算的元素的集合,對於環中所有的a,b,c,都滿足以下公理:
- 對於加法滿足群的所有性質,且單位元是0,a的逆是-a
- 乘法封閉性:若a,b均屬於R,則ab屬於R
- 乘法結合律:對於R中任意的a,b,c,均滿足a(bc) = (ab)c
- 分配律:a(b+c) = ab+ac,或者 (a+b)c = ac+bc
又有
- 乘法交換律:ab=ba,滿足乘法交換律的環是交換環
- 單位元:R中存在元素1使得a1=1a=a
- 無零因子:若R中有ab=0,則a=0或b=0
滿足單位元和無零因子的交換環是整環
3.域
域F,記作{F,+,x}是具有加法和乘法兩個二元運算的集合,對於F中所有的a,b,c均有
- 滿足環的所有條件,即F是個整環
- 乘法逆元:對於F中任意元素a除0外,均有一個∈F使得a=a=1
- 域就是一個集合,定義減法為a-b=a+b'即a+(-b),定義除法為b/a=bx,在域上進行加減乘除運算結果都不脫離該集合
有理數集合,實數集合和複數集合都是域,整數集合不是域
4.群環域的關係
二、同餘
如果a能整除b,則稱b是a的一個因子,記作b|a,有如下性質
- 如果a|1,則a=±1
- 如果a|b且b|a,則a=±b
- 任何b≠0,b都能整除0
- 如果b|g,b|h,則對任意整數m,n都有b|(mg+nh)
- 如果a≡0mod n,則n|a
給定整數a,b及n≠0,當且僅當a-b=kn時,a與b在模n時同餘,記作a≡b mod n 或者a≡
如果n|(a-b), 則a≡b mod n ,證明:
- 如果n|(a-b),則有a-b=kn
- 則a=b+kn
- a mod n = (b+kn)mod n
- a mod n = b mod n
a≡b mod n 且b≡c mod n 則a≡c mod n
模算數運算
- 反身性:a=a mod n
- 對稱性:若a=b mod n,則b=a mod n
- 傳遞性: 若a=b mod n 且b=c mod n,則a=c mod n
- 如果 a=b mod n且 c=d mod n,則
- a+c=(b+d) mod n
- a-c=(b-d) mod n
- a•c=(b•d) mod n
(a1 op a2) mod n =[(a1 mod n )] op (a2 mod n)] mod n,即
- (a+b) mod n = (a mod n + b mod n) mod n
- (a-b) mod n = (a mod n - b mod n) mod n
- (a•b) mod n = (a mod n • b mod n) mod n
三、歐幾里得演算法Euclid Algorithm
對於任何非負的整數a和n,gcd(a, n)=gcd(n mod a, a)
假設我們有整數a,b使得d=gcd(a,b)。假設a≥b>0,現在用b
除a,由除法可得到
a=q1b+r1 0≤r1<b
如果恰巧r1=0,則b|a且d=gcd(a,b)=b。但是如果r1≠0,我們
說d|r1。這基於除法的基本性質:由d|a和d|b可以推出d|(a-
q1b),即d|r1。現在假設有任意的整數c整除b和r1.因此
c|(q1b+r1)=a。因此c同時整除a和b,必須有c≤d,而d是a和
b的最大公因子。因此d=gcd(b,r1)
拓展的歐幾里得演算法
對於給定的整數a和b,擴充套件的Euclid演算法不僅計算出最大公因子d,而且還有另外的整數x和y,它們滿足如下方程:
ax+by=d=gcd(a,b)
用擴充套件的Euclid演算法計算(x,y,d).
假設在每一步驟i都可以找到xi和yi滿足ri=axi+byi
四、有限域
有限域在密碼學中扮演重要角色
有限域的階(元素個數),必須是一個素數的冪,記作GF()
階為p的有限域GF(p)
給定a∈[0, n-1], gcd (a, n)=1,若能找到唯一整數x∈[0,n-1],滿足:ax mod n=1, 則稱a和x互逆
- 給定一個素數p,元素個數為p的有限域GF(p)被定義為整數{0,1, … , p-1}的集合Zp,其運算為模p的算術運算
- Zn中的任一整數有乘法逆元當且僅當該整數與n互素,若n為素數, Zn中的所有非零整數都與n互素,因此Zn中所有非零整數都有乘法逆元
- 對每一個w∈Zp,存在一個z,使得w×z≡1 mod p,則z即為乘法逆元
- 因為w與p互素,如果用w乘以Zp中的所有數模p,得到的餘數將以不同次序涵蓋Zp中的所有數,即餘數集合是{0,1, … , p-1}的置換形,那麼至少有一個餘數的值為1。因此,在Zp中的某個數與w相乘模p的餘數為1, 這個數就是w的乘法逆元,。 所以,Zp是一個有限域
如 n=10, a=3, x=7, ax mod n=1 =3x7 mod 10
如果gcd (a, n)=1, 則對於每個i, j, 0≤i<j<n,
ai mod n≠aj mod n
如果存在gcd(a,n)=1 ,則一定存在整數x在0到n之間滿足ax mod n = 1
拓展的歐幾里得演算法求逆
如果a,b互素,則b有模a的乘法逆元,也就是說,如果gcd(a,b)=1,對於正整數b<a,存在<a,使得b =1 mod a,如果a 是素數並且b < a,則顯然a,b互素,且最大公因子為1
ax+by=d=gcd(a, b)
如果gcd(a, b)=1,則有ax+by=1.
[(ax mod a)+(by mod a)]mod a = 1 mod a
0+(by mod a)=1
如果by mod a=1,則y=
五、多項式計算
三種多項式計算
- 使用代數基本規則的普通多項式運算
- 係數運算是模p運算的多項式運算,即係數在GF(p)中
- 係數在GF(p)中,且多項式被定義為模一個n次多項式m(x)的多項式運算
在此我們只關心第三種
多項式可以寫成如下形式
f(x) = q(x) g(x) + r(x)
其中,r(x)就可被看作是餘數r(x) = f(x) mod g(x)
- 如果沒有餘數,就稱g(x)可以整除f(x)
- 如果g(x)除了1和它自身以外沒有其他公因式,就稱它是不可約多項式或素多項式irreducible or prime