常見hash演算法:
sm3sha
md5hash值256bit
160bit
128bit
分組處理長512bit
512bit
512bit
基本字長32bit
32bit
32bit
步數64(3*16)
80(4*20)
64(4*16)
訊息長<2^64bit
2^64bit
不限
md5: md5 是由 ron rivest 設計的可產生乙個 128 位的雜湊值的雜湊演算法。md5 設計經過優化以用於 intel 處理器。這種演算法的基本原理已經洩露,這就是為什麼它不太受歡迎的原因。
sha-1:與 dsa 公鑰演算法相似,安全雜湊演算法 1(sha-1)也是由 nsa 設計的,並由 nist 將其收錄到 fips 中,作為雜湊資料的標準。它可產生乙個 160 位的雜湊值。sha-1 是流行的用於建立數字簽名的單向雜湊演算法。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格式包中不包含明文資訊。因此在驗證的時候,還需要傳遞明文才能驗證成功。同理,這裡的明文實際上是真正內容的摘要。
網路安全 數字簽名 數字證書
未加密的資訊 秘鑰 加密的黑盒子 加密後的資訊 加密後的資訊 秘鑰 解密的黑盒子 未加密的資訊 未加密的資訊 公鑰 加密的黑盒子 加密後的資訊 加密後的資訊 私鑰 解密的黑盒子 未加密的資訊 既可以公鑰加密,私鑰解密 也可以私鑰加密,公鑰解密 a 我要給你傳送條訊息 b 這訊息萬一被人改了怎麼辦?a...
電子簽名和數字簽名
在 中華人民共和國電子簽名法 中,電子簽名的定義是 資料電文中以電子形式所含 所附用於識別簽名人身份並表明簽名人認可其中內容的資料。通過技術手段實現傳統的紙面簽字或者蓋章的功能,以確認交易當事人的真實身份,保證交易的安全性 真實性和不可抵賴性 電子簽名相當於數位化的手寫簽名,可用於確認文件中的內容或...
網路安全 分分鐘理解什麼是數字簽名
最近在準備軟體設計師考試,在計算機網路這一塊知識中,發現了一些有趣的事,比如 加密和解密,公鑰和私鑰,摘要和簽名等等,有點混亂,所以,就再此總結一下,附上幾張小圖 拿來用的 幫助理解。1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2.鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人一把。3.蘇珊給鮑...