古詩詞大全網 - 藝術簽名 - 網絡安全-哈希算法和數字簽名

網絡安全-哈希算法和數字簽名

常見 HASH 算法:

HASH 算法主要應用:

1)文件校驗  

我們比較熟悉的校驗算法有奇偶校驗和CRC校驗,這2種校驗並沒有抗數據篡改的能力,它們壹定程度上能檢測並糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。  

MD5 Hash算法的"數字指紋"特性,使它成為目前應用最廣泛的壹種文件完整性校驗和(Checksum)算法,不少Unix系統有提供計算md5 checksum的命令。  

2)數字簽名

Hash 算法也是現代密碼體系中的壹個重要組成部分。由於非對稱算法的運算速度較慢,所以在數字簽名協議中,單向散列函數扮演了壹個重要的角色。對 Hash 值,又稱"數字摘要"進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。而且這樣的協議還有其他的優點。  

3)鑒權協議  

如下的鑒權協議又被稱作"挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情況下,這是壹種簡單而安全的方法。

數字簽名簽署和驗證數據的步驟如圖所示:

PKCS1 PKCS7 標準格式的簽名:

1. PKCS1簽名:即裸簽名,簽名值中只有簽名信息。

2. PKCS7簽名:簽名中可以帶有其他的附加信息,例如簽名證書信息、簽名原文信息、時間戳信息等。

PKCS7 attached detached 方式的數字簽名:

1. attached 方式是將簽名內容和原文放在壹起,按 PKCS7 的格式打包。PKCS7的結構中有壹段可以放明文,但明文必需進行ASN.1編碼。在進行數字簽名驗證的同時,提取明文。這裏的明文實際上是真正內容的摘要。

2. detached 方式打包的 PKCS7格式包中不包含明文信息。因此在驗證的時候,還需要傳遞明文才能驗證成功。同理,這裏的明文實際上是真正內容的摘要。