數(shù)據(jù)通信38課件_第1頁
數(shù)據(jù)通信38課件_第2頁
數(shù)據(jù)通信38課件_第3頁
數(shù)據(jù)通信38課件_第4頁
數(shù)據(jù)通信38課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)(第二版)》電子教案 笫卄八講 數(shù)據(jù)加密算法本講內(nèi)容第十章網(wǎng)絡(luò)管理與信息安全

10.3數(shù)據(jù)加密算法

10.3.2對(duì)稱密鑰算法

10.3.3公開密鑰算法

10.3.2對(duì)稱密鑰算法基本原理舉例說明假設(shè)Alice和Bob使用對(duì)稱密鑰進(jìn)行通信,則:Alice和Bob同意使用同一個(gè)密碼系統(tǒng);Alice和Bob同意使用同一個(gè)密鑰;Alice取她的明文,用加密算法和密鑰加密明文信息,產(chǎn)生一個(gè)密文信息;Alice發(fā)密文給Bob;Bob用相同的算法和密鑰解密密文信息然后閱讀。10.3.2對(duì)稱密鑰算法(續(xù))在Alice和Bob之間有一個(gè)竊聽者Eve,他只竊聽到步驟(4)的傳輸,則他必須試圖對(duì)密文進(jìn)行密碼分析。但是,如果Eve知道步驟(1)和(2),他就成功了。用對(duì)稱算法,Alice和Bob可以公開完成步驟(1),但必須秘密地完成步驟(2)。協(xié)議前后及執(zhí)行當(dāng)中,密鑰必須保待安全;否則,信息將不安全。10.3.2對(duì)稱密鑰算法(續(xù))DES算法DES基本構(gòu)架10.3.2對(duì)稱密鑰算法(續(xù))基本概念:DES使用相同的算法來對(duì)數(shù)據(jù)進(jìn)行加密和解密,所使用的加密密鑰和解密密鑰是相同的,算法的輸入有64位的明文,使用56位的密鑰,輸出是64位的密文,它使用16輪的混合操作,目標(biāo)是徹底地打亂明文的信息,使得密文的每一位都依賴于明文的每一位和密鑰的每一位。算法的組成:10.3.2對(duì)稱密鑰算法(續(xù))共有19個(gè)階段;第一個(gè)階段是一個(gè)與密鑰無關(guān)的變換;最后一個(gè)階段是第一個(gè)階段的反向變換;最后第二個(gè)階段是對(duì)左右32位進(jìn)行交換的簡單變換;其它16個(gè)階段在功能上是相同的,但是它們的參數(shù)是密鑰的不同的函數(shù)。中間階段過程如下圖所示:10.3.2對(duì)稱密鑰算法(續(xù))DES中間變換過程10.3.2對(duì)稱密鑰算法(續(xù))每一輪的關(guān)鍵是f函數(shù),以及這一階段的子密鑰Ki,用來產(chǎn)生右邊的32位的輸出,這個(gè)函數(shù)有四個(gè)步驟:把Ri-1按預(yù)先規(guī)定的規(guī)則擴(kuò)展成48位的Ei

321234545678989101112131213141516171617181920212021222324252425262728292829303132110.3.2對(duì)稱密鑰算法(續(xù))進(jìn)行Ei

Ki操作(異或)把上一步的結(jié)果分為6位的小組,共8組,記為B1到B8,每一組通過各自的S-Box形成4位的輸出。具體做法如下(參見書上表格):把Bj的前一位和最后一位組合的數(shù)值記為m,把Bj的第2位到第5位組成的數(shù)值記為n,這個(gè)(n,m)數(shù)對(duì)用來選擇S-Box的行和列,產(chǎn)生一個(gè)新的4位輸出。S-Box與Bj相對(duì)應(yīng),共有8個(gè)。10.3.2對(duì)稱密鑰算法(續(xù))上述8組4位輸出(共32位)通過一個(gè)變換,產(chǎn)生32位的輸出,如下所示:167202129122817115232651831102824143227391913306221142510.3.2對(duì)稱密鑰算法(續(xù))

Ki的計(jì)算方法如下:

把帶奇偶校驗(yàn)位的64位密鑰舍棄其中的奇偶校驗(yàn)位,根據(jù)下表進(jìn)行變位得到56位的密鑰,在變位時(shí),奇偶校驗(yàn)位已被舍棄。即56位密鑰的第1位是原64位密鑰的第57位,第2位是原64位密鑰的第49位等等,直到第56位為原64位密鑰的第4位。5749413325179158504234261810259514335271911360524436635547393123157625446383022146615345372921135282012410.3.2對(duì)稱密鑰算法(續(xù))把56位的密鑰分成兩個(gè)部分,前面的28位稱為C0,后面的28位稱為D0,

和是對(duì)和按如下左移產(chǎn)生:再把按如下變換產(chǎn)生:輪數(shù)(i)12345678910111213141516左移位數(shù)112222221222222110.3.2對(duì)稱密鑰算法(續(xù))1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932同樣是指的第1位是

的第14位,

的第2位是

的第17位等等,直到

的第48位為

的第32位。10.3.2對(duì)稱密鑰算法(續(xù))整個(gè)算法的初始變換方法如下:算法中的反向變換方法如下:

5850423426181026052443628201246254463830221466456484032241685749413325179159514335271911361534537292113563554739312315710.3.2對(duì)稱密鑰算法(續(xù))在加密或解密過程中,如果需要加密的明文信息超過64位,這時(shí),可以采用四種方式:電碼薄方式(ECB:ElectronicCodeBook);密碼塊鏈方式(CBC:CipherBlockChaining);密碼反饋方式(CFB:CipherFeedBack);輸出反饋方式(OFB:OutputFeedBack)10.3.2對(duì)稱密鑰算法(續(xù))Rijndael算法步驟:在初始?jí)K和密鑰之間進(jìn)行逐位異或,加密第1輪的輸入,結(jié)果稱為狀態(tài)(state)。接著進(jìn)行10輪類似的運(yùn)算,每一輪都用特定的矩陣操作來改變它的輸入,從而產(chǎn)生輸出狀態(tài)(本質(zhì)上是另一個(gè)矩陣),并以此作為下一輪活動(dòng)的輸入如果塊或密鑰大小更大,需要更多輪次,但是基本的步驟還是一樣的。10.3.3公開密鑰算法問題的提出數(shù)據(jù)加密中,有一個(gè)比較重要的問題需要解決,即如何把密鑰送到對(duì)方,由對(duì)方來進(jìn)行解密。不管一個(gè)加密方法如何強(qiáng)壯,一旦解密密鑰被入侵者獲得,那么加密也就沒有意義。公開密鑰算法

體制思想: 要求密鑰成對(duì)出現(xiàn),一個(gè)為加密密鑰(Ke),另一個(gè)為解密密鑰(Kd),加密密鑰和解密密鑰不同,且不可能從其中一個(gè)推導(dǎo)出另一個(gè)。10.3.3公開密鑰算法(續(xù))假設(shè)明文為P,加密算法(包括密鑰)為E,解密算法(包括密鑰)為D,要求滿足以下三個(gè)條件:D(E(P))=P;從E推導(dǎo)D是極其困難的;E不能通過部分明文來解破。優(yōu)點(diǎn): 不需要經(jīng)安全渠道傳遞密鑰,大大簡化了密鑰管理。10.3.3公開密鑰算法(續(xù))RSA算法理論基礎(chǔ)即將兩個(gè)大的質(zhì)數(shù)合成一個(gè)大數(shù)很容易,而相反的過程則非常困難。在當(dāng)今技術(shù)條件下,當(dāng)n足夠大時(shí),欲從n中通過質(zhì)因子分解試圖找到與d對(duì)應(yīng)的p、q是極其困難甚至是不可能的。例如:分解一個(gè)200位的整數(shù)需要40億年的計(jì)算機(jī)時(shí)間,而分解一個(gè)500位的整數(shù)需要1025年的計(jì)算機(jī)時(shí)間10.3.3公開密鑰算法(續(xù))步驟:選擇兩個(gè)大整數(shù)p和q,一般要求大于10100;計(jì)算n=pq和z=(p-1)(q-1);選擇一個(gè)與z互素的整數(shù),記為d;計(jì)算滿足下列條件的e,(ed)modz=1加密:把待加密的明文分割成一定大小的塊P,這個(gè)P可以看成是一個(gè)整數(shù),要求0Pn,我們可以把P的長度設(shè)為k,則要求2k<n。對(duì)P加密就是計(jì)算C=Pemodn10.3.3公開密鑰算法(續(xù))解密: 解密計(jì)算P=Cdmodn

注意: 為了加密,我們需要e和n,為了解密,我們需要d和n,這樣,加密密鑰(即公開密鑰)為(e,n),解密密鑰(即秘密密鑰)為(d,n)。舉例說明假設(shè)p=3,q=11;=>n=33,z=2010.3.3公開密鑰算法(續(xù))選擇與20互素的d=7;對(duì)于e,要求7emod20=1,可以選擇e=3。加密過程為C=P3mod33,解密為P=C7mod33。加密塊大小只能為一個(gè)字節(jié),并且假設(shè)字母A到Z的編碼為1到26對(duì)于“SUZANNE”的加密如下表所示10.3.3公開密鑰算法(續(xù))明文密文解密后符號(hào)數(shù)字P3P3mod33C7C7mod33符號(hào)S196859281349292851219SU21926121180108854121UZ261757620128000000026ZA011111AN14274457812514NN14274457812514NE051252680318101765E用RSA加密的例子

10.3.3公開密鑰算法(續(xù))公開密鑰,私有密鑰對(duì)這對(duì)密鑰互逆,系統(tǒng)可以公開其中的任一個(gè)密鑰。因?yàn)橄率鰞墒蕉汲闪?P=D(d,E(e,P))(1)P=E(e,D(d,P))(2)其中:P=明文;D()=解密算法;E()=加密算法;d=私有密鑰;e=公開密鑰,可以用私有密鑰對(duì)用相應(yīng)的公開密鑰加密的信息進(jìn)行解密,如(1);同時(shí),也能用公開密鑰將相應(yīng)的私有密鑰加密的密文解開,如(2)。10.3.3公開密鑰算法(續(xù))這表明:私有密鑰和公開密鑰具有互換性,即公開密鑰與私有密鑰只是概念的不同,其實(shí)質(zhì)是沒有區(qū)別的。RSA算法的缺點(diǎn):產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。分組長度太大,為保證安全性,n至少也要很大,使運(yùn)算代價(jià)很高,尤其是速度較慢,較對(duì)稱密碼算法慢幾個(gè)數(shù)量級(jí);且隨著大數(shù)分解技術(shù)的發(fā)展,這個(gè)長度還在增加,不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。10.3.3公開密鑰算法(續(xù))無論是軟件還是硬件實(shí)現(xiàn),RSA最快的情況也比DES慢上100倍。速度一直是RSA的缺陷。一般來說只用于少量數(shù)據(jù)的加密。練習(xí)題10.14DES算法中,若K1=000000000000,R0=D8D8DBBC,求S(K1

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論