版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2講數(shù)據(jù)加密技術(shù)及應(yīng)用
主要內(nèi)容數(shù)據(jù)加密概述(概念、分類)古典密碼對(duì)稱加密技術(shù)非對(duì)稱加密技術(shù)數(shù)字簽名報(bào)文鑒別密鑰管理
本節(jié)學(xué)習(xí)目標(biāo):了解加密技術(shù)的發(fā)展及其相關(guān)知識(shí)掌握加密技術(shù)的原理最基本的加密算法對(duì)稱加密算法原理非對(duì)稱加密算法原理2.1數(shù)據(jù)加密概述在計(jì)算機(jī)網(wǎng)絡(luò)中,我們需要一種措施來(lái)保護(hù)數(shù)據(jù)的安全性,防止被一些別有用心的人利用或破壞,這在客觀上就需要一種強(qiáng)有力的安全措施來(lái)保護(hù)機(jī)密數(shù)據(jù)不被竊取或篡改。數(shù)據(jù)加密技術(shù)是為了提高信息系統(tǒng)及數(shù)據(jù)的安全性和保密性,防止秘密數(shù)據(jù)被外部破析所采用的主要技術(shù)手段之一。隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)安全與信息保密日益引起人們的關(guān)注。我們除在法律和制度及管理手段上加強(qiáng)數(shù)據(jù)的安全管理外,還需要推動(dòng)數(shù)據(jù)加密技術(shù)和物理防范技術(shù)的應(yīng)用和不斷發(fā)展。2.1.1數(shù)據(jù)加密的必要性
到了20世紀(jì)70年代,隨著信息的巨增,人們對(duì)信息的保密需求也從以往的軍事、政治和外交迅速發(fā)展到民用和商用領(lǐng)域,從而導(dǎo)致了密碼學(xué)理論和密碼技術(shù)的快速發(fā)展。同時(shí),計(jì)算機(jī)技術(shù)和微電子技術(shù)的發(fā)展,也為密碼學(xué)理論的研究和實(shí)現(xiàn)提供了強(qiáng)有力的手段和工具。進(jìn)入20世紀(jì)80年代以來(lái),隨著計(jì)算機(jī)網(wǎng)絡(luò)和傳統(tǒng)通信網(wǎng)絡(luò)的廣泛應(yīng)用,對(duì)密碼理論和技術(shù)的研究更呈快速上升的趨勢(shì)。密碼學(xué)在雷達(dá)、導(dǎo)航、遙控、遙測(cè)等領(lǐng)域發(fā)揮著重要作用的同時(shí),開(kāi)始滲透到通信、計(jì)算機(jī)及各種信息系統(tǒng)中。2.1.2數(shù)據(jù)加密的基本概念
密碼技術(shù)通過(guò)信息的變換或編碼,將機(jī)密的敏感消息變換成為難以讀懂的亂碼字符,以此達(dá)到兩個(gè)目的:一是使不知道如何解密的竊聽(tīng)者不可能由其截獲的亂碼中得到任何有意義的信息;二是使竊聽(tīng)者不可能偽造任何亂碼型的信息。研究密碼技術(shù)的學(xué)科稱為密碼學(xué),其中密碼編碼學(xué)主要對(duì)信息進(jìn)行編碼,實(shí)現(xiàn)信息隱蔽;而密碼分析學(xué)研究分析破譯密碼的學(xué)問(wèn)。兩者相互對(duì)立,而又相互促進(jìn)。
加密的目的是防止機(jī)密信息的泄露,同時(shí)還可以用于證實(shí)信息源的真實(shí)性,驗(yàn)證所接收到的數(shù)據(jù)的完整性。加密系統(tǒng)是指對(duì)信息進(jìn)行編碼和解碼所使用的過(guò)程、算法和方法的統(tǒng)稱。加密通常需要使用隱蔽的轉(zhuǎn)換,這個(gè)轉(zhuǎn)換需要使用密鑰進(jìn)行加密,并使用相反的過(guò)程進(jìn)行解密。密碼學(xué)術(shù)語(yǔ)消息、明文、密文加密、解密鑒別、完整性、抗抵賴性算法密鑰對(duì)稱算法、非對(duì)稱算法…消息和加密遵循國(guó)際命名標(biāo)準(zhǔn),加密和解密可以翻譯成:“Encipher(譯成密碼)”和“(Decipher)(解譯密碼)”。也可以這樣命名:“Encrypt(加密)”和“Decrypt(解密)”。消息被稱為明文。用某種方法偽裝消息以隱藏它的內(nèi)容的過(guò)程稱為加密,加了密的消息稱為密文,而把密文轉(zhuǎn)變?yōu)槊魑牡倪^(guò)程稱為解密,圖表明了加密和解密的過(guò)程。解密加密的反過(guò)程,獲得明文。需要說(shuō)明的是,解密主要針對(duì)合法的接收者,而非法接收者在截獲密文后試圖從中分析出明文的過(guò)程稱為“破譯”。明文密文明文用M(Message,消息)或P(Plaintext,明文)表示,它可能是比特流、文本文件、位圖、數(shù)字化的語(yǔ)音流或者數(shù)字化的視頻圖像等。密文用C(Cipher)表示,也是二進(jìn)制數(shù)據(jù),有時(shí)和M一樣大,有時(shí)稍大。通過(guò)壓縮和加密的結(jié)合,C有可能比P小些。加密函數(shù)E作用于M得到密文C,用數(shù)學(xué)公式表示為:E(M)=C。解密函數(shù)D作用于C產(chǎn)生M,用數(shù)據(jù)公式表示為:D(C)=M。先加密后再解密消息,原始的明文將恢復(fù)出來(lái),D(E(M))=M必須成立。鑒別、完整性和抗抵賴性除了提供機(jī)密性外,密碼學(xué)需要提供三方面的功能:鑒別、完整性和抗抵賴性。這些功能是通過(guò)計(jì)算機(jī)進(jìn)行社會(huì)交流,至關(guān)重要的需求。鑒別:消息的接收者應(yīng)該能夠確認(rèn)消息的來(lái)源;入侵者不可能偽裝成他人。完整性:消息的接收者應(yīng)該能夠驗(yàn)證在傳送過(guò)程中消息沒(méi)有被修改;入侵者不可能用假消息代替合法消息??沟仲囆裕喊l(fā)送消息者事后不可能虛假地否認(rèn)他發(fā)送的消息。算法和密鑰現(xiàn)代密碼學(xué)用密鑰解決了這個(gè)問(wèn)題,密鑰用K表示。K可以是很多數(shù)值里的任意值,密鑰K的可能值的范圍叫做密鑰空間。加密和解密運(yùn)算都使用這個(gè)密鑰,即運(yùn)算都依賴于密鑰,并用K作為下標(biāo)表示,加解密函數(shù)表達(dá)為:EK(M)=CDK(C)=MDK(EK(M))=M,如圖所示。有些算法使用不同的加密密鑰和解密密鑰,也就是說(shuō)加密密鑰K1與相應(yīng)的解密密鑰K2不同,在這種情況下,加密和解密的函數(shù)表達(dá)式為:EK1(M)=CDK2(C)=M函數(shù)必須具有的特性是,DK2(EK1(M))=M,如圖所示。通常,將加密前的原始數(shù)據(jù)或消息稱為明文(plaintext),而將加密后的數(shù)據(jù)稱為密文(ciphertext),在密碼中使用并且只有收發(fā)雙方才知道的信息稱為密鑰(key)。通過(guò)使用密鑰將明文轉(zhuǎn)換成密文的過(guò)程稱為加密,其反向過(guò)程(將密文轉(zhuǎn)換為原來(lái)的明文)稱為解密。對(duì)明文進(jìn)行加密時(shí)采用的一組規(guī)則稱為加密算法。對(duì)密文解密時(shí)采用的一組規(guī)則稱為解密算法。加密算法和解密算法是在一組僅有合法用戶知道的密鑰的控制下進(jìn)行的,加密和解密過(guò)程中使用的密鑰分別稱為加密密鑰和解密密鑰。加密和解密的轉(zhuǎn)換關(guān)系如圖2-1所示。
圖2-1加密與解密的轉(zhuǎn)換關(guān)系圖2-2密碼通信系統(tǒng)模型
如圖2-2是加密與解密轉(zhuǎn)換關(guān)系的數(shù)學(xué)表示,稱為密碼通信系統(tǒng)模型,它由以下幾個(gè)部分組成:
·M:明文消息空間
·E:密文消息空間
·K1和K2:密鑰空間
·加密變換:·解密變換:
將稱為密碼系統(tǒng)。例如,將給定明文消息,密鑰,將明文m變換為密文c的過(guò)程為:2.1.3對(duì)稱加密和非對(duì)稱加密
目前已經(jīng)設(shè)計(jì)出的密碼系統(tǒng)是各種各樣的。如果以密鑰為標(biāo)準(zhǔn),可將密碼系統(tǒng)分為單鑰密碼系統(tǒng)和雙鑰密碼系統(tǒng)。其中,單鑰密碼系統(tǒng)又稱為對(duì)稱密碼或私鑰密碼系統(tǒng),雙鑰密碼系統(tǒng)又稱為非對(duì)稱密碼或公鑰密碼系統(tǒng)。相應(yīng)的,采用單鑰密碼系統(tǒng)的加密方法,同一個(gè)密鑰可同時(shí)用作信息的加密和解密,這種加密方法稱為對(duì)稱加密,也稱作單密鑰加密。另一種是采用雙鑰密碼系統(tǒng)的加密方法,在一個(gè)過(guò)程中使用兩個(gè)密鑰,一個(gè)用于加密,另一個(gè)用于解密,這種加密方法稱為非對(duì)稱加密,也稱為公鑰加密,因?yàn)槠渲械囊粋€(gè)密鑰是公開(kāi)的(另一個(gè)則需要保密)。1.對(duì)稱加密對(duì)稱加密的缺點(diǎn)是密鑰需要通過(guò)直接復(fù)制或網(wǎng)絡(luò)傳輸?shù)姆绞接砂l(fā)送方傳給接收方,同時(shí)無(wú)論加密還是解密都使用同一個(gè)密鑰,所以密鑰的管理和使用很不安全。如果密鑰泄露,則此密碼系統(tǒng)便被攻破。另外,通過(guò)對(duì)稱加密方式無(wú)法解決消息的確認(rèn)問(wèn)題,并缺乏自動(dòng)檢測(cè)密鑰泄露的能力。對(duì)稱加密的優(yōu)點(diǎn)是加密和解密的速度快。2.非對(duì)稱加密在非對(duì)稱加密中,加密密鑰與解密密鑰不同,此時(shí)不需要通過(guò)安全通道來(lái)傳輸密鑰,只需要利用本地密鑰發(fā)生器產(chǎn)生解密密鑰,并以此進(jìn)行解密操作。由于非對(duì)稱加密的加密和解密不同,且能夠公開(kāi)加密密鑰,僅需要保密解密密鑰,所以不存在密鑰管理問(wèn)題。非對(duì)稱加密的另一個(gè)優(yōu)點(diǎn)是可以用于數(shù)字簽名。但非對(duì)稱加密的缺點(diǎn)是算法一般比較復(fù)雜,加密和解密的速度較慢。2.1.4序列密碼和分組密碼根據(jù)密碼算法對(duì)明文處理方式的標(biāo)準(zhǔn)不同,可以將密碼系統(tǒng)分為序列密碼和分組密碼兩類。1.序列密碼序列密碼也稱為流密碼,其思想起源于20世紀(jì)20年代,最早的二進(jìn)制序列密碼系統(tǒng)是Vernam密碼。Vernam密碼將明文消息轉(zhuǎn)化為二進(jìn)制數(shù)字序列,密鑰序列也為二進(jìn)制數(shù)字序列,加密是按明文序列和密鑰序列逐位模2相加(即異或操作XOR)進(jìn)行,解密也是按密文序列和密鑰序列逐位模2相加進(jìn)行。當(dāng)Vernam密碼中的密鑰序列是完全隨機(jī)的二進(jìn)制序列時(shí),就是著名的“一次一密”密碼。一次一密密碼是完全保密的,但它的密鑰產(chǎn)生、分配和管理都不方便。2.分組密碼分組密碼的加密方式是先將明文序列以固定長(zhǎng)度進(jìn)行分組,然后將每一組明文用相同的密碼和加密函數(shù)進(jìn)行運(yùn)算。為了減小存儲(chǔ)量,并提高運(yùn)算速度,密鑰的長(zhǎng)度一般不大,因而加密函數(shù)的復(fù)雜性成為系統(tǒng)安全的關(guān)鍵。分組密碼的優(yōu)點(diǎn)是不需要密鑰同步,具有較強(qiáng)的適用性,適宜作為加密標(biāo)準(zhǔn)。缺點(diǎn)是加密速度慢。DES、DEA是典型的分組密碼。
2.1.5網(wǎng)絡(luò)加密的實(shí)現(xiàn)方法基于密碼算法的數(shù)據(jù)加密技術(shù)是所有網(wǎng)絡(luò)上的通信安全所依賴的基本技術(shù)。目前對(duì)網(wǎng)絡(luò)數(shù)據(jù)加密主要有鏈路加密、節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密和端對(duì)端加密3種實(shí)現(xiàn)方式。1.鏈路加密鏈路加密又稱在線加密,它是對(duì)在兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的某一條通信鏈路實(shí)施加密,是目前網(wǎng)絡(luò)安全系統(tǒng)中主要采用的方式。如圖2-3所示,在鏈路加密方式下,只對(duì)通信鏈路中的數(shù)據(jù)加密,而不對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)的數(shù)據(jù)加密。圖2-3鏈路加密過(guò)程示意圖
在鏈路加密方式下,不僅對(duì)數(shù)據(jù)報(bào)文進(jìn)行加密,而且把路由信息、校驗(yàn)和等控制信息全部加密。所以到某一中間節(jié)點(diǎn)時(shí),先解密獲得路由信息和校驗(yàn)和,進(jìn)行路由選擇。差錯(cuò)檢測(cè),然后再被加密,發(fā)送下一個(gè)節(jié)點(diǎn)。2.節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密
節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密是為了解決在節(jié)點(diǎn)中的數(shù)據(jù)是明文的這一缺點(diǎn),在中間節(jié)點(diǎn)里裝有用于加密和解密的保護(hù)裝置,由這個(gè)裝置來(lái)完成一個(gè)密鑰向另一個(gè)密鑰的交換。因而,除了在保護(hù)裝置里,即使在節(jié)點(diǎn)內(nèi)也不會(huì)出現(xiàn)明文。盡管節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密能給網(wǎng)絡(luò)數(shù)據(jù)提供較高的安全性,但它在操作方式上與鏈路加密類似:兩者均在通信鏈路上為傳輸?shù)南⑻峁┌踩裕欢荚谥虚g節(jié)點(diǎn)先對(duì)消息進(jìn)行解密,然后進(jìn)行加密。因?yàn)橐獙?duì)所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,所以加密過(guò)程對(duì)用戶是透明的。3.端對(duì)端加密
為了解決鏈路加密和節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密中存在的不足,人們提出了端對(duì)端加密方式。端對(duì)端加密又稱脫線加密或包加密,它允許數(shù)據(jù)在從源節(jié)點(diǎn)被加密后,到終點(diǎn)的傳輸過(guò)程中始終以密文形式存在,消息在到達(dá)終點(diǎn)之前不進(jìn)行解密,只有消息到達(dá)目的節(jié)點(diǎn)后才被解密。因?yàn)橄⒃谡麄€(gè)傳輸過(guò)程中均受到保護(hù),所以即使有節(jié)點(diǎn)被損壞也不會(huì)使消息泄露。因此,端對(duì)端加密方式可以實(shí)現(xiàn)按各通信對(duì)象的要求改變加密密鑰以及按應(yīng)用程序進(jìn)行密鑰管理等,而且采用這種方式可以解決文件加密問(wèn)題。2.1.6軟件加密和硬件加密
目前具體的數(shù)據(jù)加密實(shí)現(xiàn)方法主要有兩種:軟件加密和硬件加密。1.軟件加密軟件加密一般是用戶在發(fā)送信息前,先調(diào)用信息安全模塊對(duì)信息進(jìn)行加密處理,然后進(jìn)行發(fā)送。到達(dá)接收端后,由用戶用相應(yīng)的解密軟件進(jìn)行解密處理,還原成為明文。優(yōu)點(diǎn)(實(shí)現(xiàn)方便、兼容性好)缺點(diǎn)(密鑰管理復(fù)雜,容易被攻擊,速度慢)2.硬件加密硬件加密是采用專門的硬件設(shè)備實(shí)現(xiàn)消息的加密和解密處理。隨著微電子技術(shù)的發(fā)展,現(xiàn)在許多加密產(chǎn)品都是特定的硬件加密形式。這些加、解密芯片被嵌入到通信線路中,然后對(duì)所有通過(guò)的數(shù)據(jù)進(jìn)行加密和解密處理。特點(diǎn)(易于管理。速度快,安全性高,易安裝)2.2古典密碼介紹2.1.1簡(jiǎn)單替換密碼簡(jiǎn)單替換密碼是古典密碼中使用最早的一種密碼機(jī)制,其實(shí)現(xiàn)方法是將明文按字母表中當(dāng)前的位置向后移動(dòng)n位,便得到加密后的密文,這里的n就是密鑰。例如,當(dāng)n=3時(shí)(即以n=3為密鑰)時(shí),字符表的替換如下(為便于表述,我們約定在明文中使用小寫(xiě)字母,而在密文中使用大寫(xiě)字母):明文:abcdefghijklmnopqrstuvwxyz密文:DEFGHIJKLMNOPQRSTUVWXYZABC
當(dāng)n=3時(shí)的密碼體制由于被凱撒(Caesar)成功使用,所以也稱為凱撒密碼。
25種嘗試,密碼空間有限。----》映射2.1.2雙重置換密碼使用雙重轉(zhuǎn)換密碼進(jìn)行加密時(shí),首先將明文寫(xiě)成給定大小的矩陣形式,然后根據(jù)給定的置換規(guī)則對(duì)行和列分別進(jìn)行置換。例如,對(duì)明文“attackattomorrow”寫(xiě)成4×4的矩陣形式:
然后,按照(1,2,3,4)→(2,3,4,1)的規(guī)則進(jìn)行行置換,然后再按照(1,2,3,4)→(3,4,2,1)的規(guī)則進(jìn)行列置換。操作如下:
從而得到的密文為“ATKCMOOTOWRRTATA”。在雙重置換密碼體制中,密鑰由矩陣的大小以及行、列置換規(guī)則組成。接收者如果知道密鑰,就可以通過(guò)加密過(guò)程使用的矩陣大小以及行、列的置換規(guī)則來(lái)進(jìn)行逆向操作,從而恢復(fù)得到明文。例如,對(duì)于前面得到的密文,可以先寫(xiě)成4×4的矩陣形式,然后將列進(jìn)行(3,4,2,1)→(1,2,3,4)的置換,再將行進(jìn)行(2,3,4,1)→(1,2,3,4)的置換。操作如下:于是得到明文“attackatwomorrow”。2.1.3“一次一密”密碼最著名的序列密碼是“一次一密”密碼,也稱為“一次一密亂碼本加密機(jī)制”。其中,一次一密亂碼本是一個(gè)大的不重復(fù)的隨機(jī)密鑰字符集,這個(gè)密鑰字符集被寫(xiě)在幾張紙上,并粘合成一個(gè)本子,該本子稱為亂碼本。每個(gè)密鑰僅對(duì)一個(gè)消息使用一次。發(fā)送方用亂碼本中的密鑰對(duì)所發(fā)送的消息加密,然后銷毀亂碼本中用過(guò)的一頁(yè)或用過(guò)的磁帶部分。接收方有一個(gè)同樣的亂碼本,并依次使用亂碼本上的每一個(gè)密鑰去解密密文的每個(gè)字符。接收方在解密消息后銷毀亂碼本中用過(guò)的一頁(yè)或用過(guò)的磁帶部分。新的消息則用亂碼本的新的密鑰進(jìn)行加密和解密?!耙淮我幻堋泵艽a是一種理想的加密方案,理論上講,實(shí)現(xiàn)了“一次一密”密鑰管理的密碼是不可破譯的。2.3對(duì)稱加密—流密碼流密碼(即序列密碼)是一種類似于“一次一密”密碼體制,因?yàn)樵诩用苓^(guò)程中是將密鑰流(密鑰的二進(jìn)制位)與等長(zhǎng)的明文的二進(jìn)制位進(jìn)行模2運(yùn)行,在解密過(guò)程中是將密鑰流與密文進(jìn)行逐位模2運(yùn)行,所以流密碼是一種對(duì)稱加密方式。2.3.1流密碼的工作原理
在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,由于報(bào)文、數(shù)據(jù)和圖像等消息都可以通過(guò)某一編碼技術(shù)轉(zhuǎn)化為二進(jìn)制數(shù)字序列,因而可假定流密碼中的明文空間M是由所有可能的二進(jìn)制數(shù)字序列組成的集合。設(shè)K為密鑰空間,由于流密碼應(yīng)使用盡可能長(zhǎng)的密鑰,而太長(zhǎng)的密鑰在存儲(chǔ)、分配等方面都有一定的困難,于是研究人員采用一個(gè)短的密鑰k∈K來(lái)控制某種算法A產(chǎn)生出長(zhǎng)的密鑰序列,供加密和解密使用。而短密鑰k的存儲(chǔ)和分配在實(shí)現(xiàn)方式上都比較容易。根據(jù)密碼學(xué)的約定,算法A是公開(kāi)的,而密鑰k是保密的。2.4.2A5/1圖2-5A5/1密鑰流生成器的工作過(guò)程2.4對(duì)稱加密—分組密碼流密碼和分組密碼都屬于對(duì)稱密鑰算法,流密碼的基本思想是利用密鑰產(chǎn)生一個(gè)密鑰流,并通過(guò)相應(yīng)的規(guī)則對(duì)明文串進(jìn)行加密和解密處理。而分組密碼是將明文分為固定長(zhǎng)度的分組,然后通過(guò)若干輪(round)函數(shù)的迭代操作來(lái)產(chǎn)生密文。函數(shù)由于在每一輪的操作中都使用,所以稱為輪函數(shù),其本輪的輸入是上一輪的輸出加上密鑰。2.4.1Feistel密碼結(jié)構(gòu)圖2-6Feistel網(wǎng)絡(luò)結(jié)構(gòu)圖2-7Feistel的加密和解密過(guò)程2.4.2數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)
數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,DES)是由IBM公司在1971年設(shè)計(jì)的一個(gè)加密算法。1977年由美國(guó)國(guó)家標(biāo)準(zhǔn)局(現(xiàn)美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)委員會(huì))作為第46號(hào)聯(lián)邦信息處理標(biāo)準(zhǔn)而采用的一種數(shù)據(jù)加密標(biāo)準(zhǔn)。之后,DES成為金融界及其他非軍事行業(yè)應(yīng)用最為廣泛的對(duì)稱加密標(biāo)準(zhǔn)。DES是分組密碼的典型代表,也是第一個(gè)被公布出來(lái)的標(biāo)準(zhǔn)算法。DES的算法完全公開(kāi),在密碼學(xué)史上開(kāi)創(chuàng)了先河。DES是迄今為止世界上應(yīng)用最為廣泛的一種分組密碼算法。1.DES的算法描述
DES是一個(gè)完全遵循Feistel密碼結(jié)構(gòu)的分組密碼算法。DES將明文以64bit為單位分組進(jìn)行加密,在一次加密過(guò)程中以64bit為一組的明文從算法的一端輸入,同時(shí)在另一端輸入64bit的密文。DES中密鑰的長(zhǎng)度通常應(yīng)為64bit,但其中后面的8bit作為奇偶校驗(yàn)使用,所以實(shí)際使用的只有56bit。如圖2-8所示,DES的基本加密過(guò)程總共有19個(gè)步驟。其中,第1步是一個(gè)與密鑰無(wú)關(guān)的置換操作,它直接將64bit的明文分為左右兩部分,每一部分為32bit。最后一步(即第19步)正好是對(duì)第1步中置換的逆操作。而第18步是交換左32bit和右32bit。其他16步的功能完全相同,但使用了原始密鑰的不同子密鑰ki作為輪函數(shù)F的參數(shù)。DES算法的設(shè)計(jì)允許使用同樣的密鑰來(lái)完成解密過(guò)程,而且解密是加密的逆過(guò)程。這正是任何一個(gè)對(duì)稱密鑰算法必須滿足的一個(gè)條件。
IP置換表和IP-1逆置換表輸入的64位數(shù)據(jù)按置換IP表進(jìn)行重新組合,并把輸出分為L(zhǎng)0、R0兩部分,每部分各長(zhǎng)32位,其置換IP表如表所示。58501234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157將輸入64位比特的第58位換到第一位,第50位換到第二位,依此類推,最后一位是原來(lái)的第7位。L0、R0則是換位輸出后的兩部分,L0是輸出的左32位,R0是右32位。比如:置換前的輸入值為D1D2D3…D64,則經(jīng)過(guò)初始置換后的結(jié)果為:L0=D58D50...D8,R0=D57D49...D7。經(jīng)過(guò)16次迭代運(yùn)算后。得到L16、R16,將此作為輸入,進(jìn)行逆置換,即得到密文輸出。逆置換正好是初始置的逆運(yùn)算,例如,第1位經(jīng)過(guò)初始置換后,處于第40位,而通過(guò)逆置換IP-1,又將第40位換回到第1位,其逆置換IP-1規(guī)則表8-2所示。逆置換表IP-140848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725圖2-8DES算法示意圖下面是對(duì)DES的總結(jié):·是使用16輪操作的Feistel結(jié)構(gòu)密碼?!し纸M長(zhǎng)度為64bit?!な褂?6bit的密鑰?!っ恳惠喪褂?8bit的子密鑰,每一個(gè)子密鑰都是由56bit的密鑰的子集構(gòu)成。2.DES中每一輪操作的過(guò)程如圖2-9是16輪Feistel結(jié)構(gòu)密碼操作中其中一輪的示意圖。下面對(duì)圖2-8中每一輪操作進(jìn)行介紹。因?yàn)镈ES算法中每一組明文的長(zhǎng)度為64bit,所以根據(jù)Feistel結(jié)構(gòu)密碼的規(guī)則,將其分為左右兩部分,每一部分為32bit。與所有Feistel結(jié)構(gòu)密碼一樣,每一輪的處理都遵循以下的數(shù)學(xué)描述:圖2-9DES中每一輪操作的示意圖
擴(kuò)展置換的算法是從Ri-1的32位中選取某些位,構(gòu)成48位。即將32比特?cái)U(kuò)展變換為48位,變換規(guī)則根據(jù)E位選擇表,如表所示。32123454567898910111213121314151617161718192021202122232425242526272829282930313213.DES中的S盒“S盒”是DES算法中的核心。正是由于S盒的重要性,所以相關(guān)技術(shù)細(xì)節(jié)一直未被公開(kāi)。這也是有人懷疑DES算法留有安全后門的一個(gè)原因,不過(guò)S盒確實(shí)增加了DES算法抵抗密碼攻擊的能力。S盒在輪函數(shù)F中的產(chǎn)用如圖2-10所示。一次替換由一組共8個(gè)S盒組成。其中每一個(gè)S盒都接受6bit的輸入,產(chǎn)生4bit的輸出。這樣,48bit的輸入最后得到32bit的輸出。圖2-10S盒的替換操作S盒的輸出作為P變換的輸入,P的功能是對(duì)輸入進(jìn)行置換,P換位表如表所示16720212912281711523265183110282414322739191330622114254.DES算法的特點(diǎn)
DES算法綜合應(yīng)用于置換、替換、移位等多種密碼技術(shù)。在算法結(jié)構(gòu)上采用了Feistel密碼結(jié)構(gòu),結(jié)構(gòu)緊湊,便于實(shí)現(xiàn)。在一次加密過(guò)程中,DES使用了初始置換和逆初始置換各1次,置換操作16次,這樣做的目的是將數(shù)據(jù)徹底打亂重排。S盒是DES保密性的關(guān)鍵,它將6bit的輸入映射為4bit的輸出,是一個(gè)非線性變換(其本質(zhì)是數(shù)據(jù)壓縮),具有較高的保密性。
DES算法也存在一些問(wèn)題:一是56bit的密鑰長(zhǎng)度太短,影響了DES的保密性;二是在16次迭代加密過(guò)程中,使用的16個(gè)子密鑰可能存在弱密鑰或半弱密鑰現(xiàn)象。DES算法的應(yīng)用誤區(qū)DES算法具有比較高安全性,到目前為止,除了用窮舉搜索法對(duì)DES算法進(jìn)行攻擊外,還沒(méi)有發(fā)現(xiàn)更有效的辦法。而56位長(zhǎng)的密鑰的窮舉空間為256,這意味著如果一臺(tái)計(jì)算機(jī)的速度是每一秒種檢測(cè)一百萬(wàn)個(gè)密鑰,則它搜索完全部密鑰就需要將近2285年的時(shí)間,可見(jiàn),這是難以實(shí)現(xiàn)的,當(dāng)然,隨著科學(xué)技術(shù)的發(fā)展,當(dāng)出現(xiàn)超高速計(jì)算機(jī)后,我們可考慮把DES密鑰的長(zhǎng)度再增長(zhǎng)一些,以此來(lái)達(dá)到更高的保密程度。2.4.3三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)(3DES)2.4.4高級(jí)加密標(biāo)準(zhǔn)(AES)由于DES存在的缺陷出現(xiàn)了3DES,但3DES在應(yīng)用中也難以避免類似于DES的厄運(yùn)。為此,美國(guó)標(biāo)準(zhǔn)和技術(shù)委員會(huì)(NIST)于1997年開(kāi)始向世界各地的研究人員發(fā)起邀請(qǐng),征集一個(gè)新的加密標(biāo)準(zhǔn)方案,這個(gè)方案就是高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,AES)。該加密標(biāo)準(zhǔn)要求具有以下的功能特點(diǎn):·必須是一個(gè)對(duì)稱加密算法?!け仨毠_(kāi)所有的算法設(shè)計(jì)?!け仨氈С?28、192和256bit密鑰長(zhǎng)度。·可同時(shí)支持軟件和硬件兩種實(shí)現(xiàn)方式。1.AES的特點(diǎn)
1998年8月,NIST根據(jù)對(duì)算法的安全性、效率、簡(jiǎn)單性、靈活性和內(nèi)存需求等方面的綜合考慮,從收到的15個(gè)提案中確定了其中5個(gè)方案。通過(guò)對(duì)這5個(gè)方案的無(wú)記名投票表決,于2001年10月確定了Rijndael作為美國(guó)政府標(biāo)準(zhǔn),并作為聯(lián)邦信息處理標(biāo)準(zhǔn)FIPS197被正式發(fā)表。在Rijndael中,密鑰長(zhǎng)度和數(shù)據(jù)塊長(zhǎng)度可以單獨(dú)選擇,之間沒(méi)有必然的聯(lián)系。密鑰和數(shù)據(jù)塊的長(zhǎng)度以32bit為間隔遞增,從128bit到256bit之間。在具體實(shí)施中,AES一般有兩種方案:一種是數(shù)據(jù)塊為128bit,而密鑰也為128bit;一種是數(shù)據(jù)塊為128bit,而密鑰為256bit。而原定的192bit的密鑰幾乎不使用。
與DES一樣,AES也是一種迭代分組密碼,同樣使用了多輪置換和替換操作,并且操作是可逆的。但與DES不同的是,AES算法不是Feistel密碼結(jié)構(gòu),AES的操作輪數(shù)在10~14之間。其中當(dāng)數(shù)據(jù)塊和密鑰都為128bit時(shí),輪數(shù)為10;隨著數(shù)據(jù)塊和密鑰長(zhǎng)度的增加,操作輪數(shù)也會(huì)隨之增加,最大值為14。不過(guò),在每一次操作中,DES是直接以bit為單位,而在AES中則以8bit的字節(jié)為單位。這樣做的目的是便于通過(guò)硬件和軟件實(shí)現(xiàn)。AES的每一輪操作包括4個(gè)函數(shù):·ByteSub(字節(jié)替換):用一張稱為S盒子的固定表來(lái)執(zhí)行字節(jié)到字節(jié)的替換?!hiftRow(行移位置換):行與行之間執(zhí)行簡(jiǎn)單的置換?!ixColumn(列混淆替換):列中的每一個(gè)字節(jié)替換成該列所有字節(jié)的一個(gè)函數(shù)?!ddRoundKey(輪密鑰加):用當(dāng)前的數(shù)據(jù)塊與擴(kuò)充密鑰的一部分進(jìn)行簡(jiǎn)單的XOR運(yùn)算。以上個(gè)函數(shù)中,具體為1次置換3次替換。2.4.5其他分組密碼算法
在分組密碼算法中,本書(shū)重點(diǎn)介紹了DES、3DES和AES。除此之外,本節(jié)將簡(jiǎn)要介紹幾種重要的分組密碼算法。1.國(guó)際數(shù)據(jù)加密算法(IDEA)
DES加密標(biāo)準(zhǔn)的出現(xiàn)在密碼學(xué)上具有劃時(shí)代的意義,但比DES更安全的加密算法也在不斷出現(xiàn),除3DES外,另一個(gè)對(duì)稱加密系統(tǒng)是國(guó)際數(shù)據(jù)加密算法(InternationalDataEncryptionAlgorithm,IDEA)。IDEA的明文和密文都是64位,但密鑰長(zhǎng)度為128位,因而更加安全。IDEA和DES相似,也是先將明文劃分為一個(gè)個(gè)64位的數(shù)據(jù)塊,然后經(jīng)過(guò)8輪編碼和一次替換,得出64位的密文。同時(shí),對(duì)于每一輪的編碼,每一個(gè)輸出位都與每一個(gè)輸入位有關(guān)。IDEA比DES的加密性好,加密和解密的運(yùn)算速度很快,無(wú)論是軟件還是硬件,實(shí)現(xiàn)起來(lái)都比較容易。2.RC5/RC6
RC5和RC6分組密碼算法是由MIT(麻省理工學(xué)院)的RonRivest于1994年提出的,并由RSA實(shí)驗(yàn)室對(duì)其性能進(jìn)行分析。RC5適合于硬件和軟件實(shí)現(xiàn),只使用在微處理上。RC5的設(shè)計(jì)特性為:(1)快速。RC5是面向字的,在基本操作中每次對(duì)數(shù)據(jù)的整個(gè)字進(jìn)行處理。(2)適用于不同字長(zhǎng)的處理器。一個(gè)字中的位數(shù)作為RC5的一個(gè)參數(shù),不同的字長(zhǎng)使用不同的算法。(3)可變的循環(huán)次數(shù)。循環(huán)次數(shù)是RC5的另一個(gè)參數(shù),這個(gè)參數(shù)使RC5可以在更高的速度和更高的安全性之間進(jìn)行折衷選擇。(4)可變長(zhǎng)度的密鑰。密鑰長(zhǎng)度是RC5的第3個(gè)參數(shù),這個(gè)參數(shù)可以用來(lái)在更高的速度和更高的安全性之間進(jìn)行折衷選擇。(5)結(jié)構(gòu)簡(jiǎn)單。RC5的結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),并簡(jiǎn)化了確定算法的操作強(qiáng)度。(6)內(nèi)存要求低。由于RC5算法對(duì)設(shè)備內(nèi)存的要求很低,所以可以應(yīng)用在智能卡等有限內(nèi)存的設(shè)備上。(7)大量使用數(shù)據(jù)依賴循環(huán)。RC5中移位的位數(shù)依賴于數(shù)據(jù)的循環(huán)操作,以加強(qiáng)算法對(duì)密碼分析的抵抗能力。2.5非對(duì)稱加密
非對(duì)稱加密也稱為公鑰加密。在對(duì)稱加密系統(tǒng)中,加密和解密的雙方使用的是相同的密鑰。在實(shí)際情況下,怎么才能實(shí)現(xiàn)加密和解密的密鑰一致呢?一般有兩種方式:事先約定和用信使來(lái)傳送。如果加密和解密的雙方對(duì)密鑰進(jìn)行了事先約定,就會(huì)給密鑰的管理和更換帶來(lái)極大的不便;如果使用信使來(lái)傳送密鑰,很顯然是不安全的。另一種可行的方法是通過(guò)密鑰分配中心(KeyDistributionCenter,KDC)來(lái)管理密鑰,這種方法雖然安全性較高,但所需要的成本也會(huì)增大。而非對(duì)稱加密可以解決此問(wèn)題。2.5.1非對(duì)稱加密概述非對(duì)稱加密中使用的公開(kāi)密鑰(或公鑰密鑰)的概念是在解決對(duì)稱加密的單密碼方式中最難解決的兩個(gè)問(wèn)題時(shí)提出的,這兩個(gè)問(wèn)題是:密鑰分配和數(shù)字簽名。在使用單鑰密碼進(jìn)行加密通信時(shí),對(duì)于密鑰的分配和管理一般有兩種方式:一種是通信雙方擁有一個(gè)共享的密鑰;另一種是借助于一個(gè)密鑰分配中心。在非對(duì)稱加密體系中,密鑰被分解為一對(duì),即公開(kāi)密鑰和私有密鑰。這對(duì)密鑰中的任何一把都可以作為公開(kāi)密鑰(加密密鑰)通過(guò)非保密方式向他人公開(kāi),而另一把作為私有密鑰(解密密鑰)加以保存。在加密系統(tǒng)中,公開(kāi)密鑰用于加密,私有密鑰用于解密。私有密鑰只能由生成密鑰的交換方掌握,公開(kāi)密鑰可廣泛公布,但它只對(duì)應(yīng)于生成密鑰的交換方。非對(duì)稱加密算法具有如下的特點(diǎn):·用公開(kāi)密鑰加密的數(shù)據(jù)(消息),只有使用相應(yīng)的私有密鑰才能解密。這一過(guò)程稱為加密;·同樣,使用私用密鑰加密的數(shù)據(jù)(消息),也只有相應(yīng)的公開(kāi)密鑰才能解密。這一過(guò)程稱為數(shù)字簽名。如圖2-15所示,如果某一用戶要給用戶A發(fā)送一個(gè)數(shù)據(jù),這時(shí)該用戶會(huì)在公開(kāi)的密鑰中找到與用戶A所擁有的私有密鑰對(duì)應(yīng)的一個(gè)公開(kāi)密鑰,然后用此公開(kāi)密對(duì)數(shù)據(jù)進(jìn)行加密后發(fā)送到網(wǎng)絡(luò)中傳輸。用戶A在接收到密文后便通過(guò)自己的私有密鑰進(jìn)行解密,因?yàn)閿?shù)據(jù)的發(fā)送方使用接收方的公開(kāi)密鑰來(lái)加密數(shù)據(jù),所以只有用戶A才能夠讀懂該密文。當(dāng)其他用戶獲得該密文明,因?yàn)樗麄儧](méi)有加密該信息的公開(kāi)密鑰對(duì)應(yīng)的私有密鑰,所以無(wú)法讀懂該密文。圖2-15非對(duì)稱密鑰的加密和解密過(guò)程
非對(duì)稱加密方式可以使通信雙方無(wú)須事先交換密鑰就可以建立安全通信,廣泛應(yīng)用于身份認(rèn)證、數(shù)字簽名等信息交換領(lǐng)域。公開(kāi)密鑰體系是基于“單向陷門函數(shù)”的,即一個(gè)函數(shù)正向計(jì)算是很容易的,但是反向計(jì)算則是非常困難的。陷門的目的是確保攻擊者不能使用公開(kāi)的信息得出秘密的信息。例如,計(jì)算兩個(gè)質(zhì)數(shù)p和q的乘積n=pq是很容易的,但是要分解已知的n成為p和q是非常困難的。2.5.2RSA
RSA算法是Rivest、Shamir和Adleman于1977年提出的第一個(gè)完善的公開(kāi)密鑰算法(RSA即三個(gè)發(fā)明人名字的第一個(gè)字母),其安全性是基于分解大整數(shù)的困難性。在RSA算法中使用了這樣一個(gè)基本事實(shí):到目前為止,無(wú)法找到一個(gè)有效的算法來(lái)分解兩個(gè)大質(zhì)數(shù)之積。RSA算法的安全性RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因?yàn)闆](méi)有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無(wú)須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價(jià)于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法?,F(xiàn)在,人們已能分解多個(gè)十進(jìn)制位的大素?cái)?shù)。因此,模數(shù)n必須選大一些,因具體適用情況而定
PGP加密技術(shù)PGP(PrettyGoodPrivacy)加密技術(shù)是一個(gè)基于RSA公鑰加密體系的郵件加密軟件,提出了公共鑰匙或不對(duì)稱文件的加密技術(shù)。PGP簡(jiǎn)介PGP加密技術(shù)的創(chuàng)始人是美國(guó)的PhilZimmermann。他的創(chuàng)造性把把RSA公鑰體系和傳統(tǒng)加密體系的結(jié)合起來(lái),并且在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制上有巧妙的設(shè)計(jì),因此PGP成為目前幾乎最流行的公鑰加密軟件包。由于RSA算法計(jì)算量極大,在速度上不適合加密大量數(shù)據(jù),所以PGP實(shí)際上用來(lái)加密的不是RSA本身,而是采用傳統(tǒng)加密算法IDEA,IDEA加解密的速度比RSA快得多。PGP隨機(jī)生成一個(gè)密鑰,用IDEA算法對(duì)明文加密,然后用RSA算法對(duì)密鑰加密。收件人同樣是用RSA解出隨機(jī)密鑰,再用IEDA解出原文。這樣的鏈?zhǔn)郊用芗扔蠷SA算法的保密性(Privacy)和認(rèn)證性(Authentication),又保持了IDEA算法速度快的優(yōu)勢(shì)。PGP加密軟件PGP加密軟件最新版本是8.0.2,使用PGP8.0.2i可以簡(jiǎn)潔而高效地實(shí)現(xiàn)郵件或者文件的加密、數(shù)字簽名。PGP8.0.2的安裝界面如圖所示。下面的幾步全面采用默認(rèn)的安裝設(shè)置,因?yàn)槭堑谝淮伟惭b,所以在用戶類型對(duì)話框中選擇“No,IamaNewUser”,如圖所示。根據(jù)需要選擇安裝的組件,一般根據(jù)默認(rèn)選項(xiàng)就可以了:“PGPdiskVolumeSecurity”的功能是提供磁盤文件系統(tǒng)的安全性;“PGPmailforMicrosoftOutlook/OutlookExpress”提供郵件的加密功能。如圖所示。案例使用PGP產(chǎn)生密鑰因?yàn)樵谟脩纛愋蛯?duì)話框中選擇了“新用戶”,在計(jì)算機(jī)啟動(dòng)以后,自動(dòng)提示建立PGP密鑰,如圖8-20所示。點(diǎn)擊按鈕“下一步”,在用戶信息對(duì)話框中輸入相應(yīng)的姓名和電子郵件地址,如圖所示。在PGP密碼輸入框中輸入8位以上的密碼并確認(rèn),如圖所示。然后PGP會(huì)自動(dòng)產(chǎn)生PGP密鑰,生成的密鑰如圖所示。案例使用PGP加密文件使用PGP可以加密本地文件,右擊要加密的文件,選擇PGP菜單項(xiàng)的菜單“Encrypt”,如圖所示。系統(tǒng)自動(dòng)出現(xiàn)對(duì)話框,讓用戶選擇要使用的加密密鑰,選中一個(gè)密鑰,點(diǎn)擊按鈕“OK”,如圖所示。目標(biāo)文件被加密了,在當(dāng)前目錄下自動(dòng)產(chǎn)生一個(gè)新的文件,如圖所示。打開(kāi)加密后的文件時(shí),程序自動(dòng)要求輸入密碼,輸入建立該密鑰時(shí)的密碼。如圖所示。案例
使用PGP加密郵件PGP的主要功能是加密郵件,安裝完畢后,PGP自動(dòng)和Outlook或者OutlookExpress關(guān)聯(lián)。和OutlookExpress關(guān)聯(lián)如圖所示。利用Outlook建立郵件,可以選擇利用PGP進(jìn)行加密和簽名,如圖所示。2.5.3其他非對(duì)稱加密算法混合加密算法混合加密體制實(shí)際網(wǎng)絡(luò)多采用雙鑰和單鑰密碼相結(jié)合的混合加密體制,即加解密時(shí)采用單鑰密碼,密鑰傳送則采用雙鑰密碼。這樣既解決了密鑰管理的困難,又解決了加、解密速度的問(wèn)題。2.6數(shù)字簽名2.6.1數(shù)字簽名的概念和要求數(shù)字簽名(digitalsignature)在TS07498-2標(biāo)準(zhǔn)中的定義為:“附加在數(shù)據(jù)單元上的一些數(shù)據(jù),或是對(duì)數(shù)據(jù)單元所作的密碼變換。這種數(shù)據(jù)和變換允許數(shù)據(jù)單元的接收者用以確認(rèn)數(shù)據(jù)單元來(lái)源和數(shù)據(jù)單元的完整性,并保護(hù)數(shù)據(jù),防止被人(例如接收者)進(jìn)行偽造”。數(shù)字簽名必須同時(shí)滿足以下的要求:·發(fā)送者事后不能否認(rèn)對(duì)報(bào)文的簽名;·接收者能夠核實(shí)發(fā)送者發(fā)送的報(bào)文簽名;·接收者不能偽造發(fā)送者的報(bào)文簽名;·接收者不能對(duì)發(fā)送者的報(bào)文進(jìn)行部分篡改;·網(wǎng)絡(luò)中的其他用戶不能冒充成為報(bào)文的接收者或發(fā)送者。數(shù)字簽名是實(shí)現(xiàn)安全認(rèn)證的重要工具和手段,它能夠提供身份認(rèn)證、數(shù)據(jù)完整性、不可抵賴等安全服務(wù)。其中:·防冒充(偽造)。其他人不能偽造對(duì)消息的簽名,因?yàn)樗接忻荑€只有簽名者自己知道和擁有,所以其他人不可能構(gòu)造出正確的簽名數(shù)據(jù)?!た设b別身份。接收者使用發(fā)送者的公開(kāi)密鑰對(duì)簽名報(bào)文進(jìn)行解密運(yùn)算,并證明對(duì)方身份是真實(shí)的?!し来鄹?。即防止破壞信息的完整性。簽名數(shù)據(jù)和原有文件經(jīng)過(guò)加密處理已形成了一個(gè)密文數(shù)據(jù),不可能被篡改,從而保證了數(shù)據(jù)的完整性?!し赖仲?。數(shù)字簽名可以鑒別身份,不可能冒充偽造。2.6.2利用對(duì)稱加密方式實(shí)現(xiàn)數(shù)字簽名在利用對(duì)稱加密方式實(shí)現(xiàn)數(shù)字簽名的過(guò)程中,需要一個(gè)大家共同依賴的權(quán)威機(jī)構(gòu)作為第三方。數(shù)字簽名的用戶都要向該權(quán)威機(jī)構(gòu)申請(qǐng)一個(gè)密鑰,這個(gè)密鑰在該系統(tǒng)中是唯一的,即唯一標(biāo)識(shí)了某一個(gè)用戶。當(dāng)權(quán)威機(jī)構(gòu)向用戶分配了密鑰后,將該密碼的副本保存在該機(jī)構(gòu)的數(shù)據(jù)庫(kù)中,用以識(shí)別用戶的真實(shí)性。
2.6.3利用非對(duì)稱加密方式實(shí)現(xiàn)數(shù)字簽名在利用對(duì)稱加密實(shí)現(xiàn)的數(shù)字簽名中,用戶必須依賴第三方的權(quán)威機(jī)構(gòu),所以權(quán)威機(jī)構(gòu)的可信任度是決定該方式能否正常使用的關(guān)鍵。然而,非對(duì)稱加密解決了這一問(wèn)題。利用非對(duì)稱加密方式實(shí)現(xiàn)數(shù)字簽名,主要是基于在加密和解密過(guò)程中D(E(P))=P和E(D(P))=P兩種方式的同時(shí)實(shí)現(xiàn),其中前面介紹的RSA算法就具有此功能。具體實(shí)現(xiàn)過(guò)程如圖2-18所示,首先發(fā)送方利用自己的私有密鑰對(duì)消息進(jìn)行加密(這次加密的目的是實(shí)現(xiàn)簽名),接著對(duì)經(jīng)過(guò)簽名的消息利用接收方的公開(kāi)密鑰再進(jìn)行加密(這次加密的目的是保證消息傳送的安全性)。這樣,經(jīng)過(guò)雙重加密后的消息(密文)通過(guò)網(wǎng)絡(luò)傳送到接收方。接收方在接收到密文后,首先利用接收方的私有密鑰進(jìn)行第一次解密(保證數(shù)據(jù)的完全性),接著再用發(fā)送方的公開(kāi)密鑰進(jìn)行第二次解密(鑒別簽名的真實(shí)性),最后得到明文。圖2-18具有保密功能的數(shù)字簽名實(shí)現(xiàn)過(guò)程現(xiàn)在Alice向Bob傳送數(shù)字信息,為了保證信息傳送的保密性、真實(shí)性、完整性和不可否認(rèn)性,需要對(duì)要傳送的信息進(jìn)行數(shù)字加密和數(shù)字簽名,其傳送過(guò)程為:1.Alice準(zhǔn)備好要傳送的數(shù)字信息(明文)。2.Alice對(duì)數(shù)字信息進(jìn)行哈希運(yùn)算,得到一個(gè)信息摘要。3.Alice用自己的私鑰對(duì)信息摘要進(jìn)行加密得到Alice的數(shù)字簽名,并將其附在數(shù)字信息上。4.Alice隨機(jī)產(chǎn)生一個(gè)加密密鑰,并用此密鑰對(duì)要發(fā)送的信息進(jìn)行加密,形成密文。5.Alice用Bob的公鑰對(duì)剛才隨機(jī)產(chǎn)生的加密密鑰進(jìn)行加密,將加密后的DES密鑰連同密文一起傳送給Bob6.Bob收到Alice傳送過(guò)來(lái)的密文和加過(guò)密的DES密鑰,先用自己的私鑰對(duì)加密的DES密鑰進(jìn)行解密,得到DES密鑰。7.Bob然后用DES密鑰對(duì)收到的密文進(jìn)行解密,得到明文的數(shù)字信息,然后將DES密鑰拋棄(即DES密鑰作廢)。8.Bob用Alice的公鑰對(duì)Alice的數(shù)字簽名進(jìn)行解密,得到信息摘要。9Bob用相同的hash算法對(duì)收到的明文再進(jìn)行一次hash運(yùn)算,得到一個(gè)新的信息摘要。10.Bob將收到的信息摘要和新產(chǎn)生的信息摘要進(jìn)行比較,如果一致,說(shuō)明收到的信息沒(méi)有被修改過(guò)。2.7報(bào)文鑒別報(bào)文鑒別(messageauthentication)是在信息
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版建筑工程安全措施費(fèi)用合同
- 急診護(hù)士工作計(jì)劃
- 五年級(jí)上冊(cè)音樂(lè)教學(xué)計(jì)劃模板合集五篇
- 教學(xué)管理教學(xué)總結(jié)
- 給朋友道歉信15篇
- 學(xué)法工作計(jì)劃合集七篇
- 新媒體營(yíng)銷(第三版) 課件 項(xiàng)目一 新媒體營(yíng)銷認(rèn)知
- 酒店的辭職報(bào)告模板八篇
- 川教版信息技術(shù)九年級(jí)上冊(cè)全冊(cè)教案
- 安防基礎(chǔ)知識(shí)培訓(xùn)(三星)
- 公安學(xué)基礎(chǔ)智慧樹(shù)知到期末考試答案章節(jié)答案2024年山東警察學(xué)院
- DB44-T 2480-2024 鋁及鋁合金深井鑄造安全技術(shù)規(guī)范
- 中醫(yī)適宜技術(shù)發(fā)展現(xiàn)狀
- 部編人教版四年級(jí)數(shù)學(xué)上冊(cè)期末考試卷(可打印)
- 一例阿爾茨海默病患者的護(hù)理查房
- 農(nóng)貿(mào)市場(chǎng)安全生產(chǎn)工作方案
- 咸陽(yáng)租房合同
- 《鋼筋保護(hù)層檢測(cè)》課件
- YJ-T 27-2024 應(yīng)急指揮通信保障能力建設(shè)規(guī)范
- 合伙人協(xié)議書(shū)決策機(jī)制
- 西藏畜牧獸醫(yī)知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論