參考文檔:https://blog.csdn.net/u011068702/article/details/73357150
對稱加密(數據保密性)
算法:DES 、 3DES 、 RC5、AES特點:加密和解密使用相同的密鑰
加密原文
非對稱加密(數據保密性)
算法:DH、RSA特點:需要兩個祕鑰公鑰和私鑰
加密速度慢,只可用其加密小數據(如對稱密鑰、消息摘要)
加密後密文會變長
數字簽名(數據完整性和驗證發送方身份)
解決發送方身份是否合法的問題,防止信息被篡改數字簽名:原文 通過 散列算法生成 摘要,摘要 通過私鑰加密得到 簽名信息,
簽名信息追加到原文一起發送。
接收方 用發送方 公鑰 解密簽名信息得到摘要,同時用相同散列算法計算 原文
得到摘要,兩個摘要比較就可以判斷髮送方身份問題以及解決文件是否被篡改。
數字簽名使用到非對稱加密技術和摘要(散列)技術。
散列算法:MD5、SHA-1、SHA_256。
數字證書(公鑰所屬人身份)
在用公鑰解密簽名信息時,接收方不能確定此公鑰一定是發送方的。數字證書把公鑰和公鑰所屬人綁定來證明公鑰一定是發送方的。
數字證書:對公鑰所屬人信息以及公鑰經過證書授權中心數字簽名得到的。相當於發送方的身份證。
數字證書是由CA(Certificate Authority)證書授權機構發放。承擔公鑰體系中公鑰的合法性檢驗的責任。
因爲數字證書是公開的,就像公開的電話簿一樣,在實踐中,發送者(即甲)會將一份自己的數字證書的拷貝連同密文、摘要等放在一起發送給接收者(即乙),而乙則通過驗證證書上權威機構的簽名來檢查此證書的有效性(只需用那個可信的權威機構的公鑰來驗證該證書上的簽名就可以了),如果證書檢查一切正常,那麼就可以相信包含在該證書中的公鑰的確屬於列在證書中的那個人(即甲)。