複製鏈接
請複製以下鏈接發送給好友

MD5報文摘要算法

鎖定
MD5報文摘要算法,是將對輸入的任意長度的信息進行計算,產生一個128位長度的“指紋”或“報文摘要”,假定兩個不同的文件產生相同的報文摘要或由給定的報文摘要產生原始信息在計算上是行不通的。
MD5的全稱是Message-Digest algorithm 5(信息-摘要算法),MD5是一種不可逆的算法,即對生成的密文求逆,對應着無窮個逆。在90年代初由MIT Laboratory for Computer Science(IT計算機科學實驗室)和RSA Data Security Inc(RSA數據安全公司)的Ronald L.Rivest開發出來,經MD2、MD3和MD4發展而來。它的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式(就是把一個任意長度的字節串變換成一定長的大整數)。
中文名
MD5報文摘要算法
外文名
Message-Digest algorithm 5

MD5報文摘要算法執行簡介

MD5報文摘要算法,是將對輸入的任意長度的信息進行計算,產生一個128位
長度的“指紋”或“報文摘要”,假定兩個不同的文件產生相同的報文摘要或由給定的報文摘要產生
原始信息在計算上是行不通的。MD5算法適合用在數據簽名應用中,在此應用中,一個大的文件必
須在類似RSA算法的公用密鑰系統中用私人密鑰加密前被“壓縮”在一種安全模式下。
MD5算法能在32位機器上能以很快的速度運行。另外,MD5算法不需要任何大型的置換列表。
此算法編碼很簡潔。MD5算法是MD4報文摘要算法的擴展。MD5算法稍慢於MD4算法,但是在設
計上比MD4算法更加“保守”。設計MD5是因為MD4算法被採用的速度太快,以至於還無法證明
它的正確性,因為MD4算法速度非常快,它處在遭受成功秘密攻擊的“邊緣”。MD5後退了一步,
它捨棄了一些速度以求更好的安全性。它集中了不同的評論家提出的建議,並採取了一些附加的優化
措施。它被放在公共的地方以求公眾的評論意見,它可能當作一個標準被採納。
作為基於OSI的應用,MD5的對象標識符是:
md5OBJECTIDENTIFIER::=
iso(1)member-body(2)US(840)rsadsi(113549)digestAlgorithm(2)5
在X.509類型AlgorithmIdentifier[3]中,MD5算法參數應該包括NULL類型。

MD5報文摘要算法術語和符號

本文中一個“字”是32位,一個“字節”是8位。一系列位串可看成是一系列字節的普通形式,
其中的連續的8位看成一個字節,高位在前,同理一系列字節串可看成是一系列32位的字,其中每
個連續的4個字節當作一個字,地位在前。
我們定義x_i代表“x減去I”.如果下劃線左邊的是一個表達式,則用括號括住,如:
x_{i+1}。同樣我們用^代表求冪,這樣x^i則代表x的i次冪。
符號“+”代表字的加,X<<<s代表32位的值X循環左移s位,not(X)代表X的按位
補運算,XvY表示X和Y的按位或運算,XxorY代表X和Y的按位異或運算,XY代表
X和Y的按位與運算。