電子商務(wù)安全技術(shù)實用教程第4章課件_第1頁
電子商務(wù)安全技術(shù)實用教程第4章課件_第2頁
電子商務(wù)安全技術(shù)實用教程第4章課件_第3頁
電子商務(wù)安全技術(shù)實用教程第4章課件_第4頁
電子商務(wù)安全技術(shù)實用教程第4章課件_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章加密與認(rèn)證技術(shù)4.1加密技術(shù)基礎(chǔ)4.2古典加密算法4.3對稱密碼體系4.4非對稱密碼體系4.5認(rèn)證技術(shù)第四章加密與認(rèn)證技術(shù)4.1加密技術(shù)基礎(chǔ)14.1加密技術(shù)基本理論4.1.1加密技術(shù)的起源與發(fā)展數(shù)據(jù)加密技術(shù)已經(jīng)有兩千多年的歷史了,古埃及人就用過象形文字來表述自己想要表達(dá)的意愿,但是隨著時代的進(jìn)步,古巴比倫和希臘都在用一些方法來開始保護(hù)他們的古文明和古文化。古典密碼:遠(yuǎn)古——1949年近代密碼:1949——1975年現(xiàn)代密碼:1976——至今4.1加密技術(shù)基本理論4.1.1加密技術(shù)的起源與發(fā)展2表4-1:密碼技術(shù)的發(fā)展歷程1949,ClaudeShannon’sTheCommunicationTheoryofSecrecySystem,成為理論基礎(chǔ)1949-1967,CryptographicLiteraturewasbarren1974,IBM:LucifferCipher,128位密鑰作分組加密1975,Diffie-Hellman,ANewDirectioninCryptography,首次提出適應(yīng)網(wǎng)絡(luò)保密通信的公開密鑰思想,揭開現(xiàn)代密碼學(xué)研究的序幕,具有劃時代的意義1976-1977,美國國家標(biāo)準(zhǔn)局正式公布實施DES,DataEncryptionStandard1977-1978,Rivest,Shamir,Adelman第一次提出公開密鑰密碼系統(tǒng)的實現(xiàn)方法RSA1981,成立InternationalAssociationforCryptologyResearch1985,ElGamal提出概率密碼系統(tǒng)ElGamal方法1990-1992,LaiXuejiaandJames:IDEA,TheInternationalDataEncryptionAlgorithm2000,AES,AdvancedEncryptionStandard表4-1:密碼技術(shù)的發(fā)展歷程1949,ClaudeSha34.1.2加密模型與密碼體制密碼體制的構(gòu)成包括以下要素:M:明文消息空間C:密文消息空間K:密鑰空間E:加密算法:C=E(m,ke)D:解密算法:M=D(C,kd)。4.1.2加密模型與密碼體制密碼體制的構(gòu)成包括以下要素:44.1.3密碼技術(shù)分類1.按時間分為古典密碼與近現(xiàn)代密碼密碼技術(shù)的發(fā)展為三個過程,最早期的古代密碼沒有一定的規(guī)律,還不能成為一門科學(xué),所以按照時間可以分為古典密碼和近現(xiàn)代密碼。2.按加密方式分為分組密碼與流密碼(1)分組密碼:取用明文的一個區(qū)塊和鑰匙,輸出相同大小的密文區(qū)塊(2)流密碼:流密碼也稱為序列密碼3.按密鑰方式分單鑰密碼與雙鑰密碼(1)單鑰體制:單鑰密碼體制也稱為對稱密碼體制(2)雙鑰體制:雙鑰體制也稱為非對稱密碼體制或公鑰體制(3)混合體制:采用雙鑰和單鑰密碼相結(jié)合的加密體制4.1.3密碼技術(shù)分類1.按時間分為古典密碼與近現(xiàn)代密碼5圖4-2序列密碼的工作原理圖4-2序列密碼的工作原理6圖4-3混合加密體制圖4-3混合加密體制74.1.4密碼學(xué)概述

密碼學(xué)作為數(shù)學(xué)的一個分支,是研究信息系統(tǒng)安全保密的科學(xué),是密碼編碼學(xué)和密碼分析學(xué)的統(tǒng)稱。(1)密碼編碼學(xué)密碼編碼學(xué)是使消息保密的技術(shù)和科學(xué)。密碼編碼學(xué)是密碼體制的設(shè)計學(xué),即怎樣編碼,采用什么樣的密碼體制保證信息被安全地加密。(2)密碼分析學(xué)密碼分析學(xué)是與密碼編碼學(xué)相對應(yīng)的技術(shù)和科學(xué),即研究如何破譯密文的科學(xué)和技術(shù)。密碼分析學(xué)是在未知密鑰的情況下從密文推演出明文或密鑰的技術(shù)。

常用的密碼分析攻擊有:唯密文攻擊、已知明文攻擊、選擇明文攻擊、自適應(yīng)選擇明文攻擊、選擇密文攻擊、軟磨硬泡攻擊等方法。4.1.4密碼學(xué)概述密碼學(xué)作為數(shù)學(xué)的一個分支,84.2古典密碼算法4.2.1古典密碼的基本思想也稱為傳統(tǒng)密碼技術(shù),一般是指在計算機(jī)出現(xiàn)之前所采用的密碼技術(shù)主要由文字信息構(gòu)成不同的密碼算法主要是由字符之間互相代換或互相之間換位所形成的算法。“替代”與“換位”主要有代碼加密、代替加密、變位加密、一次性密碼薄加密等4.2古典密碼算法4.2.1古典密碼的基本思想94.2.2古典密碼的分類與算法1.替代密碼(1)單表替代密碼單表替代密碼的一種典型方法是凱撒(Caesar)密碼,又叫循環(huán)移位密碼。它的加密方法就是把明文中所有字母都用它右邊的第k個字母替代,并認(rèn)為Z后邊又是A。這種映射關(guān)系表示為如下函數(shù): F(a)=(a+k)modn設(shè)k=3;對于明文P=COMPUTESYSTEMS則密文C=Ek(M)=FRPSXRWHUVBVWHPV。4.2.2古典密碼的分類與算法1.替代密碼10(2)多表替代密碼周期替代密碼是一種常用的多表替代密碼,又稱為維吉尼亞(Vigenere)密碼。這種替代法是循環(huán)的使用有限個字母來實現(xiàn)替代的一種方法。采用的算法為:f(a)=(a+Bi)modn

(i=(1,2,…,n))例如:以YOUR為密鑰,加密明碼文HOWAREYOU。

P

=HOWAREYOU

K

=YOURYOURY Ek(M)=FCQRPSSFS(2)多表替代密碼周期替代密碼是一種常用的多表替代密碼,又稱112.移位密碼(1)列換位法將明文字符分割成為五個一列的分組并按一組后面跟著另一組的形式排好。如明文是:WHATYOUCANLEARNFROMTHISBOOK密文則以下面的形式讀出: WOFHOHURIKACOSXTAMBXYNTOX2.移位密碼(1)列換位法將明文字符分割成為五個一列的分組122.移位密碼(2)矩陣換位法這種加密是把明文中的字母按給定的順序安排在一個矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。如將明文ENGINEERING按行排在3*4矩陣中,如下所示:給定一個置換:2.移位密碼(2)矩陣換位法這種加密是把明文中的字母按給定133.一次一密鑰密碼一次一密鑰密碼是指一個包括多個隨機(jī)密碼的密碼字母集,這些密碼就好像一個記事本,其中每頁上記錄一條密碼。例如,如果消息是:ONETIMEPAD,而取自亂碼本的密鑰序列是:TBFRGFARFM,那么密文就是:IPKLPSFHGQ,因為 (O+T)mod26=I (N+B)mod26=P (E+F)mod26=K …………。使用一次一密亂碼本需要注意的是:密鑰字母必須隨機(jī)產(chǎn)生、密鑰序列不能重復(fù)使用、盡管一次一密亂碼本不能破譯,但卻只能局限于某些應(yīng)用。3.一次一密鑰密碼一次一密鑰密碼是指一個包括多個隨機(jī)密碼的144.2.3轉(zhuǎn)輪機(jī)在20世紀(jì)20年代,人們發(fā)明了各種機(jī)械加密設(shè)備用來自動處理加密。轉(zhuǎn)輪機(jī)有一個鍵盤和一系列轉(zhuǎn)輪,它是維吉尼亞密碼的一種實現(xiàn)。第二次世界大戰(zhàn)期間由德國人使用恩尼格馬(Enigma)。4.2.3轉(zhuǎn)輪機(jī)在20世紀(jì)20年代,人們發(fā)明了各種機(jī)械加密154.3對稱密碼算法4.3.1對稱密碼算法基礎(chǔ)1.對稱密鑰密碼思想對稱密鑰密碼算法基本思想與傳統(tǒng)密鑰密碼算法類似,采用移位和置換的方法。在該算法中,加密密鑰和解密密鑰相同或相近,由其中一個很容易得出另一個,加密密鑰和解密密鑰都是保密的。2.Feistel密碼結(jié)構(gòu)1973年IBM公司的HorstFeistel描述了大部分的對稱塊密碼算法所具有的結(jié)構(gòu),其中包括DES。4.3對稱密碼算法4.3.1對稱密碼算法基礎(chǔ)163.數(shù)據(jù)加密標(biāo)準(zhǔn)的要求(1)必須提供高度的安全性;(2)具有相當(dāng)高的復(fù)雜性,使得破譯的開銷超過可能獲得的利益,同時又便于理解和掌握;(3)安全性應(yīng)不依賴于算法的保密,其加密的安全性僅以加密密鑰的保密為基礎(chǔ);(4)必須適用于不同的用戶和不同的場合;(5)實現(xiàn)算法的電子器件必須很經(jīng)濟(jì)、運行有效;(6)必須能夠驗證,允許出口。3.數(shù)據(jù)加密標(biāo)準(zhǔn)的要求(1)必須提供高度的安全性;174.3.2DES算法簡介1.DES算法概念與特點DES(DataEncryptionStandard,數(shù)據(jù)加密標(biāo)準(zhǔn))算法最初是由IBM公司所研制,于1977年由美國國家標(biāo)準(zhǔn)局頒布作為非機(jī)密數(shù)據(jù)的數(shù)據(jù)加密標(biāo)準(zhǔn),并在1981年由國際標(biāo)準(zhǔn)化組織作為國際標(biāo)準(zhǔn)頒布。DES是一個分組加密算法,它以64位為分組對數(shù)據(jù)加密。64位一組的明文從算法的一端輸入,64位的密文從另一端輸出。4.3.2DES算法簡介1.DES算法概念與特點182.DES對稱加密算法初始置換(InitialPermutation,IP)是對輸入的64位數(shù)據(jù)按照規(guī)定的矩陣改變數(shù)據(jù)位的排列順序的換位變換,此過程與密鑰無關(guān)。子密鑰生成是由64位外部輸入密鑰通過置換和移位操作生成加密和解密所需的16組(每組56位)子密鑰的過程。乘積變換過程非常復(fù)雜,是加密過程的關(guān)鍵。該過程通過16輪重復(fù)的替代、移位、異或和置換操作打亂原輸入數(shù)據(jù)。逆初始置換(IP-1)與初始置換過程相同,只是置換矩陣是初始置換的逆矩陣。2.DES對稱加密算法初始置換(InitialPermut19(1)初始置換(IP)5850423426181026052443628201246254463830214664564840322416857494133251791595143352719113615345372921135635547393123157(1)初始置換(IP)585042342618102605220(2)子密鑰生成(2)子密鑰生成21第1步:PC1變換57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124PC1變換。將56位密鑰按置換選擇1(PC-1)的規(guī)律(如表4-3)進(jìn)行置換,變換后分為左右兩路(C0、D0)各28位。第1步:PC1變換57494133251791585042322表4-4循環(huán)移位表輪12345678910111213141516位數(shù)1122222212222221表4-5PC2變換表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表4-4循環(huán)移位表輪123456789101112131423(3)乘積變換初始置換后的數(shù)據(jù)分為各32位的兩部分,左部分為L0,右部分為R0,這樣,L0=D58D50D12….D8,R0=D57D49D41…D7。乘積變換過程就是將L0和R0按照乘積變換運算公式進(jìn)行迭代運算,最后得出L16和R16。(3)乘積變換初始置換后的數(shù)據(jù)分為各32位的兩部分,左部分為24(3)乘積變換第1步:E變換。E變換是一個擴(kuò)展變換,其過程是將32位的數(shù)據(jù)Ri-1變換成48位第2步:異或變換。將E變換輸出的48位數(shù)據(jù)與48位的子密鑰Ki進(jìn)行異或運算,得到48位的S盒數(shù)據(jù)。第3步:S盒變換。將48位的S盒數(shù)據(jù)均分為8部分,每部分為6位,用8個S盒S1~S8表示。每個S盒的輸入為6位,變換后輸出為4位,即經(jīng)過8個S盒S1~S8變換后輸出為32位(3)乘積變換第1步:E變換。E變換是一個擴(kuò)展變換,其過程是25表4-6E變換表3212345456789891011121312131415161716171819202120212223242524252627282928293031321表4-6E變換表3212345456789891011126表4-7S1轉(zhuǎn)換表1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613圖4-8S盒變換表4-7S1轉(zhuǎn)換表144131215118310612527表4-8P盒置換表1672021291228171152326518311028241432273919133062211425第4步:P變換。P變換的過程是將S盒輸出的32位數(shù)據(jù)進(jìn)行位置變換得到一個新的32數(shù)據(jù)組,因此P變換為線性變換,其變換規(guī)則如表4-8所示。第5步:異或變換。P變換輸出的32位數(shù)據(jù)與32位的Li-1異或后輸出32位數(shù)據(jù),此數(shù)據(jù)就是Ri。

表4-8P盒置換表1672021291228171152328(4)逆初始置換(IP-1)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725(4)逆初始置換(IP-1)408481656246432329(6)DES算法的安全性DES被公認(rèn)為世界上第一個實用的密碼算法標(biāo)準(zhǔn)DES的缺點是密鑰位數(shù)太短(56位)算法的對稱性存在一些弱密鑰和半弱密鑰其安全性完全依賴于對密鑰的保護(hù)(6)DES算法的安全性DES被公認(rèn)為世界上第一個實用的密碼304.3.3其他對稱加密算法(1)TDEA算法TDEA(TripleDataEncryptionAlgorithm,三重DES)算法,其本質(zhì)和DES算法是一致的。它是為了解決DES算法密鑰過短的而出現(xiàn)的。在TDEA算法中,使用三個密鑰,執(zhí)行三次DES算法,該算法的總密鑰長度為168位(56位的三倍)。(2)AES算法AES(AdvancedEncryptionStandard,高級加密標(biāo)準(zhǔn))算法是一個非保密的、全球免費使用的分組加密算法,并被確定為替代DES的數(shù)據(jù)加密標(biāo)準(zhǔn)。Rijndael算法具有加密強(qiáng)度高、可抵御所有已知攻擊、運算速度快和靈活性好等特點,成為AES最合適的選擇。(3)IDEA算法IDEA(InternationalDataEncryptionAlgorithm,國際數(shù)據(jù)加密算法)是瑞士著名學(xué)者提出的。該算法是在DES算法的基礎(chǔ)上發(fā)展起來的,類似于三重DES,也是一種分組密碼算法,分組長度為64位,但密鑰長度為128位。該算法就是用128位密鑰對64位二進(jìn)制碼數(shù)據(jù)進(jìn)行加密的,同樣用128位密鑰對64位密文進(jìn)行解密變換。4.3.3其他對稱加密算法(1)TDEA算法31表4-9對稱密鑰加密算法比較算法名稱密鑰長度(位)分組長度(位)循環(huán)運算次數(shù)DES566416TDEA112、1686448AES128、192、25612810、12、14IDEA128648表4-9對稱密鑰加密算法比較算法名稱密鑰長度(位)分組長度324.4非對稱密碼算法4.4.1非對稱密碼的思想非對稱密鑰密碼算法也叫做公開密鑰密碼算法。在該算法中,信息發(fā)送方和接收方所使用的密鑰是不同的,即加密密鑰與解密密鑰不同,且由其中的一個很難導(dǎo)出另一個。公鑰密碼體制應(yīng)滿足以下要求:(1)對任意明文進(jìn)行加密變換是很容易的,并且若知道解密密鑰,那么對密文的解密也是很容易的;(2)信息的發(fā)送方對任意明文進(jìn)行加密變換后,接收方進(jìn)行解密變換就可以得到明文;(3)若不知道解密密鑰,那么即使知道加密密鑰,具體的加密與解密算法以及密文,確定明文在計算上也是不可行的。4.4非對稱密碼算法4.4.1非對稱密碼的思想334.4.2RSA算法1.RSA算法的原理RSA因其發(fā)明人RonaldL.Rivest、AdiShamir和LeonardM.Adleman而得名。RSA的基礎(chǔ)是數(shù)論的歐拉定理,它的安全性依賴于大數(shù)的因數(shù)。RSA算法研制的最初理念與目標(biāo)是努力使互聯(lián)網(wǎng)安全可靠,旨在解決DES算法的秘密密鑰利用公開信道傳輸分發(fā)不安全的問題。RSA是第一個比較完善的公開密鑰算法,它既能用于加密也能用于數(shù)字簽名。4.4.2RSA算法1.RSA算法的原理342.RSA算法的過程

(1)隨機(jī)地選取兩個不同的大素數(shù)p和q(一般為100位以上的十進(jìn)制數(shù))予以保密;(2)計算n=p·q,作為A的公開模數(shù);(3)計算Euler函數(shù):

φ(n)=(p-1)·(q-1)(4)隨機(jī)地選取一個與φ(n)互素的整數(shù)e,作為A的公開密鑰;(5)用歐幾里德算法,計算滿足同余方程e?d≡1(modφ(n))

的解d,作為A用戶的保密密鑰;(6)任何向A發(fā)送明文的用戶,均可用A的公開密鑰e和公開模數(shù)n,根據(jù)式C=Me(modn)

得到密文C(7)用戶A收到C后,可利用自己的保密密鑰d,根據(jù)M=Cd(modn)

得到明文M2.RSA算法的過程

(1)隨機(jī)地選取兩個不同的大素數(shù)p和353.RSA算法實例:對“HI”進(jìn)行加密(1)選密鑰

設(shè)p=5,q=11,

則n=55,φ(n)=40

取e=3,公鑰(3,55)3dmod40=1則d=27,私鑰(27,55)(2)加密設(shè)明文編碼為:

空格=00,A=01,B=02,…,Z=26則明文HI=0809C1=(08)3(mod55)=512(mod55)=17C2=(09)3(mod55)=729(mod55)=14N=14,Q=17所以,密文為QN(3)恢復(fù)明文M1=Cd(mod55)=(17)27(mod55)=08M2=Cd(mod55)=(14)27(mod55)=09因此明文為“HI”。3.RSA算法實例:對“HI”進(jìn)行加密(1)選密鑰(3)363.RSA算法的安全性RSA算法的安全性建立在難于對大數(shù)進(jìn)行質(zhì)因數(shù)分解的基礎(chǔ)上,因此大數(shù)n是否能夠被分解是RSA算法安全的關(guān)鍵。由于用RSA算法進(jìn)行的都是大數(shù)運算,使得RSA算法無論是用軟件實現(xiàn)還是硬件實現(xiàn),其速度要比DES慢得多。因此,RSA算法一般只用于加密少量數(shù)據(jù)。RSA的發(fā)明者Rivest、Shamir和Adleman建議取p和q為100位以上的十進(jìn)制數(shù),這樣,n為200位的十進(jìn)制數(shù)。按每秒109次運算的高速計算機(jī)也要計算106年。3.RSA算法的安全性RSA算法的安全性建立在難于對大數(shù)進(jìn)374.4.3其他非對稱密碼算法4.4.3其他非對稱密碼算法384.5認(rèn)證技術(shù)4.5.1認(rèn)證技術(shù)概述1.認(rèn)證技術(shù)的概念所謂“認(rèn)證”即確認(rèn)和證實,一般是為了確認(rèn)身份的真實性和信息的有效性而采取的一些方法。同樣的在網(wǎng)絡(luò)環(huán)境中,認(rèn)證技術(shù)是信息安全中的一個重要內(nèi)容,也是電子商務(wù)安全的重要保障。認(rèn)證主要采用對稱密碼、公鑰加密、散列函數(shù)等技術(shù)為電子商務(wù)活動中的信息完整性和不可否認(rèn)性以及電子商務(wù)實體的身份真實性提供技術(shù)保障。4.5認(rèn)證技術(shù)4.5.1認(rèn)證技術(shù)概述394.5.1認(rèn)證技術(shù)概述2.認(rèn)證技術(shù)的分類從鑒別對象上,認(rèn)證技術(shù)分為消息認(rèn)證和用戶身份認(rèn)證:(1)消息認(rèn)證:用于保證信息來源的證實性和信息內(nèi)容的完整性和不可否認(rèn)性。(2)身份認(rèn)證:鑒別用戶身份。包括識別和驗證兩部分3.消息認(rèn)證的目的(1)消息內(nèi)容認(rèn)證(2)消息的源和宿認(rèn)證(3)消息序號和操作時間的認(rèn)證4.5.1認(rèn)證技術(shù)概述2.認(rèn)證技術(shù)的分類404.身份認(rèn)證的方法(1)用戶名及密碼方式(2)智能卡認(rèn)證(3)動態(tài)令牌認(rèn)證(4)身份認(rèn)證系統(tǒng)(5)USBKey認(rèn)證(6)生物識別技術(shù)4.身份認(rèn)證的方法(1)用戶名及密碼方式414.5.2消息驗證碼技術(shù)1.消息驗證碼MAC消息驗證碼MAC(MessageAuthentication),是用來保證數(shù)據(jù)完整性的一種方法。MAC算法以密鑰K(K是收、發(fā)雙方共享的密鑰)和變長消息M作為輸入,計算出一個定長的函數(shù)值MAC=Ck(M),稱為消息認(rèn)證碼或密碼校驗和。4.5.2消息驗證碼技術(shù)1.消息驗證碼MAC423.常用的散列算法散列函數(shù)是公開的,對處理的過程不用保密,它的安全性來源于它的單向性。目前,常用的散列算法主要有MD5、SHA-1和RIPEMD-160。我國山東大學(xué)王小云教授等于2004年8月在美國加州召開的國際密碼大會上所做的Hash函數(shù)研究報告中指出,她們已成功破譯了MD4、MD5、HAVAL-128、RIPEMD-128等Hash算法。3.常用的散列算法散列函數(shù)是公開的,對處理的過程不用保密,434.5.3數(shù)字簽名技術(shù)1.數(shù)字簽名的概念數(shù)字簽名(DigitalSignature)又稱公鑰簽名或電子簽章,是以電子形式存儲于信息中或以附件或邏輯上與之有聯(lián)系的數(shù)據(jù),用于辨識數(shù)據(jù)簽署人的身份,并表明簽署人對數(shù)據(jù)中所包含信息的認(rèn)可。數(shù)字簽名的特點:①簽名是可以被確認(rèn)的②簽名是不可偽造的③簽名不可重用④簽名是不可抵賴的⑤簽名的信息不能篡改4.5.3數(shù)字簽名技術(shù)1.數(shù)字簽名的概念44圖4-12直接簽名與驗證的工作原理圖4-12直接簽名與驗證的工作原理45表4-10直接簽名與可仲裁簽名的特點名稱具體實現(xiàn)優(yōu)點缺點直接數(shù)字簽名體制發(fā)送者先對要簽名的消息進(jìn)行Hash處理,再用私鑰對得到的驗證碼進(jìn)行加密思想簡單可行且易于實現(xiàn)有效性依賴于簽名者私鑰的安全性可仲裁的數(shù)字簽名體制發(fā)送方先對消息執(zhí)行簽名操作,再將簽名和被簽消息一起發(fā)給仲裁者,仲裁者對其進(jìn)行驗證,通過驗證的簽名保證了其真實性,最后將消息和簽名發(fā)送給接收者。簽名者沒有作弊的機(jī)會,簽名不能被偽造更復(fù)雜,仲裁可能成為系統(tǒng)的瓶頸,仲裁者必須公正可信。表4-10直接簽名與可仲裁簽名的特點名稱具體實現(xiàn)優(yōu)點缺點直46本章小結(jié)古典密碼常見的算法有:簡單代替密碼或單字母密碼、多名或同音代替、多表代替,以及多字母或多碼代替等?,F(xiàn)代密碼主要分為單鑰密碼體制和雙鑰密碼體制兩類最有影響的單鑰密碼是DES算法和IDEA算法優(yōu)秀的雙鑰算法有基于素數(shù)因子分解問題的RSA算法和基于離散對數(shù)問題的ElGamal算法在認(rèn)證技術(shù)領(lǐng)域,通過使用密碼手段,一般可以實現(xiàn)消息認(rèn)證和身份認(rèn)證。本章小結(jié)古典密碼常見的算法有:簡單代替密碼或單字母密碼、多名47第四章加密與認(rèn)證技術(shù)4.1加密技術(shù)基礎(chǔ)4.2古典加密算法4.3對稱密碼體系4.4非對稱密碼體系4.5認(rèn)證技術(shù)第四章加密與認(rèn)證技術(shù)4.1加密技術(shù)基礎(chǔ)484.1加密技術(shù)基本理論4.1.1加密技術(shù)的起源與發(fā)展數(shù)據(jù)加密技術(shù)已經(jīng)有兩千多年的歷史了,古埃及人就用過象形文字來表述自己想要表達(dá)的意愿,但是隨著時代的進(jìn)步,古巴比倫和希臘都在用一些方法來開始保護(hù)他們的古文明和古文化。古典密碼:遠(yuǎn)古——1949年近代密碼:1949——1975年現(xiàn)代密碼:1976——至今4.1加密技術(shù)基本理論4.1.1加密技術(shù)的起源與發(fā)展49表4-1:密碼技術(shù)的發(fā)展歷程1949,ClaudeShannon’sTheCommunicationTheoryofSecrecySystem,成為理論基礎(chǔ)1949-1967,CryptographicLiteraturewasbarren1974,IBM:LucifferCipher,128位密鑰作分組加密1975,Diffie-Hellman,ANewDirectioninCryptography,首次提出適應(yīng)網(wǎng)絡(luò)保密通信的公開密鑰思想,揭開現(xiàn)代密碼學(xué)研究的序幕,具有劃時代的意義1976-1977,美國國家標(biāo)準(zhǔn)局正式公布實施DES,DataEncryptionStandard1977-1978,Rivest,Shamir,Adelman第一次提出公開密鑰密碼系統(tǒng)的實現(xiàn)方法RSA1981,成立InternationalAssociationforCryptologyResearch1985,ElGamal提出概率密碼系統(tǒng)ElGamal方法1990-1992,LaiXuejiaandJames:IDEA,TheInternationalDataEncryptionAlgorithm2000,AES,AdvancedEncryptionStandard表4-1:密碼技術(shù)的發(fā)展歷程1949,ClaudeSha504.1.2加密模型與密碼體制密碼體制的構(gòu)成包括以下要素:M:明文消息空間C:密文消息空間K:密鑰空間E:加密算法:C=E(m,ke)D:解密算法:M=D(C,kd)。4.1.2加密模型與密碼體制密碼體制的構(gòu)成包括以下要素:514.1.3密碼技術(shù)分類1.按時間分為古典密碼與近現(xiàn)代密碼密碼技術(shù)的發(fā)展為三個過程,最早期的古代密碼沒有一定的規(guī)律,還不能成為一門科學(xué),所以按照時間可以分為古典密碼和近現(xiàn)代密碼。2.按加密方式分為分組密碼與流密碼(1)分組密碼:取用明文的一個區(qū)塊和鑰匙,輸出相同大小的密文區(qū)塊(2)流密碼:流密碼也稱為序列密碼3.按密鑰方式分單鑰密碼與雙鑰密碼(1)單鑰體制:單鑰密碼體制也稱為對稱密碼體制(2)雙鑰體制:雙鑰體制也稱為非對稱密碼體制或公鑰體制(3)混合體制:采用雙鑰和單鑰密碼相結(jié)合的加密體制4.1.3密碼技術(shù)分類1.按時間分為古典密碼與近現(xiàn)代密碼52圖4-2序列密碼的工作原理圖4-2序列密碼的工作原理53圖4-3混合加密體制圖4-3混合加密體制544.1.4密碼學(xué)概述

密碼學(xué)作為數(shù)學(xué)的一個分支,是研究信息系統(tǒng)安全保密的科學(xué),是密碼編碼學(xué)和密碼分析學(xué)的統(tǒng)稱。(1)密碼編碼學(xué)密碼編碼學(xué)是使消息保密的技術(shù)和科學(xué)。密碼編碼學(xué)是密碼體制的設(shè)計學(xué),即怎樣編碼,采用什么樣的密碼體制保證信息被安全地加密。(2)密碼分析學(xué)密碼分析學(xué)是與密碼編碼學(xué)相對應(yīng)的技術(shù)和科學(xué),即研究如何破譯密文的科學(xué)和技術(shù)。密碼分析學(xué)是在未知密鑰的情況下從密文推演出明文或密鑰的技術(shù)。

常用的密碼分析攻擊有:唯密文攻擊、已知明文攻擊、選擇明文攻擊、自適應(yīng)選擇明文攻擊、選擇密文攻擊、軟磨硬泡攻擊等方法。4.1.4密碼學(xué)概述密碼學(xué)作為數(shù)學(xué)的一個分支,554.2古典密碼算法4.2.1古典密碼的基本思想也稱為傳統(tǒng)密碼技術(shù),一般是指在計算機(jī)出現(xiàn)之前所采用的密碼技術(shù)主要由文字信息構(gòu)成不同的密碼算法主要是由字符之間互相代換或互相之間換位所形成的算法。“替代”與“換位”主要有代碼加密、代替加密、變位加密、一次性密碼薄加密等4.2古典密碼算法4.2.1古典密碼的基本思想564.2.2古典密碼的分類與算法1.替代密碼(1)單表替代密碼單表替代密碼的一種典型方法是凱撒(Caesar)密碼,又叫循環(huán)移位密碼。它的加密方法就是把明文中所有字母都用它右邊的第k個字母替代,并認(rèn)為Z后邊又是A。這種映射關(guān)系表示為如下函數(shù): F(a)=(a+k)modn設(shè)k=3;對于明文P=COMPUTESYSTEMS則密文C=Ek(M)=FRPSXRWHUVBVWHPV。4.2.2古典密碼的分類與算法1.替代密碼57(2)多表替代密碼周期替代密碼是一種常用的多表替代密碼,又稱為維吉尼亞(Vigenere)密碼。這種替代法是循環(huán)的使用有限個字母來實現(xiàn)替代的一種方法。采用的算法為:f(a)=(a+Bi)modn

(i=(1,2,…,n))例如:以YOUR為密鑰,加密明碼文HOWAREYOU。

P

=HOWAREYOU

K

=YOURYOURY Ek(M)=FCQRPSSFS(2)多表替代密碼周期替代密碼是一種常用的多表替代密碼,又稱582.移位密碼(1)列換位法將明文字符分割成為五個一列的分組并按一組后面跟著另一組的形式排好。如明文是:WHATYOUCANLEARNFROMTHISBOOK密文則以下面的形式讀出: WOFHOHURIKACOSXTAMBXYNTOX2.移位密碼(1)列換位法將明文字符分割成為五個一列的分組592.移位密碼(2)矩陣換位法這種加密是把明文中的字母按給定的順序安排在一個矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。如將明文ENGINEERING按行排在3*4矩陣中,如下所示:給定一個置換:2.移位密碼(2)矩陣換位法這種加密是把明文中的字母按給定603.一次一密鑰密碼一次一密鑰密碼是指一個包括多個隨機(jī)密碼的密碼字母集,這些密碼就好像一個記事本,其中每頁上記錄一條密碼。例如,如果消息是:ONETIMEPAD,而取自亂碼本的密鑰序列是:TBFRGFARFM,那么密文就是:IPKLPSFHGQ,因為 (O+T)mod26=I (N+B)mod26=P (E+F)mod26=K …………。使用一次一密亂碼本需要注意的是:密鑰字母必須隨機(jī)產(chǎn)生、密鑰序列不能重復(fù)使用、盡管一次一密亂碼本不能破譯,但卻只能局限于某些應(yīng)用。3.一次一密鑰密碼一次一密鑰密碼是指一個包括多個隨機(jī)密碼的614.2.3轉(zhuǎn)輪機(jī)在20世紀(jì)20年代,人們發(fā)明了各種機(jī)械加密設(shè)備用來自動處理加密。轉(zhuǎn)輪機(jī)有一個鍵盤和一系列轉(zhuǎn)輪,它是維吉尼亞密碼的一種實現(xiàn)。第二次世界大戰(zhàn)期間由德國人使用恩尼格馬(Enigma)。4.2.3轉(zhuǎn)輪機(jī)在20世紀(jì)20年代,人們發(fā)明了各種機(jī)械加密624.3對稱密碼算法4.3.1對稱密碼算法基礎(chǔ)1.對稱密鑰密碼思想對稱密鑰密碼算法基本思想與傳統(tǒng)密鑰密碼算法類似,采用移位和置換的方法。在該算法中,加密密鑰和解密密鑰相同或相近,由其中一個很容易得出另一個,加密密鑰和解密密鑰都是保密的。2.Feistel密碼結(jié)構(gòu)1973年IBM公司的HorstFeistel描述了大部分的對稱塊密碼算法所具有的結(jié)構(gòu),其中包括DES。4.3對稱密碼算法4.3.1對稱密碼算法基礎(chǔ)633.數(shù)據(jù)加密標(biāo)準(zhǔn)的要求(1)必須提供高度的安全性;(2)具有相當(dāng)高的復(fù)雜性,使得破譯的開銷超過可能獲得的利益,同時又便于理解和掌握;(3)安全性應(yīng)不依賴于算法的保密,其加密的安全性僅以加密密鑰的保密為基礎(chǔ);(4)必須適用于不同的用戶和不同的場合;(5)實現(xiàn)算法的電子器件必須很經(jīng)濟(jì)、運行有效;(6)必須能夠驗證,允許出口。3.數(shù)據(jù)加密標(biāo)準(zhǔn)的要求(1)必須提供高度的安全性;644.3.2DES算法簡介1.DES算法概念與特點DES(DataEncryptionStandard,數(shù)據(jù)加密標(biāo)準(zhǔn))算法最初是由IBM公司所研制,于1977年由美國國家標(biāo)準(zhǔn)局頒布作為非機(jī)密數(shù)據(jù)的數(shù)據(jù)加密標(biāo)準(zhǔn),并在1981年由國際標(biāo)準(zhǔn)化組織作為國際標(biāo)準(zhǔn)頒布。DES是一個分組加密算法,它以64位為分組對數(shù)據(jù)加密。64位一組的明文從算法的一端輸入,64位的密文從另一端輸出。4.3.2DES算法簡介1.DES算法概念與特點652.DES對稱加密算法初始置換(InitialPermutation,IP)是對輸入的64位數(shù)據(jù)按照規(guī)定的矩陣改變數(shù)據(jù)位的排列順序的換位變換,此過程與密鑰無關(guān)。子密鑰生成是由64位外部輸入密鑰通過置換和移位操作生成加密和解密所需的16組(每組56位)子密鑰的過程。乘積變換過程非常復(fù)雜,是加密過程的關(guān)鍵。該過程通過16輪重復(fù)的替代、移位、異或和置換操作打亂原輸入數(shù)據(jù)。逆初始置換(IP-1)與初始置換過程相同,只是置換矩陣是初始置換的逆矩陣。2.DES對稱加密算法初始置換(InitialPermut66(1)初始置換(IP)5850423426181026052443628201246254463830214664564840322416857494133251791595143352719113615345372921135635547393123157(1)初始置換(IP)585042342618102605267(2)子密鑰生成(2)子密鑰生成68第1步:PC1變換57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124PC1變換。將56位密鑰按置換選擇1(PC-1)的規(guī)律(如表4-3)進(jìn)行置換,變換后分為左右兩路(C0、D0)各28位。第1步:PC1變換57494133251791585042369表4-4循環(huán)移位表輪12345678910111213141516位數(shù)1122222212222221表4-5PC2變換表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表4-4循環(huán)移位表輪123456789101112131470(3)乘積變換初始置換后的數(shù)據(jù)分為各32位的兩部分,左部分為L0,右部分為R0,這樣,L0=D58D50D12….D8,R0=D57D49D41…D7。乘積變換過程就是將L0和R0按照乘積變換運算公式進(jìn)行迭代運算,最后得出L16和R16。(3)乘積變換初始置換后的數(shù)據(jù)分為各32位的兩部分,左部分為71(3)乘積變換第1步:E變換。E變換是一個擴(kuò)展變換,其過程是將32位的數(shù)據(jù)Ri-1變換成48位第2步:異或變換。將E變換輸出的48位數(shù)據(jù)與48位的子密鑰Ki進(jìn)行異或運算,得到48位的S盒數(shù)據(jù)。第3步:S盒變換。將48位的S盒數(shù)據(jù)均分為8部分,每部分為6位,用8個S盒S1~S8表示。每個S盒的輸入為6位,變換后輸出為4位,即經(jīng)過8個S盒S1~S8變換后輸出為32位(3)乘積變換第1步:E變換。E變換是一個擴(kuò)展變換,其過程是72表4-6E變換表3212345456789891011121312131415161716171819202120212223242524252627282928293031321表4-6E變換表3212345456789891011173表4-7S1轉(zhuǎn)換表1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613圖4-8S盒變換表4-7S1轉(zhuǎn)換表144131215118310612574表4-8P盒置換表1672021291228171152326518311028241432273919133062211425第4步:P變換。P變換的過程是將S盒輸出的32位數(shù)據(jù)進(jìn)行位置變換得到一個新的32數(shù)據(jù)組,因此P變換為線性變換,其變換規(guī)則如表4-8所示。第5步:異或變換。P變換輸出的32位數(shù)據(jù)與32位的Li-1異或后輸出32位數(shù)據(jù),此數(shù)據(jù)就是Ri。

表4-8P盒置換表1672021291228171152375(4)逆初始置換(IP-1)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725(4)逆初始置換(IP-1)408481656246432376(6)DES算法的安全性DES被公認(rèn)為世界上第一個實用的密碼算法標(biāo)準(zhǔn)DES的缺點是密鑰位數(shù)太短(56位)算法的對稱性存在一些弱密鑰和半弱密鑰其安全性完全依賴于對密鑰的保護(hù)(6)DES算法的安全性DES被公認(rèn)為世界上第一個實用的密碼774.3.3其他對稱加密算法(1)TDEA算法TDEA(TripleDataEncryptionAlgorithm,三重DES)算法,其本質(zhì)和DES算法是一致的。它是為了解決DES算法密鑰過短的而出現(xiàn)的。在TDEA算法中,使用三個密鑰,執(zhí)行三次DES算法,該算法的總密鑰長度為168位(56位的三倍)。(2)AES算法AES(AdvancedEncryptionStandard,高級加密標(biāo)準(zhǔn))算法是一個非保密的、全球免費使用的分組加密算法,并被確定為替代DES的數(shù)據(jù)加密標(biāo)準(zhǔn)。Rijndael算法具有加密強(qiáng)度高、可抵御所有已知攻擊、運算速度快和靈活性好等特點,成為AES最合適的選擇。(3)IDEA算法IDEA(InternationalDataEncryptionAlgorithm,國際數(shù)據(jù)加密算法)是瑞士著名學(xué)者提出的。該算法是在DES算法的基礎(chǔ)上發(fā)展起來的,類似于三重DES,也是一種分組密碼算法,分組長度為64位,但密鑰長度為128位。該算法就是用128位密鑰對64位二進(jìn)制碼數(shù)據(jù)進(jìn)行加密的,同樣用128位密鑰對64位密文進(jìn)行解密變換。4.3.3其他對稱加密算法(1)TDEA算法78表4-9對稱密鑰加密算法比較算法名稱密鑰長度(位)分組長度(位)循環(huán)運算次數(shù)DES566416TDEA112、1686448AES128、192、25612810、12、14IDEA128648表4-9對稱密鑰加密算法比較算法名稱密鑰長度(位)分組長度794.4非對稱密碼算法4.4.1非對稱密碼的思想非對稱密鑰密碼算法也叫做公開密鑰密碼算法。在該算法中,信息發(fā)送方和接收方所使用的密鑰是不同的,即加密密鑰與解密密鑰不同,且由其中的一個很難導(dǎo)出另一個。公鑰密碼體制應(yīng)滿足以下要求:(1)對任意明文進(jìn)行加密變換是很容易的,并且若知道解密密鑰,那么對密文的解密也是很容易的;(2)信息的發(fā)送方對任意明文進(jìn)行加密變換后,接收方進(jìn)行解密變換就可以得到明文;(3)若不知道解密密鑰,那么即使知道加密密鑰,具體的加密與解密算法以及密文,確定明文在計算上也是不可行的。4.4非對稱密碼算法4.4.1非對稱密碼的思想804.4.2RSA算法1.RSA算法的原理RSA因其發(fā)明人RonaldL.Rivest、AdiShamir和LeonardM.Adleman而得名。RSA的基礎(chǔ)是數(shù)論的歐拉定理,它的安全性依賴于大數(shù)的因數(shù)。RSA算法研制的最初理念與目標(biāo)是努力使互聯(lián)網(wǎng)安全可靠,旨在解決DES算法的秘密密鑰利用公開信道傳輸分發(fā)不安全的問題。RSA是第一個比較完善的公開密鑰算法,它既能用于加密也能用于數(shù)字簽名。4.4.2RSA算法1.RSA算法的原理812.RSA算法的過程

(1)隨機(jī)地選取兩個不同的大素數(shù)p和q(一般為100位以上的十進(jìn)制數(shù))予以保密;(2)計算n=p·q,作為A的公開模數(shù);(3)計算Euler函數(shù):

φ(n)=(p-1)·(q-1)(4)隨機(jī)地選取一個與φ(n)互素的整數(shù)e,作為A的公開密鑰;(5)用歐幾里德算法,計算滿足同余方程e?d≡1(modφ(n))

的解d,作為A用戶的保密密鑰;(6)任何向A發(fā)送明文的用戶,均可用A的公開密鑰e和公開模數(shù)n,根據(jù)式C=Me(modn)

得到密文C(7)用戶A收到C后,可利用自己的保密密鑰d,根據(jù)M=Cd(modn)

得到明文M2.RSA算法的過程

(1)隨機(jī)地選取兩個不同的大素數(shù)p和823.RSA算法實例:對“HI”進(jìn)行加密(1)選密鑰

設(shè)p=5,q=11,

則n=55,φ(n)=40

取e=3,公鑰(3,55)3dmod40=1則d=27,私鑰(27,55)(2)加密設(shè)明文編碼為:

空格=00,A=01,B=02,…,Z=26則明文HI=0809C1=(08)3(mod55)=512(mod55)=17C2=(09)3(mod55)=729(mod55)=14N=14,Q=17所以,密文為QN(3)恢復(fù)明文M1=Cd(mod55)=(17)27(mod55)=08

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論