1. 程式人生 > 其它 >MD(訊息摘要)、MAC(訊息認證碼)、數字簽名的區別

MD(訊息摘要)、MAC(訊息認證碼)、數字簽名的區別

資訊保安概論

MD(訊息摘要)、MAC(訊息認證碼)、數字簽名的區別

1.MD(訊息摘要)

1.1摘要含義

摘要

摘要是雜湊值,我們通過雜湊演算法比如MD5演算法就可以得到這個雜湊值。

摘要只是用於驗證資料完整性和唯一性的雜湊值,不管原始資料是什麼樣的,得到的雜湊值都是固定長度的。

不管原始資料是什麼樣的,得到的雜湊值都是固定長度的,也就是說摘要並不是原始資料加密後的密文,只是一個驗證身份的令牌。所以我們無法通過摘要解密得到原始資料。

2.MAC(訊息認證碼)

hash演算法只能驗證資料的完整性,不能防止資料被篡改。比如:遇見中間人攻擊,你會發現攻擊者對訊息進行篡改了,但是通過hash演算法計算摘要值,你是無法知道訊息被改動過的。因此這個時候就需要MAC演算法了。

MAC值 = mac(訊息+金鑰)

2.2MAC的特點

跟hash演算法一樣,可以驗證資料的完整性。

可以驗證資料確實是由原始傳送方發出的。

MAC值一般和原始訊息一起傳輸,原始訊息可以選擇加密,也可以選擇不加密,通訊雙方會以相同的方式生成MAC值,然後進行比較,一旦兩個MAC值相同表示MAC驗證正確,否則驗證失敗。

3.數字簽名

MAC不能保證訊息的不可抵賴性,而數字簽名可以保證。

因為數字簽名使用的是公鑰密碼體制,私鑰只有你自己才知道;而MAC使用對稱加密,既然一方能夠驗證你的MAC,就能夠偽造你的MAC,因為傳送方和接收方的祕鑰是一樣的。當然如果你在MAC中繫結一些關鍵資訊,並通過某些手段,讓一方只能生成MAC,另一方只能驗證MAC,其實也是可以實現簽名效果的。