網絡信息安全課件_第1頁
網絡信息安全課件_第2頁
網絡信息安全課件_第3頁
網絡信息安全課件_第4頁
網絡信息安全課件_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2023/9/2現代密碼學理論與實踐-061/57本章要點多重加密是將一個加密算法多次使用的技術,明文通過加密算法轉化為密文,然后將該密文作為輸入重新執行加密算法,該過程可以重復多次。三重DES(3DES)在三個階段使用DES算法,共用到兩組或三組密鑰。選擇工作模式是一項增強密碼算法或者使算法適應具體應用的技術。對稱密碼有5種工作模式,電碼本模式、密文分組鏈接模式、密文反饋模式、輸出反饋模式和計數器模式。流密碼是一種對稱密碼算法,其輸出密文是由輸入明文逐位或者逐字節產生的,RC4是應用最廣泛的一種流密碼。2023/9/2現代密碼學理論與實踐-062/576.1多重加密與三重DES算法尋找代替DES的新密碼的理由是顯然的密鑰的窮舉攻擊是可行的AES是一種新的安全的密碼在AES之前,還可以用DES進行多次加密,且使用多個密鑰三重DES(Triple-DES)被廣泛接受2023/9/2現代密碼學理論與實踐-063/576.1.1雙重DES多次加密的最簡單形式是進行兩次加密,每次使用不同的密鑰C=EK2(EK1(P))P=DK1(DK2(C))這種方法的密鑰長度是56x2=112位雖然雙重DES對應的映射與單DES對應的映射不同,但是有中途相遇攻擊“meet-in-the-middle”只要連續使用密碼兩次,這種攻擊總是有效因為X=EK1(P)=DK2(C)用所有可能的密鑰加密明文P并把結果存儲起來然后用所有可能的密鑰解密密文C,尋找匹配的X值因此復雜度只有O(256)2023/9/2現代密碼學理論與實踐-064/57雙重DES和三重DES雙重DES(DoubleDES)給定明文P和加密密鑰K1和K2,加密:C=EK2[EK1[P]]解密:P=DK1[DK2[C]]密鑰長度為56x2=112位存在中途相遇攻擊問題2023/9/2現代密碼學理論與實踐-065/57這種攻擊對使用兩次加密的分組密碼都有效

C=EK2[EK1[P]],則X=EK1[P]=DK2[C]若已知(P,C),則對256個可能的K1加密P,結果存入表中,按X值排序對256個可能的K2解密C,在表中尋找匹配如果產生匹配,則用一個新的明文密文對檢測所得兩個密鑰如果兩密鑰產生正確的密文,則接受為正確密鑰對任意給定的明文P,雙重DES產生的密文有264可能,密鑰空間為2112。對給定明文P,可產生給定密文C的密鑰的個數平均為2112/264=248。上述攻擊過程對第一個(P,C)對將產生248個錯誤的結果,而對第二個(P,C)對,錯誤結果的概率就降為248-64=2-16,即中途相遇攻擊使用兩組已知明密文對就可以檢測到正確密鑰的概率是1-2-16,攻擊雙重DES,工作量僅為256,與攻擊單DES所需的255差不多。中途相遇攻擊(Meet-in-the-MiddleAttack)2023/9/2現代密碼學理論與實踐-066/576.1.2使用兩個密鑰的三重DES使用兩個密鑰進行三次加密:E-D-EsequenceC=EK1[DK2[EK1[P]]如果K1=K2,則相當于單次DES已被用于密鑰管理標準ANSIX9.17和ISO8732當前還沒有對三重DES的可行攻擊方法2023/9/2現代密碼學理論與實踐-067/576.1.3使用三個密鑰的三重DES雖然對于使用兩個密鑰的Triple-DES還沒有實際的成功攻擊,但是仍然令人有些擔心因此可以考慮使用三個密鑰的Triple-DES,這樣,密鑰的長度就是168位C=EK3[DK2[EK1[P]]]使用三個密鑰的Triple-DES如今已被廣泛采用,如PGP,S/MIME當然還有使用更多重DES的,如5DES2023/9/2現代密碼學理論與實踐-068/576.2分組密碼的工作模式2023/9/2現代密碼學理論與實踐-069/57電子密碼本模式ElectronicCodebook,ECB明文分成64的分組進行加密,必要時填充,每個分組用同一密鑰加密,同樣明文分組加密得相同密文2023/9/2現代密碼學理論與實踐-0610/57ECB模式特別適合數據較少的情況,如安全傳輸DES密鑰一段明文消息中若有幾個相同的明文組,則密文也將出現幾個相同的片段對于很長的消息,ECB是不安全的,如果消息是非常結構化的,密碼分析可能利用其結構特征來破解ECB的弱點來源于其加密過的密文分組是互相獨立的ECB模式的局限性2023/9/2現代密碼學理論與實踐-0611/57密文分組鏈接模式CipherBlockChaining(CBC)加密輸入是當前明文分組和前一密文分組的異或,形成一條鏈,使用相同的密鑰,這樣每個明文分組的加密函數輸入與明文分組之間不再有固定的關系2023/9/2現代密碼學理論與實踐-0612/57CBC的優點和局限每個密文分組依賴于所有明文分組明文消息中的任何一點變化都會影響所有的密文分組發送方和接收方需要共享初始向量InitialValue(IV)如果IV被明文傳送,則攻擊者可以改變第一個分組的某些位,然后預先改變IV中的某些位,則接收者收到的P1也就相應改變了因此,IV必須是一個固定的值或者必須用ECB方式在消息之前加密傳送在消息的最后,還要處理不夠長度的分組

可以填充已知非數據值,或者在最后一塊補上填充位長度eg.[b1b2b300005]<-3databytes,then5bytespad+count

2023/9/2現代密碼學理論與實踐-0613/57CBC的優點和局限兩種計算IV的方法:用加密函數加密一個時變值,所用密鑰和明文加密所用密鑰相同。這個時變值對每次加密運算來說必須唯一。例如:時變值可以是一個計數器,一個時間戳或者消息數目。第二種方法是用隨機數發生器產生一個隨機數分組。2023/9/2現代密碼學理論與實踐-0614/57是一種將DES轉化成流密碼的技術,不再要求報文被填充成整個分組,可以實時運行,如果要傳輸一個字符流,每個字符都可以使用面向字符的流密碼加密后立即傳輸。加密:加密函數的輸入是一個64位的移位寄存器,產生初始向量IV。加密函數高端j位與明文P1的第一單元異或,產生j位密文C1進入移位寄存器低端,繼續加密,與P2輸入異或,如此重復直到所有明文單元都完成加密。解密:采用相同方案,但是使用加密函數而非解密函數。密碼反饋模式CipherFeedBack(CFB)2023/9/2現代密碼學理論與實踐-0615/572023/9/2現代密碼學理論與實踐-0616/57密碼反饋模式CipherFeedBack(CFB)解密:采用相同方案,但是使用加密函數而非解密函數。設MSNs(X)表示X的最左邊s位。則2023/9/2現代密碼學理論與實踐-0617/57CFB模式的優點和局限當數據以位或字節形式到達時使用都是適當的最通用的是流密碼形式2023/9/2現代密碼學理論與實踐-0618/57輸出反饋模式OutputFeedBack(OFB)結構上類似CFB,但是OFB中加密函數輸出被反饋回移位寄存器,CFB中是密文單元被反饋回移位寄存器。優點是傳輸中的比特差錯不會傳播,缺點是比CFB更容易受報文流篡改攻擊。輸出反饋模式OutputFeedBack(OFB)2023/9/2現代密碼學理論與實踐-0619/572023/9/2現代密碼學理論與實踐-0620/57OFB的優點和局限OFB的一個優點是傳輸過程中在某位上發生的錯誤不會影響到其他位。比如,C1中有1位發生了錯誤,只會影響到P1的恢復,后續的明文單元不受影響。OFB的缺點是,抗消息流篡改攻擊的能力不如CFB。即密文中的某位取反,恢復出的明文相應位也取反2023/9/2現代密碼學理論與實踐-0621/57Counter(CTR)是一種新模式,雖然早就提出來了與OFB很像,但是加密的是計數器的值而不是任何反饋回來的值每一個明文分組都必須使用一個不同的密鑰和計數器值,決不要重復使用Ci=PiXOROi

Oi=DESK1(i)可以用于高速網絡加密中計數器模式Counter(CRT)2023/9/2現代密碼學理論與實踐-0622/57Counter(CTR)2023/9/2現代密碼學理論與實踐-0623/57CTR的優點和局限高效可以做并行加密對高速鏈路的突發數據加密尤其有效可以對被加密的分組進行隨機存取相當安全簡潔必須決不重復使用密鑰和計數器值2023/9/2現代密碼學理論與實踐-0624/576.3流密碼和RC4按位處理明文消息(asastream)典型做法是用一個偽隨機流密鑰與明文按位異或流密鑰的隨機性完全摧毀了明文消息的統計特性Ci=MiXORStreamKeyi

不能重復使用流密鑰,不然系統可能被破解2023/9/2現代密碼學理論與實踐-0625/57流密碼的結構2023/9/2現代密碼學理論與實踐-0626/57流密碼設計方面的一些考慮無重復的長周期統計上是隨機的依賴于足夠長的密鑰線性復雜性要大對于相關性要有免疫性擾亂擴散采用高度非線性的布爾函數2023/9/2現代密碼學理論與實踐-0627/576.3.2RC4算法由RSA在1987提出RonRivest設計,簡單且高效密鑰長度可變,面向字節的流密碼使用廣泛(webSSL/TLS,wirelessWEP)對所有8位的值以密鑰實現隨機置換用置換加密輸入消息,每次一個字節

2023/9/2現代密碼學理論與實踐-0628/57RC4密鑰安排

從數組S開始,S為{0..255}使用密鑰充分進行變換S形成密碼的內在狀態internalstate密鑰k的長度為l字節

fori=0to255doS[i]=ij=0fori=0to255doj=(j+S[i]+k[imodl])(mod256)swap(S[i],S[j])2023/9/2現代密碼學理論與實踐-0629/57RC4的加密加密過程是繼續進行數組值的置換如果密鑰K的長度是256字節,則將K賦予臨時向量T,否則將K的值keylen賦予T的前keylen個元素與消息的下一個字節異或,進行加解密i=j=0foreachmessagebyteMii=(i+1)(mod256)j=(j+S[i])(mod256)swap(S[i],S[j])t=(S[i]+S[j])(mod256)Ci=MiXORS[t]2023/9/2現代密碼學理論與實踐-0630/572023/9/2現代密碼學理論與實踐-0631/57RC4的安全性可以抵御已知的各種攻擊加密結果是非常“非線性”的RC4是流密碼,決不重復使用密鑰用于為802.11無線局域網提供安全性的WEP協議,易受一種特殊攻擊,問題不在RC4本身,而是RC4中輸入的密鑰的產生途徑有漏洞2023/9/2現代密碼學理論與實踐-0632/57RC5RC5是RonaldRivest設計的一種對稱加密算法,具有如下特點適于軟件和硬件實現快速:設計成面向字的簡單算法,加快運算速度可用于字長不同的處理器迭代次數可變密鑰長度可變簡單,易于實現和確定算法強度對存儲量要求低安全性高與數據相關的循環2023/9/2現代密碼學理論與實踐-0633/57RC5密碼RC5實際上是一個系列的密碼RC5-w/r/bw=wordsizeinbits(16/32/64)nbdata=2wr=numberofrounds(0..255)b=numberofbytesinkey(0..255)常見的版本形式是RC5-32/12/16i.e.,32-bitwordssoencrypts64-bitdatablocksusing12roundswith16bytes(128-bit)secretkey2023/9/2現代密碼學理論與實踐-0634/57RC5KeyExpansionRC5使用2r+2子密鑰字(w-bits)子密鑰存儲在數組S[i],i=0..t-1密鑰產生過程包括將S初始化成一個固定長度的偽隨機數,基于常數e和phi字節密鑰復制到c-word數組L對L和S的混合操作最終形成S數組2023/9/2現代密碼學理論與實踐-0635/57RC5KeyExpansion2023/9/2現代密碼學理論與實踐-0636/57RC5Encryption將輸入分成A和B兩部分L0=A+S[0];R0=B+S[1];fori=1tordoLi

=((Li-1XORRi-1)<<<Ri-1)+S[2xi];Ri

=((Ri-1XORLi)<<<Li)+S[2xi+1];每一輪就像是2DES的輪非線性主要來自于循環移位需要適當的輪數(e.g.12-16)2023/9/2現代密碼學理論與實踐-0637/572023/9/2現代密碼學理論與實踐-0638/57RC5ModesRFC2040定義了RC5使用的4種模式RC5BlockCipher,ECB模式RC5-CBC,CBC模式RC5-CBC-PAD,CBC加字節填充的模式RC5-CTS,CBC模式的一種變形,采樣密文挪用方法使得密文大小保持與原始態一致2023/9/2現代密碼學理論與實踐-0639/57RC5密文挪用模式2023/9/2現代密碼學理論與實踐-0640/57分組密碼的特點變長的密鑰、分組大小、輪數混合各種操作,數據和密鑰依賴循環移位密碼依賴S盒更加復雜的密鑰處理過程每一輪都對全部數據進行操作多樣性的非線性功能2023/9/2現代密碼學理論與實踐-0641/57Blowfish,1993年由BruceSchneier提出,對稱分組密碼,特性:快速:在32位處理器上加密每字節18時鐘周期緊湊:可在少于5K的內存上運行簡單:結構簡單、容易實現可變的安全性:密鑰長度可變,從32位到448位子密鑰和S盒的產生使用32位可變到448位的密鑰,存儲在K數組中:Kj,用來產生18個32-bit的子密鑰,存儲在P數組中:Pj,4個8x32的包含1024個32位項的S盒,存儲在Si,jBlowfish2023/9/2現代密碼學理論與實踐-0642/57產生P數組和S數組的步驟用常數π的小數部分初始化P數組和4個S盒對P數組和K數組逐位異或使用當前的P和S數組對64位分組加密,把P1和P2用加密的輸出替代使用當前的P和S數組對第三步的輸出加密,用所得密文替代P3和P4重復這個過程以更新P和S數組的所有元素,每一步都使用不斷變化的Blowfish算法的輸出,總共執行512次加密算法Blowfish對密鑰經常變化的應用不適合,也不適合存儲空間有限的應用BlowfishKeySchedule2023/9/2現代密碼學理論與實踐-0643/57Blowfish的加密兩個基本操作:模232的加和逐位異或數據被分成左右兩部分L0&R0fori=1to16doRi

=Li-1XORPi;Li

=F[Ri]XORRi-1;L17=R16XORP18;R17=L16XORi17;這里:F[a,b,c,d]=((S1,a

+S2,b)XORS3,c)+S4,aBlowfishEncryption2023/9/2現代密碼學理論與實踐-0644/572023/9/2現代密碼學理論與實踐-0645/572023/9/2現代密碼學理論與實踐-0646/57Blowfish的S盒依賴于密鑰,子密鑰和S盒通過重復使用Blowfish本身產生,使得各比特徹底糾纏在一起,密碼分析非常困難在每一循環中對數據的兩部分進行操作,增大了密碼強度通過選擇適當的密鑰長度(最長448位),對窮舉攻擊來說,Blowfish幾乎是不可破的Blowfish的算法執行是很快的所以,Blowfish可能是最難破譯的常規加密算法。討論2023/9/2現代密碼學理論與實踐-0647/57國際數據加密算法IDEA(InternationalDataEncryptionAlgorithm)1990年由瑞士蘇黎世聯邦工業大學的LaiXuejia和JamesMessey提出,1992年最終完成。算法形式同DES,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論