MD5報文摘要算法

MD5報文摘要算法,是將對輸入的任意長度的信息進行計算,產生一個128位長度的“指紋”或“報文摘要”,假定兩個不同的檔案產生相同的報文摘要或由給定的報文摘要產生原始信息在計算上是行不通的。

‍

1 執行簡介

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類型。

2 術語和符號

本文中一個“字”是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的按位與運算。

相關詞條

熱門詞條

聯絡我們