1、加密算法:對原來為明文的檔案或資料按某種算法進行處理,使其成為不可讀的一段代碼
- 對稱加密:加密和解密使用同一個密鑰
- 非對稱加密:加密和解密所使用的不是同一個密鑰,通常稱為“公鑰”和“私鑰”,公鑰和私鑰可以互相解密
- 簽名時,使用私鑰加密,公鑰解密,用于讓所有公鑰所有者驗證私鑰所有者的身份并且用來防止私鑰所有者釋出的内容被篡改.但是不用來保證内容不被他人獲得,保證了資料的唯一性。
- 加密時,用公鑰加密,私鑰解密,用于向公鑰所有者釋出資訊,這個資訊可能被他人篡改,但是無法被他人獲得,保證了資料的安全性。
2、數字簽名: 非對稱加密算法與數字摘要技術的應用
非對稱密鑰加密: RSA 、ECC等,依賴密鑰長度來提高安全性,
數字摘要:将任意長度的消息變成固定長度的短消息, 常用的加密算法包括 HASH (MD5 、SHA1 、SHA256)、HMAC(HmacMD5/HmacSHA1/HmacSHA256)等,安全性按顔色區分紅色安全性高,綠色安全性高
3、一般使用過程:
環境:A 的 公鑰公開,私鑰保密 ,同理B一樣 ,A 和 B都使用同樣的摘要算法 HASH
- A 給 B 發送一段資料 data ,首先 A 使用 HASH 算法生成 data 的數字摘要 digestA ,然後利用 A 的私鑰對數字摘要 digestA 進行加密生成 digestEncodeA ,然後将 data 和 digestEncodeA 一起發送給 B
- B 收到 A 發過來的 data 和 digestEncodeA 以後,首先使用 HASH 算法生成 data 的數字摘要 digestB ,然後用 A的公鑰對 digestEncodeA 進行解密得到數字摘要 digestDecodeB,然後如果 digestB = digestDecodeB ,那麼标明data 是由A發送過來的 ,否則不是
同理,B 如果要發送回執,就在循環執行上面的步驟即可
4、總結: 數字摘要驗證了原文是否被篡改、公鑰私鑰保證了數字摘要的安全性,兩者配合使用安全性高,速度快
轉載于:https://www.cnblogs.com/hack132/p/7126969.html