對稱加密的原理是資料傳送方將明文(原始資料)和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。接收方收到密文後,若想解讀原文,則需要使用加密金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。
非對稱加密的原理是甲方首先生成一對金鑰同時將其中的一把作為公開金鑰;得到公開金鑰的乙方再使用該金鑰對需要加密的資訊進行加密後再傳送給甲方;甲方再使用另一把對應的私有金鑰對加密後的資訊進行解密,這樣就實現了機密資料傳輸。
對稱加密和非對稱加密的區別為:金鑰不同、安全性不同、數字簽名不同。
一、金鑰不同
1、對稱加密:對稱加密加密和解密使用同乙個金鑰。
2、非對稱加密:非對稱加密加密和解密所使用的不是同乙個金鑰,需要兩個金鑰來進行加密和解密。
二、安全性不同
1、對稱加密:對稱加密如果用於通過網路傳輸加密檔案,那麼不管使用任何方法將金鑰告訴對方,都有可能被竊聽。
2、非對稱加密:非對稱加密因為它包含有兩個金鑰,且僅有其中的「公鑰」是可以被公開的,接收方只需要使用自己已持有的私鑰進行解密,這樣就可以很好的避免金鑰在傳輸過程中產生的安全問題。
三、數字簽名不同
1、對稱加密:對稱加密不可以用於數字簽名和數字鑑別。
2、非對稱加密:非對稱加密可以用於數字簽名和數字鑑別。
https與http區別:
http + 加密 + 認證 + 完整性保護 = https
加密部分,傳輸資料前是非對稱加密:公鑰加密+私鑰解密;傳輸資料時採用對稱加密;
認證:要傳送認證證書,並驗證證書正確性;
完整性保護:hash演算法
https的工作原理
https在傳輸資料之前需要客戶端(瀏覽器)與服務端(**)之間進行一次握手,在握手過程中將確立雙方加密傳輸資料的密碼資訊。tls/ssl中使用了非對稱加密,對稱加密以及hash演算法。握手過程的簡單描述如下:
1.瀏覽器將自己支援的一套加密規則傳送給**。
2.**從中選出一組加密演算法與hash演算法,並將自己的身份資訊以證書的形式發回給瀏覽器。證書裡面包含了**位址,加密公鑰,以及證書的頒發機構等資訊。
a) 驗證證書的合法性(頒發證書的機構是否合法,證書中包含的**位址是否與正在訪問的位址一致等),如果證書受信任,則瀏覽器欄裡面會顯示乙個小鎖頭,否則會給出證書不受信的提示。
b) 如果證書受信任,或者是使用者接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,並用證書中提供的公鑰加密。
c) 使用約定好的hash計算握手訊息,並使用生成的隨機數對訊息進行加密,最後將之前生成的所有資訊傳送給**。
a) 使用自己的私鑰將資訊解密取出密碼,使用密碼解密瀏覽器發來的握手訊息,並驗證hash是否與瀏覽器發來的一致。
b) 使用密碼加密一段握手訊息,傳送給瀏覽器。
5.瀏覽器解密並計算握手訊息的hash,如果與服務端發來的hash一致,此時握手過程結束,之後所有的通訊資料將由之前瀏覽器生成的隨機密碼並利用對稱加密演算法進行加密。
HTTPS 原理 對稱加密 非對稱加密 CA證書
通訊的雙方,使用同乙個secretkey,可以對密文進行解密,得到明文。問題 在開放的internet如何交換secretkey,這本身就是個問題。這個交換的過程也是需要加密的。這就套娃了無解了。通訊雙方各自有乙個公鑰,還有私鑰 私鑰只有自己知道,公鑰全世界都知道 非對稱加密演算法,保證了用公鑰加密...
Https 與對稱加密和非對稱加密
總結沒有 https,使用者傳輸的資料,如賬號密碼,會被不法分子截獲。客戶端請求一次服務端後,服務端給客戶端乙個金鑰。然後他們傳輸的資料會用金鑰加密。但第一次告訴客戶端金鑰的時候也可能被不法分子截獲。服務端有自己的公鑰和私鑰。客戶端請求一次服務端後,服務端提供自己的公鑰,客戶端 瀏覽器 收到後自己生...
HTTPS之對稱加密和非對稱加密
1.對稱加密 a 客戶端 b 服務端 a和b實現對稱加密的前提條件是a和b必須共享同乙個公鑰 1.a使用公鑰對資訊進行加密 2.a把加密之後的密文傳送到b 3.b使用約定好的公鑰對密文進行解密 2.非對稱加密 a 客戶端 b 服務端 非對稱加密在進行加密的時候使用的是b建立的金鑰對 b的公鑰和私鑰 ...