版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第三章對(duì)稱密碼體制3.1分組密碼原理3.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)3.3高級(jí)加密標(biāo)準(zhǔn)(AES)3.4分組密碼的工作模式1第三章對(duì)稱密碼體制3.1分組密碼原理13.1分組密碼原理對(duì)稱密碼體制根據(jù)對(duì)明文加密方式的不同分為分組密碼和流密碼。分組密碼:按一定長度(如64bit,128bit)對(duì)明文進(jìn)行分組,然后以組為單位采用同樣的密鑰進(jìn)行加/解密;流密碼:不進(jìn)行分組,而是按位進(jìn)行加/解密無記憶元件…內(nèi)部記憶元件kkx1xmymy1y1x1分組密碼流密碼23.1分組密碼原理對(duì)稱密碼體制根據(jù)對(duì)明文加密方式的不同分分組密碼對(duì)不同的組采用同樣的密鑰k進(jìn)行加/解密。設(shè)密文組為y=y1y2???ym,則對(duì)明文組x=x1x2???xm用密鑰k加密可得到y(tǒng)=ek(x1)ek(x2)???ek(xm)。流密碼的基本思想是利用密鑰k產(chǎn)生一個(gè)密鑰流z=z0z1
???,并使用如下規(guī)則加密明文串x=x0x1x2???,y=y0y1y2???=ez0(x0)ez1(x1)ez2(x2)???。密鑰流由密鑰流發(fā)生器f產(chǎn)生。分組密碼與流密碼的區(qū)別就在于記憶性。3分組密碼對(duì)不同的組采用同樣的密鑰k進(jìn)行3.1.1分組密碼設(shè)計(jì)原理
分組密碼是將明文消息編碼表示后的數(shù)字(簡稱明文數(shù)字)序列x0,x1,…,劃分成長度為n的組x=(x0,x1,…,xn-1),每組分別在密鑰k=(k0,k1,…,km-1)的控制下變換成等長的輸出數(shù)字(簡稱密文數(shù)字)序列y=(y0,y1,…,yn-1)。
43.1.1分組密碼設(shè)計(jì)原理分組密分組密碼的算法應(yīng)滿足如下安全性和軟/硬件實(shí)現(xiàn)的要求:(1)分組長度足夠大,防止明文被窮舉攻擊。如n=64bit(DES),新的標(biāo)準(zhǔn)n=128bit(AES)(2)密鑰空間足夠大,從而防止窮舉密鑰攻擊。同時(shí),密鑰又不能太長,以利于密鑰管理,DES采用56bit有效密鑰,現(xiàn)在不夠長,今后采用128bit是足夠安全的。(3)由密鑰確定的算法要足夠復(fù)雜,充分實(shí)現(xiàn)明文與密文的擴(kuò)散和混淆,沒有簡單的關(guān)系可循。(4)軟件實(shí)現(xiàn)的要求:盡量使用適合編程的子塊和簡單的運(yùn)算(5)硬件實(shí)現(xiàn)的要求:加密和解密應(yīng)具有相似性。5分組密碼的算法應(yīng)滿足如下安全性和軟/硬件實(shí)現(xiàn)的要求:5兩個(gè)基本設(shè)計(jì)方法Shannon(香濃,現(xiàn)代信息理論的鼻祖
)稱之為理想密碼系統(tǒng),密文的所有統(tǒng)計(jì)特性都與所使用的密鑰獨(dú)立。?擴(kuò)散(Diffusion):明文的統(tǒng)計(jì)結(jié)構(gòu)被擴(kuò)散消失到密文的統(tǒng)計(jì)特性中,使得明文和密文之間的統(tǒng)計(jì)關(guān)系盡量復(fù)雜。使得明文的每個(gè)比特影響到密文許多比特的取值,即每個(gè)密文比特被許多明文比特影響。?混亂(confusion):使得密文的統(tǒng)計(jì)特性與密鑰的取值之間的關(guān)系盡量復(fù)雜。擴(kuò)散和混淆的目的都是為了挫敗推出密鑰的嘗試,從而抗統(tǒng)計(jì)分析。香農(nóng)既精通通信又精通數(shù)學(xué),將數(shù)理知識(shí)和工程很好的融合在一起。他把深?yuàn)W和抽象的數(shù)學(xué)思想和概括而又很具體的對(duì)關(guān)鍵技術(shù)問題的理解結(jié)合起來。他被認(rèn)為是最近幾十年最偉大的工程師之一,同時(shí)也被認(rèn)為是最偉大的數(shù)學(xué)家之一?!?兩個(gè)基本設(shè)計(jì)方法香農(nóng)既精通通信又精通數(shù)學(xué),將數(shù)理知識(shí)和工程很3.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)73.1.2分組密碼的一般結(jié)構(gòu)分組密碼的一般結(jié)構(gòu)可以分為兩2.SP網(wǎng)絡(luò)結(jié)構(gòu)是分組密碼的另一種重要結(jié)構(gòu),AES等重要算法采用的是此結(jié)構(gòu)。82.SP網(wǎng)絡(luò)結(jié)構(gòu)是分組密碼的另一種重要結(jié)構(gòu),AES等重要算DES(DataEncryptionStandard)是迄今為止使用最為廣泛的加密算法。DES的產(chǎn)生-i?1973年5月13日,NBS(美國國家標(biāo)準(zhǔn)局)開始公開征集標(biāo)準(zhǔn)加密算法,并公布了它的設(shè)計(jì)要求:(1)算法必須提供高度的安全性;(2)算法必須有詳細(xì)的說明,并易于理解;(3)算法的安全性取決于密鑰,不依賴于算法;(4)算法適用于所有用戶;(5)算法適用于不同應(yīng)用場合;(6)算法必須高效、經(jīng)濟(jì);(7)算法必須能被證實(shí)有效;(8)算法必須是可出口的;3.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)9DES(DataEncryptionStandard)是DES的產(chǎn)生-ii?1974年8月27日,NBS開始第二次征集,IBM提交了算法LUCIFER,該算法由IBM的工程師(IBM公司W(wǎng).Tuchman和C.Meyer
)在1971-1972年研制?1975年3月17日,NBS公開了全部細(xì)節(jié)?1976年,NBS指派了兩個(gè)小組進(jìn)行評(píng)價(jià)?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日開始生效。美國國家安全局(NSA,NationalSecurityAgency)參與了美國國家標(biāo)準(zhǔn)局制定數(shù)據(jù)加密標(biāo)準(zhǔn)的過程。NBS接受了NSA的某些建議,對(duì)算法做了修改,并將密鑰長度從LUCIFER方案中的128位壓縮到56位10DES的產(chǎn)生-ii10DES的應(yīng)用?1979年,美國銀行協(xié)會(huì)批準(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ī)定每五年審查一次,計(jì)劃十年后采用新標(biāo)準(zhǔn)?最近的一次評(píng)估是在1994年1月,已決定1998年12月以后,DES將不再作為聯(lián)邦加密標(biāo)準(zhǔn)。新的美國聯(lián)邦加密標(biāo)準(zhǔn)稱為高級(jí)加密標(biāo)準(zhǔn)AES(AdvancedEncryptionStandard)11DES的應(yīng)用113.2.1DES描述DES是采用將明文按64bit分組,密鑰長度為64bit,其中每8位有一位奇偶校驗(yàn)位,實(shí)際密鑰的有效長度為56bit,DES算法是公開的,其安全性依賴于密鑰的保密程度。DES結(jié)構(gòu)框圖如圖:123.2.1DES描述DES是采用將明文按64bit13131.初始置換IP和初始逆置換IP—1141.初始置換IP和初始逆置換IP—1142.迭代變換152.迭代變換15
迭代變換是DES算法的核心部分,每輪開始時(shí)將輸入的64bit數(shù)據(jù)分成左、右長度相等的兩部分,右半部分原封不動(dòng)地作為本輪輸出的64bit數(shù)據(jù)的左半部分,同時(shí)對(duì)右半部分進(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組成。16迭代變換是DES算法的核心部分,1717(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個(gè)位置上的數(shù)據(jù)被讀了兩次。18(1)選擇擴(kuò)展運(yùn)算將輸入的32bit數(shù)據(jù)擴(kuò)展為48bit的(2)與子密鑰的異或運(yùn)算與子密鑰的異或運(yùn)算:將選擇擴(kuò)展運(yùn)算的48bit數(shù)據(jù)與子密鑰Ki(48bit)進(jìn)行異或運(yùn)算。(后面詳述)19(2)與子密鑰的異或運(yùn)算與子密鑰的異或運(yùn)算:將選擇擴(kuò)展運(yùn)算的(3)選擇壓縮運(yùn)算將輸入的48bit數(shù)據(jù)從左至右分成8組,每組6bit。然后輸入8個(gè)S盒,每個(gè)S盒為一非線性代換,有4bit輸出,如圖所示:20(3)選擇壓縮運(yùn)算將輸入的48bit數(shù)據(jù)從左至右分成8組,每21212222S-Box?對(duì)每個(gè)盒,6比特輸入中的第1和第6比特組成的二進(jìn)制數(shù)確定為行,中間4位二進(jìn)制數(shù)用來確定為列。相應(yīng)行、列位置的十進(jìn)制數(shù)用4位二進(jìn)制數(shù)表示作為輸出。例如S2盒輸入為101001,則行數(shù)和列數(shù)的二進(jìn)制表示分別是11和0100,即表中3行和表中4列,表中3行和表中4列的十進(jìn)制數(shù)為3,用4位二進(jìn)制數(shù)表示為0011,所以輸出為0011。23S-Box23(4)置換P24(4)置換P24DES中的子密鑰的生成25DES中的子密鑰的生成252626DES加密算法執(zhí)行過程27DES加密算法執(zhí)行過程273.2.2DES問題討論1.S盒的安全問題有人認(rèn)為s盒可能存在陷門,但至今沒有跡象表明s盒中存在陷門。2.密鑰長度?關(guān)于DES算法的另一個(gè)最有爭議的問題就是擔(dān)心實(shí)際56比特的密鑰長度不足以抵御窮舉式攻擊,因?yàn)槊荑€量只有256≈1017個(gè)。?早在1977年,Diffie和Hellman已建議制造一個(gè)每秒能測試100萬個(gè)密鑰的VLSI芯片。每秒測試100萬個(gè)密鑰的機(jī)器大約需要一天就可以搜索整個(gè)密鑰空間。他們估計(jì)制造這樣的機(jī)器大約需要2000萬美元。283.2.2DES問題討論28?在CRYPTO’93上,Session和Wiener給出了一個(gè)非常詳細(xì)的密鑰搜索機(jī)器的設(shè)計(jì)方案,這個(gè)機(jī)器基于并行運(yùn)算的密鑰搜索芯片,16次加密能同時(shí)完成。此芯片每秒能測試5000萬個(gè)密鑰,用5760個(gè)芯片組成的系統(tǒng)需要花費(fèi)10萬美元,它平均用1.5天左右就可找到DES密鑰。?1997年1月28日,美國的RSA數(shù)據(jù)安全公司在RSA安全年會(huì)上公布了一項(xiàng)“秘密密鑰挑戰(zhàn)”競賽,其中包括懸賞1萬美元破譯密鑰長度為56比特的DES。美國克羅拉多洲的程序員Verser從1997年2月18日起,用了96天時(shí)間,在Internet上數(shù)萬名志愿者的協(xié)同工作下,成功地找到了DES的密鑰,贏得了懸賞的1萬美元。29?在CRYPTO’93上,Session和Wiener給出?1998年7月電子前沿基金會(huì)(EFF)使用一臺(tái)25萬美元的電腦在56小時(shí)內(nèi)破譯了56比特密鑰的DES。?1999年1月RSA數(shù)據(jù)安全會(huì)議期間,電子前沿基金會(huì)用22小時(shí)15分鐘就宣告破解了一個(gè)DES的密鑰。30?1998年7月電子前沿基金會(huì)(EFF)使用一臺(tái)25萬美元1.兩重DES3.2.3DES的變形雙重DES密鑰長度為112bit,密碼強(qiáng)度似乎增強(qiáng)了一倍,但問題并非如此。雙重DES易受中途攻擊C=EK2(EK1(P))P=DK1(DK2(C))311.兩重DES3.2.3DES的變形雙重DES密鑰長度中途攻擊:中途攻擊算法基于以下觀察,如果有C=EK2(EK1(P)),則X=EK1(P)=DK2(C)。給定一個(gè)已知明、密文對(duì)(P,C),攻擊方法如下:首先用所有256個(gè)可能的密鑰加密P,得到256個(gè)可能的值,把這些值從小到大存在一個(gè)表中;然后再用256個(gè)可能的密鑰對(duì)密文C進(jìn)行解密,每次做完解密都將所得的值與表中值進(jìn)行比較,如果發(fā)現(xiàn)與表中的一個(gè)值相等,則它們對(duì)應(yīng)的密鑰可能分別是K1和K2?,F(xiàn)在用一個(gè)新的明、密文對(duì)檢測所得到的兩個(gè)密鑰,如果滿足X=EK1(P)=DK2(C),則把它們接受為正確的密鑰。32中途攻擊:322.三重DES(以被廣泛采用)優(yōu)點(diǎn):能對(duì)付中途攻擊。密鑰長度為168bit332.三重DES(以被廣泛采用)33AES背景-i?1997年4月15日,(美國)國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)發(fā)起征集高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard)AES的活動(dòng),活動(dòng)目的是確定一個(gè)非保密的、可以公開技術(shù)細(xì)節(jié)的、全球免費(fèi)使用的分組密碼算法,作為新的數(shù)據(jù)加密標(biāo)準(zhǔn)。?1997年9月12日,美國聯(lián)邦登記處公布了正式征集AES候選算法的通告。作為進(jìn)入AES候選過程的一個(gè)條件,開發(fā)者承諾放棄被選中算法的知識(shí)產(chǎn)權(quán)。對(duì)AES的基本要求是:比三重DES快、至少與三重DES一樣安全、數(shù)據(jù)分組長度為128比特、密鑰長度為128/192/256比特。3.3高級(jí)加密標(biāo)準(zhǔn)AES34AES背景-i3.3高級(jí)加密標(biāo)準(zhǔn)AES34AES背景-ii?1998年8月12日,在首屆AES會(huì)議上指定了15個(gè)候選算法。?1999年3月22日第二次AES會(huì)議上,將候選名單減少為5個(gè),這5個(gè)算法是RC6,Rijndael,SERPENT,Twofish和MARS。?2000年4月13日,第三次AES會(huì)議上,對(duì)這5個(gè)候選算法的各種分析結(jié)果進(jìn)行了討論。?2000年10月2日,NIST宣布了獲勝者—Rijndael算法,2001年11月出版了最終標(biāo)準(zhǔn)FIPSPUB197。35AES背景-ii35Rijndael簡介?不屬于Feistel結(jié)構(gòu)?加密、解密相似但不對(duì)稱?支持128/32=Nb數(shù)據(jù)塊大小?支持128/192/256(/32=Nk)密鑰長度?有較好的數(shù)學(xué)理論作為基礎(chǔ)?結(jié)構(gòu)簡單、速度快36Rijndael簡介36輪數(shù)r與Nb和NkrNb=4Nb=6Nb=8Nk=4101214Nk=6121214Nk=8141414AES參數(shù)37輪數(shù)r與Nb和SP網(wǎng)絡(luò)結(jié)構(gòu)
在這種密碼的每一輪中,輪輸入首先被一個(gè)由子密鑰控
制的可逆函數(shù)S作用,然后再對(duì)所得結(jié)果用置換(或可逆
線性變換)P作用。S和P分別被稱為混亂層和擴(kuò)散層,主
要起混亂和擴(kuò)散作用。
38SP網(wǎng)絡(luò)結(jié)構(gòu)
在這種密碼的每一輪中,輪輸入首先被一個(gè)由子密鑰AES算法結(jié)構(gòu)-i?AES算法的輪變換中沒有Feistel結(jié)構(gòu),輪變換是由三個(gè)不同的可逆一致變換組成,稱之為層,–線性混合層:確保多輪之上的高度擴(kuò)散。–非線性層:具有最優(yōu)最差-情形非線性性的S-盒的并行應(yīng)用。–密鑰加層:輪密鑰簡單地異或到中間狀態(tài)上。39AES算法結(jié)構(gòu)-i39AES算法結(jié)構(gòu)-ii40AES算法結(jié)構(gòu)-ii404141電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)這四種工作模式適用于不同的應(yīng)用需求3.4分組密碼的工作模式分組密碼在加密時(shí)明文的長度是固定的。而實(shí)用中待加密消息的數(shù)據(jù)量是不定的,數(shù)據(jù)格式也可能是多種多樣的,為了能在各種應(yīng)用場合安全地使用分組密碼,通常對(duì)不同的使用目的運(yùn)用不同的工作模式。分組密碼的“工作模式”是指以某個(gè)分組密碼算法為基礎(chǔ),解決對(duì)任意長度的明文的加密問題的方法。42電子密碼本ECB(electroniccodebo電子密碼本ECB3.4.1電碼本模式(ECB)43電子密碼本ECB3.4.1電碼本模式(ECB)43ECB的特點(diǎn)ECB用于短數(shù)據(jù)(如加密密鑰)是非常理想,長消息不夠安全簡單、有效可以并行實(shí)現(xiàn)不能隱藏明文的模式信息相同明文生成相同密文,同樣信息多次出現(xiàn)造成泄漏對(duì)明文的主動(dòng)攻擊是可能的信息塊可被替換、重排、刪除、重放誤差傳遞:密文塊損壞僅對(duì)應(yīng)明文塊損壞適合于傳輸短信息44ECB的特點(diǎn)ECB用于短數(shù)據(jù)(如加密密鑰)是非常理想,長消息
典型應(yīng)用:(1)用于隨機(jī)數(shù)的加密保護(hù);(2)用于單分組明文的加密。優(yōu)點(diǎn):(1)實(shí)現(xiàn)簡單;(2)不同明文分組的加密可并行實(shí)施,尤其是硬件實(shí)現(xiàn)時(shí)速度很快.缺點(diǎn):不同的明文分組之間的加密獨(dú)立進(jìn)行,故保留了單表代替缺點(diǎn),造成相同明文分組對(duì)應(yīng)相同密文分組,因而不能隱蔽明文分組的統(tǒng)計(jì)規(guī)律和結(jié)構(gòu)規(guī)律,不能抵抗替換攻擊.ECB模式的優(yōu)、缺點(diǎn)和應(yīng)用45典型應(yīng)用:(1)用于隨機(jī)數(shù)的加密保護(hù);優(yōu)點(diǎn):(1)
敵手C通過截收從A到B的加密消息,只要將第5至第12分組替換為自己的姓名和帳號(hào)相對(duì)應(yīng)的密文,即可將別人的存款存入自己的帳號(hào)。
例:假設(shè)銀行A和銀行B之間的資金轉(zhuǎn)帳系統(tǒng)所使用報(bào)文模式如下:46敵手C通過截收從A到B的加密消息,只要將第5為了克服ECB的安全性缺陷,我們希望設(shè)計(jì)一個(gè)工作模式,可以使得當(dāng)同一個(gè)明文分組重復(fù)出現(xiàn)時(shí)產(chǎn)生不同的密文分組。一個(gè)簡單的方法是密碼分組鏈接,從而使輸出不僅與當(dāng)前輸入有關(guān),而且與以前輸入和輸出有關(guān)。47為了克服ECB的安全性缺陷,我們希望設(shè)計(jì)一個(gè)工作模式,可以使3.4.2密碼分組鏈接模式(CBC)
在CBC模式下,加密算法的輸入是當(dāng)前明文組與前一密文組的異或。記初始化向量IV為c0,則加密過程可表示為CBC模式加密框圖………)(xEk483.4.2密碼分組鏈接模式(CBC)在CCBC模式脫密框圖
CBC模式的脫密過程為???49CBC模式脫密框圖CBC模式的脫密過程為???491.明文塊的統(tǒng)計(jì)特性得到了隱蔽。
CBC模式的特點(diǎn):
由于在密文CBC模式中,各密文塊不僅與當(dāng)前明文塊有關(guān),而且還與以前的明文塊及初始化向量有關(guān),從而使明文的統(tǒng)計(jì)規(guī)律在密文中得到了較好的隱蔽。2.具有有限的(兩步)錯(cuò)誤傳播特性。一個(gè)密文塊的錯(cuò)誤將導(dǎo)致兩個(gè)密文塊不能正確脫密.3.具有自同步功能密文出現(xiàn)丟塊和錯(cuò)塊不影響后續(xù)密文塊的脫密.若從第t塊起密文塊正確,則第t+1個(gè)明文塊就能正確求出.501.明文塊的統(tǒng)計(jì)特性得到了隱蔽。CBC模式的特點(diǎn):由典型應(yīng)用:(1)數(shù)據(jù)加密;(2)完整性認(rèn)證和身份認(rèn)證;完整性認(rèn)證的含義
完整性認(rèn)證是一個(gè)“用戶”檢驗(yàn)它收到的文件是否遭到第三方有意或無意的篡改。因此,完整性認(rèn)證:
不需檢驗(yàn)文件的制造者是否造假;文件的制造者和檢驗(yàn)者利益一致,不需互相欺騙和抵賴。51典型應(yīng)用:完整性認(rèn)證的含義51
利用CBC模式可實(shí)現(xiàn)報(bào)文的完整性認(rèn)證目的:檢查文件在(直接或加密)傳輸和存儲(chǔ)中是否遭到有意或無意的篡改.
關(guān)鍵技術(shù):
(1)文件的制造者和檢驗(yàn)者共享一個(gè)密鑰(2)文件的明文必須具有檢驗(yàn)者預(yù)先知道的冗余度(3)文件的制造者用共享密鑰對(duì)具有約定冗余度的明文用CBC模式加密(4)文件的檢驗(yàn)者用共享密鑰對(duì)密文脫密,并檢驗(yàn)約定冗余度是否正確.
52利用CBC模式可實(shí)現(xiàn)報(bào)文的完整性認(rèn)證報(bào)文完整性認(rèn)證的具體實(shí)現(xiàn)技術(shù)
(1)文件的制造者和檢驗(yàn)者共享一個(gè)密鑰;(2)文件的明文m產(chǎn)生一個(gè)奇偶校驗(yàn)碼r的分組;(3)采用分組密碼的CBC模式,對(duì)附帶校驗(yàn)碼的已擴(kuò)充的明文(m,r)進(jìn)行加密,得到的最后一個(gè)密文分組就是認(rèn)證碼;53報(bào)文完整性認(rèn)證的具體實(shí)現(xiàn)技術(shù)(1)文件的制造者n分組明文
,校驗(yàn)碼為Cn+1為認(rèn)證碼。(1)僅需對(duì)明文認(rèn)證,而不需加密時(shí),傳送明文m和認(rèn)證碼Cn+1,
此時(shí)也可僅保留Cn+1的t個(gè)比特作為認(rèn)證碼;(2)既需對(duì)明文認(rèn)證,又需要加密時(shí),傳送密文C和認(rèn)證碼Cn+1………)(xEk)(xEk54n分組明文………
檢驗(yàn)方法:
(1)僅需對(duì)明文認(rèn)證而不需加密時(shí),此時(shí)驗(yàn)證者僅收到明文m和認(rèn)證碼Cn+1,他需要:
Step2利用共享密鑰使用CBC模式對(duì)(m,r)加密,將得到的最后一個(gè)密文分組與接受到的認(rèn)證碼Cn+1比較,二者一致時(shí)判定接收的明文無錯(cuò);二者不一致時(shí)判定明文出錯(cuò)。
Step1產(chǎn)生明文m的校驗(yàn)碼55………檢驗(yàn)方法:Step2利用共享密鑰使
例:電腦彩票的防偽技術(shù)
----彩票中心檢查兌獎(jiǎng)的電腦彩票是否是自己發(fā)行的
問題:如何防止電腦彩票的偽造問題。
方法:(1)選擇一個(gè)分組密碼算法和一個(gè)認(rèn)證密鑰,將他們存于售票機(jī)內(nèi);(2)將電腦彩票上的重要信息,如彩票期號(hào)、彩票號(hào)碼、彩票股量、售票單位代號(hào)等重要信息按某個(gè)約定的規(guī)則作為彩票資料明文;(3)對(duì)彩票資料明文擴(kuò)展一個(gè)校驗(yàn)碼分組后,利用認(rèn)證密鑰和分組密碼算法對(duì)之加密,并將得到的最后一個(gè)分組密文作為認(rèn)證碼打印于彩票上面;
認(rèn)證過程:
執(zhí)行(3),并將計(jì)算出的認(rèn)證碼與彩票上的認(rèn)證碼比較,二者一致時(shí)判定該彩票是真彩票,否則判定該彩票是假彩票。56例:電腦彩票的防偽技術(shù)
----3.4.3密碼反饋模式(CFB)若待加密消息需按字符、字節(jié)或比特處理時(shí),可采用CFB或OFB模式。實(shí)際上將DES轉(zhuǎn)換為流密碼。流密碼不需要對(duì)消息進(jìn)行填充,而且運(yùn)行是實(shí)時(shí)的。并稱待加密消息按j比特處理的CFB模式為j比特CFB模式。適用范圍:適用于每次處理j比特明文塊的特定需求的加密情形,能靈活適應(yīng)數(shù)據(jù)各格式的需要.例如,數(shù)據(jù)庫加密要求加密時(shí)不能改變明文的字節(jié)長度,這時(shí)就要以明文字節(jié)為單位進(jìn)行加密.573.4.3密碼反饋模式(CFB)密碼反饋CFB假定:Si為移位寄存器,傳輸單位為jbit
加密:Ci=Pi(EK(Si)的高j位)解密:Pi=Ci(EK(Si)的高j位)Si+1=(Si<<j)|Ci3.4.3密碼反饋模式(CFB)58密碼反饋CFB3.4.3密碼反饋模式(CFB)58密碼反饋CFB加密Ci=Pi(EK(Si)的高j位);59密碼反饋CFB加密Ci=Pi(EK(Si)的高j位);密碼反饋CFB解密Pi=Ci(EK(Si)的高j位);Si+1=(Si<<j)|Ci
60密碼反饋CFB解密Pi=Ci(EK(Si)的高j位);CFB的特點(diǎn)分組密碼流密碼沒有已知的并行實(shí)現(xiàn)算法隱藏了明文模式需要共同的移位寄存器初始值IV對(duì)于不同的消息,IV必須唯一誤差傳遞:一個(gè)單元損壞影響多個(gè)單元優(yōu)點(diǎn):(1)適用于每次處理j比特明文塊的特定需求的加密情形;(2)具有有限步的錯(cuò)誤傳播,可用于認(rèn)證;(3)可實(shí)現(xiàn)自同步功能:該工作模式本質(zhì)上是將分組密碼當(dāng)作序列密碼使用的一種方式,但亂數(shù)與明文和密文有關(guān)!該模式適應(yīng)于數(shù)據(jù)庫加密、無線通信加密等對(duì)數(shù)據(jù)格式有特殊要求或密文信號(hào)容易丟失或出錯(cuò)的應(yīng)用環(huán)境。缺點(diǎn):加密效率低。61CFB的特點(diǎn)分組密碼流密碼61OFB:分組密碼流密碼假定:Si為移位寄存器,傳輸單位為jbit
加密:Ci=Pi(EK(Si)的高j位)Si+1=(Si<<j)|(EK(Si)的高j位)解密:Pi=Ci(EK(Si)的高j位)Si+1=(Si<<j)|(EK(Si)的高j位)3.4.4輸出反饋模式(OFB)62OFB:分組密碼流密碼3.4.4輸出反饋模式(OFB)輸出反饋OFB加密Ci=Pi(EK(Si)的高j位);Si+1=(Si<<j)|(EK(Si)的高j位)63輸出反饋OFB加密Ci=Pi(EK(Si)的高j位);S輸出反饋OFB解密Pi=Ci(EK(Si)的高j位);Si+1=(Si<<j)|(EK(Si)的高j位)64輸出反饋OFB解密Pi=Ci(EK(Si)的高j位);S0FB的特點(diǎn)分組密碼流密碼沒有已知的并行實(shí)現(xiàn)算法隱藏了明文模式需要共同的移位寄存器初始值IV對(duì)于不同的消息,IV必須唯一誤差傳遞:一個(gè)單元損壞只影響對(duì)應(yīng)單元對(duì)明文的主動(dòng)攻擊是可能的信息塊可被替換、重排、刪除、重放安全性較CFB差650FB的特點(diǎn)分組密碼流密碼65優(yōu)點(diǎn):(1)這是將分組密碼當(dāng)作序列密碼使用的一種方式,但亂數(shù)與明文和密文無關(guān)?。?)不具有錯(cuò)誤傳播特性!只要密文在傳輸過程中不丟信號(hào),即使信道不好,也能將明文的大部分信號(hào)正?;謴?fù)。適用范圍:(1)明文的冗余度特別大,信道不好但不易丟信號(hào),明文錯(cuò)些信號(hào)也不影響效果的情形。如圖象加密,語音加密等。缺點(diǎn):(1)不能實(shí)現(xiàn)報(bào)文的完整性認(rèn)證。(2)亂數(shù)序列的周期可能有短周期現(xiàn)象。66優(yōu)點(diǎn):66
總評(píng):(1)ECB模式簡單、高速,但最弱,易受重發(fā)和替換攻擊,一般不采用。(2)CBC,CFC,OFB模式的選用取決于實(shí)際的特殊需求。(3)明文不易丟信號(hào),對(duì)明文的格式?jīng)]有特殊要求的環(huán)境可選用CBC模式。需要完整性認(rèn)證功能時(shí)也可選用該模式。(4)容易丟信號(hào)的環(huán)境,或?qū)γ魑母袷接刑厥庖蟮沫h(huán)境,可選用CFB模式。(2)不易丟信號(hào),但信號(hào)特別容易錯(cuò),但明文冗余特別多,可選用OFB模式。67總評(píng):673.5流密碼簡介683.5流密碼簡介68
第三章對(duì)稱密碼體制3.1分組密碼原理3.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)3.3高級(jí)加密標(biāo)準(zhǔn)(AES)3.4分組密碼的工作模式69第三章對(duì)稱密碼體制3.1分組密碼原理13.1分組密碼原理對(duì)稱密碼體制根據(jù)對(duì)明文加密方式的不同分為分組密碼和流密碼。分組密碼:按一定長度(如64bit,128bit)對(duì)明文進(jìn)行分組,然后以組為單位采用同樣的密鑰進(jìn)行加/解密;流密碼:不進(jìn)行分組,而是按位進(jìn)行加/解密無記憶元件…內(nèi)部記憶元件kkx1xmymy1y1x1分組密碼流密碼703.1分組密碼原理對(duì)稱密碼體制根據(jù)對(duì)明文加密方式的不同分分組密碼對(duì)不同的組采用同樣的密鑰k進(jìn)行加/解密。設(shè)密文組為y=y1y2???ym,則對(duì)明文組x=x1x2???xm用密鑰k加密可得到y(tǒng)=ek(x1)ek(x2)???ek(xm)。流密碼的基本思想是利用密鑰k產(chǎn)生一個(gè)密鑰流z=z0z1
???,并使用如下規(guī)則加密明文串x=x0x1x2???,y=y0y1y2???=ez0(x0)ez1(x1)ez2(x2)???。密鑰流由密鑰流發(fā)生器f產(chǎn)生。分組密碼與流密碼的區(qū)別就在于記憶性。71分組密碼對(duì)不同的組采用同樣的密鑰k進(jìn)行3.1.1分組密碼設(shè)計(jì)原理
分組密碼是將明文消息編碼表示后的數(shù)字(簡稱明文數(shù)字)序列x0,x1,…,劃分成長度為n的組x=(x0,x1,…,xn-1),每組分別在密鑰k=(k0,k1,…,km-1)的控制下變換成等長的輸出數(shù)字(簡稱密文數(shù)字)序列y=(y0,y1,…,yn-1)。
723.1.1分組密碼設(shè)計(jì)原理分組密分組密碼的算法應(yīng)滿足如下安全性和軟/硬件實(shí)現(xiàn)的要求:(1)分組長度足夠大,防止明文被窮舉攻擊。如n=64bit(DES),新的標(biāo)準(zhǔn)n=128bit(AES)(2)密鑰空間足夠大,從而防止窮舉密鑰攻擊。同時(shí),密鑰又不能太長,以利于密鑰管理,DES采用56bit有效密鑰,現(xiàn)在不夠長,今后采用128bit是足夠安全的。(3)由密鑰確定的算法要足夠復(fù)雜,充分實(shí)現(xiàn)明文與密文的擴(kuò)散和混淆,沒有簡單的關(guān)系可循。(4)軟件實(shí)現(xiàn)的要求:盡量使用適合編程的子塊和簡單的運(yùn)算(5)硬件實(shí)現(xiàn)的要求:加密和解密應(yīng)具有相似性。73分組密碼的算法應(yīng)滿足如下安全性和軟/硬件實(shí)現(xiàn)的要求:5兩個(gè)基本設(shè)計(jì)方法Shannon(香濃,現(xiàn)代信息理論的鼻祖
)稱之為理想密碼系統(tǒng),密文的所有統(tǒng)計(jì)特性都與所使用的密鑰獨(dú)立。?擴(kuò)散(Diffusion):明文的統(tǒng)計(jì)結(jié)構(gòu)被擴(kuò)散消失到密文的統(tǒng)計(jì)特性中,使得明文和密文之間的統(tǒng)計(jì)關(guān)系盡量復(fù)雜。使得明文的每個(gè)比特影響到密文許多比特的取值,即每個(gè)密文比特被許多明文比特影響。?混亂(confusion):使得密文的統(tǒng)計(jì)特性與密鑰的取值之間的關(guān)系盡量復(fù)雜。擴(kuò)散和混淆的目的都是為了挫敗推出密鑰的嘗試,從而抗統(tǒng)計(jì)分析。香農(nóng)既精通通信又精通數(shù)學(xué),將數(shù)理知識(shí)和工程很好的融合在一起。他把深?yuàn)W和抽象的數(shù)學(xué)思想和概括而又很具體的對(duì)關(guān)鍵技術(shù)問題的理解結(jié)合起來。他被認(rèn)為是最近幾十年最偉大的工程師之一,同時(shí)也被認(rèn)為是最偉大的數(shù)學(xué)家之一?!?4兩個(gè)基本設(shè)計(jì)方法香農(nóng)既精通通信又精通數(shù)學(xué),將數(shù)理知識(shí)和工程很3.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)753.1.2分組密碼的一般結(jié)構(gòu)分組密碼的一般結(jié)構(gòu)可以分為兩2.SP網(wǎng)絡(luò)結(jié)構(gòu)是分組密碼的另一種重要結(jié)構(gòu),AES等重要算法采用的是此結(jié)構(gòu)。762.SP網(wǎng)絡(luò)結(jié)構(gòu)是分組密碼的另一種重要結(jié)構(gòu),AES等重要算DES(DataEncryptionStandard)是迄今為止使用最為廣泛的加密算法。DES的產(chǎn)生-i?1973年5月13日,NBS(美國國家標(biāo)準(zhǔn)局)開始公開征集標(biāo)準(zhǔn)加密算法,并公布了它的設(shè)計(jì)要求:(1)算法必須提供高度的安全性;(2)算法必須有詳細(xì)的說明,并易于理解;(3)算法的安全性取決于密鑰,不依賴于算法;(4)算法適用于所有用戶;(5)算法適用于不同應(yīng)用場合;(6)算法必須高效、經(jīng)濟(jì);(7)算法必須能被證實(shí)有效;(8)算法必須是可出口的;3.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)77DES(DataEncryptionStandard)是DES的產(chǎn)生-ii?1974年8月27日,NBS開始第二次征集,IBM提交了算法LUCIFER,該算法由IBM的工程師(IBM公司W(wǎng).Tuchman和C.Meyer
)在1971-1972年研制?1975年3月17日,NBS公開了全部細(xì)節(jié)?1976年,NBS指派了兩個(gè)小組進(jìn)行評(píng)價(jià)?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日開始生效。美國國家安全局(NSA,NationalSecurityAgency)參與了美國國家標(biāo)準(zhǔn)局制定數(shù)據(jù)加密標(biāo)準(zhǔn)的過程。NBS接受了NSA的某些建議,對(duì)算法做了修改,并將密鑰長度從LUCIFER方案中的128位壓縮到56位78DES的產(chǎn)生-ii10DES的應(yīng)用?1979年,美國銀行協(xié)會(huì)批準(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ī)定每五年審查一次,計(jì)劃十年后采用新標(biāo)準(zhǔn)?最近的一次評(píng)估是在1994年1月,已決定1998年12月以后,DES將不再作為聯(lián)邦加密標(biāo)準(zhǔn)。新的美國聯(lián)邦加密標(biāo)準(zhǔn)稱為高級(jí)加密標(biāo)準(zhǔn)AES(AdvancedEncryptionStandard)79DES的應(yīng)用113.2.1DES描述DES是采用將明文按64bit分組,密鑰長度為64bit,其中每8位有一位奇偶校驗(yàn)位,實(shí)際密鑰的有效長度為56bit,DES算法是公開的,其安全性依賴于密鑰的保密程度。DES結(jié)構(gòu)框圖如圖:803.2.1DES描述DES是采用將明文按64bit81131.初始置換IP和初始逆置換IP—1821.初始置換IP和初始逆置換IP—1142.迭代變換832.迭代變換15
迭代變換是DES算法的核心部分,每輪開始時(shí)將輸入的64bit數(shù)據(jù)分成左、右長度相等的兩部分,右半部分原封不動(dòng)地作為本輪輸出的64bit數(shù)據(jù)的左半部分,同時(shí)對(duì)右半部分進(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組成。84迭代變換是DES算法的核心部分,8517(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個(gè)位置上的數(shù)據(jù)被讀了兩次。86(1)選擇擴(kuò)展運(yùn)算將輸入的32bit數(shù)據(jù)擴(kuò)展為48bit的(2)與子密鑰的異或運(yùn)算與子密鑰的異或運(yùn)算:將選擇擴(kuò)展運(yùn)算的48bit數(shù)據(jù)與子密鑰Ki(48bit)進(jìn)行異或運(yùn)算。(后面詳述)87(2)與子密鑰的異或運(yùn)算與子密鑰的異或運(yùn)算:將選擇擴(kuò)展運(yùn)算的(3)選擇壓縮運(yùn)算將輸入的48bit數(shù)據(jù)從左至右分成8組,每組6bit。然后輸入8個(gè)S盒,每個(gè)S盒為一非線性代換,有4bit輸出,如圖所示:88(3)選擇壓縮運(yùn)算將輸入的48bit數(shù)據(jù)從左至右分成8組,每89219022S-Box?對(duì)每個(gè)盒,6比特輸入中的第1和第6比特組成的二進(jìn)制數(shù)確定為行,中間4位二進(jìn)制數(shù)用來確定為列。相應(yīng)行、列位置的十進(jìn)制數(shù)用4位二進(jìn)制數(shù)表示作為輸出。例如S2盒輸入為101001,則行數(shù)和列數(shù)的二進(jìn)制表示分別是11和0100,即表中3行和表中4列,表中3行和表中4列的十進(jìn)制數(shù)為3,用4位二進(jìn)制數(shù)表示為0011,所以輸出為0011。91S-Box23(4)置換P92(4)置換P24DES中的子密鑰的生成93DES中的子密鑰的生成259426DES加密算法執(zhí)行過程95DES加密算法執(zhí)行過程273.2.2DES問題討論1.S盒的安全問題有人認(rèn)為s盒可能存在陷門,但至今沒有跡象表明s盒中存在陷門。2.密鑰長度?關(guān)于DES算法的另一個(gè)最有爭議的問題就是擔(dān)心實(shí)際56比特的密鑰長度不足以抵御窮舉式攻擊,因?yàn)槊荑€量只有256≈1017個(gè)。?早在1977年,Diffie和Hellman已建議制造一個(gè)每秒能測試100萬個(gè)密鑰的VLSI芯片。每秒測試100萬個(gè)密鑰的機(jī)器大約需要一天就可以搜索整個(gè)密鑰空間。他們估計(jì)制造這樣的機(jī)器大約需要2000萬美元。963.2.2DES問題討論28?在CRYPTO’93上,Session和Wiener給出了一個(gè)非常詳細(xì)的密鑰搜索機(jī)器的設(shè)計(jì)方案,這個(gè)機(jī)器基于并行運(yùn)算的密鑰搜索芯片,16次加密能同時(shí)完成。此芯片每秒能測試5000萬個(gè)密鑰,用5760個(gè)芯片組成的系統(tǒng)需要花費(fèi)10萬美元,它平均用1.5天左右就可找到DES密鑰。?1997年1月28日,美國的RSA數(shù)據(jù)安全公司在RSA安全年會(huì)上公布了一項(xiàng)“秘密密鑰挑戰(zhàn)”競賽,其中包括懸賞1萬美元破譯密鑰長度為56比特的DES。美國克羅拉多洲的程序員Verser從1997年2月18日起,用了96天時(shí)間,在Internet上數(shù)萬名志愿者的協(xié)同工作下,成功地找到了DES的密鑰,贏得了懸賞的1萬美元。97?在CRYPTO’93上,Session和Wiener給出?1998年7月電子前沿基金會(huì)(EFF)使用一臺(tái)25萬美元的電腦在56小時(shí)內(nèi)破譯了56比特密鑰的DES。?1999年1月RSA數(shù)據(jù)安全會(huì)議期間,電子前沿基金會(huì)用22小時(shí)15分鐘就宣告破解了一個(gè)DES的密鑰。98?1998年7月電子前沿基金會(huì)(EFF)使用一臺(tái)25萬美元1.兩重DES3.2.3DES的變形雙重DES密鑰長度為112bit,密碼強(qiáng)度似乎增強(qiáng)了一倍,但問題并非如此。雙重DES易受中途攻擊C=EK2(EK1(P))P=DK1(DK2(C))991.兩重DES3.2.3DES的變形雙重DES密鑰長度中途攻擊:中途攻擊算法基于以下觀察,如果有C=EK2(EK1(P)),則X=EK1(P)=DK2(C)。給定一個(gè)已知明、密文對(duì)(P,C),攻擊方法如下:首先用所有256個(gè)可能的密鑰加密P,得到256個(gè)可能的值,把這些值從小到大存在一個(gè)表中;然后再用256個(gè)可能的密鑰對(duì)密文C進(jìn)行解密,每次做完解密都將所得的值與表中值進(jìn)行比較,如果發(fā)現(xiàn)與表中的一個(gè)值相等,則它們對(duì)應(yīng)的密鑰可能分別是K1和K2?,F(xiàn)在用一個(gè)新的明、密文對(duì)檢測所得到的兩個(gè)密鑰,如果滿足X=EK1(P)=DK2(C),則把它們接受為正確的密鑰。100中途攻擊:322.三重DES(以被廣泛采用)優(yōu)點(diǎn):能對(duì)付中途攻擊。密鑰長度為168bit1012.三重DES(以被廣泛采用)33AES背景-i?1997年4月15日,(美國)國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)發(fā)起征集高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard)AES的活動(dòng),活動(dòng)目的是確定一個(gè)非保密的、可以公開技術(shù)細(xì)節(jié)的、全球免費(fèi)使用的分組密碼算法,作為新的數(shù)據(jù)加密標(biāo)準(zhǔn)。?1997年9月12日,美國聯(lián)邦登記處公布了正式征集AES候選算法的通告。作為進(jìn)入AES候選過程的一個(gè)條件,開發(fā)者承諾放棄被選中算法的知識(shí)產(chǎn)權(quán)。對(duì)AES的基本要求是:比三重DES快、至少與三重DES一樣安全、數(shù)據(jù)分組長度為128比特、密鑰長度為128/192/256比特。3.3高級(jí)加密標(biāo)準(zhǔn)AES102AES背景-i3.3高級(jí)加密標(biāo)準(zhǔn)AES34AES背景-ii?1998年8月12日,在首屆AES會(huì)議上指定了15個(gè)候選算法。?1999年3月22日第二次AES會(huì)議上,將候選名單減少為5個(gè),這5個(gè)算法是RC6,Rijndael,SERPENT,Twofish和MARS。?2000年4月13日,第三次AES會(huì)議上,對(duì)這5個(gè)候選算法的各種分析結(jié)果進(jìn)行了討論。?2000年10月2日,NIST宣布了獲勝者—Rijndael算法,2001年11月出版了最終標(biāo)準(zhǔn)FIPSPUB197。103AES背景-ii35Rijndael簡介?不屬于Feistel結(jié)構(gòu)?加密、解密相似但不對(duì)稱?支持128/32=Nb數(shù)據(jù)塊大小?支持128/192/256(/32=Nk)密鑰長度?有較好的數(shù)學(xué)理論作為基礎(chǔ)?結(jié)構(gòu)簡單、速度快104Rijndael簡介36輪數(shù)r與Nb和NkrNb=4Nb=6Nb=8Nk=4101214Nk=6121214Nk=8141414AES參數(shù)105輪數(shù)r與Nb和SP網(wǎng)絡(luò)結(jié)構(gòu)
在這種密碼的每一輪中,輪輸入首先被一個(gè)由子密鑰控
制的可逆函數(shù)S作用,然后再對(duì)所得結(jié)果用置換(或可逆
線性變換)P作用。S和P分別被稱為混亂層和擴(kuò)散層,主
要起混亂和擴(kuò)散作用。
106SP網(wǎng)絡(luò)結(jié)構(gòu)
在這種密碼的每一輪中,輪輸入首先被一個(gè)由子密鑰AES算法結(jié)構(gòu)-i?AES算法的輪變換中沒有Feistel結(jié)構(gòu),輪變換是由三個(gè)不同的可逆一致變換組成,稱之為層,–線性混合層:確保多輪之上的高度擴(kuò)散。–非線性層:具有最優(yōu)最差-情形非線性性的S-盒的并行應(yīng)用。–密鑰加層:輪密鑰簡單地異或到中間狀態(tài)上。107AES算法結(jié)構(gòu)-i39AES算法結(jié)構(gòu)-ii108AES算法結(jié)構(gòu)-ii4010941電子密碼本ECB(electroniccodebookmode)密碼分組鏈接CBC(cipherblockchaining)密碼反饋CFB(cipherfeedback)輸出反饋OFB(outputfeedback)這四種工作模式適用于不同的應(yīng)用需求3.4分組密碼的工作模式分組密碼在加密時(shí)明文的長度是固定的。而實(shí)用中待加密消息的數(shù)據(jù)量是不定的,數(shù)據(jù)格式也可能是多種多樣的,為了能在各種應(yīng)用場合安全地使用分組密碼,通常對(duì)不同的使用目的運(yùn)用不同的工作模式。分組密碼的“工作模式”是指以某個(gè)分組密碼算法為基礎(chǔ),解決對(duì)任意長度的明文的加密問題的方法。110電子密碼本ECB(electroniccodebo電子密碼本ECB3.4.1電碼本模式(ECB)111電子密碼本ECB3.4.1電碼本模式(ECB)43ECB的特點(diǎn)ECB用于短數(shù)據(jù)(如加密密鑰)是非常理想,長消息不夠安全簡單、有效可以并行實(shí)現(xiàn)不能隱藏明文的模式信息相同明文生成相同密文,同樣信息多次出現(xiàn)造成泄漏對(duì)明文的主動(dòng)攻擊是可能的信息塊可被替換、重排、刪除、重放誤差傳遞:密文塊損壞僅對(duì)應(yīng)明文塊損壞適合于傳輸短信息112ECB的特點(diǎn)ECB用于短數(shù)據(jù)(如加密密鑰)是非常理想,長消息
典型應(yīng)用:(1)用于隨機(jī)數(shù)的加密保護(hù);(2)用于單分組明文的加密。優(yōu)點(diǎn):(1)實(shí)現(xiàn)簡單;(2)不同明文分組的加密可并行實(shí)施,尤其是硬件實(shí)現(xiàn)時(shí)速度很快.缺點(diǎn):不同的明文分組之間的加密獨(dú)立進(jìn)行,故保留了單表代替缺點(diǎn),造成相同明文分組對(duì)應(yīng)相同密文分組,因而不能隱蔽明文分組的統(tǒng)計(jì)規(guī)律和結(jié)構(gòu)規(guī)律,不能抵抗替換攻擊.ECB模式的優(yōu)、缺點(diǎn)和應(yīng)用113典型應(yīng)用:(1)用于隨機(jī)數(shù)的加密保護(hù);優(yōu)點(diǎn):(1)
敵手C通過截收從A到B的加密消息,只要將第5至第12分組替換為自己的姓名和帳號(hào)相對(duì)應(yīng)的密文,即可將別人的存款存入自己的帳號(hào)。
例:假設(shè)銀行A和銀行B之間的資金轉(zhuǎn)帳系統(tǒng)所使用報(bào)文模式如下:114敵手C通過截收從A到B的加密消息,只要將第5為了克服ECB的安全性缺陷,我們希望設(shè)計(jì)一個(gè)工作模式,可以使得當(dāng)同一個(gè)明文分組重復(fù)出現(xiàn)時(shí)產(chǎn)生不同的密文分組。一個(gè)簡單的方法是密碼分組鏈接,從而使輸出不僅與當(dāng)前輸入有關(guān),而且與以前輸入和輸出有關(guān)。115為了克服ECB的安全性缺陷,我們希望設(shè)計(jì)一個(gè)工作模式,可以使3.4.2密碼分組鏈接模式(CBC)
在CBC模式下,加密算法的輸入是當(dāng)前明文組與前一密文組的異或。記初始化向量IV為c0,則加密過程可表示為CBC模式加密框圖………)(xEk1163.4.2密碼分組鏈接模式(CBC)在CCBC模式脫密框圖
CBC模式的脫密過程為???117CBC模式脫密框圖CBC模式的脫密過程為???491.明文塊的統(tǒng)計(jì)特性得到了隱蔽。
CBC模式的特點(diǎn):
由于在密文CBC模式中,各密文塊不僅與當(dāng)前明文塊有關(guān),而且還與以前的明文塊及初始化向量有關(guān),從而使明文的統(tǒng)計(jì)規(guī)律在密文中得到了較好的隱蔽。2.具有有限的(兩步)錯(cuò)誤傳播特性。一個(gè)密文塊的錯(cuò)誤將導(dǎo)致兩個(gè)密文塊不能正確脫密.3.具有自同步功能密文出現(xiàn)丟塊和錯(cuò)塊不影響后續(xù)密文塊的脫密.若從第t塊起密文塊正確,則第t+1個(gè)明文塊就能正確求出.1181.明文塊的統(tǒng)計(jì)特性得到了隱蔽。CBC模式的特點(diǎn):由典型應(yīng)用:(1)數(shù)據(jù)加密;(2)完整性認(rèn)證和身份認(rèn)證;完整性認(rèn)證的含義
完整性認(rèn)證是一個(gè)“用戶”檢驗(yàn)它收到的文件是否遭到第三方有意或無意的篡改。因此,完整性認(rèn)證:
不需檢驗(yàn)文件的制造者是否造假;文件的制造者和檢驗(yàn)者利益一致,不需互相欺騙和抵賴。119典型應(yīng)用:完整性認(rèn)證的含義51
利用CBC模式可實(shí)現(xiàn)報(bào)文的完整性認(rèn)證目的:檢查文件在(直接或加密)傳輸和存儲(chǔ)中是否遭到有意或無意的篡改.
關(guān)鍵技術(shù):
(1)文件的制造者和檢驗(yàn)者共享一個(gè)密鑰(2)文件的明文必須具有檢驗(yàn)者預(yù)先知道的冗余度(3)文件的制造者用共享密鑰對(duì)具有約定冗余度的明文用CBC模式加密(4)文件的檢驗(yàn)者用共享密鑰對(duì)密文脫密,并檢驗(yàn)約定冗余度是否正確.
120利用CBC模式可實(shí)現(xiàn)報(bào)文的完整性認(rèn)證報(bào)文完整性認(rèn)證的具體實(shí)現(xiàn)技術(shù)
(1)文件的制造者和檢驗(yàn)者共享一個(gè)密鑰;(2)文件的明文m產(chǎn)生一個(gè)奇偶校驗(yàn)碼r的分組;(3)采用分組密碼的CBC模式,對(duì)附帶校驗(yàn)碼的已擴(kuò)充的明文(m,r)進(jìn)行加密,得到的最后一個(gè)密文分組就是認(rèn)證碼;121報(bào)文完整性認(rèn)證的具體實(shí)現(xiàn)技術(shù)(1)文件的制造者n分組明文
,校驗(yàn)碼為Cn+1為認(rèn)證碼。(1)僅需對(duì)明文認(rèn)證,而不需加密時(shí),傳送明文m和認(rèn)證碼Cn+1,
此時(shí)也可僅保留Cn+1的t個(gè)比特作為認(rèn)證碼;(2)既需對(duì)明文認(rèn)證,又需要加密時(shí),傳送密文C和認(rèn)證碼Cn+1………)(xEk)(xEk122n分組明文………
檢驗(yàn)方法:
(1)僅需對(duì)明文認(rèn)證而不需加密時(shí),此時(shí)驗(yàn)證者僅收到明文m和認(rèn)證碼Cn+1,他需要:
Step2利用共享密鑰使用CBC模式對(duì)(m,r)加密,將得到的最后一個(gè)密文分組與接受到的認(rèn)證碼Cn+1比較,二者一致時(shí)判定接收的明文無錯(cuò);二者不一致時(shí)判定明文出錯(cuò)。
Step1產(chǎn)生明文m的校驗(yàn)碼123………檢驗(yàn)方法:Step2利用共享密鑰使
例:電腦彩票的防偽技術(shù)
----彩票中心檢查兌獎(jiǎng)的電腦彩票是否是自己發(fā)行的
問題:如何防止電腦彩票的偽造問題。
方法:(1)選擇一個(gè)分組密碼算法和一個(gè)認(rèn)證密鑰,將他們存于售票機(jī)內(nèi);(2)將電腦彩票上的重要信息,如彩票期號(hào)、彩票號(hào)碼、彩票股量、售票單位代號(hào)等重要信息按某個(gè)約定的規(guī)則作為彩票資料
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 12690.20-2024稀土金屬及其氧化物中非稀土雜質(zhì)化學(xué)分析方法第20部分:稀土氧化物中微量氟、氯的測定離子色譜法
- 本周工作總結(jié)與下周工作計(jì)劃報(bào)告
- 2025年禁毒宣傳工作計(jì)劃例文
- 個(gè)人教學(xué)計(jì)劃范文集合
- 做好班級(jí)家長工作計(jì)劃
- 個(gè)人工作計(jì)劃書的寫作模板
- 學(xué)年度第二學(xué)期四年級(jí)班主任個(gè)人工作計(jì)劃
- 2025護(hù)理個(gè)人的工作計(jì)劃范文
- 銀行新員工個(gè)人工作計(jì)劃
- 2025年“心起點(diǎn)”工作室開學(xué)工作計(jì)劃范文
- 股權(quán)激勵(lì)對(duì)賭協(xié)議范本
- 銀行保安服務(wù) 投標(biāo)方案(技術(shù)標(biāo))
- 食材配送服務(wù)方案投標(biāo)方案(技術(shù)方案)
- 經(jīng)營分析培訓(xùn)課件(課件)
- 人教版三年級(jí)數(shù)學(xué)上冊(cè)第十單元《總復(fù)習(xí)》(大單元教學(xué)設(shè)計(jì))
- 排球試題題庫
- CJJT148-2010 城鎮(zhèn)燃?xì)饧映艏夹g(shù)規(guī)程
- 人教版八年級(jí)上冊(cè)地理問答題提綱
- 試驗(yàn)檢測方案
- 小學(xué)語文朗讀指導(dǎo)案例
- 小提琴入門教學(xué)法智慧樹知到期末考試答案章節(jié)答案2024年四川音樂學(xué)院
評(píng)論
0/150
提交評(píng)論