




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章密碼技術(shù)
加密是計(jì)算機(jī)安全的重要部分??诹罴用苁欠乐刮募械拿艽a被竊取。文件加密主要應(yīng)用于因特網(wǎng)上的文件傳輸,防止文件被竊取。
計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)第2章密碼技術(shù)本章主要內(nèi)容:對(duì)稱密碼技術(shù)非對(duì)稱密碼技術(shù)密鑰分配與管理技術(shù)數(shù)字簽名信息隱藏技術(shù)計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)概述
2.1.1密碼學(xué)的起源、發(fā)展與應(yīng)用 1.加密的歷史 作為保障數(shù)據(jù)安全的一種方式,現(xiàn)代加密技術(shù)起源于公元前2000年。埃及人是最先使用特別的象形文字作為信息編碼的人。隨著時(shí)間推移,巴比倫、美索不達(dá)米亞和希臘都開始使用一些方法來保護(hù)他們的書面信息。 2.密碼學(xué)的發(fā)展 密碼學(xué)的發(fā)展可以分為兩個(gè)階段。第一個(gè)階段是計(jì)算機(jī)出現(xiàn)之前的四千年(早在四千年前,古埃及就開始使用密碼傳遞消息),這是古典加密學(xué)階段,基本上靠人工對(duì)消息加密、傳輸和防破譯。第二階段是計(jì)算機(jī)密碼學(xué)階段.計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)概述2.1.2密碼技術(shù)基礎(chǔ)密碼技術(shù)(密碼學(xué))是研究通信安全保密的一門學(xué)科。密碼技術(shù)包含兩個(gè)分支:密碼編碼學(xué):把信息變換成沒有密鑰就不能解讀或很難解讀的密文。密碼分析學(xué):研究分析破譯密碼的方法。
計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念 數(shù)據(jù)加密 數(shù)據(jù)加密的基本過程包括對(duì)稱為明文的可讀信息進(jìn)行處理,形成稱為密文或密碼的代碼形式。該過程的逆過程稱為解密,即將該編碼信息轉(zhuǎn)化為其原來的形式的過程。 1.為什么需要進(jìn)行加密 因特網(wǎng)是危險(xiǎn)的,而且這種危險(xiǎn)是TCP/IP協(xié)議所固有的,一些基于TCP/IP的服務(wù)也是極不安全的,另一方面,因特網(wǎng)把全世界連在了一起,走向因特網(wǎng)就意味著走向了世界。為了使因特網(wǎng)變得安全和充分利用其商業(yè)價(jià)值,人們選擇了現(xiàn)代加密技術(shù)和基于加密技術(shù)的身份認(rèn)證。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念 2.鑒別、完整性和抗抵賴 除了提供機(jī)密性外,密碼學(xué)通常還有其它的作用。(1)鑒別。消息的接收者應(yīng)該能夠確認(rèn)消息的來源,入侵者不可能偽裝成他人。(2)完整性。消息的接收者應(yīng)該能夠驗(yàn)證在傳送過程中消息沒有被修改,入侵者不可能用假消息代替合法消息。(3)抗抵賴。發(fā)送者事后不可能虛假地否認(rèn)他發(fā)送的消息。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)概述保密通信系統(tǒng)模型密鑰源K1密鑰源K2加密c=E1(m)解密m=D1(c)k1k2mm非法入侵者搭線信道(主動(dòng)攻擊)密碼分析員(竊聽者)搭線信道(被動(dòng)攻擊)信源信宿c計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)概述一個(gè)密碼體制的構(gòu)成:全體明文的集合M,稱為明文空間全體密文的集合C,稱為密文空間全體密鑰的集合K,稱為密鑰空間加密算法E,由加密密鑰控制的加密變換的集合,即:K×M→C,(m,k)|→Ek(m)加密算法D,由解密密鑰控制的解密變換的集合,即:K×C→M,(c,k)|→Dk(c)對(duì)于∨m∈M,k∈K,有Dk(Ek(m))=m。以上描述的五元組(M,C,K,E,D)就稱為一個(gè)密碼體制。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)概述Kerckhoff假設(shè):密碼體制的安全性不依賴于算法的保密,而是依賴于密鑰的保密。等價(jià)描述:通常假定密碼分析者知道所使用的密碼系統(tǒng)。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)概述算法的安全性:原則上講,只要有足夠多的計(jì)算時(shí)間、存儲(chǔ)容量和密文數(shù)據(jù),或有足夠多的明文、密文對(duì),窮搜索法總是可以成功的。但實(shí)際中任何一種能保障安全要求的實(shí)用密碼體制,都會(huì)設(shè)計(jì)得使這種窮搜索法在實(shí)際上是不可行的。在理論上,這種方法也往往作為與其他攻擊方法相比較的基礎(chǔ),以此作為標(biāo)準(zhǔn),判斷其他各種攻擊方法的有效程度。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念密鑰體制: 加密算法通常是公開的。盡管大家都知道使用加密方法,但對(duì)密文進(jìn)行解碼必須要有正確的密鑰,而密鑰是保密的。(1)單鑰/對(duì)稱密碼體制 在單鑰中,加密者和解密者使用相同的密鑰,也被稱為對(duì)稱密鑰加密。這種加密算法的問題是,用戶必須讓接收人知道自己所使用的密鑰,這個(gè)密鑰需要雙方共同保密,任何一方的失誤都會(huì)導(dǎo)致機(jī)密的泄露,而且在告訴收件人密鑰過程中,還需要防止任何人發(fā)現(xiàn)或偷聽密鑰,這個(gè)過程被稱為密鑰發(fā)布。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念(2)雙鑰/非對(duì)稱密碼體制使用相互關(guān)聯(lián)的一對(duì)密鑰,一個(gè)是公用密鑰,任何人都可以知道,另一個(gè)是私有密鑰,只有擁有該對(duì)密鑰的人知道。如果有人發(fā)信給這個(gè)人,他就用收信人的公用密鑰對(duì)信件進(jìn)行過加密,當(dāng)收件人收到信后,他就可以用他的私有密鑰進(jìn)行解密,而且只有他持有的私有密鑰可以解密。
計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念
計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念 3.密碼分析
密碼分析的主要方法:(1)窮舉法(2)統(tǒng)計(jì)分析法(3)密碼技術(shù)分析法法計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念
密碼分析的形式: 密碼分析學(xué)是在不知道密鑰的情況下,恢復(fù)出明文的科學(xué)。成功的密碼分析能恢復(fù)出消息的明文或密鑰。密碼分析也可以發(fā)現(xiàn)密碼體制的弱點(diǎn),最終得到上述結(jié)果。常用的密碼分析攻擊:(1)唯密文攻擊(CipherText-OnlyAttack)。密碼分析者有一些消息的密文,這些消息都用同一加密算法加密。密碼分析者的任務(wù)是恢復(fù)盡可能多的明文,或者最好是能推算出加密消息的密鑰來,以便可采用相同的密鑰解出其他被加密的消息。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念(2)已知明文攻擊(Known-PlaintextAttack)。密碼分析者不僅可得到一些消息的密文,而且也知道這些消息的明文。分析者的任務(wù)就是用加密信息推出用來加密的密鑰或推導(dǎo)出一個(gè)算法,此算法可以對(duì)用同一密鑰加密的任何新的消息進(jìn)行解密。(3)選擇明文攻擊(Chosen-PlaintextAttack)。分析者不僅可得到一些消息的密文和相應(yīng)的明文,而且他們也可選擇被加密的明文。這比已知明文攻擊更有效。因?yàn)槊艽a分析者能選擇特定的明文塊去加密,那些塊可能產(chǎn)生更多關(guān)于密鑰的信息,分析者的任務(wù)是推出用來加密消息的密鑰或?qū)С鲆粋€(gè)算法,此算法可以對(duì)用同一密鑰加密的任何新的消息進(jìn)行解密。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.1密碼技術(shù)的基本概念(4)選擇密文攻擊(Chosen-CipherTextAttack)分析者可以選擇不同的密文,并能得到相應(yīng)的明文,并試圖推導(dǎo)出密鑰。(5)軟磨硬泡攻擊(Rubber-HoseCryptanalysis)。這種攻擊是對(duì)密碼分析者威脅、勒索,或者折磨某人,直到他給出密鑰為止。行賄有時(shí)稱為購買密鑰攻擊(purchase-keyattack)。這些是非常有效的攻擊,并且經(jīng)常是破譯算法的最好途徑。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2對(duì)稱密碼技術(shù)●加密者和解密者使用相同的密鑰,稱為對(duì)稱密碼技術(shù)。對(duì)稱密碼技術(shù)的安全性依賴于:加密算法必須足夠強(qiáng),僅從密文本身去解密信息在實(shí)踐上是不可能的。加密方法的安全性依賴于密鑰的秘密性,而不是算法的秘密性。對(duì)稱密碼技術(shù)的最大問題是密鑰的分發(fā)和管理非常復(fù)雜,代價(jià)高昂。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2對(duì)稱密碼技術(shù)對(duì)稱密碼技術(shù)的典型代表:古典密碼技術(shù)序列密碼技術(shù)分組密碼技術(shù)計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2.2古典加密技術(shù)
1.替換密碼技術(shù)●基于符號(hào)替換的密碼技術(shù),以符號(hào)的置換來掩蓋明文信息。(1)替換密碼技術(shù)基本算法:設(shè)A={a0,a1,…,an-1}為明文字母表,B={b0,b1,…,bn-1}為密文字母表,使用如下映射:
f:A→B,f(ai)=bj計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2.2古典加密技術(shù)①移位代換密碼 把明文中所有字母都用它右邊的第k個(gè)字母替代,并認(rèn)為Z后邊又是A。這種映射關(guān)系表示為如下函數(shù): f(a)=(a+k)modn 其中:a表示明文字母;n為字符集中字母?jìng)€(gè)數(shù);k為密鑰。則:加密變換為:Ek(ai)=aj,j=(i+k)(modn),0<k<n解密變換為:Dk(aj)=ai,i=(j-k)(modn)=(j+n-k)(modn),0<k<n計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)[例]凱撒密碼表(k=3)
明文字母abcdefghijklmnopqrstuvwxyz密文字母DEFGHIJKLMNOPQRSTUVWXYZABC?有一個(gè)拉丁文句子OmniaGalliaestdivisainPartestres(高盧全境分為三個(gè)部分)RPQLDJDOOLDHVWGLYLVDLQSDUWHVWUHV2.2古典加密技術(shù)計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù) ②乘法密碼技術(shù)加密變換為:Ek(ai)=aj,j=i·k(modn),gcd(k,n)=1解密變換為:Dk(aj)=ai,i=j·k-1(modn)[例]
k=9
ABCDEFGHIJKLMNOPQRSTUVWXYZ
AJSBKTCLUDMVENWFOXGPYHQZIR
明文CIPHER=>密文SUFLKX計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù)
③仿射密碼技術(shù)加密變換為:
Ek0,k1(ai)=aj,j=(i·k1+k0)(modn)其中:k0,k1為密鑰計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù) ④密鑰字密碼技術(shù)規(guī)則:選擇一個(gè)序列作為密碼字,將密碼字寫在明文字母表下,再將未在字母表中出現(xiàn)過的字母依次寫在密鑰字后,從而構(gòu)造出一個(gè)字母替換表。[例]k=cipher,則替換表為:abcdefghijklmnopqrstuvwxyzcipherabdfgjklmnoqstuvwxyz計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù) (2)單字符多表替代密碼①維吉尼亞(Vigenere)密碼 周期替代密碼是一種常用的多表替代密碼,典型代表為維吉尼亞(Vigenere)密碼。這種替代法是循環(huán)的使用有限個(gè)字母來實(shí)現(xiàn)替代的一種方法。若明文信息mlm2m3…mn,采用n個(gè)字母(n個(gè)字母為B1,B2,…Bn)替代法,那么,ml將根據(jù)字母Bn的特征來替代,mn+l又將根據(jù)B1的特征來替代,mn+2又將根據(jù)B2的特征來替代……,如此循環(huán)??梢夿1,B2,…Bn就是加密的密鑰。 這種加密的加密表是以字母表移位為基礎(chǔ)把26個(gè)英文字母進(jìn)行循環(huán)移位,排列在一起,形成26×26的方陣。該方陣被稱為維吉尼亞表。采用的算法為 f(a)=(a+Bi)modn(i=(1,2,…,n))計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)維吉尼亞表:abcdefg…aABCDEFG…bBCDEFGH…cCDEFGHI…dDEFGHIJ…eEFGHIJK…fFGHIJKL…gGHIJKLM…………………………m=abcdefgkey=bagE(m)=BBIEELHkey=eggE(m)=?E(m)=DCIkey=bagm=?計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù)②弗納姆(Vernam)密碼 將明文和密鑰分別表示成二進(jìn)制序列,再把它們按位進(jìn)行模2加法。
設(shè)明文m=m1m2…,密鑰k=k1k2…,其中mi,ki∈GF(2),i≧1,則密文c=c1c2…,其中ci=mi+ki,為模2加法。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù)③希爾(Hill)密碼 以變換矩陣為密鑰,將n個(gè)明文字母通過線形變換轉(zhuǎn)換為n個(gè)密文字母。解密時(shí)只需作以次逆變換即可。[例(密碼分析)]:
明文:Friday,編碼為5,17,8,3,0,24密文:pacfku,編碼為15,16,2,5,10,20已知明文分組長度為2,密鑰為2階可逆方陣,求密鑰K。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù)設(shè)k=k11k12k21k22M=517C=151683250241020有C=M·k11k12mod26k21k22解得K=71983計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2對(duì)稱密碼技術(shù)2.換位密碼術(shù) 置換密碼是采用移位法進(jìn)行加密的。它把明文中的字母重新排列,本身不變,但位置變了。如:把明文中的字母的順序倒過來寫,然后以固定長度的字母組發(fā)送或記錄。 明文:computersystems 密文:smetsysretupmoc (l)列換位法將明文字符分割成為五個(gè)一列的分組并按一組后面跟著另一組的形式排好。如明文是: WHATYOUCANLEARNFROMTHISBOOK分組排列為:計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù) 密文則以下面的形式讀出: WOFHOHURIKACOSXTAMBXYNTOX 這里的密鑰是數(shù)字5。WHATYOUCANFROMTHISBOOKXXX計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù)(2)矩陣換位法這種加密是把明文中的字母按給定的順序安排在一個(gè)矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。如將明文ENGINEERING按行排在3*4矩陣中,如下所示:1234ENGINEERING給定一個(gè)置換:計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù)
現(xiàn)在根據(jù)給定的置換,按第2列,第4列,第1列,第3列的次序排列,就得得到密文: NIEGERNENIG 在這個(gè)加密方案中,密鑰就是矩陣的行數(shù)m和列數(shù)n,即m*n=3*4,以及給定的置換矩陣。1234GEINENREGIN計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.2古典加密技術(shù) 其解密過程是將密文根據(jù)3*4矩陣,按行、列的順序?qū)懗?,再根?jù)給定置換產(chǎn)生新的矩陣,恢復(fù)明文為: ENGINEERING1234ENGINEERING1234GEINENREGIN計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 對(duì)加密算法要求要達(dá)到以下幾點(diǎn):(1)必須提供高度的安全性;(2)具有相當(dāng)高的復(fù)雜性,使得破譯的開銷超過可能獲得的利益,同時(shí)又便于理解和掌握;(3)安全性應(yīng)不依賴于算法的保密,其加密的安全性僅以加密密鑰的保密為基礎(chǔ);(4)必須適用于不同的用戶和不同的場(chǎng)合;(5)實(shí)現(xiàn)算法的電子器件必須很經(jīng)濟(jì)、運(yùn)行有效;(6)必須能夠驗(yàn)證。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 1.對(duì)稱加密技術(shù)(1)DES 數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,DES)是美國國家標(biāo)準(zhǔn)局開始研究除國防部以外的其它部門的計(jì)算機(jī)系統(tǒng)的現(xiàn)代加密技術(shù)標(biāo)準(zhǔn)。
DES是一個(gè)分組加密算法,它以64位為分組對(duì)現(xiàn)代加密技術(shù)。64位一組的明文從算法的一端輸入,64位的密文從另一端輸出。DES是一個(gè)對(duì)稱算法:加密和解密用的是同一算法。密鑰的長度為56位。(密鑰通常表示為64位的數(shù),但每個(gè)第8位都用作奇偶校驗(yàn),可以忽略。)密鑰可以是任意的56位的數(shù),且可在任意的時(shí)候改變。其中極少量的數(shù)被認(rèn)為是弱密鑰,但能容易地避開它們。所有的保密性依賴于密鑰。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù)
DES有16輪,這意味著要在明文分組上16次實(shí)施相同的組合技術(shù)。 1.加密過程 DES使用56位密鑰對(duì)64位數(shù)據(jù)塊進(jìn)行加密,需要進(jìn)行16輪編碼。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 在每輪編碼時(shí),一個(gè)48位的“每輪”密鑰值由56位的完整密鑰得出來。在每輪編碼過程中,64位數(shù)據(jù)和每輪密鑰值被輸入到一個(gè)稱為“S”的盒中,由一個(gè)壓碼函數(shù)對(duì)數(shù)位進(jìn)行編碼。另外,在每輪編碼開始、過后以及每輪之間,64位數(shù)碼被以一種特別的方式置換(數(shù)位順序被打亂)。在每一步處理中都要從56位的主密鑰中得出一個(gè)唯一的輪次密鑰。最后,輸入的64位原始數(shù)據(jù)被轉(zhuǎn)換成64位看起來被完全打亂了的輸出數(shù)據(jù),但可以用解密算法(實(shí)際上是加密過程的逆過程)將其轉(zhuǎn)換成輸入時(shí)的狀態(tài)。當(dāng)然,這個(gè)解密過程要使用加密數(shù)據(jù)時(shí)所使用的同樣的密鑰。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù)
由于每輪之前、之間和之后的變換,DES用軟件執(zhí)行起來比硬件慢得多,用軟件執(zhí)行一輪變換時(shí),必須做一個(gè)64次的循環(huán),每次將64位數(shù)的一位放到正確的位置。使用硬件進(jìn)行變換時(shí),只需用64個(gè)輸入“管腳”到64個(gè)輸出“管腳”的模塊,輸入“管腳”和輸出“管腳”之間按定義的變換進(jìn)行連接。這樣,結(jié)果就可以直接從輸出“管腳”得到。 2.算法概要 DES對(duì)64位的明文分組進(jìn)行操作。通過一個(gè)初始置換,將明文分組分成左半部分和右半部分,各32位長。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 然后進(jìn)行16輪完全相同的運(yùn)算,這些運(yùn)算被稱為函數(shù)f,在運(yùn)算過程中數(shù)據(jù)與密鑰結(jié)合。經(jīng)過16輪后,左、右半部分合在一起,經(jīng)過一個(gè)末置換(初始置換的逆置換),這樣該算法就完成了。 在每一輪中,密鑰位移位,然后再從密鑰的56位中選出48位。通過一個(gè)擴(kuò)展置換將數(shù)據(jù)的右半部分?jǐn)U展成48位,并通過一個(gè)異或操作與48位密鑰結(jié)合,通過8個(gè)S盒將這48位替代成新的32位數(shù)據(jù),再將其置換一次。這四步運(yùn)算構(gòu)成了函數(shù)f。然后,通過另一個(gè)異或運(yùn)算,函數(shù)f的輸出與左半部分結(jié)合,其結(jié)果即成為新的右半部分,原來的右半部分成為新的左半部分。將該操作重復(fù)16次,便實(shí)現(xiàn)了DES的16輪運(yùn)算。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)一輪DES計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 假設(shè)Bi是第i次迭代的結(jié)果,Li和Ri是Bi的左半部分和右半部分,Ki是第i輪的48位密鑰,且f是實(shí)現(xiàn)代替、置換及密鑰異或等運(yùn)算的函數(shù),那么每一輪就是: Li=Ri-1
Ri=Li-1⊕f(Ri-1,Ki)計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 3.初始置換 初始置換在第一輪運(yùn)算之前執(zhí)行,對(duì)輸入分組實(shí)施如下表所示的變換。此表應(yīng)從左向右、從上向下讀。例如,初始置換把明文的第58位換到第1位的位置,把第50位換到第2位的位置,把第42位換到第3位的位置,等等。58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 4.密鑰置換 一開始,由于不考慮每個(gè)字節(jié)的第8位,DES的密鑰由64位減至56位,如下表所示。每個(gè)字節(jié)第8位可作為奇偶校驗(yàn)位以確保密鑰不發(fā)生錯(cuò)誤。在DES的每一輪中,從56位密鑰產(chǎn)生出不同的48位子密鑰(SubKey),這些子密鑰Ki由下面的方式確定。57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 首先,56位密鑰被分成兩部分,每部分28位。然后,根據(jù)輪數(shù),這兩部分分別循環(huán)左移l位或2位。下表給出了每輪移動(dòng)的位數(shù)。輪12345678910111213141516位數(shù)1122222212222221計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 移動(dòng)后,就從56位中選出48位。因?yàn)檫@個(gè)運(yùn)算不僅置換了每位的順序,同時(shí)也選擇子密鑰,因而被稱作壓縮置換。這個(gè)運(yùn)算提供了一組48位的集。下表定義了壓縮置換(也稱為置換選擇)。例如,處在第33位位置的那一位在輸出時(shí)移到了第35位的位置,而處在第18位位置的那一位被略去了。1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 因?yàn)橛幸苿?dòng)運(yùn)算,在每一個(gè)子密鑰中使用了不同的密鑰子集的位。雖然不是所有的位在子密鑰中使用的次數(shù)均相同,但在16個(gè)子密鑰中,每一位大約使用了其中14個(gè)子密鑰。 5.?dāng)U展置換 這個(gè)運(yùn)算將數(shù)據(jù)的右半部分Ri從32位擴(kuò)展到了48位。由于這個(gè)運(yùn)算改變了位的次序,重復(fù)了某些位,故被稱為擴(kuò)展置換。 這個(gè)操作有兩個(gè)方面的目的:它產(chǎn)生了與密鑰同長度的數(shù)據(jù)以進(jìn)行異或運(yùn)算,它提供了更長的結(jié)果,使得在替代運(yùn)算時(shí)能進(jìn)行壓縮。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù)
下圖顯示了擴(kuò)展置換,有時(shí)它也叫做E盒。對(duì)每個(gè)4位輸入分組,第1和第4位分別表示輸出分組中的兩位,而第2和第3位分別表示輸出分組中的一位。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 下表給出了哪一輸出位對(duì)應(yīng)于哪一輸入位。例如,處于輸入分組中第3位的位置的位移到了輸出分組中第4位的位置,而輸入分組中第21位的位置的位移到了輸出分組中第30和第32位的位置。 盡管輸出分組大于輸入分組,但每一個(gè)輸入分組產(chǎn)生唯一的輸出分組。3212345456789891011121312131415161716171819202120212223242524252627282928293031321計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 6.S盒代替 壓縮后的密鑰與擴(kuò)展分組異或以后,將48位的結(jié)果送入,進(jìn)行代替運(yùn)算。替代由8個(gè)代替盒,或S盒完成。每一個(gè)S盒都有6位輸入,4位輸出,且這8個(gè)S盒是不同的。(DES的這8個(gè)S盒占的存儲(chǔ)空間為256字節(jié)。)48位的輸入被分為8個(gè)6位的分組,每一分組對(duì)應(yīng)一個(gè)S盒代替操作:分組1由S-盒1操作,分組2由S-盒2操作,依次類推。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 每個(gè)S盒是一個(gè)4行、16列的表。盒中的每一項(xiàng)都是一個(gè)4位的數(shù)。S盒的6個(gè)位輸入確定了其對(duì)應(yīng)的輸出在哪一行哪一列。下面列出所有的8個(gè)S盒。
14413121511831061259070157414213110612119538411481362111512973105015128249175113141006131518146113497213120510313471528141201106911501471110413158126932151381013154211671205149計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù)7131430691012851112415138115650347212110149106901217131513145284315061013894511127214100914631551131271142813709346102851412115113649815301112125101471101306987415143115212S盒3:S盒4:計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù)1211015926801334147511101542712956113140113891415528123704101131164321295151011141760813212417101168531513014914112124713150151039864211110137815912563014181271142136150910453S盒5:S盒6:計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù)4112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S盒7:S盒8:1328461511110931450127115138103741256110149271141912142061013153582114741081315129035611計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 輸入位以一種非常特殊的方式確定了S盒中的項(xiàng)。假定將S盒的6位的輸入標(biāo)記為b1、b2、b3、b4、b5、b6。則b1和b6組合構(gòu)成了一個(gè)2位的數(shù),從0到3,它對(duì)應(yīng)著表中的一行。從b2到b5構(gòu)成了一個(gè)4位的數(shù),從0到15,對(duì)應(yīng)著表中的一列。 例如,假設(shè)第6個(gè)S盒的輸入(即異或函數(shù)的第31位到36位)為110011。第1位和最后一位組合形成了11,它對(duì)應(yīng)著第6個(gè)S盒的第三行。中間的4位組合在一起形成了1001,它對(duì)應(yīng)著同一個(gè)S盒的第9列。S盒6的第三行第9列處的數(shù)是14(記住,行、列的記數(shù)均從0開始而不是從1開始),則值1110就代替了110011。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 2.P盒置換 S盒代替運(yùn)算后的32位輸出依照P盒進(jìn)行置換。該置換把每輸入位映射到輸出位,任意一位不能被映射兩次,也不能被略去,這個(gè)置換叫做直接置換。下表給出了每位移到的位置。例如,第21位移到了第4位處,同時(shí)第4位移到了第31位處。最后,將P盒置換的結(jié)果與最初的64位分組的左半部分異或,然后左、右半部分交換,接著開始另一輪。1672021291228171152326518311028241432273919133062211425計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 8.末置換 末置換是初始置換的逆過程,下表列出了該置換。應(yīng)注意DES在最后一輪后,左半部分和右半部分并未交換,而是將R16與L16并在一起形成一個(gè)分組作為末置換的輸入。40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 9.DES解密 在經(jīng)過所有的代替、置換、異或和循環(huán)移動(dòng)之后,獲得了這樣一個(gè)非常有用的性質(zhì):加密和解密可使用相同的算法。 DES使得用相同的函數(shù)來加密或解密每個(gè)分組成為可能,二者的唯一不同之處是密鑰的次序相反。這就是說,如果各輪的加密密鑰分別是K1,K2,K3…,K16那么解密密鑰就是K16,K15,K14……,K1。為各輪產(chǎn)生密鑰的算法也是循環(huán)的。密鑰向右移動(dòng),每次移動(dòng)個(gè)數(shù)為0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 10.三重DES DES的唯一密碼學(xué)缺點(diǎn)就是密鑰長度較短。解決密鑰長度的問題的辦法之一是采用三重DES。三重DES方法需要執(zhí)行三次常規(guī)的DES加密步驟,但最常用的三重DES算法中僅僅用兩個(gè)56位DES密鑰。設(shè)這兩個(gè)密鑰為K1和K2,其算法的步驟是:(1)用密鑰K1進(jìn)行DES加密;(2)用步驟(1)的結(jié)果使用密鑰K2進(jìn)行DES解密;(3)用步驟(2)的結(jié)果使用密鑰K1進(jìn)行DES加密。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù)
這個(gè)過程稱為EDE,因?yàn)樗怯杉用堋饷堋用埽‥ncryptDecryptEncrypt)步驟組成的。在EDE中,中間步驟是解密,所以,可以使K1=K2來用三重DES方法執(zhí)行常規(guī)的DES加密。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 2.3.2國際現(xiàn)代加密技術(shù)算法 國際現(xiàn)代加密技術(shù)算法(InternationalDataEncryptionAlgorithm)IDEA與DES一樣,也是一種使用一個(gè)密鑰對(duì)64位數(shù)據(jù)塊進(jìn)行加密的常規(guī)共享密鑰加密算法。同樣的密鑰用于將64位的密文數(shù)據(jù)塊恢復(fù)成原始的64位明文數(shù)據(jù)塊。IDEA使用128位(16字節(jié))密鑰進(jìn)行操作,這么長的密鑰被認(rèn)為即使在多年后仍是有效的。 IDEA算法通過一系列的加密輪次進(jìn)行操作,每輪都使用從完整的加密密鑰中生成的一個(gè)子密鑰,使用一個(gè)稱為“壓碼”的函數(shù)在每輪中對(duì)數(shù)據(jù)位進(jìn)行編碼。與DES不同的是IDEA不使用置換。
計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 2.3.3共享密鑰技術(shù)的應(yīng)用 1.整條消息加密 使用共享密鑰技術(shù)對(duì)整條消息進(jìn)行加密,一個(gè)顯然的辦法是將消息分成64位一塊的數(shù)據(jù)塊,然后用同樣的密鑰對(duì)每一個(gè)數(shù)據(jù)塊加密。但這種做法的最大弊端是會(huì)使消息的內(nèi)容泄漏。因?yàn)?,同樣?4位輸入數(shù)據(jù)塊總是與同樣的64位密文塊相對(duì)應(yīng),雖然,對(duì)于偷竊者來說可能無法破譯密文,但人們明顯可以發(fā)現(xiàn)某些特定的塊的重復(fù),使消息泄漏。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 2.Kerberos Kerberos是由麻省理工學(xué)院開發(fā)的網(wǎng)絡(luò)訪問控制系統(tǒng),它是一種完全依賴于密鑰加密的系統(tǒng)范例,其主要的功能用于解決保密密鑰管理與分發(fā)的問題。
Kerberos建立在一個(gè)安全的、可信任的密鑰分發(fā)中心(KeyDistributionCenter,KDC)的概念上。與每個(gè)用戶都要知道幾百個(gè)密碼不同,使用KDC時(shí)用戶只需知道一個(gè)保密密鑰——用于與KDC通信的密鑰。
Kerberos的工作過程如下: 假設(shè)用戶A想要與用戶B秘密通信。首先,由A呼叫KDC,請(qǐng)求與B聯(lián)系。KDC為A與B之間的對(duì)話選擇一條隨機(jī)的對(duì)話密鑰,設(shè)為XXXXX。計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)2.3現(xiàn)代加密技術(shù) 同時(shí)生成一個(gè)“標(biāo)簽”,由KDC將擁有這“標(biāo)簽”的人A告訴B,并請(qǐng)B使用對(duì)話密鑰XXXXX與A交談。與此同時(shí),KDC發(fā)給A的消息則用只有A與KDC知道的A的共享密鑰加密,告訴A用對(duì)話密鑰XXXXX與B交談。此時(shí),A對(duì)KDC的回答進(jìn)行解密,恢復(fù)對(duì)話密鑰XXXXX和給B的標(biāo)簽。在這過程中,A無法修改標(biāo)簽的頭部與細(xì)節(jié),因?yàn)樵摌?biāo)簽用只有B和KDC知道共享密鑰加密了。 之后,A呼叫B,告訴對(duì)方標(biāo)簽是由KDC給的。接著,B對(duì)標(biāo)簽的內(nèi)容進(jìn)行解密,知道只有KDC和他自己能用知道的口令對(duì)該消息進(jìn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 61846:2025 EN-FR Ultrasonics – Therapeutic focused short pressure pulse sources – Characteristics of fields
- 辦公家具購買合同書
- 消防器材維修合同
- 養(yǎng)殖場(chǎng)轉(zhuǎn)讓協(xié)議
- 汽車后市場(chǎng)汽車配件供應(yīng)鏈管理方案
- 有機(jī)肥購買合同書
- 婚慶策劃服務(wù)合同及免責(zé)條款
- 西北農(nóng)業(yè)大學(xué)合作協(xié)議
- 工會(huì)興趣小組活動(dòng)方案
- 調(diào)研報(bào)告委托協(xié)議
- 了解綠化廢棄物的分類和處理方法
- 節(jié)后復(fù)工安全教育培訓(xùn)內(nèi)容【5篇】
- EPC項(xiàng)目投標(biāo)人承包人工程經(jīng)濟(jì)的合理性分析、評(píng)價(jià)
- 項(xiàng)目投標(biāo)BIM方案(投標(biāo)專用)
- 2024年中考數(shù)學(xué)專題訓(xùn)練 專題10 截長補(bǔ)短模型綜合應(yīng)用(知識(shí)解讀)
- 專利分析評(píng)議報(bào)告
- 財(cái)務(wù)合規(guī)管理培訓(xùn)課件
- 建設(shè)用地報(bào)批服務(wù)投標(biāo)方案(技術(shù)方案)
- 史賽克關(guān)節(jié)鏡系統(tǒng)
- 大豆玉米帶狀復(fù)合種植技術(shù)
- 2024屆高考語文一輪復(fù)習(xí):現(xiàn)代詩歌 專練(含答案)
評(píng)論
0/150
提交評(píng)論