




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
信息安全原理與技術第3版第2章數學基礎主要知識點:
--數論
--代數基礎
--計算復雜性理論
--單向函數
2024/4/5Ch2-數學基礎2因子設Z表示全體整數所構成的集合。定義2.1
設a,b∈Z,a≠0,c∈Z,使得b=ac,則稱a整除b,并稱a是b的因子或者約數,b是a的倍數,記為a|b。定理2.1
(帶余除法)設a,b∈Z,b≥1,則存在唯一的整數q和r,使得a=qb+r,0≤r<b。q稱a除以b所得的商,r稱為a除以b所得的最小非負剩余。定義2.2
設a,b∈Z,a,b不全為0,如果c|a且c|b,則稱c為a和b的公因子。特別地,我們把a和b的所有公因子中最大的,稱為a和b的最大公因子,記為gcd(a,b)或者(a,b)。2024/4/5Ch2-數學基礎3計算兩個數的最大公因子的最容易的方法是用歐幾里德(Euclid)算法定理2.3(歐幾里德算法)給定整數a和b,且b>0,重復使用帶余除法,即每次的余數為除數去除上一次的除數,直到余數為0,這樣可以得到下面一組方程:
a=bq1+r1,0<r1<b,b=r1q2+r2,0<r2<r1,r1
=r2q3+r3,0<r3<r2,……rj-1
=rjqj+1最后一個不為0的余數rj就是a和b的最大公因子2024/4/5Ch2-數學基礎4例2.1
求gcd(1970,1066)用歐幾里德算法的計算過程如下:1970=1×1066+9041066=1×904+162904=5×162+94162=1×94+6894=1×68+2668=2×26+1626=1×16+1016=1×10+610=1×6+46=1×4+24=2×2+0因此gcd(1970,1066)=22024/4/5Ch2-數學基礎5素數定義2.4
設p∈Z,p≥2,如果p的正因子只有1和p,則稱p
為素數,否則為合數
若正整數a有一因子b,而b又是素數,則稱b為a的素因子如果整數a與整數b的最大公因子是1,即gcd(a,b)=1,則稱a與b互為素數,簡稱互素設
(m)為小于或等于m且與m互素的正整數個數,則稱其為歐拉(Euler)函數
2024/4/5Ch2-數學基礎6同余定義2.8
兩個整數a,b分別被m除,如果所得的余數相同,則稱a與b對模m是同余的,記為a≡b(modm),正整數m稱為模數
同余具有下面的性質:(1)若a≡b(modm),則則m|(b-a)。反過來,若m|(b-a),則a≡b(modm)(2)如果a=km+b(k為整數),則a≡b(modm)(3)每個整數恰與0,1,…,m-1這m個整數中的某一個對模m同余(4)同余關系是一種等價關系(5)a≡b(modm)當且僅當amodm=bmodm2024/4/5Ch2-數學基礎7定理2.8(乘法消去律)對于ab
≡ac(modm)來說,若gcd(a,m)=1則b≡c(mod
m)。
定理2.9(加法消去律)如果a+b
≡a+c(modm),則b≡c(mod
m)加法消去律是沒有條件,但乘法消去律的條件是gcd(a,m)=1,即a和m互素例如6×3≡6×7≡2mod8,但3≡7mod8不成立2024/4/5Ch2-數學基礎8模運算
求余運算稱為模運算,下面是模運算的一些性質。
(1)(a+b)modm=((amodm)+(bmodm))modm(2)(a-b)modm=((amodm)-(bmodm))modm(3)(a×b)modm=((amodm)×(bmodm))modm(4)(a×(b+c))modm=((a×b)modm)+((a×c)modm))modm例如11mod8=3;15mod8=7,那么(11mod8)+(15mod8)mod8=(3+7)mod8=2(11+15)mod8=26mod8=2
在模運算中,加法單位元是0,(0+a)modm=amodm乘法單位元是1,(1×a)modm=amodm2024/4/5Ch2-數學基礎9定義2.13
對a∈Zm,存在b∈Zm,使得a+b≡0(modm),則b是a的加法逆元,記b=-a。定義2.14對a∈Zm,存在b∈Zm,使得a×b≡1(modm),則稱b為a的乘法逆元。加法一定存在逆元,乘法不一定存在逆元。在密碼學特別是非對稱密碼體制中,常常需要求模逆元,求模逆元就是求乘法逆元。即尋找一個x,使得a×x
≡1modm成立求模逆元問題很困難,有時有結果,有時沒有結果利用擴展歐幾里德算法能夠計算出模逆元2024/4/5Ch2-數學基礎10模8運算的例子
模8的加法和乘法運算與普通運算一樣,只是將所得的值是去模8后的余數
2024/4/5Ch2-數學基礎112024/4/5Ch2-數學基礎12模8的加法逆元和乘法逆元
對每一個x都有一個對應的y,使得x+y≡0mod8,則y是x的加法逆元。如對2,有6,使得2+6≡0mod8,那么6是2的加法逆元如果對x,存在y,使得x×y≡1mod8,則y為x的乘法逆元。如3×3≡1mod8,因此3的乘法逆元是3。2024/4/5Ch2-數學基礎13快速指數模運算
在非對稱密碼體制(公鑰密碼體制)中常常涉及指數模運算,如計算73327mod37一種方法是利用前面介紹的模運算性質(a×b)modm=((amodm)×(bmodm))modm,將指數模運算可以看做是多次重復乘法,并且在計算中間結果時就取模例如:計算117mod13,可以按照下面的思路:112=121≡4mod13114=(112)2≡42mod13≡3mod13117=11×112×114≡11×4×3mod13≡132mod13≡2mod132024/4/5Ch2-數學基礎14快速求memodn算法一
(1)a
e,b
m,c
1,其中a,b,c為三大整數寄存器。
(2)如果a=0,則輸出結果c即為所求的模n的大整數次冪。(3)如果a是奇數,轉第(5)步。(4)a
(a÷2),b
(b×b)modn,轉第(3)步。(5)a
(a-1),c
(c×b)modn,轉第(2)步。2024/4/5Ch2-數學基礎15計算3037mod772024/4/5Ch2-數學基礎16費馬定理和歐拉定理費馬定理和歐拉定理在公鑰密碼體制中占非常重要的地位定理2.13(費馬定理Format)若p是素數,且a是正整數,且gcd(a,p)=1,則:ap-1
1(modp)定理2.14(歐拉定理)
對于任何互素的兩個整數a和n,有
aφ(n)≡1modn2024/4/5Ch2-數學基礎17素性測試很多密碼算法需要隨機選擇一個或者多個非常大的素數一般做法是先生成大的隨機整數,然后確定該大數是否是素數目前沒有還沒有簡單有效的方法確定一個大數是否是素數定理2.15:如果p為大于2的素數,則方程x2≡1(modp)的解只有x=1和x=-1。定理2.15的逆否命題是:如果方程x
2≡1(modp)有一解,那么p不是素數2024/4/5Ch2-數學基礎18Miller-Rabin素性概率檢驗算法WITNESS(a,n)
(1)將(n-1)表示為二進制形式bkbk-1…b0(2)d
1fori=k
downto0do{x
d;
d
(d
d)modn;
if(d=1&x
1&x
n-1)thenreturnTRUE;
ifbi=1thend
(d
a)modn}ifd
1thenreturnTRUE;
elsereturnFALSE.2024/4/5Ch2-數學基礎19算法有兩個輸入,n是待檢驗的數,a是小于n的整數。如果算法的返回值為TRUE,則n肯定不是素數,如果返回值為FALSE,則n有可能是素數。
for循環后,有d=an-1modn,由費馬定理可知,若n為素數,則d為1,因此若d
1,則n不是素數,所以返回TRUE。因為n-1≡-1modn,所以x
1,x
n-1,表示x
2≡1(modp)有不在{-1,1}中的根,因此n不為素數,返回TRUE2024/4/5Ch2-數學基礎20離散對數離散對數是許多公鑰算法的基礎本原根這一個重要概念假設gcd(a,n)=1,如果m是使am
≡1modn成立的最小正整數,則稱它是a對模n的指數,記為Ordna
若Ordna=φ(n),則稱a是模n的本原根(primitiveroot),也稱生成元2024/4/5Ch2-數學基礎21求模7和模15的本原根對于模7而言,滿足gcd(a,n)=1的a是{1,2,3,4,5,6},將它們的指數列表如下
a123456Ord7a136362從上表可以看到,當a是3和5時,Ord7a=φ(7),因此,3和5是模7的本原根。2024/4/5Ch2-數學基礎22對于模15而言,滿足gcd(a,n)=1的a是{1,2,4,7,8,11,13,14},將它們的指數列表如下:上表中不存在一個a,使Ord15a=φ(15),所以模15沒有本原根定理2.18
模m的本原根存在的必要條件是m=2,4,pa,或者2pa,此處p是奇素數a12478111314Ord7a142442422024/4/5Ch2-數學基礎23本原根的測試
通常找出一個本原根不是一件容易的問題如果知道p-1的因子,它就變得容易測試方法:令q1,q2,…,qn是p-1的素因子,對于所有的q1,q2,…,qn,計算a(p-1)/q(modp),如果對某個q的某個值其結果為1,那么a
不是一個本原根。如果對某個q的所有值其結果都不為1,那么a
是一個本原根。2024/4/5Ch2-數學基礎24例2.9
假設p=11,檢驗2和3是否是一個本原根。解:當p=11時,p-1=10,p-1有兩個素因子2和5,現測試2是否是一個本原根。
2(10-1)/5(mod11)=42(10-1)/2(mod11)=10計算結果沒有1,所以2是本根原。測試3是否是本根原
3(10-1)/5(mod11)=93(10-1)/2(mod11)=1所以3不是本根原2024/4/5Ch2-數學基礎25離散對數模運算用于指數計算可以表示為axmodn,我們稱為模指數運算
模指數運算的逆問題就是找出一個數的離散對數,即求解x,使得
ax
≡bmodn定義2.17(離散對數)對于一個整數b和素數n的一個本原根a,可以找到唯一的指數x,使得b≡ax
modn,其中0≤x≤n-1,指數x稱為b的以a為基數的模n的離散對數2024/4/5Ch2-數學基礎26代數基礎有限域在現代密碼學中的地位越來越重要本節先簡單介紹群、環和域等概念,然后詳細介紹有限域中的運算
2024/4/5Ch2-數學基礎27群
群G有時記做{G,·},是定義了一個二元運算的集合,這個二元運算可以表示為·(它具有一般性,可以指加法,乘法或者其他的數學運算),G中每一個序偶(a,b)通過運算生成G中的元素(a·b),并滿足以下公理:(Al)封閉性:如果a和b都屬于G,則a·b也屬于G。(A2)結合律;對于G中任意元素a,b,c,都有a·(b·c)=(a·b)·c成立(A3)單位元:G中存在一個元素e,對于G中任意元素a,都有a·e=e·a=a成立(A4)逆元:對于G中任意元素a,G中都存在一個元素a’,使得式a·a’=a’·a=e成立。如果一個群的元素個數是有限的,則該群稱為有限群。并且群的階等于群中元素的個數。否則,稱該群為無限群。一個群如果還滿足以下條件,則稱為交換群(或稱Able群)(A5)交換律:對于G中任意的元素a,b,都有.a·b=b·a成立2024/4/5Ch2-數學基礎28環
環R有時記為{R,+,×},是一個有兩個二元運算的集合,這兩個二元運算分別稱為加法和乘法,且對于R中的任意元素a,b,c,滿足以下公理:
(Al-A5)R關于加法是一個交換群;對于此種情況下的加法群,我們用0表示其單位元,-a表示a的逆元。
(M1)乘法的封閉性:如果a和b都屬于R,則ab也屬于R。(M2)乘法的結合律:對于R中任意元素a,b,c,有a(bc)=(ab)c成立。(M3)分配律:對于R中任意元素a,b,c,式a(b+c)=ab+ac和式(a+b)c=ac+bc總成立。環如果還滿足一下條件則成為交換環:(M4)乘法的交換律:對于R中的任意元素a,b,有ab=ba成立。在交換環的基礎上,滿足以下公理的環叫做整環:(M5)乘法單位元:在R中存在元素1,使得對于R中的任意元素a,有al=1a=a成立。(M6)無零因子:如果有R中元素a,b,且ab=0,則必有a=0或b=0
2024/4/5Ch2-數學基礎29域
域F有時記為{F,+,×},是有兩個二元運算的集合,這兩個二元運算分別稱為加法和乘法,且對于F中的任意元素a,b,c,滿足以下公理:(Al-M6)F是一個整環;也就是說F滿足從Al到A5以及從M1到M6的所有原則。(M7)乘法逆元:對于F中的任意元素a(除0以外),F中都存在一個元素a-1,使得式aa-1=(a-1)a=1成立2024/4/5Ch2-數學基礎30根據域中元素的個數是不是有限,把域劃分成有限域和無限域無限域在密碼學中沒有特別的意義,然而有限域卻在許多密碼編碼學中扮演著重要的角色。定義2.19:有限域中元素的個數稱為有限域的階。定理2.19:有限域的階必為素數p的冪pn,n為正整數定理2.20:
對任意素數p和正整數n,存在pn階的有限域,記為GF(pn)。當時n=1,有限域GF(p)也稱素域。在密碼學中,最常用的域一般是素域GF(p)或者階為2m的GF(2m)域2024/4/5Ch2-數學基礎31有限域GF(p)
給定一個素數p,元素個數為p的有限域GF(p)定義為整數{0,1,…,p-1}的集合Zp,其運算為模p的算術運算最簡單的有限域是GF(2),該域元素的個數是2,它們分別是0和1,在GF(2)上的加運算等價于異或運算,乘等價于邏輯與運算表2.5是在有限域GF(7)中的算術運算,這是一個階為7,采用模7運算,它滿足域的所有性質。需要注意的是,前面介紹的表2.1只是表示集合Z8中模8運算,其中的非零整數不一定有乘法逆元,因此不是域2024/4/5Ch2-數學基礎32模7加法2024/4/5Ch2-數學基礎33模7乘法2024/4/5Ch2-數學基礎34模7的加法逆元和乘法逆元2024/4/5Ch2-數學基礎35域上多項式
若ai≠0,稱n為該多項式的次數,并稱an為首項系數。首項系數為1的多項式稱為首1多項式。域F上x多項式全體集合記為F[x]多項式運算包括加法、減法、乘法和除法
2024/4/5Ch2-數學基礎36在域F上的多項式加法運算定義為乘法運算定義為:2024/4/5Ch2-數學基礎37定理2.21設a(x)和b(x)是域F上的多項式,且b(x)≠0,則存在唯一的一對多項式,使
其中q(x)為商式,r(x)為余式,r(x)的次數小于b(x)的次數多項式除法具有與普通除法一樣的長除法如整數運算類似,我們可以將余式r(x)寫成a(x)modb(x),稱為a(x)模b(x),b(x)稱為模多項式
2024/4/5Ch2-數學基礎38定義2.21設a(x)和b(x)是域F上的多項式(1)設b(x)≠0,若存在q(x)使,則稱b(x)是a(x)的因式或者除式。b(x)整除a(x),記為b(x)|a(x)。
(2)設a(x)和b(x)不全為0,a(x)和b(x)的次數最高的首1公因式稱為它們的最高公因式,記為gcd(a(x),b(x))。若gcd(a(x),b(x))=1,稱a(x)和b(x)互素。
(3)若存在次數大于或者等于1的q(x)和b(x),使a(x)=q(x)b(x),則稱a(x)為可約多項式,否則稱a(x)為不可約多項式(也稱既約多項式)2024/4/5Ch2-數學基礎39例如,GF(2)上的多項式是可約多項式,因為。而多項式則是不可約多項式,因為它沒有一個因式2024/4/5Ch2-數學基礎40有限域GF(2n)
為pn模的模運算不一定能產生域用不可約多項式可以構造一個域
對于F[x]中的每個不可約多項式p(x),可以構造一個域F[x]
p(x)
設p(x)是F[x]中n次不可約多項式,令F[x]
p(x)為F[x]中所有次數小于n的多項式集合
其中ai
∈F,即在集合{0,1,…,p-1}上取值
2024/4/5Ch2-數學基礎41定義F[x]
p(x)上的二元運算加法和乘法運算如下:域F[x]
p(x)中的單位元和零元分別是F中的單位元和零元上面的運算定義可以看到:
(1)該運算遵循基本代數規則中的普通多項式運算規則
(2)系數運算以p模,即遵循有限域上Zp的運算規則(3)乘法運算是兩個多項式相乘結果再模一個不可約多項式p(x),如果兩個多項式相乘結果是次數大于n-1的多項式,它將除以次數為n的不可約多項式p(x)并取余2024/4/5Ch2-數學基礎42定理2.22是域,當且僅當p(x)是F上的不可約多項式,其中F是有限域。特別地,在GF(2n)中,F[x]
p(x)中所有次數小于n的多項式表示為:系數ai是二進制數,該多項式可以由它的n個二進制系數唯一地表示。因此GF(2n)中的每個多項式都可以表示成一個n位的二進制整數。2024/4/5Ch2-數學基礎43高級加密標準中的有限域GF(28)上運算不可約多項式為假設多項式加法運算過程為=乘法運算過程為:2024/4/5Ch2-數學基礎44由于a(x)和b(x)相乘的多項式次數大于n,將它們相乘結果再除不可約多項式p(x),可得商為x5+x3,余數為x7+x6+1,因此用十六進制表示為{57}{83}={C1}用二進制表示為=(11000001)說明:在上面的十六進制表示中,是用一個十六進制字符表示4位二進制數,一個字節的二進制數用括號括起來的兩個十六進制字符表示2024/4/5Ch2-數學基礎45從上面的例子我們也可以發現,多項式加法是將對應的系數分別相加GF(2n)中兩個多項式加法和減法等同于按位異或,需要注意的是加法不進位,減法不借位2024/4/5Ch2-數學基礎46計算復雜性理論計算復雜性理論提供了一種分析不同密碼技術和算法的計算復雜性方法計算復雜性理論給出了求解一個問題的計算是“容易”還是“困難”的確切定義,這有助于確定一個密碼算法的安全強度破譯一個密碼算法所花費的時間或者空間代價超出了密碼本身所保密內容的價值,破譯就沒有意義計算機復雜性理論涉及算法的復雜性和問題的復雜性
2024/4/5Ch2-數學基礎47問題的復雜性一個問題的復雜性是由可解這個問題的算法的計算復雜性所決定可解一個問題的算法可能有多個,在理論上定義一個問題的計算復雜性為可解該問題的最有效算法的計算復雜性
計算復雜性粗分為三類,即P類(確定性多項式時間可解類)、NP類(不確定性多項式時間可解類)和NP完全類(記為NPC,不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐘表維修租賃合同
- 農村基礎設施建設監督項目的咨詢合同
- 海外展會推廣設計合同
- 2025標準企業員工勞動合同模板
- 《2025磷酸樁帽采購合同》
- 工地隔斷租賃合同范本
- 涉水設備訂購合同范本
- 花店裝修合同終止協議書
- 清新知春 - 工作總結
- 綠化補植合同范本
- 青島版小學數學四年級下冊認識多邊形思維導圖知識講解
- 【年產五萬噸乙醛工藝設計7100字(論文)】
- 事業單位離崗創業規定2024年
- 壓力容器制造程序文件及表格(符合TSG 07-2019特種設備質量保證管理體系)
- 2024年四川省南充市中考英語試卷真題(含官方答案及解析)
- 舉一反三四年級奧數-第19周-解決問題(二)
- Unit7詞匯表講解2024-2025學年牛津譯林版英語七年級上冊
- 城市商業綜合體運營管理方案
- 十八項醫療核心制度解讀課件
- 一年級數學口算題專項練習(800道)-100以內加減法
- 2024年云南省紅河州中考二模考試道德與法治試題
評論
0/150
提交評論