消息摘要

消息摘要

消息摘要(Message Digest)又稱為數字摘要(Digital Digest)。它是一個唯一對應一個消息或文本的固定長度的值,它由一個單向Hash加密函數對消息進行作用而產生。如果消息在途中改變了,則接收者通過對收到消息的新產生的摘要與原摘要比較,就可知道消息是否被改變了。因此消息摘要保證了消息的完整性。消息摘要採用單向Hash 函數將需加密的明文"摘要"成一串128bit的密文,這一串密文亦稱為數字指紋(Finger Print),它有固定的長度,且不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致。這樣這串摘要便可成為驗證明文是否是"真身"的"指紋"了。

概念


HASH函數的抗衝突性使得如果一段明文稍有變化,哪怕只更改該段落的一個字母,通過哈希演演算法作用后都將產生不同的值。而HASH演演算法的單向性使得要找到哈希值相同的兩個不同的輸入消息,在計算上是不可能的。所以數據的哈希值,即消息摘要,可以檢驗數據的完整性。

舉例


哈希函數的這種對不同的輸入能夠生成不同的值的特性使得無法找到兩個具有相同哈希值的輸入。因此,如果兩個文檔經哈希轉換后成為相同的值,就可以肯定它們是同一文檔。所以,當希望有效地比較兩個數據塊時,就可以比較它們的哈希值。例如,可以通過比較郵件發送前和發送后的哈希值來驗證該郵件在傳遞時是否修改。