




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章對稱秘鑰密碼體系
2.1密碼體系的原理和基本概念2.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)2.3IDEA2.4AES2.5序列密碼
NetworkandInformationSecurity2.1密碼體系的原理
NetworkandInformationSecurity加密解密公式明文用M(消息)或P(明文)表示,密文用C表示。加密函數(shù)E作用于M得到密文C,用數(shù)學(xué)式子表示為:E(M)=C相反地,解密函數(shù)D作用于C產(chǎn)生MD(C)=M先加密后再解密消息,原始的明文將恢復(fù)出來,下面的等式必須成立:D(E(M))=MNetworkandInformationSecurity2.1.2安全密碼準(zhǔn)則所有算法的安全性都基于密鑰的安全性,而不是基于算法細(xì)節(jié)的安全性。
只有公開的算法才是安全的。
NetworkandInformationSecurity
2.1.3對稱密鑰密碼和非對稱密鑰密碼基于密鑰的算法通常有兩類:對稱算法和非對稱算法。對稱算法有時(shí)又叫傳統(tǒng)密碼算法,就是加密密鑰能夠從解密密鑰中容易地推算出來,反過來也成立。在大多數(shù)對稱算法中,加/解密密鑰是相同的。對稱算法可分為兩類。一次只對明文中的單個(gè)比特(有時(shí)對字節(jié))運(yùn)算的算法稱為序列密碼或流密碼算法。另一類算法是對明文的一組比特進(jìn)行運(yùn)算,這些比特組稱為分組,相應(yīng)的算法稱為分組算法。NetworkandInformationSecurity
圖2-4分組密碼的工作原理NetworkandInformationSecurity非對稱算法是這樣設(shè)計(jì)的:用作加密的密鑰不同于用作解密的密鑰,而且解密密鑰不能根據(jù)加密密鑰計(jì)算出來(至少在合理假定的有限時(shí)間內(nèi))。非對稱算法也叫做公開密鑰算法,是因?yàn)榧用苊荑€能夠公開,即陌生者能用加密密鑰加密信息,但只有用相應(yīng)的解密密鑰才能解密信息。NetworkandInformationSecurity2.1.4密碼分析根據(jù)被破譯的難易程度,不同的密碼算法具有不同的安全等級(jí)如果破譯算法的代價(jià)大于加密數(shù)據(jù)的價(jià)值,那么可能是安全的。如果破譯算法所需的時(shí)間比加密數(shù)據(jù)保密的時(shí)間更長,那么可能是安全的。如果用單密鑰加密的數(shù)據(jù)量比破譯算法需要的數(shù)據(jù)量少得多,那么可能是安全的。NetworkandInformationSecurity復(fù)雜性幾乎所有密碼系統(tǒng)在唯密文攻擊中都是可破的,只要簡單地一個(gè)接一個(gè)地去試每種可能的密鑰,并且檢查所得明文是否有意義。這種方法叫做蠻力攻擊。密碼學(xué)更關(guān)心在計(jì)算上不可破譯的密碼系統(tǒng)。如果一個(gè)算法用(現(xiàn)在或?qū)恚┛傻玫降馁Y源在可接受的時(shí)間內(nèi)都不能破譯,這個(gè)算法則被認(rèn)為在計(jì)算上是安全的。NetworkandInformationSecurity可以用不同方式衡量攻擊方法的復(fù)雜性:(1)數(shù)據(jù)復(fù)雜性:用作攻擊輸入所需要的數(shù)據(jù)量。(2)時(shí)間復(fù)雜性:完成攻擊所需要的時(shí)間。(3)存儲(chǔ)復(fù)雜性:進(jìn)行攻擊所需要的存儲(chǔ)量。NetworkandInformationSecurity2.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)
2.2.1DES算法
DES加密算法如圖2-3所示,由以下四個(gè)部分組成。NetworkandInformationSecurity1.初始置換函數(shù)IPDES對64位明文分組進(jìn)行操作。首先,64位明文分組x經(jīng)過一個(gè)初始置換函數(shù)IP,產(chǎn)生64位的輸出x0,再將分組x0分成左半部分L0和右半部分R0,即:
x0=IP(x)=L0R0置換表如表2-1所示。此表順序?yàn)閺纳系较?,從左至右。如初始置換把明文的第58位換至第1位,把第50位換至第二位,以此類推。NetworkandInformationSecurity表2-1初始置換IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157NetworkandInformationSecurity圖2-5DES加密算法NetworkandInformationSecurity2.獲取子密鑰KiDES加密算法的密鑰長度為56位,但一般表示為64位,其中,每個(gè)第8位用于奇偶校驗(yàn)。在DES加密算法中,將用戶提供的64位初始密鑰經(jīng)過一系列的處理得到K1,K2,…,K16,分別作為1~16輪運(yùn)算的16個(gè)子密鑰?,F(xiàn)在來看如何獲得這16個(gè)子密鑰。首先,將64位密鑰去掉8個(gè)校驗(yàn)位,用密鑰置換PC–1置換剩下的56位密鑰;再將56位分成前28位C0和后28位D0兩部分,即PC–1(K56)=C0D0。密鑰置換PC-1如表2-2所示。NetworkandInformationSecurity表2-2密鑰置換PC–157494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124NetworkandInformationSecurity接下來,根據(jù)輪數(shù),這兩部分分別循環(huán)左移1位或2位。具體每輪移位的位數(shù)如表2-3所示。表2-3每輪移動(dòng)的位數(shù)輪次12345678910111213141516位數(shù)1122222212222221NetworkandInformationSecurity移動(dòng)后,將兩部分合并成56位后通過壓縮置換PC–2后得到48位子密鑰,即Ki=PC-2(CiDi)。壓縮置換如表2-4所示。表2-4壓縮置換PC–214171124153281562110231912426816727201324152313747553040514533484449395634534642503629329,18?NetworkandInformationSecurity圖2-6子密鑰產(chǎn)生NetworkandInformationSecurity3.密碼函數(shù)F1)函數(shù)F的操作步驟密碼函數(shù)F的輸入是32比特?cái)?shù)據(jù)和48比特的子密鑰,其操作步驟如圖2-5所示。(1)擴(kuò)展置換(E)。將數(shù)據(jù)的右半部分Ri從32位擴(kuò)展為48位。位選擇函數(shù)(也稱E盒)如表2-5所示。NetworkandInformationSecurity圖2-7F(Ri,Ki)計(jì)算NetworkandInformationSecurity表2-5擴(kuò)展置換(E)32123
4
54
5678
989101112131213141516171617
1819202120212223242524252627282928293031321NetworkandInformationSecurity(2)異或。擴(kuò)展后的48位輸出E(Ri)與壓縮后的48位密鑰Ki作異或運(yùn)算。(3)S盒替代。將異或得到的48位結(jié)果分成八個(gè)6位的塊,每一塊通過對應(yīng)的一個(gè)S盒產(chǎn)生一個(gè)4位的輸出。八個(gè)S盒如表2-6所示。NetworkandInformationSecurityS盒的具體置換過程為:某個(gè)Si盒的6位輸入的第1位和第6位形成一個(gè)2位的二進(jìn)制數(shù)(從0~3),對應(yīng)表中的某一行;同時(shí),輸入的中間4位構(gòu)成4位二進(jìn)制數(shù)(從0~15)對應(yīng)表中的某一列(注意:行和列均從0開始計(jì)數(shù))。例如,第8個(gè)S盒的輸入為001011,前后2位形成的二進(jìn)制數(shù)為01,對應(yīng)第8個(gè)S盒的第1行;中間4位為0101,對應(yīng)同一S盒的第5列。從表2-6中可得S8盒的第1行第5列的數(shù)為3,于是就用0011代替原輸入001011。
NetworkandInformationSecurity表2-6S盒S1盒1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613S2盒1518146113497213120510313471528141201106911501471110413158126932151381013154211671205149NetworkandInformationSecurityS3盒1009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S4盒7131430691012851112415138115615034721211014910690121171315131452843150610113894511127214S5盒2124171011685315130149141121247131501510398642111101378159125630141181271142136150910453NetworkandInformationSecurityS6盒1211015926801334147511101542712956113140113891415528123704101131164321295151011141760813S7盒4112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S8盒1328461511110931450127115138103741256110149271141912142061013153582114741081315129035611NetworkandInformationSecurity(4)P盒置換。將八個(gè)S盒的輸出連在一起生成一個(gè)32位的輸出,輸出結(jié)果再通過置換P產(chǎn)生一個(gè)32位的輸出即:F(Ri,Ki)。表2-7為P盒置換。至此,密碼函數(shù)F的操作就完成了。最后,將P盒置換的結(jié)果與最初的64位分組的左半部分異或,然后左、右半部分交換,接著開始下一輪計(jì)算。NetworkandInformationSecurity表2-7P盒置換1672021291228171152326518311028241432273919133062211425NetworkandInformationSecurity2)函數(shù)F的設(shè)計(jì)
函數(shù)F是DES加密的核心,它依賴于S盒的設(shè)計(jì)。這也適用于其它的對稱分組加密算法。下面我們簡單討論一下有關(guān)F函數(shù)的一些通用設(shè)計(jì)準(zhǔn)則以及S盒設(shè)計(jì)問題。
(1)F的設(shè)計(jì)準(zhǔn)則。函數(shù)F的基本功能就是“擾亂(confusion)”輸入,因此,對于F來說,其非線性越高越好,也就是說,要恢復(fù)F所做的“擾亂”操作越難越好。NetworkandInformationSecurity
其它的設(shè)計(jì)準(zhǔn)則還包括嚴(yán)格雪崩準(zhǔn)則(SAC)和比特獨(dú)立準(zhǔn)則(BIC)
。所謂SAC,就是要求算法具有良好的雪崩效應(yīng),輸入當(dāng)中的一個(gè)比特發(fā)生變化都應(yīng)當(dāng)使輸出產(chǎn)生”盡可能多”
的比特變化。嚴(yán)格地說,就是當(dāng)任何單個(gè)輸入比特位i發(fā)生變換時(shí),一個(gè)S盒的第j比特輸出位發(fā)生變換的概率應(yīng)為1/2,且對任意的i,j都應(yīng)成立。BIC的意思是當(dāng)單個(gè)輸入比特位i發(fā)生變化時(shí),輸出比特位j,k的變化應(yīng)當(dāng)互相獨(dú)立,且對任意的i,j,k均應(yīng)成立。SAC和BIC可以有效的增強(qiáng)F函數(shù)的“擾亂”功能。
NetworkandInformationSecurity
(2)S盒設(shè)計(jì)。S盒的設(shè)計(jì)在對稱分組密碼研究領(lǐng)域中起著舉足輕重的作用。本質(zhì)上,S盒的作用就是對輸入向量進(jìn)行處理,使得輸出看起來更具隨機(jī)性,輸入和輸出之間應(yīng)當(dāng)是非線性的,很難用線性函數(shù)來逼近。顯然,S盒的尺寸是一個(gè)很重要的特性。一個(gè)S盒其輸入為n比特,輸出為m比特。DES的S盒大小為6×4。S盒越大,就越容易抵制差分和線性密碼分析。NetworkandInformationSecurityMister和Adams提出了很多的S盒設(shè)計(jì)原則,其中包括要求S盒滿足SAC和BIC的原則,以及S盒的所有列的全部線性組合應(yīng)當(dāng)滿足一類稱為bent函數(shù)的高度非線性布爾函數(shù)的原則。Bent函數(shù)具有很多有趣的特性,其中,高度非線性和最高階的嚴(yán)格雪崩準(zhǔn)則對于S盒的設(shè)計(jì)尤為重要。NetworkandInformationSecurity
Nyberg提出了以下幾種S盒的設(shè)計(jì)和實(shí)踐原則:●隨機(jī)性:采用某些偽隨機(jī)數(shù)發(fā)生器或隨機(jī)數(shù)表格來產(chǎn)生S盒的各個(gè)項(xiàng)?!耠S機(jī)測試:隨機(jī)選擇S盒各個(gè)項(xiàng),然后按照不同準(zhǔn)則測試其結(jié)果。●數(shù)學(xué)構(gòu)造:根據(jù)某些數(shù)學(xué)原理來產(chǎn)生S盒。其好處就是可以根據(jù)數(shù)學(xué)上的嚴(yán)格證明來抵御差分和線性密碼分析,并且可以獲得很好的擴(kuò)散(Diffusion)特性。NetworkandInformationSecurity
4.末置換函數(shù)IP-1
末置換是初始置換的逆變換。對L0和R0進(jìn)行16輪相同的運(yùn)算后,將得到的兩部分?jǐn)?shù)據(jù)合在一起,經(jīng)過一個(gè)末置換函數(shù)就可得到64位的密文c,即:c=IP-1(R16L16)(16指的是16輪)
表2-8列出了該變換。
NetworkandInformationSecurity表2-8末置換IP-140848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725NetworkandInformationSecurity5.總結(jié)根據(jù)上面所述,可以將DES算法歸結(jié)如下:子密鑰生成:C[0]D[0]=PC–1(K)for1<=i<=16{C[i]=LS[i](C[i?1])D[i]=LS[i](D[i?1])K[i]=PC–2(C[i]D[i])}NetworkandInformationSecurity加密過程:L[0]R[0]=IP(x)for1<=i<=16{L[i]=R[i?1]R[i]=L[i?1]XORf?(R[i?1],K[i])}c=IP?1(R[16]L[16])vNetworkandInformationSecurity解密過程:R[16]L[16]=IP(c)for1<=i<=16{R[i?1]=L[i]L[i?1]=R[i]XORf?(L[i],K[i])}x=IP?1(L[0]R[0])NetworkandInformationSecurity
2.2.2三重DES
三重DES是DES的一種變形的實(shí)現(xiàn)方式,如圖2-10所示。從圖中我們可以得到其加/解密運(yùn)算為:
加密:c=EK3(DK2(EK1(m)))
解密:?m=DK1(EK2(DK3(c)))其中,K1、K2、K3為56位DES密鑰。為了獲得更高的安全性,三個(gè)密鑰應(yīng)該選擇為互不相同。但在某些情況下,如與原來的DES保持兼容,則可以選擇K1=K3。?注:所謂兼容就是原來的加密和解密不變化(可以繼續(xù)使用)NetworkandInformationSecurity圖2-12三重DESNetworkandInformationSecurity2.3IDEA
IDEA即國際數(shù)據(jù)加密算法,它的原型是PES(ProposedEncryptionStandard)。對PES改進(jìn)后的新算法稱為IPES,并于1992年改名為IDEA(InternationalDataEncryptionAlgorithm)。NetworkandInformationSecurityIDEA是一個(gè)分組長度為64位的分組密碼算法,密鑰長度為128位,同一個(gè)算法即可用于加密,也可用于解密。IDEA的加密過程包括兩部分:(1)輸入的64位明文組分成四個(gè)16位子分組:X1、X2、X3和X4。四個(gè)子分組作為算法第一輪的輸入,總共進(jìn)行八輪的迭代運(yùn)算,產(chǎn)生64位的密文輸出。(2)輸入的128位會(huì)話密鑰產(chǎn)生八輪迭代所需的52個(gè)子密鑰(八輪運(yùn)算中每輪需要六個(gè),還有四個(gè)用于輸出變換)。NetworkandInformationSecurity子密鑰產(chǎn)生:輸入的128位密鑰分成八個(gè)16位子密鑰(作為第一輪運(yùn)算的六個(gè)和第二輪運(yùn)算的前兩個(gè)密鑰);將128位密鑰循環(huán)左移25位后再得八個(gè)子密鑰(前面四個(gè)用于第二輪,后面四個(gè)用于第三輪)。這一過程一直重復(fù),直至產(chǎn)生所有密鑰。IDEA的解密過程和加密過程相同,只是對子密鑰的要求不同。表2-8給出了加密子密鑰和相應(yīng)的解密子密鑰。NetworkandInformationSecurity2.4高級(jí)加密標(biāo)準(zhǔn)(AES)
2.4.1高級(jí)加密標(biāo)準(zhǔn)產(chǎn)生背景1997年4月15日,美國國家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)發(fā)起征集AES(AdvancedEncryptionStandard)的活動(dòng)。對AES的基本要求是:比三重DES快,至少與三重DES一樣安全,數(shù)據(jù)分組長度為128比特,密鑰長度為128/192/256比特。1998年8月12日,在首屆AES會(huì)議上公布了AES的15個(gè)候選算法,任由全世界各機(jī)構(gòu)和個(gè)人攻擊和評論。1999年3月,在第二屆AES會(huì)議上從15個(gè)候選算法中選出5個(gè)。2000年4月13號(hào)和14號(hào),召開第三屆AES會(huì)議。2000年10月2日,NIST宣布Rijndael作為新的AES,Rijndael終于脫穎而出。介紹其中的3個(gè)。NetworkandInformationSecurity2.4.2Rijndael算法Rijndael(榮代爾)算法是比利時(shí)的JoanDaemen和VincentRijmen設(shè)計(jì)的,該算法的原形是Square算法。它的設(shè)計(jì)策略是寬軌跡策略。寬軌跡策略是針對差分分析和線性分析提出的一種新的策略,其最大優(yōu)點(diǎn)是可以給出算法的最佳差分特性的概率及最佳線性逼近的偏差的界。由上述條件可以分析算法抵抗差分密碼分析和線性密碼分析的能力。Rijndael采用的是代替/置換算法。每一輪由以下3層組成。線性混合層:確保多輪之上的高度擴(kuò)散。非線性層:由16個(gè)S盒并置而成,起到混淆的作用。密鑰加層:子密鑰簡單地異或到中間狀態(tài)上。NetworkandInformationSecurityNetworkandInformationSecurityNetworkandInformationSecurityNetworkandInformationSecurity(4)輪密鑰加(AddRoundKey)輪密鑰加(AddRoundKey,ARK):在輪密鑰加變換中,每一輪的輪密鑰按位與狀態(tài)進(jìn)行異或運(yùn)算.輪密鑰通過密鑰按照密鑰方案來生成,下面將具體描述密鑰方案。NetworkandInformationSecurity2.5序列密碼2.5.1序列密碼原理序列密碼加密時(shí)將明文劃分成字符(如單個(gè)字母)或其編碼的基本單元(如0、1),然后將其與密鑰流進(jìn)行運(yùn)算(通常為異或),解密時(shí)以同步產(chǎn)生的相同密鑰流實(shí)現(xiàn)解密。序列
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專利合作開發(fā)合同格式
- 山東鋁業(yè)職業(yè)學(xué)院《企業(yè)級(jí)應(yīng)用與開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京理工大學(xué)《水文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海南湖職業(yè)技術(shù)學(xué)院《嵌入式系統(tǒng)原理與應(yīng)用技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 香菇品種研發(fā)合作合同范本
- 云南旅游職業(yè)學(xué)院《綠色工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 延安大學(xué)西安創(chuàng)新學(xué)院《跨文化傳播實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廈門大學(xué)《web頁面及U設(shè)計(jì)實(shí)戰(zhàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 咸寧市赤壁市2025屆數(shù)學(xué)五年級(jí)第二學(xué)期期末學(xué)業(yè)水平測試試題含答案
- 寧夏葡萄酒與防沙治沙職業(yè)技術(shù)學(xué)院《色彩圖式語言-表現(xiàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- Unit 5 Here and now Section A Grammar 說課稿 2023-2024學(xué)年人教版英語七年級(jí)下冊
- 地下綜合管廊建設(shè)項(xiàng)目可行性研究報(bào)告
- 基于多源異構(gòu)數(shù)據(jù)的地質(zhì)知識(shí)圖譜構(gòu)建與應(yīng)用
- 2024年領(lǐng)導(dǎo)干部任前廉政知識(shí)考試測試題庫及答案
- 《公共資源交易主體信用評價(jià)實(shí)施指南》編制說明
- 煤礦防突專項(xiàng)設(shè)計(jì)(樣本)
- 紹興銀行社會(huì)招聘真題
- 《儲(chǔ)水式電熱水器的安全使用年限》
- 路燈安裝工程項(xiàng)目實(shí)施重點(diǎn)、難點(diǎn)和解決方案
- 路面附屬工程施工組織設(shè)計(jì)
- 規(guī)劃課題申報(bào)范例:高職院校特殊群體學(xué)生心理問題分析及教育案例研究(附可修改技術(shù)路線圖)
評論
0/150
提交評論