




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本資料來源HashHash函數(shù)函數(shù)消息認證碼消息認證碼MD5MD5算法算法SHA-1SHA-1算法算法Hash函數(shù)的攻擊分析函數(shù)的攻擊分析4.1.1 一個簡單的一個簡單的Hash函數(shù)函數(shù)4.1.2 完整性檢驗一般方法完整性檢驗一般方法Hash函數(shù),就是將一種任意長度的消息壓縮成某一固定長度的消息摘要的函數(shù),又稱消息摘要函數(shù),散列函數(shù)或雜湊函數(shù),記為:h=H(M) 。我們把Hash值 稱為輸入數(shù)據M的“數(shù)字指紋”。Hash函數(shù)的這種單向性特征和輸出數(shù)據長度固定的特征使得它可以用于檢驗消息的完整性是否遭到破壞。用作消息認證的Hash函數(shù)具有如下一些性質:(1) 消息M可以是任意長度的數(shù)據。(2)
2、給定消息M,計算它的Hash值 h=H(M) 是很容易的。(3) 任意給定 h,則很難找到M使得h=H(M) ,即給出Hash值,要求輸入M在計算上是不可行的,即運算過程是不可逆的,這種性質稱為函數(shù)的單向性。(4) 給定消息M和其Hash值H(M) ,要找到另一個 M,且M M,使得H(M) =H(M)在計算上是不可行的,這條性質被稱為抗弱碰撞性。(5) 對于任意兩個不同的消息 M M ,它們的摘要值不可能相同,這條性質被稱為抗強碰撞性。弱抗碰撞性保證對于一個消息M及其Hash值,無法找到一個替代消息M ,使它的Hash值與給定的Hash值相同。這條性質可用于防止偽造。強抗碰撞性對于消息Has
3、h函數(shù)的安全性要求更高,這條性質保證了對生日攻擊的防御能力。碰撞性是指對于兩個不同的消息M和M ,如果它們的摘要值相同,則發(fā)生了碰撞。雖然可能的消息是無限的,但可能的摘要值卻是有限的。因此,不同的消息可能會產生同一摘要,碰撞是可能存在的。但是, Hash函數(shù)要求用戶不能按既定需要找到一個碰撞,意外的碰撞更是不太可能的。顯然,從安全性的角度來看,Hash函數(shù)輸出的比特越長,抗碰撞的安全強度越大。一個例外的情況是,若消息出錯,而摘要值仍然不變的概率為 。當n充分大時,出錯的概率或者說消息被篡改的概率非常小,視為小概率事件,忽略不計。n2n2消息完整性檢驗的一般機制如圖所示。無論是存儲文件還是傳輸文
4、件,都需要同時存儲或發(fā)送該文件的數(shù)字指紋;驗證時,對于實際得到的文件重新產生其數(shù)字指紋,再與原數(shù)字指紋對比,如果一致,則說明文件是完整的。否則,是不完整的。消息認證具有兩層含義:一是檢驗消息的來源是真實的,即對消息的發(fā)送者的身份進行認證;二是檢驗消息是完整的,即驗證消息在傳送或存儲過程中未被篡改、刪除或插入等。當需要進行消息認證時,僅有消息作為輸入是不夠的,需要加入密鑰k,這就是消息認證的原理。能否認證,關鍵在于信息發(fā)送者或信息提供者是否擁有密鑰k。消息認證碼(Message Authentication Code,MAC)通常表示為MAC=CK(M)其中M是可變長的消息,K是收發(fā)雙方共享的密
5、鑰,函數(shù)值CK(M)是定長的認證碼,也稱為密碼校驗和。MAC就是帶密鑰的消息摘要函數(shù),其實就是一種帶密鑰的數(shù)字指紋,它與不帶密鑰的數(shù)字指紋是有本質區(qū)別的。1. 消息認證消息認證認證碼被附加到消息后以M|MAC方式一并發(fā)送,收方通過重新計算MAC以實現(xiàn)對M的認證。如圖所示。假定收、發(fā)雙方共享密鑰k,如果收到的MAC與計算得出的MAC一致,那么可以得出如下結論: 接收方確信消息M未被篡改。此為完整性驗證。 接收方確信消息來自所聲稱的發(fā)送者,因為沒有其他人知道這個共享密鑰,其他人也就不可能為消息M附加合適的MAC。此為消息源驗證。2. 消息認證與保密消息認證與保密在(1)中,消息以明文方式傳送,這一
6、過程只提供認證而不具備保密性。如圖4-2-2所示提供一種即加密又認證的方式,發(fā)送方發(fā)送Ek2M|Ck1(M)。該種處理方式除具備(1)的功能外,還具有保密性。3. 密文認證密文認證改變(2)中加密的位置,得到另外一種消息保密與認證方式,如圖所示。該種處理方式先對消息進行加密,然后再對密文計算MAC,傳送Ek2(M)|Ck1(Ek2(M)給接收方。接收方先對收到的密文進行認證,認證成功后,再解密。MD表示消息摘要(Message Digest,簡記為MD),MD5以512比特一塊的方式處理輸入的消息文本,每個塊又劃分為16個32比特的子塊。算法的輸出是由4個32比特的塊組成,將它們級聯(lián)成一個12
7、8比特的摘要值。MD5算法如圖所示,包括以下幾個步驟。(1) 填充消息使其長度正好為填充消息使其長度正好為512位的整數(shù)倍位的整數(shù)倍L首先在消息的末尾處附上64比特的消息長度的二進制表示,大小為 ,n表示消息長度。然后在消息后面填充一個“1”和多個“0”,填充后的消息恰好是512比特的整倍長L。Y0,Y1,YL-1表示不同的512比特長的消息塊,用M0,M1,MN1表示各個Yq中按32比特分組的字,N一定是16的整數(shù)倍。(2) 初始化緩沖區(qū)初始化緩沖區(qū)算法中使用了128位的緩沖區(qū),每個緩沖區(qū)由4個32比特的寄存器A,B,C,D組成,先把這4個寄存器初始化為: A=01 23 45 67 B=8
8、9 AB CD EF C=FE DC BA 98 D=76 54 32 10(3) 處理處理512位消息塊位消息塊Yq,進入主循環(huán),進入主循環(huán)主循環(huán)的次數(shù)正好是消息中512位的塊的數(shù)目L。先從Y0開始,上一循環(huán)的輸出作為下一循環(huán)的輸入,直到處理完YL-1為止。消息塊Yq的處理,以當前的512位數(shù)據塊Yq和128位緩沖值A,B,C,D作為輸入,并修改緩沖值的內容。消息塊的處理包含4輪操作,每一輪由16次迭代操作組成,上一輪的輸出作為下一輪的輸入,如圖所示。4輪處理具有相似的結構,但每輪處理使用不同的非線性函數(shù),如圖所示。4個非線性函數(shù)分別為:常數(shù)表Ti( )共有64個元素,每個元素32位長,Ti
9、232abs(sin(i),其中i是弧度。處理每一個消息塊Yi時,每一輪使用常數(shù)表Ti中的16個,正好用4輪。(4) 輸出輸出每一輪不斷地更新緩沖區(qū)A,B,C,D中的內容,4輪之后進入下一個主循環(huán),直到處理完所有消息塊為止。最后輸出就是結束時緩沖區(qū)中的內容。SHA(Secure Hash Algorithm,SHA)是由美國NIST開發(fā),作為聯(lián)邦信息處理標準于1993年發(fā)表,1995年修訂,成為SHA-1版本。SHA-1在設計方面基本上模仿MD5,如圖所示。(1) 填充消息填充消息首先將消息填充為512的整數(shù)倍,填充方法與MD5相同。與MD5不同的是SHA-1的輸入為長度小于 比特的消息。 (
10、2) 初始化緩沖區(qū)初始化緩沖區(qū)初始化160位的消息摘要緩沖區(qū)(即設定IV值),該緩沖區(qū)用于保存中間和最終摘要結果。每個緩沖區(qū)由5個32比特的寄存器A,B,C,D,E組成,初始化為: A=67 45 23 01 B=EF CD AB 89 C=98 BA DC FE D=10 32 54 76 E=C2 D2 E1 F0(3) 處理處理512位消息塊位消息塊Yq,進入主循環(huán),進入主循環(huán)主循環(huán)的次數(shù)正好是消息中512位的塊的數(shù)目L。先從Y0開始,上一循環(huán)的輸出作為下一循環(huán)的輸入,直到處理完YL-1為止。主循環(huán)有四輪,每輪20次操作( 有四輪,每輪16次操作)。每次操作對A 、B 、C 、D 和E中
11、的三個做一次非線性函數(shù)運算,然后進行與MD5中類似的移位運算和加運算。四個非線性函數(shù)為用下面的算法將消息塊從16個32比特子塊變成80個32比特子塊( W0 到W79 ):該算法主循環(huán)4輪,每輪20次,0t79 ,每一次的變換的基本形式是相同的:其中(A5) 表示寄存器A循環(huán)左移5比特, (B30) 表示寄存器K循環(huán)左移30比特。80次處理完后,處理下一個512位的數(shù)據塊,直到處理完YL-1為止。最后輸出ABCDE 級聯(lián)后的結果。SHA1與MD5的比較如表所示。SHA1MD5Hash值長度160位128位分組處理長度512位512位步數(shù)80(420)64(416)最大消息長度264位不限非線性
12、函數(shù)3(第2、4輪相同)4生日攻擊方法可用于攻擊任何類型的Hash方案。生日攻擊方法只依賴于消息摘要的長度,即Hash函數(shù)值的長度。生日攻擊給出消息摘要的長度的一個下界。除生日攻擊法外,對一些類型的Hash函數(shù)還有一些特殊的攻擊方法,例如,中間相遇攻擊、修正分組攻擊和差分分析法等。山東大學王小云教授等于2004年8月在美國加州召開的國際密碼大會(Crypto2004)上所做的Hash函數(shù)研究報告中指出,她們已成功破譯了MD4、MD5、HAVAL-128、RIPEMD-128等Hash算法。2006年,王小云宣布了攻破SHA-1的消息。她的研究成果表明了從理論上講電子簽名可以偽造,必須及時添加限
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年點火系統(tǒng):點火開關項目合作計劃書
- 2025年紅外線汽車尾氣分析儀項目合作計劃書
- 教育技術與OER的深度融合研究
- 2025年年中國電子政務合作協(xié)議書
- 腦波技術在學習障礙診斷中的應用前景
- 2025年廣東省深圳市龍文一對一物理高一下期末質量檢測試題含解析
- 湖北省漢川二中2025年物理高二下期末檢測模擬試題含解析
- 商業(yè)洞察生物機制驅動的可持續(xù)發(fā)展戰(zhàn)略
- 技術引領未來中醫(yī)傳承在智能教育領域的發(fā)展
- 2025年湖南省東安一中高一物理第二學期期末質量檢測模擬試題含解析
- 中醫(yī)醫(yī)療技術手冊2013普及版
- 腎骨片產品課件
- 幼師應聘個人簡歷表格
- 海運出口培訓課程教學課件
- 2023年副主任醫(yī)師(副高)-內科學(副高)考試歷年高頻考點參考題庫附帶專家答案
- GB/T 15114-2023鋁合金壓鑄件
- 中國穩(wěn)定性冠心病診斷與治療指南
- GB/T 7543-2020一次性使用滅菌橡膠外科手套
- GB/T 29790-2020即時檢驗質量和能力的要求
- GB/T 1796.5-2016輪胎氣門嘴第5部分:大芯腔氣門嘴
- GB/T 1094.11-2022電力變壓器第11部分:干式變壓器
評論
0/150
提交評論