MD5 報文摘要算法 rfc中文譯文_第1頁
MD5 報文摘要算法 rfc中文譯文_第2頁
MD5 報文摘要算法 rfc中文譯文_第3頁
MD5 報文摘要算法 rfc中文譯文_第4頁
MD5 報文摘要算法 rfc中文譯文_第5頁
已閱讀5頁,還剩1頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MD5 報文摘要算法 rfc中文譯文組織:中國互動出版網()RFC文檔中文翻譯計劃()E-mail:ouyangchina-譯者:()譯文發布時間:2001-11-7版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須保留本文檔的翻譯及版權信息。Network Working Group R.Rivest Request for Comments:1321 MIT Laboratory for Computer Science and RSA Data Security,Inc.April 1992 MD5報文摘要算法(RFC1321-The MD5 Message

2、-Digest Algorithm)本文地位本文并非指定一個Internet標準,而是向互聯網提供信息,本文可以任意傳播,不受限制。致謝Don Coppersmith,Burt Kaliski,Ralph Merkle,David Chaum,和Noam Nisan向本文提供極大的幫助,在此本人表示忠心的感謝。目錄1執行簡介1 2術語和符號1 3MD5算法描述2 4摘要4 5MD4和MD5的區別4 6參考文獻4 7附錄A-參考應用程序4 8安全事項18 9作者地址18 1執行簡介本文描述了MD5報文摘要算法,此算法將對輸入的任意長度的信息進行計算,產生一個128位長度的"指紋&quo

3、t;或"報文摘要",假定兩個不同的文件產生相同的報文摘要或由給定的報文摘要產生原始信息在計算上是行不通的。MD5算法適合用在數據簽名應用中,在此應用中,一個大的文件必須在類似RSA算法的公用密鑰系統中用私人密鑰加密前被"壓縮"在一種安全模式下。MD5算法能在32位機器上能以很快的速度運行。另外,MD5算法不需要任何大型的置換列表。此算法編碼很簡潔。MD5算法是MD4報文摘要算法的擴展。MD5算法稍慢于MD4算法,但是在設計上比MD4算法更加"保守"。設計MD5是因為MD4算法被采用的速度太快,以至于還無法證明它的正確性,因為MD4算法

4、速度非???,它處在遭受成功秘密攻擊的"邊緣"。MD5后退了一步,它舍棄了一些速度以求更好的安全性。它集中了不同的評論家提出的建議,并采取了一些附加的優化措施。它被放在公共的地方以求公眾的評論意見,它可能當作一個標準被采納。作為基于OSI的應用,MD5的對象標識符是:md5 OBJECT IDENTIFIER:=iso(1)member-body(2)US(840)rsadsi(113549)digestAlgorithm(2)5在X.509類型AlgorithmIdentifier3中,MD5算法參數應該包括NULL類型。2術語和符號本文中一個"字"是3

5、2位,一個"字節"是8位。一系列位串可看成是一系列字節的普通形式,其中的連續的8位看成一個字節,高位在前,同理一系列字節串可看成是一系列32位的字,其中每個連續的4個字節當作一個字,低位在前。我們定義x_i代表"x減去I".如果下劃線左邊的是一個表達式,則用括號括住,如:x_i+1。同樣我們用代表求冪,這樣xi則代表x的i次冪。符號"+"代表字的加,X s代表32位的值X循環左移s位,not(X)代表X的按位補運算,X vY表示X和Y的按位或運算,XxorY代表X和Y的按位異或運算,XY代表X和Y的按位與運算。3 MD5算法描述我們假

6、設有一個b位長度的輸入信號,希望產生它的報文摘要,此處b是一個非負整數,b也可能是0,不一定必須是8的整數倍,它可能是任意大的長度。我們設想信號的比特流如下所示:m_0 m_1.m_b-1下面的5步計算信息的報文摘要。(1)補位MD5算法是對輸入的數據進行補位,使得如果數據位長度LEN對512求余的結果是448。即數據擴展至K*512+448位。即K*64+56個字節,K為整數。補位操作始終要執行,即使數據長度LEN對512求余的結果已是448。具體補位操作:補一個1,然后補0至滿足上述要求??偣沧钌僖a一位,最多補512位。(2)補數據長度用一個64位的數字表示數據的原始長度b,把b用兩個3

7、2位數表示。那么只取B的低64位。當遇到b大于264這種極少遇到的情況時,這時,數據就被填補成長度為512位的倍數。也就是說,此時的數據長度是16個字(32位)的整數倍數。用M0.N-1表示此時的數據,其中的N是16的倍數。(3)初始化MD緩沖器用一個四個字的緩沖器(A,B,C,D)來計算報文摘要,A,B,C,D分別是32位的寄存器,初始化使用的是十六進制表示的數字A=0X 01234567 B=0X89abcdef C=0Xfedcba98 D=0X 76543210(4)處理位操作函數首先定義4個輔助函數,每個函數的輸入是三個32位的字,輸出是一個32位的字。X,Y,Z為32位整數。F(X

8、,Y,Z)=XY vnot(X)Z G(X,Y,Z)=XZ vY not(Z)H(X,Y,Z)=X xor Yxor ZI(X,Y,Z)=Y xor(X vnot(Z)這一步中使用一個64元素的常數組T1.64,它由sine函數構成,Ti表示數組中的第i個元素,它的值等于經過4294967296次abs(sin(i)后的值的整數部分(其中i是弧度)。Ti為32位整數用16進制表示,數組元素在附錄中給出。具體過程如下:/*處理數據原文*/For i=0 to N/16-1 do/*每一次,把數據原文存放在16個元素的數組X中.*/For j=0 to 15 do Set Xjto Mi*16+j

9、.end/結束對J的循環/*Save Aas AA,B as BB,C as CC,and Das DD.*/AA=A BB=B CC=C DD=D/*第1輪*/*以abcd ks i表示如下操作a=b+(a+F(b,c,d)+Xk+Ti)s).*/*Do the following 16 operations.*/ABCD 07 1DABC 112 2CDAB 217 3BCDA 322 4ABCD 47 5DABC 512 6CDAB 617 7BCDA 722 8ABCD 87 9DABC 912 10CDAB 10 17 11BCDA 11 22 12ABCD 12 713DABC 1

10、3 12 14CDAB 14 17 15BCDA 15 22 16/*第2輪*/*以abcd ks i表示如下操作a=b+(a+G(b,c,d)+Xk+Ti)s).*/*Do the following 16 operations.*/ABCD 15 17DABC 69 18CDAB 11 14 19BCDA 020 20ABCD 55 21DABC 10 922CDAB 15 14 23BCDA 420 24ABCD 95 25DABC 14 926CDAB 314 27BCDA 820 28ABCD 13 529DABC 29 30CDAB 714 31BCDA 12 20 32/*第3輪

11、*/*以abcd ks i表示如下操作a=b+(a+H(b,c,d)+Xk+Ti)s).*/*Do the following 16 operat ions.*/ABCD 54 33DABC 811 34CDAB 11 16 35BCDA 14 23 36ABCD 14 37DABC 411 38CDAB 716 39BCDA 10 23 40ABCD 13 441DABC 011 42CDAB 316 43BCDA 623 44ABCD 94 45DABC 12 11 46CDAB 15 16 47BCDA 223 48/*第4輪*/*以abcd ks i表示如下操作a=b+(a+I(b,c

12、,d)+Xk+Ti)s).*/*Do the following 16 operations.*/ABCD 06 49DABC 710 50CDAB 14 15 51BCDA 521 52ABCD 12 653DABC 310 54CDAB 10 15 55BCDA 121 56ABCD 86 57DABC 15 10 58CDAB 615 59BCDA 13 21 60ABCD 46 61DABC 11 10 62CDAB 215 63BCDA 921 64/*然后進行如下操作*/A=A+AA B=B+BB C=C+CC D=D+DD end/*結束對I的循環*/(5)輸出結果報文摘要的產生

13、后的形式為:A,B,C,D。也就是低位字節A開始,高位字節D結束。現在完成了對MD5的描述,在附錄中給出了C形式的程序。4摘要MD5算法實現很容易,它提供了任意長度的信息的"指紋"(或稱為報文摘要)。據推測要實現兩個不同的報文產生相同的摘要需要264次的操作,要恢復給定摘要的報文則需要2128次操作。為尋找缺陷,MD5算法已經過非常細致的檢查。最后的結論是還需要相關的更好的算法和更進一步的安全分析。5 MD4和MD5的區別以下是MD5和MD4的不同點:1.加上了第四輪循環。2.每一步增加了一個唯一的常數值。第二輪中的函數g從(XY vXZ vYZ)變成了(XZ vY not(Z),以減少g函數的均衡性。6參考文獻1Rivest,R.,"The MD4 Message Digest Algorithm",RFC 1320,MIT and RSA Data Security,Inc.,April 1992.2Rivest,R.,"The MD4 message digest algorithm&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論