版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)第7章數(shù)據(jù)加密
本章主要內(nèi)容: 1.?dāng)?shù)據(jù)加密概述 2.傳統(tǒng)密碼技術(shù) 3.?dāng)?shù)據(jù)加密 4.公用密鑰/私有密鑰密碼學(xué) 5.安全傳輸方法 6.驗(yàn)證 7.加密軟件PGP*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述
7.1.1密碼學(xué)的發(fā)展 1.加密的歷史 作為保障數(shù)據(jù)安全的一種方式,數(shù)據(jù)加密起源于公元前2000年。埃及人是最先使用特別的象形文字作為信息編碼的人。隨著時間推移,巴比倫、美索不達(dá)米亞和希臘都開始使用一些方法來保護(hù)他們的書面信息。 2.密碼學(xué)的發(fā)展 密碼學(xué)的發(fā)展可以分為兩個階段。第一個階段是計(jì)算機(jī)出現(xiàn)之前的四千年(早在四千年前,古埃及就開始使用密碼傳遞消息),這是傳統(tǒng)密碼學(xué)階段,基本上靠人工對消息加密、傳輸和防破譯。第二階段是計(jì)算機(jī)密碼學(xué)階段,包括:*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 ①傳統(tǒng)方法的計(jì)算機(jī)密碼學(xué)階段。解密是加密的簡單逆過程,兩者所用的密鑰是可以簡單地互相推導(dǎo)的,因此無論加密密鑰還是解密密鑰都必須嚴(yán)格保密。這種方案用于集中式系統(tǒng)是行之有效的。 ②包括兩個方向:一個方向是公用密鑰密碼(RSA),另一個方向是傳統(tǒng)方法的計(jì)算機(jī)密碼體制——數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)。
3.什么是密碼學(xué)? 密碼學(xué)包括密碼編碼學(xué)和密碼分析學(xué)。密碼體制的設(shè)計(jì)是密碼編碼學(xué)的主要內(nèi)容,密碼體制的破譯是密碼分析學(xué)的主要內(nèi)容。密碼編碼技術(shù)和密碼分析技術(shù)是相互依存、相互支持、密不可分的兩個方面。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 7.1.2數(shù)據(jù)加密 數(shù)據(jù)加密的基本過程包括對稱為明文的可讀信息進(jìn)行處理,形成稱為密文或密碼的代碼形式。該過程的逆過程稱為解密,即將該編碼信息轉(zhuǎn)化為其原來的形式的過程。 1.為什么需要進(jìn)行加密 因特網(wǎng)是危險的,而且這種危險是TCP/IP協(xié)議所固有的,一些基于TCP/IP的服務(wù)也是極不安全的,另一方面,因特網(wǎng)把全世界連在了一起,走向因特網(wǎng)就意味著走向了世界。為了使因特網(wǎng)變得安全和充分利用其商業(yè)價值,人們選擇了數(shù)據(jù)加密和基于加密技術(shù)的身份認(rèn)證。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 2.加密密鑰 加密算法通常是公開的,現(xiàn)在只有少數(shù)幾種加密算法,如DES和IDEA等。一般把受保護(hù)的原始信息稱為明文,編碼后的信息稱為密文。盡管大家都知道使用加密方法,但對密文進(jìn)行解碼必須要有正確的密鑰,而密鑰是保密的。(1)保密密鑰和公用/私有密鑰 在保密密鑰中,加密者和解密者使用相同的密鑰,也被稱為對稱密鑰加密。這種加密算法的問題是,用戶必須讓接收人知道自己所使用的密鑰,這個密鑰需要雙方共同保密,任何一方的失誤都會導(dǎo)致機(jī)密的泄露,而且在告訴收件人密鑰過程中,還需要防止任何人發(fā)現(xiàn)或偷聽密鑰,這個過程被稱為密鑰發(fā)布。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 公用/私有密鑰,與單獨(dú)的密鑰不同,它使用相互關(guān)聯(lián)的一對密鑰,一個是公用密鑰,任何人都可以知道,另一個是私有密鑰,只有擁有該對密鑰的人知道。如果有人發(fā)信給這個人,他就用收信人的公用密鑰對信件進(jìn)行過加密,當(dāng)收件人收到信后,他就可以用他的私有密鑰進(jìn)行解密,而且只有他持有的私有密鑰可以解密。這種加密方式的好處顯而易見。密鑰只有一個人持有,也就更加容易進(jìn)行保密,因?yàn)椴恍柙诰W(wǎng)絡(luò)上傳送私人密鑰,也就不用擔(dān)心別人在認(rèn)證會話初期截獲密鑰。 ①公用密鑰和私有密鑰有兩個相互關(guān)聯(lián)的密鑰; ②公用密鑰加密的文件只有私有密鑰能解開; ③私有密鑰加密的文件只有公用密鑰能解開。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述(2)摘要函數(shù) 摘要是一種防止信息被改動的方法,其中用到的函數(shù)叫摘要函數(shù)。這些函數(shù)的輸入可以是任意大小的消息,而輸出是一個固定長度的摘要。摘要有這樣一個性質(zhì),如果改變了輸入消息中的任何東西,甚至只有一位,輸出的摘要將會發(fā)生不可預(yù)測的改變,也就是說輸入消息的每一位對輸出摘要都有影響??傊惴◤慕o定的文本塊中產(chǎn)生一個數(shù)字簽名(Fingerprint或MessageDigest),數(shù)字簽名可以用于防止有人從一個簽名上獲取文本信息或改變文本信息內(nèi)容。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 3.密鑰的管理和分發(fā)(1)使用同樣密鑰的時間范圍 一般強(qiáng)調(diào)僅將一個對話密鑰用于一條信息或一次對話中,或者建立一種按時更換密鑰的機(jī)制以減小密鑰暴露的可能性。(2)保密密鑰的分發(fā) 建立了一個安全的、可信任的密鑰分發(fā)中心(KeyDistributionCenter,KDC),每個用戶只要知道一個和KDC進(jìn)行通信的密鑰就可以了,而不需要知道成百上千個不同的密鑰。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 7.1.3基本概念 1.消息和加密 消息被稱為明文。用某種方法偽裝消息以隱藏它的內(nèi)容的過程稱為加密(Encryption),被加密的消息稱為密文,而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密(Decryption)。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述
使消息保密的技術(shù)和科學(xué)叫做密碼編碼學(xué)(Cryptography),從事此行的叫密碼編碼者(Cryptographer),密碼分析者是從事密碼分析的專業(yè)人員,密碼分析學(xué)(Cryptanalysis)就是破譯密文的科學(xué)和技術(shù),即揭穿偽裝。密碼學(xué)(Cryptology)作為數(shù)學(xué)的一個分支,包括密碼編碼學(xué)和密碼分析學(xué)兩部分,精于此道的人稱為密碼學(xué)家(Cryptologist),現(xiàn)代的密碼學(xué)家通常也是理論數(shù)學(xué)家。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 加密函數(shù)E作用于明文M得到密文C,可用數(shù)學(xué)公式表示: E(M)=C
相反地,解密函數(shù)D作用于C產(chǎn)生M: D(C)=M
先加密后再解密,原始的文明將恢復(fù),故下面的等式必須成立: D(E(M))=M*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 2.鑒別、完整性和抗抵賴 除了提供機(jī)密性外,密碼學(xué)通常還有其它的作用。(1)鑒別。消息的接收者應(yīng)該能夠確認(rèn)消息的來源,入侵者不可能偽裝成他人。(2)完整性。消息的接收者應(yīng)該能夠驗(yàn)證在傳送過程中消息沒有被修改,入侵者不可能用假消息代替合法消息。(3)抗抵賴。發(fā)送者事后不可能虛假地否認(rèn)他發(fā)送的消息。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 3.算法和密鑰 密碼算法(Algorithm)也叫密碼(Cipher),是用于加密和解密的數(shù)學(xué)函數(shù)。通常情況下,有兩個相關(guān)的函數(shù),一個用作加密,另一個用作解密。 密鑰用K表示。K可以是很多數(shù)值里的任意值。密鑰K的可能值的范圍叫做密鑰空間。加密和解密運(yùn)算都使用這個密鑰(即運(yùn)算都依賴于密鑰,并用K作為下標(biāo)表示),這樣,加/解密函數(shù)現(xiàn)在變成: EK(M)=CDK(C)=M
這些函數(shù)具有的特性:DK(EK(M))=M*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述單鑰密加解密雙鑰加密解密
*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 基于密鑰的算法通常有兩類:對稱算法和公用密鑰算法。 4.對稱算法 對稱算法有時又叫傳統(tǒng)密碼算法,就是加密密鑰能夠從解密密鑰中推導(dǎo)出來,反過來也成立。 對稱算法可分為兩類。一次只對明文中的單個位(有時對字節(jié))運(yùn)算的算法稱為序列算法或序列密碼。另一類算法是對明文的一組位進(jìn)行運(yùn)算,這些位組稱為分組,相應(yīng)的算法稱為分組算法或分組密碼。 5.公用密鑰算法 公用密鑰算法(Public-KeyAalgorithm)也叫非對稱算法,它是這樣設(shè)計(jì)的:用作加密的密鑰不同于用作解密的密鑰,而且解密密鑰不能根據(jù)加密密鑰計(jì)算出來。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 6.密碼分析 密碼分析學(xué)是在不知道密鑰的情況下,恢復(fù)出明文的科學(xué)。成功的密碼分析能恢復(fù)出消息的明文或密鑰。密碼分析也可以發(fā)現(xiàn)密碼體制的弱點(diǎn),最終得到上述結(jié)果。密鑰通過非密碼分析方式的丟失叫做泄露。常用的密碼分析攻擊有四類。(1)唯密文攻擊(CipherText-OnlyAttack)。密碼分析者有一些消息的密文,這些消息都用同一加密算法加密。密碼分析者的任務(wù)是恢復(fù)盡可能多的明文,或者最好是能推算出加密消息的密鑰來,以便可采用相同的密鑰解出其他被加密的消息。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述(2)已知明文攻擊(Known-PlaintextAttack)。密碼分析者不僅可得到一些消息的密文,而且也知道這些消息的明文。分析者的任務(wù)就是用加密信息推出用來加密的密鑰或推導(dǎo)出一個算法,此算法可以對用同一密鑰加密的任何新的消息進(jìn)行解密。(3)選擇明文攻擊(Chosen-PlaintextAttack)。分析者不僅可得到一些消息的密文和相應(yīng)的明文,而且他們也可選擇被加密的明文。這比已知明文攻擊更有效。因?yàn)槊艽a分析者能選擇特定的明文塊去加密,那些塊可能產(chǎn)生更多關(guān)于密鑰的信息,分析者的任務(wù)是推出用來加密消息的密鑰或?qū)С鲆粋€算法,此算法可以對用同一密鑰加密的任何新的消息進(jìn)行解密。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述(4)自適應(yīng)選擇明文攻擊(Adaptive-Chosen-PlaintextAttack)。這是選擇明文攻擊的特殊情況。密碼分析者不僅能選擇被加密的明文,而且也能基于以前加密的結(jié)果修正這個選擇。在選擇明文攻擊中,密碼分析者還可以選擇一大塊被加密的明文,而在自適應(yīng)選擇密文攻擊中,可選取較小的明文塊,然后再基于第一塊的結(jié)果選擇另一明文塊,依此類推。(5)選擇密文攻擊(Chosen-CipherTextAttack)。密碼分析者能選擇不同的被加密的密文,并可得到對應(yīng)的解密的明文,例如密碼分析者存取一個防竄改的自動解密盒,密碼分析者的任務(wù)是推出密鑰。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.1數(shù)據(jù)加密概述 (6)選擇密鑰攻擊(Chosen-KeyAttack)。這種攻擊并不表示密碼分析者能夠選擇密鑰,它只表示密碼分析者具有不同密鑰之間的關(guān)系的有關(guān)知識。 (7)軟磨硬泡攻擊(Rubber-HoseCryptanalysis)。這種攻擊是對密碼分析者威脅、勒索,或者折磨某人,直到他給出密鑰為止。行賄有時稱為購買密鑰攻擊(purchase-keyattack)。這些是非常有效的攻擊,并且經(jīng)常是破譯算法的最好途徑。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ) 7.算法的安全性 不同的密碼算法具有不同的安全等級。如果破譯算法的代價大于加密數(shù)據(jù)的價值,破譯算法所需的時間比加密數(shù)據(jù)保密的時間更長,用單密鑰加密的數(shù)據(jù)量比破譯算法需要的數(shù)據(jù)量少得多,那么這種算法可能是安全的。破譯算法可分為不同的類別,安全性的遞減順序?yàn)椋喝科谱g。密碼分析者找出密鑰K,這樣DK(C)=P。全盤推導(dǎo)。密碼分析者找到一個代替算法在不知道密鑰K的情況下,等價于DK(C)=P。局部推導(dǎo)。密碼分析者從截獲的密文中找出明文。信息推導(dǎo)。密碼分析者獲得一些有關(guān)密鑰或明文的信息。這些信息可能是密鑰的幾個位、有關(guān)明文格式的信息等。7.1數(shù)據(jù)加密概述*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù)7.2.1數(shù)據(jù)表示方法
數(shù)據(jù)的表示有多種形式,使用最多的是文字,還有圖形、聲音、圖像等。這些信息在計(jì)算機(jī)系統(tǒng)中都是以某種編碼的方式來存儲的。 傳統(tǒng)加密方法的主要應(yīng)用對象是對文字信息進(jìn)行加密解密。
7.2.2替代密碼 替代密碼(SubstitutionCipher)是使用替代法進(jìn)行加密所產(chǎn)生的密碼。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 替代密碼就是明文中每一個字符被替換成密文中的另外一個字符。接收者對密文進(jìn)行逆替換就恢復(fù)出明文來。替代法加密是用另一個字母表中的字母替代明文中的字母。在替代法加密體制中,使用了密鑰字母表。它可以由明文字母表構(gòu)成,也可以由多個字母表構(gòu)成。如果是由一個字母表構(gòu)成的替代密碼,稱為單表密碼。其替代過程是在明文和密碼字符之間進(jìn)行一對一的映射。如果是由多個字母表構(gòu)成的替代密碼,稱為多表密碼。 在經(jīng)典密碼學(xué)中,有四種類型的代替密碼。 簡單代替密碼、多名碼代替密碼、多字母代替密碼和多表代替密碼。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 1.單表替代密碼
單表替代密碼的一種典型方法是凱撒(Caesar)密碼,又叫循環(huán)移位密碼。它的加密方法就是把明文中所有字母都用它右邊的第k個字母替代,并認(rèn)為Z后邊又是A。這種映射關(guān)系表示為如下函數(shù): F(a)=(a+k)modn
其中:a表示明文字母;n為字符集中字母個數(shù);k為密鑰。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù)映射表中,明文字母中在字母表中的相應(yīng)位置數(shù)為C,(如A=1,B=2,…)形式如下:設(shè)k=3;對于明文P=COMPUTESYSTEMS則f(C)=(3+3)mod26=6=Ff(O)=(15+3)mod26=18=Rf(M)=(13+3)mod26=16=P┆f(S)=(19+3)mod26=22=V
所以,密文C=Ek(P)=FRPSXRWHUVBVWHPV。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 除了凱撒密碼,在其他的單表替代法中,有的字母表被打亂。比如,在字母表中首先排列出密鑰中出現(xiàn)的字母,然后在密鑰后面填上剩余的字母。如密鑰是HOW,那么新的字母表就是:
HOWABCDEFGIJKLMNPQRSTUVXYZ
這個密鑰很短,多數(shù)明文字母離開其密文等價字母,僅有一個或幾個位置。若用長的密鑰字,則距離變大,因而便難于判斷是何文字密鑰。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 2.多表替代密碼 周期替代密碼是一種常用的多表替代密碼,又稱為維吉尼亞(Vigenere)密碼。這種替代法是循環(huán)的使用有限個字母來實(shí)現(xiàn)替代的一種方法。若明文信息mlm2m3…mn,采用n個字母(n個字母為B1,B2,…Bn)替代法,那么,ml將根據(jù)字母Bn的特征來替代,mn+l又將根據(jù)B1的特征來替代,mn+2又將根據(jù)B2的特征來替代……,如此循環(huán)??梢夿1,B2,…Bn就是加密的密鑰。 這種加密的加密表是以字母表移位為基礎(chǔ)把26個英文字母進(jìn)行循環(huán)移位,排列在一起,形成26×26的方陣。該方陣被稱為維吉尼亞表。采用的算法為 f(a)=(a+Bi)modn(i=(1,2,…,n))*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 例如:以YOUR為密鑰,加密明碼文HOWAREYOU。 P =HOWAREYOU K =YOURYOURY
Ek(P) =FCQRPSSFS
其加密過程就是以明文字母選擇列,以密鑰字母選擇行,兩者的交點(diǎn)就是加密生成的密碼文字母。解密時,以密碼字母選擇行,從中找到密文字母,密文字母所在列的列名即為明文字母。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 7.2.3換位密碼 換位密碼是采用移位法進(jìn)行加密的。它把明文中的字母重新排列,本身不變,但位置變了。如:把明文中的字母的順序倒過來寫,然后以固定長度的字母組發(fā)送或記錄。 明文:computersystems
密文:smetsysretupmoc (l)列換位法將明文字符分割成為五個一列的分組并按一組后面跟著另一組的形式排好。如明文是: WHATYOUCANLEARNFROMTHISBOOK
分組排列為:*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 密文則以下面的形式讀出: WOFHOHURIKACOSXTAMBXYNTOX 這里的密鑰是數(shù)字5。WHATYOUCANFROMTHISBOOKXXX*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù)(2)矩陣換位法這種加密是把明文中的字母按給定的順序安排在一個矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。如將明文ENGINEERING按行排在3*4矩陣中,如下所示:1234ENGINEERING給定一個置換:*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù)
現(xiàn)在根據(jù)給定的置換,按第2列,第4列,第1列,第3列的次序排列,就得得到密文: NIEGERNENIG
在這個加密方案中,密鑰就是矩陣的行數(shù)m和列數(shù)n,即m*n=3*4,以及給定的置換矩陣。也就是: k=(m*n,f)1234NIEGERNENIG*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 其解密過程是將密文根據(jù)3*4矩陣,按行、列的順序?qū)懗觯俑鶕?jù)給定置換產(chǎn)生新的矩陣,恢復(fù)明文為: ENGINEERING1234NIEGERNENIG1234ENGINEERING*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 7.2.4簡單異或 異或(XOR)在C語言中是“^”操作,或者用數(shù)學(xué)表達(dá)式⊕表示。它是對位的標(biāo)準(zhǔn)操作,有以下一些運(yùn)算: 0⊕0=0 0⊕1=1 1⊕0=1 1⊕1=0 也要注意: a⊕a=0a⊕b⊕b=a*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)/*Usage:crypto_keyinput_fileoutput_file*/#include"stdio.h"voidmain(intargc,char*argv[]){FILE*fi,*fo;char*cp;intc;if((cp=argv[1])&&*cp!='\0'){if((fi=fopen(argv[2],"rb"))!=NULL){if((fo=fopen(argv[3],"wb"))!=NULL){while((c=getc(fi))!=EOF){if(!*cp)cp=argv[1];c^=*(cp++);putc(c,fo);}fclose(fo);}fclose(fi);}}}*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù) 7.2.5一次密碼本 有一種理想的加密方案,叫做一次密碼本(One-TimePad)。
一次密碼本是一個大的不重復(fù)的真隨機(jī)密鑰字母集,這個密鑰字母集被寫在幾張紙上,并被粘成一個密碼本。它最初的形式是用于電傳打字機(jī)。發(fā)送者用密碼本中的每一密鑰字母準(zhǔn)確地加密一個明文字符。加密是明文字符和一次密碼本密鑰字符的模26加法。 每個密鑰僅對一個消息使用一次。發(fā)送者對所發(fā)送的消息加密,然后銷毀密碼本中用過的一頁或磁帶部分。接收者有一個同樣的密碼本,并依次使用密碼本上的每個密鑰去解密密文的每個字符。接收者在解密消息后銷毀密碼本中用過的一頁或磁帶部分。新的消息則用密碼本中新的密鑰加密。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.2傳統(tǒng)密碼技術(shù)例如,如果消息是:ONETIMEPAD而取自密碼本的密鑰序列是:TBFRGFARFM那么密文就是:IPKLPSFHGQ因?yàn)镺+Tmode26=IN+Bmode26=PE+Fmode26=K*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 對加密算法要求要達(dá)到以下幾點(diǎn):(1)必須提供高度的安全性;(2)具有相當(dāng)高的復(fù)雜性,使得破譯的開銷超過可能獲得的利益,同時又便于理解和掌握;(3)安全性應(yīng)不依賴于算法的保密,其加密的安全性僅以加密密鑰的保密為基礎(chǔ);(4)必須適用于不同的用戶和不同的場合;(5)實(shí)現(xiàn)算法的電子器件必須很經(jīng)濟(jì)、運(yùn)行有效;(6)必須能夠驗(yàn)證,允許出口。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 7.3.1數(shù)據(jù)加密標(biāo)準(zhǔn) 數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,DES)是美國國家標(biāo)準(zhǔn)局開始研究除國防部以外的其它部門的計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)加密標(biāo)準(zhǔn)。
DES是一個分組加密算法,它以64位為分組對數(shù)據(jù)加密。64位一組的明文從算法的一端輸入,64位的密文從另一端輸出。DES是一個對稱算法:加密和解密用的是同一算法。密鑰的長度為56位。(密鑰通常表示為64位的數(shù),但每個第8位都用作奇偶校驗(yàn),可以忽略。)密鑰可以是任意的56位的數(shù),且可在任意的時候改變。其中極少量的數(shù)被認(rèn)為是弱密鑰,但能容易地避開它們。所有的保密性依賴于密鑰。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密
DES有16輪,這意味著要在明文分組上16次實(shí)施相同的組合技術(shù)。 1.加密過程 DES使用56位密鑰對64位數(shù)據(jù)塊進(jìn)行加密,需要進(jìn)行16輪編碼。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 在每輪編碼時,一個48位的“每輪”密鑰值由56位的完整密鑰得出來。在每輪編碼過程中,64位數(shù)據(jù)和每輪密鑰值被輸入到一個稱為“S”的盒中,由一個壓碼函數(shù)對數(shù)位進(jìn)行編碼。另外,在每輪編碼開始、過后以及每輪之間,64位數(shù)碼被以一種特別的方式置換(數(shù)位順序被打亂)。在每一步處理中都要從56位的主密鑰中得出一個唯一的輪次密鑰。最后,輸入的64位原始數(shù)據(jù)被轉(zhuǎn)換成64位看起來被完全打亂了的輸出數(shù)據(jù),但可以用解密算法(實(shí)際上是加密過程的逆過程)將其轉(zhuǎn)換成輸入時的狀態(tài)。當(dāng)然,這個解密過程要使用加密數(shù)據(jù)時所使用的同樣的密鑰。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密
由于每輪之前、之間和之后的變換,DES用軟件執(zhí)行起來比硬件慢得多,用軟件執(zhí)行一輪變換時,必須做一個64次的循環(huán),每次將64位數(shù)的一位放到正確的位置。使用硬件進(jìn)行變換時,只需用64個輸入“管腳”到64個輸出“管腳”的模塊,輸入“管腳”和輸出“管腳”之間按定義的變換進(jìn)行連接。這樣,結(jié)果就可以直接從輸出“管腳”得到。 2.算法概要 DES對64位的明文分組進(jìn)行操作。通過一個初始置換,將明文分組分成左半部分和右半部分,各32位長。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 然后進(jìn)行16輪完全相同的運(yùn)算,這些運(yùn)算被稱為函數(shù)f,在運(yùn)算過程中數(shù)據(jù)與密鑰結(jié)合。經(jīng)過16輪后,左、右半部分合在一起,經(jīng)過一個末置換(初始置換的逆置換),這樣該算法就完成了。 在每一輪中,密鑰位移位,然后再從密鑰的56位中選出48位。通過一個擴(kuò)展置換將數(shù)據(jù)的右半部分?jǐn)U展成48位,并通過一個異或操作與48位密鑰結(jié)合,通過8個S盒將這48位替代成新的32位數(shù)據(jù),再將其置換一次。這四步運(yùn)算構(gòu)成了函數(shù)f。然后,通過另一個異或運(yùn)算,函數(shù)f的輸出與左半部分結(jié)合,其結(jié)果即成為新的右半部分,原來的右半部分成為新的左半部分。將該操作重復(fù)16次,便實(shí)現(xiàn)了DES的16輪運(yùn)算。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密一輪DES*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密
假設(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ǔ)7.3數(shù)據(jù)加密 3.初始置換 初始置換在第一輪運(yùn)算之前執(zhí)行,對輸入分組實(shí)施如下表所示的變換。此表應(yīng)從左向右、從上向下讀。例如,初始置換把明文的第58位換到第1位的位置,把第50位換到第2位的位置,把第42位換到第3位的位置,等等。58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 4.密鑰置換 一開始,由于不考慮每個字節(jié)的第8位,DES的密鑰由64位減至56位,如下表所示。每個字節(jié)第8位可作為奇偶校驗(yàn)位以確保密鑰不發(fā)生錯誤。在DES的每一輪中,從56位密鑰產(chǎn)生出不同的48位子密鑰(SubKey),這些子密鑰Ki由下面的方式確定。57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 首先,56位密鑰被分成兩部分,每部分28位。然后,根據(jù)輪數(shù),這兩部分分別循環(huán)左移l位或2位。下表給出了每輪移動的位數(shù)。輪12345678910111213141516位數(shù)1122222212222221*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 移動后,就從56位中選出48位。因?yàn)檫@個運(yùn)算不僅置換了每位的順序,同時也選擇子密鑰,因而被稱作壓縮置換。這個運(yùn)算提供了一組48位的集。下表定義了壓縮置換(也稱為置換選擇)。例如,處在第33位位置的那一位在輸出時移到了第35位的位置,而處在第18位位置的那一位被略去了。1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 因?yàn)橛幸苿舆\(yùn)算,在每一個子密鑰中使用了不同的密鑰子集的位。雖然不是所有的位在子密鑰中使用的次數(shù)均相同,但在16個子密鑰中,每一位大約使用了其中14個子密鑰。 5.?dāng)U展置換 這個運(yùn)算將數(shù)據(jù)的右半部分Ri從32位擴(kuò)展到了48位。由于這個運(yùn)算改變了位的次序,重復(fù)了某些位,故被稱為擴(kuò)展置換。 這個操作有兩個方面的目的:它產(chǎn)生了與密鑰同長度的數(shù)據(jù)以進(jìn)行異或運(yùn)算,它提供了更長的結(jié)果,使得在替代運(yùn)算時能進(jìn)行壓縮。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密
下圖顯示了擴(kuò)展置換,有時它也叫做E盒。對每個4位輸入分組,第1和第4位分別表示輸出分組中的兩位,而第2和第3位分別表示輸出分組中的一位。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 下表給出了哪一輸出位對應(yīng)于哪一輸入位。例如,處于輸入分組中第3位的位置的位移到了輸出分組中第4位的位置,而輸入分組中第21位的位置的位移到了輸出分組中第30和第32位的位置。 盡管輸出分組大于輸入分組,但每一個輸入分組產(chǎn)生唯一的輸出分組。3212345456789891011121312131415161716171819202120212223242524252627282928293031321*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 6.S盒代替 壓縮后的密鑰與擴(kuò)展分組異或以后,將48位的結(jié)果送入,進(jìn)行代替運(yùn)算。替代由8個代替盒,或S盒完成。每一個S盒都有6位輸入,4位輸出,且這8個S盒是不同的。(DES的這8個S盒占的存儲空間為256字節(jié)。)48位的輸入被分為8個6位的分組,每一分組對應(yīng)一個S盒代替操作:分組1由S-盒1操作,分組2由S-盒2操作,依次類推。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 每個S盒是一個4行、16列的表。盒中的每一項(xiàng)都是一個4位的數(shù)。S盒的6個位輸入確定了其對應(yīng)的輸出在哪一行哪一列。下面列出所有的8個S盒。
14413121511831061259070157414213110612119538411481362111512973105015128249175113141006131518146113497213120510313471528141201106911501471110413158126932151381013154211671205149*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密713143069101285111241513811565034721211014910690121171315131452843150610113894511127214100914631551131271142813709346102851412115113649815301112125101471101306987415143115212S盒3:S盒4:*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密1211015926801334147511101542712956113140113891415528123704101131164321295151011141760813212417101168531513014914112124713150151039864211110137815912563014181271142136150910453S盒5:S盒6:*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密4112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S盒7:S盒8:1328461511110931450127115138103741256110149271141912142061013153582114741081315129035611*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 輸入位以一種非常特殊的方式確定了S盒中的項(xiàng)。假定將S盒的6位的輸入標(biāo)記為b1、b2、b3、b4、b5、b6。則b1和b6組合構(gòu)成了一個2位的數(shù),從0到3,它對應(yīng)著表中的一行。從b2到b5構(gòu)成了一個4位的數(shù),從0到15,對應(yīng)著表中的一列。 例如,假設(shè)第6個S盒的輸入(即異或函數(shù)的第31位到36位)為110011。第1位和最后一位組合形成了11,它對應(yīng)著第6個S盒的第三行。中間的4位組合在一起形成了1001,它對應(yīng)著同一個S盒的第9列。S盒6的第三行第9列處的數(shù)是14(記住,行、列的記數(shù)均從0開始而不是從1開始),則值1110就代替了110011。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 7.P盒置換 S盒代替運(yùn)算后的32位輸出依照P盒進(jìn)行置換。該置換把每輸入位映射到輸出位,任意一位不能被映射兩次,也不能被略去,這個置換叫做直接置換。下表給出了每位移到的位置。例如,第21位移到了第4位處,同時第4位移到了第31位處。最后,將P盒置換的結(jié)果與最初的64位分組的左半部分異或,然后左、右半部分交換,接著開始另一輪。1672021291228171152326518311028241432273919133062211425*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 8.末置換 末置換是初始置換的逆過程,下表列出了該置換。應(yīng)注意DES在最后一輪后,左半部分和右半部分并未交換,而是將R16與L16并在一起形成一個分組作為末置換的輸入。40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 9.DES解密 在經(jīng)過所有的代替、置換、異或和循環(huán)移動之后,獲得了這樣一個非常有用的性質(zhì):加密和解密可使用相同的算法。 DES使得用相同的函數(shù)來加密或解密每個分組成為可能,二者的唯一不同之處是密鑰的次序相反。這就是說,如果各輪的加密密鑰分別是K1,K2,K3…,K16那么解密密鑰就是K16,K15,K14……,K1。為各輪產(chǎn)生密鑰的算法也是循環(huán)的。密鑰向右移動,每次移動個數(shù)為0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 10.三重DES DES的唯一密碼學(xué)缺點(diǎn)就是密鑰長度較短。解決密鑰長度的問題的辦法之一是采用三重DES。三重DES方法需要執(zhí)行三次常規(guī)的DES加密步驟,但最常用的三重DES算法中僅僅用兩個56位DES密鑰。設(shè)這兩個密鑰為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ǔ)7.3數(shù)據(jù)加密
這個過程稱為EDE,因?yàn)樗怯杉用堋饷堋用埽‥ncryptDecryptEncrypt)步驟組成的。在EDE中,中間步驟是解密,所以,可以使K1=K2來用三重DES方法執(zhí)行常規(guī)的DES加密。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 11.DES舉例 已知明文m=computer,密鑰k=program,用ASCII碼表示為:m=0110001101101111011011010111000001110101011101000110010101110010k=01110000011100100110111101100111011100100110000101101101 因?yàn)閗只有56位,必須插入第8,16,24,32,40,48,56,64位奇偶校驗(yàn)位,合成64位。而這8位對加密過程沒有影響。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密m經(jīng)過IP置換后得到L0=11111111101110000111011001010111R0=00000000111111110000011010000011密鑰k通過PC-1得到C0=1110110010011001000110111011D0=1011010001011000100011100110再各自左移一位,通過PC-2得到48位k1=001111011000111111001101001101110011111100000110R0(32位)經(jīng)E作用膨脹為48位,100000000001011111111110100000001101010000000110*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密再和k1作異或運(yùn)算得到(分成8組)101111011001100000110011101101111110101101001110通過S盒后輸出位32比特,01110110001101000010011010100001S盒的輸出又經(jīng)過P置換得到01000100001000001001111010011111這時:所以,第一趟的結(jié)果是:0000000011111111000001101000001110111011100110001110100011001000*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 如此,迭代16次以后,得到密文:0101100010101000010000011011100001101001111111101010111000110011 明文或密鑰每改變一位,都會對結(jié)果密文產(chǎn)生劇烈的影響。任意改變一位,其結(jié)果大致有將近一半的位發(fā)生了變化。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 7.3.2國際數(shù)據(jù)加密算法 國際數(shù)據(jù)加密算法(InternationalDataEncryptionAlgorithm)IDEA與DES一樣,也是一種使用一個密鑰對64位數(shù)據(jù)塊進(jìn)行加密的常規(guī)共享密鑰加密算法。同樣的密鑰用于將64位的密文數(shù)據(jù)塊恢復(fù)成原始的64位明文數(shù)據(jù)塊。IDEA使用128位(16字節(jié))密鑰進(jìn)行操作,這么長的密鑰被認(rèn)為即使在多年后仍是有效的。 IDEA算法通過一系列的加密輪次進(jìn)行操作,每輪都使用從完整的加密密鑰中生成的一個子密鑰,使用一個稱為“壓碼”的函數(shù)在每輪中對數(shù)據(jù)位進(jìn)行編碼。與DES不同的是IDEA不使用置換。
*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 7.3.3共享密鑰技術(shù)的應(yīng)用 1.整條消息加密 使用共享密鑰技術(shù)對整條消息進(jìn)行加密,一個顯然的辦法是將消息分成64位一塊的數(shù)據(jù)塊,然后用同樣的密鑰對每一個數(shù)據(jù)塊加密。但這種做法的最大弊端是會使消息的內(nèi)容泄漏。因?yàn)?,同樣?4位輸入數(shù)據(jù)塊總是與同樣的64位密文塊相對應(yīng),雖然,對于偷竊者來說可能無法破譯密文,但人們明顯可以發(fā)現(xiàn)某些特定的塊的重復(fù),使消息泄漏。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 2.Kerberos Kerberos是由麻省理工學(xué)院開發(fā)的網(wǎng)絡(luò)訪問控制系統(tǒng),它是一種完全依賴于密鑰加密的系統(tǒng)范例,其主要的功能用于解決保密密鑰管理與分發(fā)的問題。
Kerberos建立在一個安全的、可信任的密鑰分發(fā)中心(KeyDistributionCenter,KDC)的概念上。與每個用戶都要知道幾百個密碼不同,使用KDC時用戶只需知道一個保密密鑰——用于與KDC通信的密鑰。
Kerberos的工作過程如下: 假設(shè)用戶A想要與用戶B秘密通信。首先,由A呼叫KDC,請求與B聯(lián)系。KDC為A與B之間的對話選擇一條隨機(jī)的對話密鑰,設(shè)為XXXXX。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.3數(shù)據(jù)加密 同時生成一個“標(biāo)簽”,由KDC將擁有這“標(biāo)簽”的人A告訴B,并請B使用對話密鑰XXXXX與A交談。與此同時,KDC發(fā)給A的消息則用只有A與KDC知道的A的共享密鑰加密,告訴A用對話密鑰XXXXX與B交談。此時,A對KDC的回答進(jìn)行解密,恢復(fù)對話密鑰XXXXX和給B的標(biāo)簽。在這過程中,A無法修改標(biāo)簽的頭部與細(xì)節(jié),因?yàn)樵摌?biāo)簽用只有B和KDC知道共享密鑰加密了。 之后,A呼叫B,告訴對方標(biāo)簽是由KDC給的。接著,B對標(biāo)簽的內(nèi)容進(jìn)行解密,知道只有KDC和他自己能用知道的口令對該消息進(jìn)行加密,并恢復(fù)A的名字及對話密鑰XXXXX。
這樣,A和B就可以用對話密鑰相互安全地進(jìn)行通信了。
*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.4公用密鑰/私有密鑰密碼學(xué)
公用密鑰/私有密鑰密碼學(xué)又稱公用密鑰密碼。它通過使用兩個數(shù)字互補(bǔ)密鑰,繞過了排列共享的問題。這兩個密鑰,一個是盡人皆知的,而另一個只有擁有者才知道,盡人皆知的密鑰叫做公用密鑰,而只有密鑰擁有者才知道的密鑰叫做私有密鑰,或稱專用密鑰。這兩種密鑰合在一起稱為密鑰對。公用密鑰可以解決安全分配密鑰問題,因?yàn)樗恍枰c保密密鑰通信,所需傳輸?shù)闹挥泄妹荑€。這種公用密鑰不需要保密,但對保證其真實(shí)性和完整性卻非常重要。 如果某一信息用公用密鑰加密,則必須用私有密鑰解密,這就是實(shí)現(xiàn)保密的方法。如果某一信息用私有密鑰加密,那么,它必須用公用密鑰解密。這就是實(shí)現(xiàn)驗(yàn)證的方法。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.4公用密鑰/私有密鑰密碼學(xué) 公用密鑰系統(tǒng)的最流行的例子是由麻省理工學(xué)院的RomRivest、AdiShamir和LenAdleman開發(fā)的RSA系統(tǒng)。另一個系統(tǒng)叫做Diffie-Hellman,該系統(tǒng)直接從本身不是密鑰的公用“組成部分”中產(chǎn)生共享保密密鑰。這兩種系統(tǒng)各有優(yōu)點(diǎn),互為補(bǔ)充,因而常常組合在一起。 7.4.1Diffie-Hellman密鑰交換算法
Diffie-Hellman密鑰交換算法常用做密鑰的分配并滿足: y=gxmodp (在g自乘冪x后,然后除以p,y為余數(shù))*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.4公用密鑰/私有密鑰密碼學(xué) 如果知道g、x和p,則很容易計(jì)算y。但是,如果知道y、g和p,則很難在合理的時間內(nèi)以類似規(guī)模的數(shù)計(jì)算x。當(dāng)所有的數(shù)都很大時,p是很大的素?cái)?shù)。在此情況下,數(shù)y叫做公用分量,而x叫做私有分量或?qū)S梅至俊_@些分量本身不是密鑰,但是,它們可以用來制作共享保密密鑰。 7.4.2RSA公用密鑰/私有密鑰 RSA是在Diffie-Hellman算法問世兩年之后,由Rivest、Shamir和Adelman在MIT作出的,并于1978年公布。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.4公用密鑰/私有密鑰密碼學(xué) RSA要求每一個用戶擁有自己的一種密鑰:(1)公開的加密密鑰,用以加密明文;(2)保密的解密密鑰,用于解密密文。 在RSA密鑰體制的運(yùn)行中,當(dāng)A用戶發(fā)文件給B用戶時,A用戶用B用戶公開的密鑰加密明文,B用戶則用解密密鑰解讀密文,其特點(diǎn)是:(1)密鑰配發(fā)十分方便,用戶的公用密鑰可以像電話本那樣公開,使用方便,每個用戶只需持有一對密鑰即可實(shí)現(xiàn)與網(wǎng)絡(luò)中任何一個用戶的保密通信。(2)RSA加密原理基于單向函數(shù),非法接收者利用公用密鑰不可能在有限時間內(nèi)推算出秘密密鑰。(3)RSA在用戶確認(rèn)和實(shí)現(xiàn)數(shù)字簽名方面優(yōu)于現(xiàn)有的其他加密機(jī)制。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.4公用密鑰/私有密鑰密碼學(xué)7.4.3DES和RSA標(biāo)準(zhǔn)的比較加密機(jī)制DESRSA原理加密鑰=解密鑰(秘密)加密鑰解密鑰(公開)(秘密)算法公開公開密鑰配送必要不必要密鑰數(shù)必須為通信對象數(shù)自己用的一個即可安全確認(rèn)比較困難容易加密速度可達(dá)100MB/S可達(dá)10KB/S*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.5安全傳輸方法
在不同用戶的大規(guī)模網(wǎng)絡(luò)系統(tǒng)中,安全地傳輸信息的最佳方法就是使用一種組合的公用密鑰和共享密鑰系統(tǒng),以充分利用每種方法的優(yōu)點(diǎn)。 首先,用共享密鑰加密工具,如DES對普通文本進(jìn)行加密,然后,對話密鑰用目的地的密鑰對公用部分進(jìn)行加密。最后,把對話密鑰加密的普通文本和公用密鑰加密的對話密鑰組合在一起,并發(fā)送到目的地。 當(dāng)目的地接收到信息后,它用自己的私有密鑰對對話密鑰解密,之后,使用對話密鑰對剩余的信息進(jìn)行解密。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.6驗(yàn)證
驗(yàn)證有兩個明顯不同的方面:保證信息的完整性,保證發(fā)送者的身份。7.6.1信息的驗(yàn)證 從概念上說,信息的簽名就是用專用密鑰對信息進(jìn)行加密,而簽名的驗(yàn)證就是用相對應(yīng)的公用密鑰對信息進(jìn)行解密。 同普通密鑰系統(tǒng)相比,公用密鑰系統(tǒng)的速度很慢,用公用密鑰系統(tǒng)對長信息加密來達(dá)到簽名的目的,并不比用公用密鑰系統(tǒng)來達(dá)到信息保密的目的更有吸引力。 解決方案就是引入另一種普通密碼機(jī)制,這種密碼機(jī)制叫做信息摘要或散列函數(shù)。*計(jì)算機(jī)網(wǎng)絡(luò)安全基礎(chǔ)7.6驗(yàn)證 最常用的信息摘要算法叫做MDS,可產(chǎn)生一個128位長的摘要。使用信息摘要時,對信息簽名過程如下:(1)用戶制作信息摘要;(2)信息摘要由發(fā)送者的專用密鑰加密;(3)原始信息和加密信息摘要發(fā)送到目的地;(4)目的地接收信息,并使用與原始信息相同
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷史人教版七年級上冊歷史期末試卷及答案
- 2025年個人產(chǎn)權(quán)式酒店買賣合同樣本4篇
- 房地產(chǎn)法規(guī)與政策解讀
- 2025年代理推廣銷售分銷合同
- 2025版美容美發(fā)機(jī)構(gòu)員工勞動合同與解除協(xié)議4篇
- 2025年房屋租賃合同環(huán)保條款補(bǔ)充協(xié)議3篇
- 2025年企業(yè)數(shù)據(jù)加密備份合同
- 2025年冀教版選擇性必修3歷史上冊月考試卷含答案
- 2025年公共文化贈與合同
- 2025年度新型城鎮(zhèn)化泥工班組勞務(wù)承包合同范本7篇
- 無人化農(nóng)場項(xiàng)目可行性研究報(bào)告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計(jì)劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫》課件
- 《好東西》:女作者電影的話語建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國考培的再研究供需變化的新趨勢
- GB/T 44895-2024市場和社會調(diào)查調(diào)查問卷編制指南
- 高三日語一輪復(fù)習(xí)助詞「で」的用法課件
評論
0/150
提交評論