Java 加密篇之算法總結

encryption_algorithm

單向加密

單向加密又稱爲不可逆加密算法,其密鑰是由加密散列函數生成的。單向散列函數一般用於產生消息摘要,密鑰加密等。

例如下圖摘要由 SHA-1 生成。SHA1 摘要長度爲 20 Bytes (160 bit),一般用 40 位十六進制數表示(1 Byte = 8 bit,4 bit (2^4) = 1 位十六進制數,因此 160 bit / 4 = 40 位十六進制數表):

digest

對稱加密

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-eLOO3pRG-1612007742870)(https://qidawu.github.io/img/security/symmetric_encryption.png)]

數字簽名

數字簽名作爲維護數據信息安全的重要方法之一,可以解決僞造、抵賴、冒充和篡改等問題。其主要作用體現在以下幾個方面:

  • 防冒充(身份認證)。在數字簽名中,當使用私鑰簽名時,如果接收方或驗證方用其公鑰進行驗證並獲通過,那麼可以肯定,簽名人就是擁有私鑰的那個人,因爲私鑰只有簽名人擁有,其他人不可能冒充簽名者。
  • 防僞造。其他人不能僞造對數據的簽名,因爲私鑰只有簽名者自己擁有,所以其他人不可能構造出正確的簽名結果數據。
  • 防篡改。私鑰加簽後的摘要和數據一起發送給接收者,一旦信息被篡改,接收者可通過計算摘要和驗證簽名來判斷該文件無效,從而保證了文件的完整性。
  • 防抵賴。數字簽名既可以作爲身份認證的依據,也可以作爲簽名者簽名操作的證據。要防止接收者抵賴,可以在數字簽名系統中要求接收者返回一個自己簽名的表示收到的報文,給發送者或受信任第三方。如果接收者不返回任何消息,此次通信可終止或重新開始,簽名方也沒有任何損失,由此雙方均不可抵賴。
  • 保密性。手寫簽字的文件一旦丟失,文件信息就極可能泄露。但在網絡傳輸中,數字簽名的公鑰可以用於加密報文,以保證信息機密性。

非對稱加密

公鑰加密,私鑰解密

asymmetric_encryption

簽名驗籤

私鑰簽名,公鑰驗籤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章