第三章對稱密碼體制_第1頁
第三章對稱密碼體制_第2頁
第三章對稱密碼體制_第3頁
第三章對稱密碼體制_第4頁
第三章對稱密碼體制_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第三章對稱密碼體制3.1分組密碼原理3.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)3.3高級加密標(biāo)準(zhǔn)(AES)3.4分組密碼的工作模式13.1分組密碼原理對稱密碼體制根據(jù)對明文加密方式的不同分為分組密碼和流密碼。分組密碼:按一定長度(如64bit,128bit)對明文進(jìn)行分組,然后以組為單位采用同樣的密鑰進(jìn)行加/解密;流密碼:不進(jìn)行分組,而是按位進(jìn)行加/解密無記憶元件…內(nèi)部記憶元件kkx1xmymy1y1x1分組密碼流密碼2分組密碼對不同的組采用同樣的密鑰k進(jìn)行加/解密。設(shè)密文組為y=y1y2???ym,則對明文組x=x1x2???xm用密鑰k加密可得到y(tǒng)=ek(x1)ek(x2)???ek(xm)。

流密碼的基本思想是利用密鑰k產(chǎn)生一個密鑰流z=z0z1

???,并使用如下規(guī)則加密明文串x=x0x1x2???,y=y0y1y2???=ez0(x0)ez1(x1)ez2(x2)???。密鑰流由密鑰流發(fā)生器f產(chǎn)生。分組密碼與流密碼的區(qū)別就在于記憶性。33.1.1分組密碼設(shè)計原理

分組密碼是將明文消息編碼表示后的數(shù)字(簡稱明文數(shù)字)序列x0,x1,…,劃分成長度為n的組x=(x0,x1,…,xn-1),每組分別在密鑰

k=(k0,k1,…,km-1)的控制下變換成等長的輸出數(shù)字(簡稱密文數(shù)字)序列y=(y0,y1,…,yn-1)。

4分組密碼的算法應(yīng)滿足如下安全性和軟/硬件實現(xiàn)的要求:(1)分組長度足夠大,防止明文被窮舉攻擊。如n=64bit(DES),新的標(biāo)準(zhǔn)n=128bit(AES)(2)密鑰空間足夠大,從而防止窮舉密鑰攻擊。同時,密鑰又不能太長,以利于密鑰管理,DES采用56bit有效密鑰,現(xiàn)在不夠長,今后采用128bit是足夠安全的。(3)由密鑰確定的算法要足夠復(fù)雜,充分實現(xiàn)明文與密文的擴(kuò)散和混淆,沒有簡單的關(guān)系可循。(4)軟件實現(xiàn)的要求:盡量使用適合編程的子塊和簡單的運(yùn)算(5)硬件實現(xiàn)的要求:加密和解密應(yīng)具有相似性。5兩個基本設(shè)計方法Shannon稱之為理想密碼系統(tǒng),密文的所有統(tǒng)計特性都與所使用的密鑰獨(dú)立。?擴(kuò)散(Diffusion):明文的統(tǒng)計結(jié)構(gòu)被擴(kuò)散消失到密文的統(tǒng)計特性中,使得明文和密文之間的統(tǒng)計關(guān)系盡量復(fù)雜。使得明文的每個比特影響到密文許多比特的取值,即每個密文比特被許多明文比特影響。?混亂(confusion):使得密文的統(tǒng)計特性與密鑰的取值之間的關(guān)系盡量復(fù)雜。擴(kuò)散和混淆的目的都是為了挫敗推出密鑰的嘗試,從而抗統(tǒng)計分析。63.1.2分組密碼的一般結(jié)構(gòu)分組密碼的一般結(jié)構(gòu)可以分為兩種:Feistel網(wǎng)絡(luò)結(jié)構(gòu)和SP網(wǎng)絡(luò)結(jié)構(gòu)。Feistel網(wǎng)絡(luò)結(jié)構(gòu)Feistel網(wǎng)絡(luò)結(jié)構(gòu)如圖所示:DES采用的是Feistel網(wǎng)絡(luò)結(jié)構(gòu)加密:Li=Ri-1;Ri=Li-1⊕F(Ri-1,Ki)?解密:Ri-1=Li,Li-1=Ri⊕F(Ri-1,Ki)=Ri⊕F(Li,Ki)72.SP網(wǎng)絡(luò)結(jié)構(gòu)是分組密碼的另一種重要結(jié)構(gòu),AES等重要算法采用的是此結(jié)構(gòu)。8DES(DataEncryptionStandard)是迄今為止使用最為廣泛的加密算法。DES的產(chǎn)生-i?1973年5月13日,NBS(美國國家標(biāo)準(zhǔn)局)開始公開征集標(biāo)準(zhǔn)加密算法,并公布了它的設(shè)計要求:(1)算法必須提供高度的安全性;(2)算法必須有詳細(xì)的說明,并易于理解;(3)算法的安全性取決于密鑰,不依賴于算法;(4)算法適用于所有用戶;(5)算法適用于不同應(yīng)用場合;(6)算法必須高效、經(jīng)濟(jì);(7)算法必須能被證實有效;(8)算法必須是可出口的;3.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)9DES的產(chǎn)生-ii?1974年8月27日,NBS開始第二次征集,IBM提交了算法LUCIFER,該算法由IBM的工程師在1971-1972年研制?1975年3月17日,NBS公開了全部細(xì)節(jié)?1976年,NBS指派了兩個小組進(jìn)行評價?1976年11月23日,采納為聯(lián)邦標(biāo)準(zhǔn),批準(zhǔn)用于非軍事場合的各種政府機(jī)構(gòu)?1977年1月15日,被正式批準(zhǔn)為美國聯(lián)邦信息處理標(biāo)準(zhǔn),即FIPSPUB46,同年7月15日開始生效。10DES的應(yīng)用?1979年,美國銀行協(xié)會批準(zhǔn)使用?1980年,美國國家標(biāo)準(zhǔn)局贊同DES作為私人使用的標(biāo)準(zhǔn),稱之為DEA(ANSIX.392)1983年,國際化標(biāo)準(zhǔn)組織ISO贊同DES作為國際標(biāo)準(zhǔn),稱之為DEA-1?該標(biāo)準(zhǔn)規(guī)定每五年審查一次,計劃十年后采用新標(biāo)準(zhǔn)?最近的一次評估是在1994年1月,已決定1998年12月以后,DES將不再作為聯(lián)邦加密標(biāo)準(zhǔn)。新的美國聯(lián)邦加密標(biāo)準(zhǔn)稱為高級加密標(biāo)準(zhǔn)AES(AdvancedEncryptionStandard)113.2.1DES描述DES是采用將明文按64bit分組,密鑰長度為64bit,其中每8位有一位奇偶校驗位,實際密鑰的有效長度為56bit,DES算法是公開的,其安全性依賴于密鑰的保密程度。DES結(jié)構(gòu)框圖如圖:12131.初始置換IP和初始逆置換IP—1142.迭代變換15

迭代變換是DES算法的核心部分,每輪開始時將輸入的64bit數(shù)據(jù)分成左、右長度相等的兩部分,右半部分原封不動地作為本輪輸出的64bit數(shù)據(jù)的左半部分,同時對右半部分進(jìn)行一系列的變換,即用輪函數(shù)F作用右半部分,然后將所得結(jié)果與輸入數(shù)據(jù)的左半部分進(jìn)行逐位異或,最后將所得數(shù)據(jù)作為本輪輸出的64bit數(shù)據(jù)的右半部分。輪函數(shù)F由選擇擴(kuò)展運(yùn)算E、與子密鑰的異或運(yùn)算、選擇壓縮運(yùn)算S和置換P組成。1617(1)選擇擴(kuò)展運(yùn)算將輸入的32bit數(shù)據(jù)擴(kuò)展為48bit的輸出數(shù)據(jù),變換表如下:可以看出1、4、5、8、9、12、13、16、17、20、21、24、25、28、29、32這16個位置上的數(shù)據(jù)被讀了兩次。18(2)與子密鑰的異或運(yùn)算與子密鑰的異或運(yùn)算:將選擇擴(kuò)展運(yùn)算的48bit數(shù)據(jù)與子密鑰Ki(48bit)進(jìn)行異或運(yùn)算。(后面詳述)19(3)選擇壓縮運(yùn)算將輸入的48bit數(shù)據(jù)從左至右分成8組,每組6bit。然后輸入8個S盒,每個S盒為一非線性代換,有4bit輸出,如圖所示:202122S-Box?對每個盒,6比特輸入中的第1和第6比特組成的二進(jìn)制數(shù)確定的行,中間4位二進(jìn)制數(shù)用來確定的列。相應(yīng)行、列位置的十進(jìn)制數(shù)的4位二進(jìn)制數(shù)表示作為輸出。例如的輸入為101001,則行數(shù)和列數(shù)的二進(jìn)制表示分別是11和0100,即表中3行和表中4列,表中3行和表中4列的十進(jìn)制數(shù)為3,用4位二進(jìn)制數(shù)表示為0011,所以的輸出為0011。23(4)置換P2425263.2.2DES問題討論1.S盒的安全問題有人認(rèn)為s盒可能存在陷門,但至今沒有跡象表明s盒中存在陷門。2.密鑰長度?關(guān)于DES算法的另一個最有爭議的問題就是擔(dān)心實際56比特的密鑰長度不足以抵御窮舉式攻擊,因為密鑰量只有256≈1017個。?早在1977年,Diffie和Hellman已建議制造一個每秒能測試100萬個密鑰的VLSI芯片。每秒測試100萬個密鑰的機(jī)器大約需要一天就可以搜索整個密鑰空間。他們估計制造這樣的機(jī)器大約需要2000萬美元。27?在CRYPTO’93上,Session和Wiener給出了一個非常詳細(xì)的密鑰搜索機(jī)器的設(shè)計方案,這個機(jī)器基于并行運(yùn)算的密鑰搜索芯片,16次加密能同時完成。此芯片每秒能測試5000萬個密鑰,用5760個芯片組成的系統(tǒng)需要花費(fèi)10萬美元,它平均用1.5天左右就可找到DES密鑰。?1997年1月28日,美國的RSA數(shù)據(jù)安全公司在RSA安全年會上公布了一項“秘密密鑰挑戰(zhàn)”競賽,其中包括懸賞1萬美元破譯密鑰長度為56比特的DES。美國克羅拉多洲的程序員Verser從1997年2月18日起,用了96天時間,在Internet上數(shù)萬名志愿者的協(xié)同工作下,成功地找到了DES的密鑰,贏得了懸賞的1萬美元。28?1998年7月電子前沿基金會(EFF)使用一臺25萬美元的電腦在56小時內(nèi)破譯了56比特密鑰的DES。?1999年1月RSA數(shù)據(jù)安全會議期間,電子前沿基金會用22小時15分鐘就宣告破解了一個DES的密鑰。291.兩重DES3.2.3DES的變形雙重DES密鑰長度為112bit,密碼強(qiáng)度似乎增強(qiáng)了一倍,但問題并非如此。雙重DES易受中途攻擊C=EK2(EK1(P))P=DK1(DK2(C))302.三重DES(以被廣泛采用)優(yōu)點(diǎn):能對付中途攻擊。密鑰長度為168bit31AES背景-i?1997年4月15日,(美國)國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)發(fā)起征集高級加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard)AES的活動,活動目的是確定一個非保密的、可以公開技術(shù)細(xì)節(jié)的、全球免費(fèi)使用的分組密碼算法,作為新的數(shù)據(jù)加密標(biāo)準(zhǔn)。?1997年9月12日,美國聯(lián)邦登記處公布了正式征集AES候選算法的通告。作為進(jìn)入AES候選過程的一個條件,開發(fā)者承諾放棄被選中算法的知識產(chǎn)權(quán)。對AES的基本要求是:比三重DES快、至少與三重DES一樣安全、數(shù)據(jù)分組長度為128比特、密鑰長度為128/192/256比特。3.3高級加密標(biāo)準(zhǔn)AES32AES背景-ii?1998年8月12日,在首屆AES會議上指定了15個候選算法。?1999年3月22日第二次AES會議上,將候選名單減少為5個,這5個算法是RC6,

Rijndael

,SERPENT,Twofish和MARS。?2000年4月13日,第三次AES會議上,對這5個候選算法的各種分析結(jié)果進(jìn)行了討論。?2000年10月2日,NIST宣布了獲勝者—Rijndael算法,2001年11月出版了最終標(biāo)準(zhǔn)FIPSPUB197。33Rijndael簡介?不屬于Feistel結(jié)構(gòu)?加密、解密相似但不對稱?支持128/32=Nb數(shù)據(jù)塊大小?支持128/192/256(/32=Nk)密鑰長度?有較好的數(shù)學(xué)理論作為基礎(chǔ)?結(jié)構(gòu)簡單、速度快34輪數(shù)r與Nb和Nkr

Nb=4

Nb=6Nb=8

Nk=4101214

Nk=6121214

Nk=8141414AES參數(shù)35SP網(wǎng)絡(luò)結(jié)構(gòu)

在這種密碼的每一輪中,輪輸入首先被一個由子密鑰控

制的可逆函數(shù)S作用,然后再對所得結(jié)果用置換(或可逆

線性變換)P作用。S和P分別被稱為混亂層和擴(kuò)散層,主

要起混亂和擴(kuò)散作用。

36AES算法結(jié)構(gòu)-i?AES算法的輪變換中沒有Feistel結(jié)構(gòu),輪變換是由三個不同的可逆一致變換組成,稱之為層,–線性混合層:確保多輪之上的高度擴(kuò)散。–非線性層:具有最優(yōu)最差-情形非線性性的S-盒的并行應(yīng)用。–密鑰加層:輪密鑰簡單地異或到中間狀態(tài)上。37AES算法結(jié)構(gòu)-ii3839電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)3.4分組密碼的工作模式分組密碼在加密時明文的長度是固定的。而實用中待加密消息的數(shù)據(jù)量是不定的,數(shù)據(jù)格式也可能是多種多樣的,為了能在各種應(yīng)用場合安全地使用分組密碼,通常對不同的使用目的運(yùn)用不同的工作模式。分組密碼的工作模式:就是以該分組密碼為基礎(chǔ)構(gòu)造的一個密碼系統(tǒng)。40電子密碼本ECB3.4.1電碼本模式(ECB)41ECB的特點(diǎn)ECB用于短數(shù)據(jù)(如加密密鑰)是非常理想,長消息不夠安全簡單、有效可以并行實現(xiàn)不能隱藏明文的模式信息相同明文生成相同密文,同樣信息多次出現(xiàn)造成泄漏對明文的主動攻擊是可能的信息塊可被替換、重排、刪除、重放誤差傳遞:密文塊損壞僅對應(yīng)明文塊損壞適合于傳輸短信息42密碼分組鏈接CBC3.4.2密碼分組鏈接模式(CBC)43CBC的特點(diǎn)沒有已知的并行實現(xiàn)算法能隱藏明文的模式信息需要共同的初始化向量IV,IV應(yīng)像密鑰一樣被保護(hù),對于收發(fā)雙方都應(yīng)是已知的。

相同明文生成不同密文初始化向量IV可以用來改變第一組的明文分布模式對明文的主動攻擊是不容易的信息塊不容易被替換、重排、刪除、重放誤差傳遞:密文塊損壞兩明文塊損壞安全性好于ECB適合于傳輸長度大于64位的報文,還可以進(jìn)行用戶鑒別,是大多系統(tǒng)的標(biāo)準(zhǔn)如SSL、IPSecCBC模式除了能夠獲得保密性外,還能用于認(rèn)證。44密碼反饋CFBCFB:若待加密的消息按字符處理時,可采用CFB或OFB模式。實際上將DES轉(zhuǎn)換為流密碼。流密碼不需要對消息進(jìn)行填充,而且運(yùn)行是實時的。假定:Si

為移位寄存器,傳輸單位為jbit

加密:Ci=Pi(EK(Si)的高j位)

解密:Pi=Ci(EK(Si)的高j位)

Si+1=(Si<<j)|Ci3.4.3密碼反饋模式(CFB)45密碼反饋CFB加密Ci=Pi(EK(Si)的高j位);46密碼反饋CFB解密Pi=Ci(EK

溫馨提示

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

最新文檔

評論

0/150

提交評論