版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章密碼學(xué)概述 第2章古典密碼技術(shù) 第3章分組密碼第4章公鑰密碼體制第5章散列函數(shù)與消息鑒別第6章數(shù)字簽名技術(shù)
第7章密鑰管理技術(shù)第8章身份鑒別技術(shù)第9章序列密碼第10章密碼技術(shù)應(yīng)用附錄課程主要內(nèi)容第5章散列函數(shù)與消息鑒別本章主要內(nèi)容
散列函數(shù)的概念
散列函數(shù)的構(gòu)造與設(shè)計(jì) 安全散列算法SHA對(duì)散列函數(shù)的攻擊消息鑒別
第5章散列函數(shù)與消息鑒別5.1散列函數(shù)的概念
密碼學(xué)中的散列函數(shù)又稱為哈希函數(shù)(Hash函數(shù))、雜湊函數(shù),它是一種單向密碼體制,是一個(gè)從明文到密文的不可逆映射,只有加密過(guò)程,不能解密。
散列函數(shù)的性質(zhì)設(shè)散列函數(shù)為h(m),具有以下基本特性:
(1)h(m)算法公開(kāi),不需要密鑰。(2)具有數(shù)據(jù)壓縮功能,可將任意長(zhǎng)度的輸入數(shù)據(jù)轉(zhuǎn)換成一個(gè)固定長(zhǎng)度的輸出。(3)對(duì)任何給定的m,h(m)易于計(jì)算。散列函數(shù)必須滿足以下安全性要求:(1)具有單向性。給定消息的散列值h(m),要得到消息m在計(jì)算上不可行;(2)具有弱抗碰撞性(Weakcollisionresistance)。對(duì)任何給定的消息m,尋找與m不同的消息m’,使得它們的散列值相同,即h(m’)=h(m),在計(jì)算上不可行。(3)具有強(qiáng)抗碰撞性(Strongcollisionresistance)。尋找任意兩個(gè)不同的消息m和m’,使得h(m)=h(m’)在計(jì)算上不可行。第5章散列函數(shù)與消息鑒別散列函數(shù)的應(yīng)用散列函數(shù)的主要應(yīng)用有以下三個(gè)方面:
1)保證數(shù)據(jù)的完整性
2)單向數(shù)據(jù)加密
3)數(shù)字簽名應(yīng)用散列函數(shù)實(shí)現(xiàn)數(shù)據(jù)完整性保護(hù)的模型:
注:實(shí)際應(yīng)用中,未必一定是如h(m‖k)的計(jì)算方式,明文與密鑰k的組合方式因不同的實(shí)現(xiàn)可以不同。第5章散列函數(shù)與消息鑒別
算法中重復(fù)使用一個(gè)函數(shù)f
。函數(shù)f的輸入有兩項(xiàng),一項(xiàng)是上一輪(第i-1輪)的輸出CVi-1,稱為鏈接變量,另一項(xiàng)是算法在本輪(第i輪)b位的輸入分組mi。5.2散列函數(shù)的構(gòu)造與設(shè)計(jì)
迭代型散列函數(shù)的一般結(jié)構(gòu)整個(gè)散列函數(shù)的邏輯關(guān)系可表示為:CV0=IV;CVi=f(CVi-1,mi);1≤i≤t;h(M)=CVt第5章散列函數(shù)與消息鑒別雖然在合理的假設(shè)下,可以證明這類(lèi)散列函數(shù)是安全的,由于它的計(jì)算效率太低,所以這一類(lèi)散列函數(shù)并沒(méi)有什么實(shí)用價(jià)值。
散列函數(shù)的基本設(shè)計(jì)方法有:基于公開(kāi)密鑰密碼算法的設(shè)計(jì)、基于對(duì)稱分組密碼算法的設(shè)計(jì)以及直接設(shè)計(jì)法。1.基于公開(kāi)密鑰密碼算法設(shè)計(jì)散列函數(shù)散列函數(shù)的設(shè)計(jì)方法以CBC模式利用公開(kāi)密鑰算法,使用公鑰PK以及初始變量IV對(duì)消息分組進(jìn)行加密,并輸出最后一個(gè)密文分組ct作為散列函數(shù)輸出值,如圖5.3所示。第5章散列函數(shù)與消息鑒別
基于分組密碼的CBC工作模式和CFB工作模式的散列函數(shù)中,密鑰k不能公開(kāi)。如果密鑰k公開(kāi),則會(huì)使得攻擊者構(gòu)造消息碰撞十分容易。
通常,可以使用對(duì)稱密鑰分組密碼算法的CBC模式或CFB模式來(lái)產(chǎn)生散列值,如圖5.4、圖5.5所示。2.基于對(duì)稱分組密碼算法設(shè)計(jì)散列函數(shù)第5章散列函數(shù)與消息鑒別3.直接設(shè)計(jì)散列函數(shù)這類(lèi)散列函數(shù)并不基于任何假設(shè)和密碼體制,它是通過(guò)直接構(gòu)造復(fù)雜的非線性關(guān)系達(dá)到單向性要求來(lái)設(shè)計(jì)單向散列函數(shù)。這類(lèi)散列算法典型的有:MD2、MD4、MD5、SHA-1等算法。5.3安全散列算法SHA
1.SHA-1SHA-1是數(shù)字簽名標(biāo)準(zhǔn)DSS(DigtialSignatureStandard)中使用的散列算法。它能夠處理最大長(zhǎng)度為2^{64}位的輸入數(shù)據(jù),輸出為160位的散列函數(shù)值。
Ⅰ.基本操作和元素:(1)逐位邏輯運(yùn)算(2)加法運(yùn)算(3)移位操作f1,K,W[0…19]20stepsf2,K,W[20…39]20stepsf3,K,W[40…59]20stepsf4,K,W[60…79]20steps++++ABCEAEAEAEH(i-1)16032Xi512H(i)160SHA-1Processingofasingle512-bitblock+ismod232DBCDBCDBCD+Step FunctionName FunctionValue(0t19) ft=f(t,B,C,D) (BC)(¬BD)(20t39) f2=f(t,B,C,D) BCD(40t59) f3=f(t,B,C,D) (BC)(BD)(CD)(60t79) f4=f(t,B,C,D) BCDWt=(Wt-16
Wt-14Wt-8Wt-3)<<<1Yq512bitsW0W1W15W16
S1XORW0W2W8W13Wt
S1XORWt-16Wt-14Wt-8Wt-3W79
S1XORW63W65W71W76第5章散列函數(shù)與消息鑒別(1)消息分割與填充(2)初始化緩沖區(qū)(3)處理第i個(gè)數(shù)據(jù)塊xi(4)4輪循環(huán),80步操作完成后,保存散列中間結(jié)果,再與第一輪的輸入相加(模2^{32})(5)然后,以H0(i)
,H1(i)
,H2(i)
,H3(i)
,H4(i)作為寄存器初值,用于對(duì)分組xi+1進(jìn)行散列處理。SHA-1壓縮函數(shù)操作過(guò)程,如圖5.9所示(下頁(yè)),是處理一個(gè)512位分組的4次循環(huán)中每一循環(huán)的基本壓縮操作流程。Ⅱ.SHA的散列過(guò)程Ⅲ.SHA-1的壓縮操作第5章散列函數(shù)與消息鑒別Ⅳ.示例
【例5.1】計(jì)算字符串“abc”的SHA-1散列值。字符串“abc”的二進(jìn)制表示為:011000010110001001100011,共有24位的長(zhǎng)度。按照SHA-1的填充要求,應(yīng)該填充一個(gè)“1”(界符)和423個(gè)“0”,最后有兩個(gè)字“0000000000000018”(十六進(jìn)制),表明原始消息的長(zhǎng)度為24位。本例中共只有一個(gè)分組。第5章散列函數(shù)與消息鑒別初始五個(gè)寄存器的初始值為:
H0(0)=67452301,H1(0)=EFCDAB89,H2(0)=98BADCFE,H3(0)=10325476,H4(0)=C3D2E1F0進(jìn)行迭代計(jì)算,前16個(gè)32位字的值剛好取自這個(gè)分組的所有字,即:
W0=61626380(即01100001011000100110001110000000),
W1=W2=……=W14=00000000,W15=00000018。對(duì)t=0~79計(jì)算得到各個(gè)寄存器中的值。最后得到結(jié)果為:H0=67452301+42541B35=A9993E36,H1=EFCDAB89+5738D5E1=4706816A,H2=98BADCFE+21834873=BA3E2571,H3=10325476+681E6DF6=7850C26C,H4=C3D2E1F0+D8FDF6AD=9CD0D89D。于是:SHA-1(“abc”)=A9993E364706816ABA3E25717850C26C9CD0D89D,共160位,20個(gè)字節(jié)。
第5章散列函數(shù)與消息鑒別Ⅴ.其他SHA算法2002年,NIST在FIPSl80-1的基礎(chǔ)上做了修改,發(fā)布了推薦的修訂版本FIPS180-2。在這個(gè)標(biāo)準(zhǔn)中,除了SHA-1外,還新增了SHA-256、SHA-398和SHA-512三個(gè)散列算法標(biāo)準(zhǔn),它們的消息摘要長(zhǎng)度分別為256位、398位和512位,以便與AES的使用相匹配。SHA系列散列算法的基本運(yùn)算結(jié)構(gòu)有很大的相似性。
SHA-1,SHA-256的數(shù)據(jù)分組都是512位。SHA-384,SHA-512的數(shù)據(jù)分組則是1024位。SHA-1,SHA-256,SHA-384,SHA-512的比較表5.4是它們基本參數(shù)的比較:第5章散列函數(shù)與消息鑒別目前對(duì)于散列函數(shù)的攻擊方法可以分為兩類(lèi):對(duì)散列函數(shù)的攻擊是指攻擊者尋找一對(duì)產(chǎn)生碰撞的消息的過(guò)程。評(píng)價(jià)散列函數(shù)的有效方法就是看一個(gè)攻擊者找到一對(duì)產(chǎn)生碰撞的消息所花的代價(jià)有多高。第一類(lèi)稱為窮舉攻擊(或暴力攻擊),它能對(duì)任何類(lèi)型的散列函數(shù)進(jìn)行攻擊,其中最典型的方法就是“生日攻擊”。第二類(lèi)稱為密碼分析法,這類(lèi)攻擊方法依賴于對(duì)散列函數(shù)的結(jié)構(gòu)和代數(shù)性質(zhì)分析,采用針對(duì)散列函數(shù)弱性質(zhì)的方法進(jìn)行攻擊。這類(lèi)攻擊方法有中間相遇攻擊、差分分析等。生日悖論
我們來(lái)考慮這樣一個(gè)有趣的問(wèn)題:在一個(gè)教室中最少應(yīng)有多少學(xué)生才使得至少有兩個(gè)學(xué)生的生日在同一天的概率大于0.5?計(jì)算與此相關(guān)的概率被稱為生日悖論問(wèn)題。5.4對(duì)散列函數(shù)的攻擊第5章散列函數(shù)與消息鑒別生日攻擊與散列函數(shù)相關(guān)的類(lèi)似問(wèn)題可表述如下:給定一個(gè)散列函數(shù)h的輸出長(zhǎng)度為m位,共有2m個(gè)可能的散列值輸出,如果讓散列函數(shù)h接收k個(gè)隨機(jī)輸入產(chǎn)生集合X,再使用另外k個(gè)隨機(jī)輸入產(chǎn)生集合Y,問(wèn)k必須為多大才能使兩個(gè)集合產(chǎn)生相同散列值輸出的概率大于0.5?這種尋找散列函數(shù)h的具有相同輸出的兩個(gè)任意輸入的攻擊方式稱為生日攻擊。5.5消息鑒別消息鑒別是一個(gè)過(guò)程,用以驗(yàn)證接收消息的真實(shí)性(的確是由它所聲稱的實(shí)體發(fā)來(lái)的)和完整性(未被篡改、插入、刪除),同時(shí)還用于驗(yàn)證消息的順序性和時(shí)間性(未被重排、重放、延遲等)。消息鑒別對(duì)于開(kāi)放的網(wǎng)絡(luò)中的各種信息系統(tǒng)的安全性具有重要作用。大體來(lái)說(shuō),實(shí)現(xiàn)消息鑒別的手段可以分為兩類(lèi):基于加密技術(shù)的消息鑒別和基于散列函數(shù)的消息鑒別。第5章散列函數(shù)與消息鑒別基于加密技術(shù)的消息鑒別從消息鑒別的目的出發(fā),無(wú)論是對(duì)稱密碼體制,還是公鑰密碼體制,對(duì)于消息本身的加密都可以看作是一種鑒別的手段。(1)利用對(duì)稱加密體制實(shí)現(xiàn)消息鑒別如圖5.10所示,發(fā)送方A和接收方B共享密鑰k。A用密鑰k對(duì)消息M加密后通過(guò)公開(kāi)信道傳送給B。B接收到密文消息之后,通過(guò)是否能用密鑰k將其恢復(fù)成合法明文,來(lái)判斷消息是否來(lái)自A,信息是否完整。第5章散列函數(shù)與消息鑒別該方法的特點(diǎn)是:1)它能提供機(jī)密性:只有A和B知道密鑰k;2)提供鑒別:只能發(fā)自A,傳輸中未被改變;3)不能提供數(shù)字簽名:接收方可以偽造消息,發(fā)送方可以抵賴消息的發(fā)送。(2)利用公鑰密碼體制實(shí)現(xiàn)消息鑒別①提供消息鑒別如圖5.11所示,發(fā)送方A用自己的私鑰SKA對(duì)消息進(jìn)行加密運(yùn)算(但并不能提供機(jī)密性保護(hù),請(qǐng)思考為什么?),再通過(guò)公開(kāi)信道傳送給接收方B。接收方B用A的公鑰PKA對(duì)得到的消息進(jìn)行解密運(yùn)算并完成鑒別。第5章散列函數(shù)與消息鑒別這種方法的特點(diǎn)是:能實(shí)現(xiàn)數(shù)字簽名的功能,可以抗抵賴,并提供鑒別。②提供消息鑒別和機(jī)密性保護(hù)如圖5.12所示,在發(fā)送方A用自己的私鑰SKA進(jìn)行加密運(yùn)算(實(shí)現(xiàn)數(shù)字簽名)之后,還要用接收方B的公鑰PKB進(jìn)行加密,從而實(shí)現(xiàn)機(jī)密性。缺點(diǎn):一次完整的通信需要執(zhí)行公鑰算法的加密、解密操作各兩次。優(yōu)點(diǎn):提供機(jī)密性、數(shù)字簽名和鑒別。第5章散列函數(shù)與消息鑒別(1)消息鑒別碼的概念基于散列函數(shù)的消息鑒別消息鑒別碼(MAC,MessageAuthenticationCode)或報(bào)文鑒別碼,是用于提供數(shù)據(jù)原發(fā)鑒別和數(shù)據(jù)完整性的密碼校驗(yàn)值。MAC是使用一個(gè)特定的密鑰將消息通過(guò)一種鑒別算法處理所得出的一串代碼。一個(gè)MAC算法是由一個(gè)秘密密鑰k和參數(shù)化的一簇函數(shù)hk構(gòu)成。這簇函數(shù)具有如下特性:a)容易計(jì)算——對(duì)于一個(gè)已知函數(shù)h,給定一個(gè)值k和一個(gè)輸入x,hk(x)是容易計(jì)算的。這個(gè)計(jì)算的結(jié)果被稱為消息鑒別碼值或消息鑒別碼。b)壓縮——hk把任意具有有限長(zhǎng)度(比特?cái)?shù))的一個(gè)輸入x映射成一個(gè)具有固定長(zhǎng)度的輸出hk(x)。c)強(qiáng)抗碰撞性——要找到兩個(gè)不同消息x和y,使得hk(x)=hk(y)是計(jì)算上不可行的。第5章散列函數(shù)與消息鑒別①提供消息鑒別的方法(圖5.13):②提供消息鑒別和機(jī)密性的方法(圖5.14,圖5.15):第5章散列函數(shù)與消息鑒別(2)基于散列函數(shù)的消息鑒別散列函數(shù)具有以下特點(diǎn):輸入是可變大小的消息M,輸出固定長(zhǎng)度的散列值(即消息摘要);計(jì)算簡(jiǎn)單,不需要使用密鑰,具有強(qiáng)抗碰撞性。基于散列函數(shù)的消息鑒別方法如圖5.16所示,有以下幾種情況:(1)用對(duì)稱密碼體制加密消息及其散列值,如圖5.16(a)。(2)用對(duì)稱密碼體制只對(duì)消息的散列值進(jìn)行加密,如圖5.16(b)。(3)用公鑰密碼體制只對(duì)散列值進(jìn)行加密運(yùn)算,如圖5.16(c)。第5章散列函數(shù)與消息鑒別(4)結(jié)合使用公鑰密碼體制和對(duì)稱密碼體制,這種方法用發(fā)送方的私鑰對(duì)散列值進(jìn)行數(shù)字簽名,用對(duì)稱密碼體制加密消息M和得到的數(shù)字簽名,如圖5.16(d)。(5)這種方法使用了散列算法,但未使用加密算法。(6)在方法(5)的基礎(chǔ)上,使用對(duì)稱密碼體制對(duì)消息M和生成的散列值進(jìn)行保護(hù),如圖5.16(f)。第5章散列函數(shù)與消息鑒別第5章散列函數(shù)與消息鑒別HMAC算法基于散列函數(shù)的消息鑒別碼構(gòu)造的基本思想就是將某個(gè)散列函數(shù)嵌入到消息鑒別碼的構(gòu)造過(guò)程中。HMAC作為這種構(gòu)造方法的代表,已經(jīng)作為RFC2104公布,并在IPSec和其他網(wǎng)絡(luò)協(xié)議(如SSL)中得到應(yīng)用。1.HMAC算法的設(shè)計(jì)要求:按照RFC2104,HMAC希望達(dá)到以下的設(shè)計(jì)要求:(1)——可不經(jīng)修改而使用現(xiàn)有的散列函數(shù),特別是那些易于軟件實(shí)現(xiàn)的、源代碼可方便獲取且免費(fèi)使用的散列函數(shù)。(2)——其中嵌入的散列函數(shù)可以易于替換為更快或更安全的散列函數(shù),以適應(yīng)不同的安全需求。(3)——保持嵌入的散列函數(shù)的原有性能,不因用于HAMC而使其性能降低。(4)——密鑰的使用和處理簡(jiǎn)單方便。(5)——以嵌入的散列函數(shù)安全假設(shè)為基礎(chǔ),易于分析HMAC用于鑒別時(shí)的安全強(qiáng)度。第5章散列函數(shù)與消息鑒別
2.HMAC算法描述圖5.17是HMAC算法的實(shí)現(xiàn)框圖。其中h為嵌入的散列函數(shù)(如MD5、SHA-1);輸入消息M=(Y0,Y1,……,YL-1),
Yi(0≤i≤L-1)是b位的一個(gè)分組,M包含了散列函數(shù)的填充位。
n為嵌入的散列函數(shù)輸出值的長(zhǎng)度,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度夜間商業(yè)街區(qū)治安巡邏打更服務(wù)協(xié)議范本4篇
- 2025年度個(gè)人信用貸款簡(jiǎn)易合同范本年度更新3篇
- 二零二五年度車(chē)輛掛名轉(zhuǎn)讓過(guò)戶手續(xù)辦理服務(wù)協(xié)議4篇
- 2025廠房租賃安全協(xié)議書(shū):消防安全責(zé)任與維護(hù)細(xì)則2篇
- 二零二五年度車(chē)輛安全技術(shù)研發(fā)獎(jiǎng)勵(lì)合同4篇
- 二零二五年度砂石料行業(yè)碳排放交易合同范本3篇
- 自我驅(qū)動(dòng)學(xué)習(xí)如何有效提升學(xué)生的自主學(xué)習(xí)能力?案例分析
- 科技園區(qū)巡察的智能化與標(biāo)準(zhǔn)化進(jìn)程
- 百色2025年廣西百色邊境管理支隊(duì)招聘輔警10人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年度個(gè)人信用保證合同范本5篇
- 八年級(jí)語(yǔ)文下冊(cè) 成語(yǔ)故事 第十五課 諱疾忌醫(yī) 第六課時(shí) 口語(yǔ)交際教案 新教版(漢語(yǔ))
- 中考語(yǔ)文二輪復(fù)習(xí):記敘文閱讀物象的作用(含練習(xí)題及答案)
- 老年外科患者圍手術(shù)期營(yíng)養(yǎng)支持中國(guó)專家共識(shí)(2024版)
- 子宮畸形的超聲診斷
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉(cāng)庫(kù)組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- EPC項(xiàng)目采購(gòu)階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
- 《復(fù)旦大學(xué)》課件
- 針灸與按摩綜合療法
- 四川2024年專業(yè)技術(shù)人員公需科目“數(shù)字經(jīng)濟(jì)與驅(qū)動(dòng)發(fā)展”參考答案(通用版)
評(píng)論
0/150
提交評(píng)論