對稱加密和非對稱加密
對稱加密
加密和解密的金鑰是一樣的 缺點就是容易被中間人破解
非對稱加密
公鑰是所有人都可以認領 私鑰是保密的 只有乙個人知道 例如a給b傳送郵件 a用的b的公鑰 只有b的私鑰可以解密a的公鑰的內容 b的私鑰的唯一性 保證了信件不會被洩露
但是如果黑客冒充a給b傳送郵件 b是不知道是a或者黑客給他發的郵件
這該怎麼辦 a可以用自己的私鑰把需要發的內容加密 如果b收到的郵件可以用a的公鑰進行解密 那麼就可以證明是a發的
公鑰的作用就是簡單的加密
私鑰的作用就是證明內容的**
公鑰和私鑰是成對出現的 作用也是相輔相成的 缺一不可
數字簽名
比如a對b傳送email
1 a先對這封email進行雜湊演算法獲得摘要 簡稱h1
2 然後對摘要進行加密 生成的東西叫做 數字簽名
3 把數字簽名加在email後面一起傳送給b
4 b收到郵件後 用a的公鑰進行解密 成功則這是a傳送的 否則就是有人冒充a傳送的
5 b對郵件進行hash演算法 得到h2
6 b會對比自己hash運算的h2和第四步解密的h1進行比較 如果h1=h2 就說明了檔案沒有篡改
圖示
簡單來說數字簽名就是對資料的hash值加密後的一段資料
用來驗證資料的**和資料的完整性
疑問1 如果中間人同時篡改了emai和數字簽名那就很難發現
答:數字簽名的生成需要對方的私鑰 所以很難偽造 所以私鑰決不能洩露
2 公鑰是公開且可以匯入到電腦 比如c可以在b的電腦上替換a的公鑰 然後用自己的私鑰給b傳送email 這時候b收到的
郵件實際上c冒充的
答:這種情況是存在的 針對公鑰容易被替換 於是數字證書就應運而生
數字證書
首先a去找證書中心為公鑰認證 證書中心用自己的私鑰 對a的公鑰和相關資訊進行加密 形成數字證書
a的電子郵件除了正文 後面還有 數字簽名 數字證書
b收到email後用ca的公鑰解密數字證書 拿到a的公鑰 之後和上面的一致 去驗證數字簽名
疑問1 數字證書被偽造
答:數字證書是可以被偽造的 所以數字證書也是需要數字簽名的
2 要是有很多人給b傳送郵件 那麼b需要儲存很多份ca公鑰麼
答:不需要 因為ca認證中心可以給b乙份根證書 裡面儲存的ca公鑰來驗證所有ca分中心頒發的證書 類似於國家公安局管省級 省級管市級 只要有根證書 就可以驗證下級證書的可靠性
3 如何驗證根證書的可靠性
答:無法驗證 根證書是自驗證證書 是社會絕對認可的絕對權威的第三方機構 保證根證書的可靠性 否則整個加密體系就沒有意義了
數字簽名,數字證書
數字簽名 將 報文按雙方約定的hash 演算法計算得到乙個固定位數的 報文摘要。在 數學上保證 只要改動報文中任何一位,重新計算出的 報文摘要值就會與原先的值不相符。這樣就保證了報文的不可更改性。將該報文摘要值用傳送者的私人 金鑰加密 然後連同原報文一起傳送給接收者,而產生的報文即稱 數字簽名 數字...
數字簽名 數字證書
一 數字簽名 1.1 為什麼需要數字簽名?由於網路環境的複雜性,我們無法保證通訊的雙方是真是的,而且內容是完整的 沒被修改過的,因此才需要數字簽名。數字簽名類似於現實生活中的簽名,有以下兩種功能 1 確認通訊雙方的真實身份,別人假冒不了 2 能確認訊息的完整性。它是基於非對稱加密演算法。1.2 數字...
金鑰 數字簽名 數字證書
公鑰和私鑰是非對稱密碼學中的概念。他們的特點是用公鑰加密的密文只能用私鑰解密,用私鑰加密的密文只能用公鑰解密。在通訊過程中,私鑰由伺服器持有,不可外洩,公鑰則通過http傳送給客戶端。伺服器傳送經過私鑰加密的密文給客戶端,客戶端可以通過公鑰解開密文 客戶端傳送經過公鑰加密的密文給伺服器,伺服器通過私...