消息認(rèn)證技術(shù)知識(shí)概述課件_第1頁(yè)
消息認(rèn)證技術(shù)知識(shí)概述課件_第2頁(yè)
消息認(rèn)證技術(shù)知識(shí)概述課件_第3頁(yè)
消息認(rèn)證技術(shù)知識(shí)概述課件_第4頁(yè)
消息認(rèn)證技術(shù)知識(shí)概述課件_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4講消息認(rèn)證技術(shù)Hash函數(shù)消息認(rèn)證碼MD5算法SHA-1算法Hash函數(shù)的攻擊分析第4講消息認(rèn)證技術(shù)14.1Hash函數(shù)4.1.1一個(gè)簡(jiǎn)單的Hash函數(shù)4.1.2完整性檢驗(yàn)一般方法4.1Hash函數(shù)4.1.1一個(gè)簡(jiǎn)單的Hash函24.1Hash函數(shù)Hash函數(shù),就是將一種任意長(zhǎng)度的消息壓縮成某一固定長(zhǎng)度的消息摘要的函數(shù),又稱消息摘要函數(shù),散列函數(shù)或雜湊函數(shù),記為:h=H(M)。我們把Hash值稱為輸入數(shù)據(jù)M的“數(shù)字指紋”。Hash函數(shù)的這種單向性特征和輸出數(shù)據(jù)長(zhǎng)度固定的特征使得它可以用于檢驗(yàn)消息的完整性是否遭到破壞。4.1Hash函數(shù)Hash函數(shù),就是將一種任意長(zhǎng)度的消息34.1Hash函數(shù)用作消息認(rèn)證的Hash函數(shù)具有如下一些性質(zhì):(1)消息M可以是任意長(zhǎng)度的數(shù)據(jù)。(2)給定消息M,計(jì)算它的Hash值h=H(M)是很容易的。(3)任意給定h,則很難找到M使得h=H(M),即給出Hash值,要求輸入M在計(jì)算上是不可行的,即運(yùn)算過(guò)程是不可逆的,這種性質(zhì)稱為函數(shù)的單向性。(4)給定消息M和其Hash值H(M)

,要找到另一個(gè)

M’,且M

≠M(fèi)’,使得H(M)=H(M’)在計(jì)算上是不可行的,這條性質(zhì)被稱為抗弱碰撞性。(5)對(duì)于任意兩個(gè)不同的消息

M

≠M(fèi)’,它們的摘要值不可能相同,這條性質(zhì)被稱為抗強(qiáng)碰撞性。4.1Hash函數(shù)用作消息認(rèn)證的Hash函數(shù)具有如下一些44.1Hash函數(shù)弱抗碰撞性保證對(duì)于一個(gè)消息M及其Hash值,無(wú)法找到一個(gè)替代消息M’

,使它的Hash值與給定的Hash值相同。這條性質(zhì)可用于防止偽造。強(qiáng)抗碰撞性對(duì)于消息Hash函數(shù)的安全性要求更高,這條性質(zhì)保證了對(duì)生日攻擊的防御能力。碰撞性是指對(duì)于兩個(gè)不同的消息M和M’,如果它們的摘要值相同,則發(fā)生了碰撞。雖然可能的消息是無(wú)限的,但可能的摘要值卻是有限的。因此,不同的消息可能會(huì)產(chǎn)生同一摘要,碰撞是可能存在的。但是,Hash函數(shù)要求用戶不能按既定需要找到一個(gè)碰撞,意外的碰撞更是不太可能的。顯然,從安全性的角度來(lái)看,Hash函數(shù)輸出的比特越長(zhǎng),抗碰撞的安全強(qiáng)度越大。4.1Hash函數(shù)弱抗碰撞性保證對(duì)于一個(gè)消息M及其Has54.1.1一個(gè)簡(jiǎn)單的Hash函數(shù)一個(gè)例外的情況是,若消息出錯(cuò),而摘要值仍然不變的概率為

。當(dāng)n充分大時(shí),出錯(cuò)的概率或者說(shuō)消息被篡改的概率非常小,視為小概率事件,忽略不計(jì)。4.1.1一個(gè)簡(jiǎn)單的Hash函數(shù)64.1.2完整性檢驗(yàn)一般方法消息完整性檢驗(yàn)的一般機(jī)制如圖所示。無(wú)論是存儲(chǔ)文件還是傳輸文件,都需要同時(shí)存儲(chǔ)或發(fā)送該文件的數(shù)字指紋;驗(yàn)證時(shí),對(duì)于實(shí)際得到的文件重新產(chǎn)生其數(shù)字指紋,再與原數(shù)字指紋對(duì)比,如果一致,則說(shuō)明文件是完整的。否則,是不完整的。4.1.2完整性檢驗(yàn)一般方法消息完整性檢驗(yàn)的一般機(jī)制如圖74.2消息認(rèn)證碼消息認(rèn)證具有兩層含義:一是檢驗(yàn)消息的來(lái)源是真實(shí)的,即對(duì)消息的發(fā)送者的身份進(jìn)行認(rèn)證;二是檢驗(yàn)消息是完整的,即驗(yàn)證消息在傳送或存儲(chǔ)過(guò)程中未被篡改、刪除或插入等。當(dāng)需要進(jìn)行消息認(rèn)證時(shí),僅有消息作為輸入是不夠的,需要加入密鑰k,這就是消息認(rèn)證的原理。能否認(rèn)證,關(guān)鍵在于信息發(fā)送者或信息提供者是否擁有密鑰k。消息認(rèn)證碼(MessageAuthenticationCode,MAC)通常表示為MAC=CK(M)其中M是可變長(zhǎng)的消息,K是收發(fā)雙方共享的密鑰,函數(shù)值CK(M)是定長(zhǎng)的認(rèn)證碼,也稱為密碼校驗(yàn)和。MAC就是帶密鑰的消息摘要函數(shù),其實(shí)就是一種帶密鑰的數(shù)字指紋,它與不帶密鑰的數(shù)字指紋是有本質(zhì)區(qū)別的。4.2消息認(rèn)證碼消息認(rèn)證具有兩層含義:一是檢驗(yàn)消息的來(lái)源84.2消息認(rèn)證碼1.消息認(rèn)證認(rèn)證碼被附加到消息后以M||MAC方式一并發(fā)送,收方通過(guò)重新計(jì)算MAC以實(shí)現(xiàn)對(duì)M的認(rèn)證。如圖所示。假定收、發(fā)雙方共享密鑰k,如果收到的MAC與計(jì)算得出的MAC一致,那么可以得出如下結(jié)論:①接收方確信消息M未被篡改。此為完整性驗(yàn)證。②接收方確信消息來(lái)自所聲稱的發(fā)送者,因?yàn)闆](méi)有其他人知道這個(gè)共享密鑰,其他人也就不可能為消息M附加合適的MAC。此為消息源驗(yàn)證。4.2消息認(rèn)證碼1.消息認(rèn)證94.2消息認(rèn)證碼2.消息認(rèn)證與保密在(1)中,消息以明文方式傳送,這一過(guò)程只提供認(rèn)證而不具備保密性。如圖4-2-2所示提供一種即加密又認(rèn)證的方式,發(fā)送方發(fā)送Ek2[M||Ck1(M)]。該種處理方式除具備(1)的功能外,還具有保密性。4.2消息認(rèn)證碼2.消息認(rèn)證與保密104.2消息認(rèn)證碼3.密文認(rèn)證改變(2)中加密的位置,得到另外一種消息保密與認(rèn)證方式,如圖所示。該種處理方式先對(duì)消息進(jìn)行加密,然后再對(duì)密文計(jì)算MAC,傳送Ek2(M)||Ck1(Ek2(M))給接收方。接收方先對(duì)收到的密文進(jìn)行認(rèn)證,認(rèn)證成功后,再解密。4.2消息認(rèn)證碼3.密文認(rèn)證114.3MD5算法MD表示消息摘要(MessageDigest,簡(jiǎn)記為MD),MD5以512比特一塊的方式處理輸入的消息文本,每個(gè)塊又劃分為16個(gè)32比特的子塊。算法的輸出是由4個(gè)32比特的塊組成,將它們級(jí)聯(lián)成一個(gè)128比特的摘要值。MD5算法如圖所示,包括以下幾個(gè)步驟。4.3MD5算法MD表示消息摘要(MessageDig124.3MD5算法(1)填充消息使其長(zhǎng)度正好為512位的整數(shù)倍L首先在消息的末尾處附上64比特的消息長(zhǎng)度的二進(jìn)制表示,大小為,n表示消息長(zhǎng)度。然后在消息后面填充一個(gè)“1”和多個(gè)“0”,填充后的消息恰好是512比特的整倍長(zhǎng)L。Y0,Y1,…,YL-1表示不同的512比特長(zhǎng)的消息塊,用M[0],M[1],…,M[N-1]表示各個(gè)Yq中按32比特分組的字,N一定是16的整數(shù)倍。(2)初始化緩沖區(qū)算法中使用了128位的緩沖區(qū),每個(gè)緩沖區(qū)由4個(gè)32比特的寄存器A,B,C,D組成,先把這4個(gè)寄存器初始化為:

A=01234567

B=89ABCDEF

C=FEDCBA98D=765432104.3MD5算法(1)填充消息使其長(zhǎng)度正好為512位的134.3MD5算法(3)處理512位消息塊Yq,進(jìn)入主循環(huán)主循環(huán)的次數(shù)正好是消息中512位的塊的數(shù)目L。先從Y0開(kāi)始,上一循環(huán)的輸出作為下一循環(huán)的輸入,直到處理完YL-1為止。消息塊Yq的處理,以當(dāng)前的512位數(shù)據(jù)塊Yq和128位緩沖值A(chǔ),B,C,D作為輸入,并修改緩沖值的內(nèi)容。消息塊的處理包含4輪操作,每一輪由16次迭代操作組成,上一輪的輸出作為下一輪的輸入,如圖所示。4.3MD5算法(3)處理512位消息塊Yq,進(jìn)入主循144.3MD5算法4輪處理具有相似的結(jié)構(gòu),但每輪處理使用不同的非線性函數(shù),如圖所示。4個(gè)非線性函數(shù)分別為:常數(shù)表T[i]()共有64個(gè)元素,每個(gè)元素32位長(zhǎng),T[i]=232abs(sin(i)),其中i是弧度。處理每一個(gè)消息塊Yi時(shí),每一輪使用常數(shù)表T[i]中的16個(gè),正好用4輪。4.3MD5算法4輪處理具有相似的結(jié)構(gòu),但每輪處理使用不154.3MD5算法(4)輸出每一輪不斷地更新緩沖區(qū)A,B,C,D中的內(nèi)容,4輪之后進(jìn)入下一個(gè)主循環(huán),直到處理完所有消息塊為止。最后輸出就是結(jié)束時(shí)緩沖區(qū)中的內(nèi)容。4.3MD5算法(4)輸出164.4SHA-1算法SHA(SecureHashAlgorithm,SHA)是由美國(guó)NIST開(kāi)發(fā),作為聯(lián)邦信息處理標(biāo)準(zhǔn)于1993年發(fā)表,1995年修訂,成為SHA-1版本。SHA-1在設(shè)計(jì)方面基本上模仿MD5,如圖所示。4.4SHA-1算法SHA(SecureHashAl174.4SHA-1算法(1)填充消息首先將消息填充為512的整數(shù)倍,填充方法與MD5相同。與MD5不同的是SHA-1的輸入為長(zhǎng)度小于比特的消息。(2)初始化緩沖區(qū)初始化160位的消息摘要緩沖區(qū)(即設(shè)定IV值),該緩沖區(qū)用于保存中間和最終摘要結(jié)果。每個(gè)緩沖區(qū)由5個(gè)32比特的寄存器A,B,C,D,E組成,初始化為:A=67452301B=EFCDAB89C=98BADCFED=10325476E=C2D2E1F04.4SHA-1算法(1)填充消息184.4SHA-1算法(3)處理512位消息塊Yq,進(jìn)入主循環(huán)主循環(huán)的次數(shù)正好是消息中512位的塊的數(shù)目L。先從Y0開(kāi)始,上一循環(huán)的輸出作為下一循環(huán)的輸入,直到處理完YL-1為止。主循環(huán)有四輪,每輪20次操作(有四輪,每輪16次操作)。每次操作對(duì)A、B、C、D和E中的三個(gè)做一次非線性函數(shù)運(yùn)算,然后進(jìn)行與MD5中類似的移位運(yùn)算和加運(yùn)算。四個(gè)非線性函數(shù)為用下面的算法將消息塊從16個(gè)32比特子塊變成80個(gè)32比特子塊(W0

到W79

):4.4SHA-1算法(3)處理512位消息塊Yq,進(jìn)入194.4SHA-1算法該算法主循環(huán)4輪,每輪20次,0≤t≤79,每一次的變換的基本形式是相同的:其中(A<<5)表示寄存器A循環(huán)左移5比特,(B<<30)表示寄存器K循環(huán)左移30比特。80次處理完后,處理下一個(gè)512位的數(shù)據(jù)塊,直到處理完YL-1為止。最后輸出A║B║C║D║E級(jí)聯(lián)后的結(jié)果。4.4SHA-1算法該算法主循環(huán)4輪,每輪20次,0≤t204.4SHA-1算法SHA-1與MD5的比較如表所示。SHA-1MD5Hash值長(zhǎng)度160位128位分組處理長(zhǎng)度512位512位步數(shù)80(4×20)64(4×16)最大消息長(zhǎng)度≤264位不限非線性函數(shù)3(第2、4輪相同)44.4SHA-1算法SHA-1與MD5的比較如表所示。S214.5Hash函數(shù)的攻擊分析生日攻擊方法可用于攻擊任何類型的Hash方案。生日攻擊方法只依賴于消息摘要的長(zhǎng)度,即Hash函數(shù)值的長(zhǎng)度。生日攻擊給出消息摘要的長(zhǎng)度的一個(gè)下界。除生日攻擊法外,對(duì)一些類型的Hash函數(shù)還有一些特殊的攻擊方法,例如,中間相遇攻擊、修正分組攻擊和差分分析法等。山東大學(xué)王小云教授等于2004年8月在美國(guó)加州召開(kāi)的國(guó)際密碼大會(huì)(Crypto’2004)上所做的Hash函數(shù)研究報(bào)告中指出,她們已成功破譯了MD4、MD5、HAVAL-128、RIPEMD-128等Hash算法。2006年,王小云宣布了攻破SHA-1的消息。她的研究成果表明了從理論上講電子簽名可以偽造,必須及時(shí)添加限制條件,或者重新選用更為安全的密碼標(biāo)準(zhǔn),以保證電子商務(wù)的安全。4.5Hash函數(shù)的攻擊分析生日攻擊方法可用于攻擊任何類22小結(jié)1.用作消息認(rèn)證的摘要函數(shù)具有單向性、抗碰撞性。單向函數(shù)的優(yōu)良性質(zhì),使其成為公鑰密碼、消息壓縮的數(shù)學(xué)基礎(chǔ)。2.消息認(rèn)證碼特指使用收發(fā)雙方共享的密鑰K和可變長(zhǎng)的消息M,輸出長(zhǎng)度固定的函數(shù)值MAC,也稱為密碼校驗(yàn)和。MAC就是帶密鑰的消息摘要函數(shù),或稱為一種帶密鑰的數(shù)字指紋,它與普通摘要函數(shù)(Hash函數(shù))是有本質(zhì)區(qū)別的。小結(jié)1.用作消息認(rèn)證的摘要函數(shù)具有單向性、抗碰撞性。單向函數(shù)23第4講消息認(rèn)證技術(shù)Hash函數(shù)消息認(rèn)證碼MD5算法SHA-1算法Hash函數(shù)的攻擊分析第4講消息認(rèn)證技術(shù)244.1Hash函數(shù)4.1.1一個(gè)簡(jiǎn)單的Hash函數(shù)4.1.2完整性檢驗(yàn)一般方法4.1Hash函數(shù)4.1.1一個(gè)簡(jiǎn)單的Hash函254.1Hash函數(shù)Hash函數(shù),就是將一種任意長(zhǎng)度的消息壓縮成某一固定長(zhǎng)度的消息摘要的函數(shù),又稱消息摘要函數(shù),散列函數(shù)或雜湊函數(shù),記為:h=H(M)。我們把Hash值稱為輸入數(shù)據(jù)M的“數(shù)字指紋”。Hash函數(shù)的這種單向性特征和輸出數(shù)據(jù)長(zhǎng)度固定的特征使得它可以用于檢驗(yàn)消息的完整性是否遭到破壞。4.1Hash函數(shù)Hash函數(shù),就是將一種任意長(zhǎng)度的消息264.1Hash函數(shù)用作消息認(rèn)證的Hash函數(shù)具有如下一些性質(zhì):(1)消息M可以是任意長(zhǎng)度的數(shù)據(jù)。(2)給定消息M,計(jì)算它的Hash值h=H(M)是很容易的。(3)任意給定h,則很難找到M使得h=H(M),即給出Hash值,要求輸入M在計(jì)算上是不可行的,即運(yùn)算過(guò)程是不可逆的,這種性質(zhì)稱為函數(shù)的單向性。(4)給定消息M和其Hash值H(M)

,要找到另一個(gè)

M’,且M

≠M(fèi)’,使得H(M)=H(M’)在計(jì)算上是不可行的,這條性質(zhì)被稱為抗弱碰撞性。(5)對(duì)于任意兩個(gè)不同的消息

M

≠M(fèi)’,它們的摘要值不可能相同,這條性質(zhì)被稱為抗強(qiáng)碰撞性。4.1Hash函數(shù)用作消息認(rèn)證的Hash函數(shù)具有如下一些274.1Hash函數(shù)弱抗碰撞性保證對(duì)于一個(gè)消息M及其Hash值,無(wú)法找到一個(gè)替代消息M’

,使它的Hash值與給定的Hash值相同。這條性質(zhì)可用于防止偽造。強(qiáng)抗碰撞性對(duì)于消息Hash函數(shù)的安全性要求更高,這條性質(zhì)保證了對(duì)生日攻擊的防御能力。碰撞性是指對(duì)于兩個(gè)不同的消息M和M’,如果它們的摘要值相同,則發(fā)生了碰撞。雖然可能的消息是無(wú)限的,但可能的摘要值卻是有限的。因此,不同的消息可能會(huì)產(chǎn)生同一摘要,碰撞是可能存在的。但是,Hash函數(shù)要求用戶不能按既定需要找到一個(gè)碰撞,意外的碰撞更是不太可能的。顯然,從安全性的角度來(lái)看,Hash函數(shù)輸出的比特越長(zhǎng),抗碰撞的安全強(qiáng)度越大。4.1Hash函數(shù)弱抗碰撞性保證對(duì)于一個(gè)消息M及其Has284.1.1一個(gè)簡(jiǎn)單的Hash函數(shù)一個(gè)例外的情況是,若消息出錯(cuò),而摘要值仍然不變的概率為

。當(dāng)n充分大時(shí),出錯(cuò)的概率或者說(shuō)消息被篡改的概率非常小,視為小概率事件,忽略不計(jì)。4.1.1一個(gè)簡(jiǎn)單的Hash函數(shù)294.1.2完整性檢驗(yàn)一般方法消息完整性檢驗(yàn)的一般機(jī)制如圖所示。無(wú)論是存儲(chǔ)文件還是傳輸文件,都需要同時(shí)存儲(chǔ)或發(fā)送該文件的數(shù)字指紋;驗(yàn)證時(shí),對(duì)于實(shí)際得到的文件重新產(chǎn)生其數(shù)字指紋,再與原數(shù)字指紋對(duì)比,如果一致,則說(shuō)明文件是完整的。否則,是不完整的。4.1.2完整性檢驗(yàn)一般方法消息完整性檢驗(yàn)的一般機(jī)制如圖304.2消息認(rèn)證碼消息認(rèn)證具有兩層含義:一是檢驗(yàn)消息的來(lái)源是真實(shí)的,即對(duì)消息的發(fā)送者的身份進(jìn)行認(rèn)證;二是檢驗(yàn)消息是完整的,即驗(yàn)證消息在傳送或存儲(chǔ)過(guò)程中未被篡改、刪除或插入等。當(dāng)需要進(jìn)行消息認(rèn)證時(shí),僅有消息作為輸入是不夠的,需要加入密鑰k,這就是消息認(rèn)證的原理。能否認(rèn)證,關(guān)鍵在于信息發(fā)送者或信息提供者是否擁有密鑰k。消息認(rèn)證碼(MessageAuthenticationCode,MAC)通常表示為MAC=CK(M)其中M是可變長(zhǎng)的消息,K是收發(fā)雙方共享的密鑰,函數(shù)值CK(M)是定長(zhǎng)的認(rèn)證碼,也稱為密碼校驗(yàn)和。MAC就是帶密鑰的消息摘要函數(shù),其實(shí)就是一種帶密鑰的數(shù)字指紋,它與不帶密鑰的數(shù)字指紋是有本質(zhì)區(qū)別的。4.2消息認(rèn)證碼消息認(rèn)證具有兩層含義:一是檢驗(yàn)消息的來(lái)源314.2消息認(rèn)證碼1.消息認(rèn)證認(rèn)證碼被附加到消息后以M||MAC方式一并發(fā)送,收方通過(guò)重新計(jì)算MAC以實(shí)現(xiàn)對(duì)M的認(rèn)證。如圖所示。假定收、發(fā)雙方共享密鑰k,如果收到的MAC與計(jì)算得出的MAC一致,那么可以得出如下結(jié)論:①接收方確信消息M未被篡改。此為完整性驗(yàn)證。②接收方確信消息來(lái)自所聲稱的發(fā)送者,因?yàn)闆](méi)有其他人知道這個(gè)共享密鑰,其他人也就不可能為消息M附加合適的MAC。此為消息源驗(yàn)證。4.2消息認(rèn)證碼1.消息認(rèn)證324.2消息認(rèn)證碼2.消息認(rèn)證與保密在(1)中,消息以明文方式傳送,這一過(guò)程只提供認(rèn)證而不具備保密性。如圖4-2-2所示提供一種即加密又認(rèn)證的方式,發(fā)送方發(fā)送Ek2[M||Ck1(M)]。該種處理方式除具備(1)的功能外,還具有保密性。4.2消息認(rèn)證碼2.消息認(rèn)證與保密334.2消息認(rèn)證碼3.密文認(rèn)證改變(2)中加密的位置,得到另外一種消息保密與認(rèn)證方式,如圖所示。該種處理方式先對(duì)消息進(jìn)行加密,然后再對(duì)密文計(jì)算MAC,傳送Ek2(M)||Ck1(Ek2(M))給接收方。接收方先對(duì)收到的密文進(jìn)行認(rèn)證,認(rèn)證成功后,再解密。4.2消息認(rèn)證碼3.密文認(rèn)證344.3MD5算法MD表示消息摘要(MessageDigest,簡(jiǎn)記為MD),MD5以512比特一塊的方式處理輸入的消息文本,每個(gè)塊又劃分為16個(gè)32比特的子塊。算法的輸出是由4個(gè)32比特的塊組成,將它們級(jí)聯(lián)成一個(gè)128比特的摘要值。MD5算法如圖所示,包括以下幾個(gè)步驟。4.3MD5算法MD表示消息摘要(MessageDig354.3MD5算法(1)填充消息使其長(zhǎng)度正好為512位的整數(shù)倍L首先在消息的末尾處附上64比特的消息長(zhǎng)度的二進(jìn)制表示,大小為,n表示消息長(zhǎng)度。然后在消息后面填充一個(gè)“1”和多個(gè)“0”,填充后的消息恰好是512比特的整倍長(zhǎng)L。Y0,Y1,…,YL-1表示不同的512比特長(zhǎng)的消息塊,用M[0],M[1],…,M[N-1]表示各個(gè)Yq中按32比特分組的字,N一定是16的整數(shù)倍。(2)初始化緩沖區(qū)算法中使用了128位的緩沖區(qū),每個(gè)緩沖區(qū)由4個(gè)32比特的寄存器A,B,C,D組成,先把這4個(gè)寄存器初始化為:

A=01234567

B=89ABCDEF

C=FEDCBA98D=765432104.3MD5算法(1)填充消息使其長(zhǎng)度正好為512位的364.3MD5算法(3)處理512位消息塊Yq,進(jìn)入主循環(huán)主循環(huán)的次數(shù)正好是消息中512位的塊的數(shù)目L。先從Y0開(kāi)始,上一循環(huán)的輸出作為下一循環(huán)的輸入,直到處理完YL-1為止。消息塊Yq的處理,以當(dāng)前的512位數(shù)據(jù)塊Yq和128位緩沖值A(chǔ),B,C,D作為輸入,并修改緩沖值的內(nèi)容。消息塊的處理包含4輪操作,每一輪由16次迭代操作組成,上一輪的輸出作為下一輪的輸入,如圖所示。4.3MD5算法(3)處理512位消息塊Yq,進(jìn)入主循374.3MD5算法4輪處理具有相似的結(jié)構(gòu),但每輪處理使用不同的非線性函數(shù),如圖所示。4個(gè)非線性函數(shù)分別為:常數(shù)表T[i]()共有64個(gè)元素,每個(gè)元素32位長(zhǎng),T[i]=232abs(sin(i)),其中i是弧度。處理每一個(gè)消息塊Yi時(shí),每一輪使用常數(shù)表T[i]中的16個(gè),正好用4輪。4.3MD5算法4輪處理具有相似的結(jié)構(gòu),但每輪處理使用不384.3MD5算法(4)輸出每一輪不斷地更新緩沖區(qū)A,B,C,D中的內(nèi)容,4輪之后進(jìn)入下一個(gè)主循環(huán),直到處理完所有消息塊為止。最后輸出就是結(jié)束時(shí)緩沖區(qū)中的內(nèi)容。4.3MD5算法(4)輸出394.4SHA-1算法SHA(SecureHashAlgorithm,SHA)是由美國(guó)NIST開(kāi)發(fā),作為聯(lián)邦信息處理標(biāo)準(zhǔn)于1993年發(fā)表,1995年修訂,成為SHA-1版本。SHA-1在設(shè)計(jì)方面基本上模仿MD5,如圖所示。4.4SHA-1算法SHA(SecureHashAl404.4SHA-1算法(1)填充消息首先將消息填充為512的整數(shù)倍,填充方法與MD5相同。與MD5不同的是SHA-1的輸入為長(zhǎng)度小于比特的消息。(2)初始化緩沖區(qū)初始化160位的消息摘要緩沖區(qū)(即設(shè)定IV值),該緩沖區(qū)用于保存中間和最終摘要結(jié)果。每個(gè)緩沖區(qū)由5個(gè)32比特的寄存器A,B,C,D,E組成,初始化為:A=67452301B=EFCDAB89C=98BADCFED=10325476E=C2D2E1F04.4SHA-1算法(1)填充消息414.4SHA-1算法(3)處理512位消息塊Yq,進(jìn)入主循環(huán)主循環(huán)的次數(shù)正好是消息中512位的塊的數(shù)目L。先從Y0開(kāi)始,上一循環(huán)的輸出作為下一循環(huán)的輸入,直到處理完YL-1為止。主循環(huán)有四輪,每輪20次操作(有四輪,每輪16次操作)。每次操作對(duì)A、B、C、D和E中的三個(gè)做一次非線性函數(shù)運(yùn)算,然后進(jìn)行與MD5中類似的移位運(yùn)算和加運(yùn)算。四個(gè)非線性函數(shù)為用下

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論