非對稱加密演算法是一種密鑰的保密方法。
非對稱加密演算法需要兩個密鑰:公開密鑰(publickey:簡稱公鑰)和私有密鑰(privatekey:簡稱私鑰)。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
非對稱加密演算法實現機密信息交換的基本過程是:甲方生成一對密鑰並將公鑰公開,需要向甲方發送信息的其他角色(乙方)使用該密鑰(甲方的公鑰)對機密信息進行加密後再發送給甲方;甲方再用自己私鑰對加密後的信息進行解密。甲方想要回復乙方時正好相反,使用乙方的公鑰對數據進行加密,同理,乙方使用自己的私鑰來進行解密。
另一方面,甲方可以使用自己的私鑰對機密信息進行簽名後再發送給乙方;乙方再用甲方的公鑰對甲方發送回來的數據進行驗簽。
甲方只能用其私鑰解密由其公鑰加密後的任何信息。 非對稱加密演算法的保密性比較好,它消除了最終用戶交換密鑰的需要。
非對稱密碼體制的特點:演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。對稱密碼體制中只有一種密鑰,並且是非公開的,如果要解密就得讓對方知道密鑰。
所以保證其安全性就是保證密鑰的安全,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
❷ 非對稱加密演算法包括哪些
以下是幾種常見的非對稱加密演算法:
1、RSA演算法:RSA演算法是最早被廣泛使用的非對稱加密演算法之一,它利用質數分解的困難性,通過生成公鑰和私鑰來實現加密和解密。
4、ElGamal演算法:ElGamal演算法是一種基於離散對兆豎數問題的加密演算法,它被廣泛應用於數字簽名和加密通信等領域。
這些演算法都是非對稱加密演算法的代表性演算法,它們在不同的場景下談族有著各自的優缺點,應根據實際需求選擇合適的族侍大演算法來進行數據加密和解密。
❸ 加密那些事--非對稱加密詳解
「非對稱加密也叫公鑰密碼:使用公鑰 加密 ,使用私鑰解密」
在對稱密碼中,由於加密和解密的密鑰是相同的,因此必須向接收者配送密鑰。用於解密的密鑰必須被配送給接收者,這一問題稱為密鑰配送問題。如果使用非對稱加密,則無需向接收者配送用於解密的密鑰,這樣就解決了密鑰配送的問題。
非對稱加密中,密鑰分為加密密鑰和解密密鑰兩種。發送者用加密密鑰對消息進行加密,接收者用解密密鑰對密文進行解密。需理解公鑰密碼,清楚地分加密密鑰和解密密鑰是非常重要的。加密密鑰是發送者加密時使用的,而解密密鑰則是接收者解密時使用的。
加密密鑰和解密密鑰的區別:
a.發送者只需要加密密鑰
b.接收者只需要解密密鑰
c.解密密鑰不可以被竊聽者獲取
d.加密密鑰被竊聽者獲取也沒關系
也就是說,解密密鑰從一開始就是由接收者自己保管的,因此只要將加密密鑰發給發送者就可以解決密鑰配送問題了,而根本不需要配送解密密鑰。
非對稱加密中,加密密鑰一般是公開的。真是由於加密密鑰可以任意公開,因此該密鑰被稱為公鑰(pulickey)。相對地解密密鑰是絕對不能公開的,這個密鑰只能由你自己來使用,因此稱為私鑰(privatekey)****。私鑰不可以被別人知道,也不可以將它發送給別人。
公鑰和私鑰是"一一對應的",一對公鑰和私鑰統稱為密鑰對(keypair)。由公鑰進行加密的密文,必須使用與該公鑰配對的私鑰才能解密。密鑰對中的兩個密鑰之間具有非常密切的的關系(數學上的關系)。因此公鑰和私鑰不能分別單獨生成。
非對稱加密通訊流程
假設A要給B發一條信息,A是發送者,B是接收者,竊聽者C可以竊聽他們之間的通訊內容。
1.B生成一個包含公鑰和私鑰的密鑰對
私鑰由B自行妥善保管
2.B將自己的公鑰發送給A
B的公鑰被C截獲也沒關系。將公鑰發給A,表示B請A用這個公鑰對消息進行加密並發送給他。
3.A用B的公鑰對消息進行加密
加密後的消息只有B的私鑰才能夠解密。
雖然A擁有B的公鑰,但用B的公鑰是無法對密文進行解密的。
4.A將密文發送給B
密文被C截獲也沒關系,C可能擁有B的公鑰,但是B的公鑰是無法進行解密的。
5.B用自己的私鑰對密文進行解密。
參考下圖
RSA是一種非對稱加密演算法,它的名字由三位開發者。即RonRivest、AdiShamir和LeonardAdleman 的姓氏的首字母組成的(Rivest-Shamir-Leonard)
RSA的加密工程可以用下來公式來表達,如下。
也就是說,RSA的密文是對代表明文的數字的E次方求modN的結果。換句話說,就是將明文自己做E次乘法,然後將其結果除以N求余數,這個余數就是密文。
RSA的加密是求明文的E次方modN,因此只要知道E和N這兩個數,任何人都可以完成加密的運算。所以說E和N是RSA加密的密鑰。也就是說E和N的組合就是公鑰
有一個很容易引起誤解的地方需要大家注意一一E和N這兩個數並不是密鑰對(公鑰和私鑰的密鑰對)。E和N兩個數才組成了一個公鑰,因此我們一般會寫成 「公鑰是(E,N)」 或者 「公鑰是{E, N}" 這樣的形式,將E和N用括弧括起來。
1.3.2 RSA解密
RSA的解密和加密一樣簡單,可以用下面的公式來表達:
也就是說,對表示密文的數字的D次方求modN就可以得到明文。換句話說,將密文自己做D次乘法,在對其結果除以N求余數,就可以得到明文 。
這里所使用的數字N和加密時使用的數字N是相同的。數D和數N組合起來就是RSA的解密密鑰,因此D和N的組合就是私鑰。只有知道D和N兩個數的人才能夠完成解密的運算。
大家應該已經注意到,在RSA中,加密和解密的形式是相同的。加密是求 "E次方的mod N」,而解密則是求 "D次方的modN」,這真是太美妙了。
當然,D也並不是隨便什麼數都可以的,作為解密密鑰的D,和數字E有著相當緊密的聯系。否則,用E加密的結果可以用D來解密這樣的機制是無法實現的。
順便說一句, D是解密〈Decryption)的首字母,N是數字(Number)的首字母 。
RSA加密和解密
聲明該文章僅做個人學習使用,無任何商業用途。
原文鏈接:https://blog.csdn.net/atlansi/article/details/111144109
❹ 科普知識—對稱加密和非對稱加密
區塊鏈技術中廣泛應用到非對稱加密技術,非對稱加密技術保證了信息在傳輸過程中的安全性,非對稱加密技術是在對稱加密技術上發展來的。本文主要闡述對稱加密技術和非對稱加密技術的概念和特點,並舉例說明。
對稱加密就是用相同的密鑰對原文進行加密和解密,通信雙方共用一個密鑰。
基於對稱加密演算法傳輸信息「ABC」的步驟。
(1)發送方通過密鑰對原文"ABC"進行加密,得到密文"abc",並發送給接收方。密鑰為將字母轉換為對應的小寫字母,大寫A轉換為小寫a,「BC」同理轉換為「bc」。
(2)發送方將密鑰發送給接收方。
(3)接收方通過密鑰對密文進行解密,反推出原文「ABC」。
對稱加密演算法的缺點:無法確保密鑰被安全傳遞。
密鑰就是傳說中的「密碼本」。密文在傳輸過程中是可能被第三方截獲的,關鍵就落在「密碼本」上,如果密碼本也被第三方截獲,則傳輸的密碼信息將被第三方破獲,所以經常看到電影、電視劇的情節中通過各種手段保護密碼本的安全送達。
非對稱加密技術很好的解決了對稱加密技術密鑰無法安全傳遞的問題。
非對稱加密有兩個密鑰,即公鑰(Public Key)和私鑰(Private Key),對數據進行加密和解密使用不同的密鑰。使用公鑰進行加密,使用私鑰進行解密。
非對稱加密演算法中私鑰就是一個隨機數,基於不同的演算法生成不同的隨機數,如:SHA256演算法生成的是256位的隨機數,通常是調用操作系統的隨機數生成器來生成私鑰,私鑰通過一定的加密演算法推導出公鑰,私鑰到公鑰的推導過程是單向的,也就是說公鑰無法反推導出私鑰。
基於非對稱加密演算法傳輸信息「hello world」的步驟。
(1)發送方使用接收方的公鑰對待發送信息「hello world」加密,此處需注意:信息發送給誰,使用誰的公鑰進行加密,公鑰是可以公開的,類似於銀行卡賬戶。
(2)發送方將加密後的密文通過網路發送給接收方。
(3)接收方接收到密文後,使用自己的私鑰對密文進行解密,從而獲得傳輸信息「hello world」。
採用非對稱加密演算法即使第三方在網路上截獲到密文,但其無法獲得接收方的私鑰,也就無法對密文進行解密,作為接收方務必保證自己私鑰的安全,所以非對稱加密技術解決了密鑰傳輸過程的安全性問題。
本文主要闡述對稱加密技術和非對稱加密技術的概念和特點,並舉例說明。對稱加密是通信雙方共用密鑰,無法保證密鑰的安全傳遞;非對稱加密使用接收方的公鑰對數據加密,接收方使用自己的私鑰解密,即使信息被第三方截獲,由於沒有接收方的私鑰,也無法破解密文。
❺ 什麼是非對稱加密
非對稱加密演算法是一種密鑰的保密方法。
非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。 非對稱加密演算法實現機密信息交換的基本過程是:甲方生成一對密鑰並將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機密信息進行加密後再發送給甲方;甲方再用自己保存的另一把專用密鑰對加密後的信息進行解密。
另一方面,甲方可以使用乙方的公鑰對機密信息進行簽名後再發送給乙方;乙方再用自己的私匙對數據進行驗簽。
甲方只能用其專用密鑰解密由其公用密鑰加密後的任何信息。 非對稱加密演算法的保密性比較好,它消除了最終用戶交換密鑰的需要。
非對稱密碼體制的特點:演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。對稱密碼體制中只有一種密鑰,並且是非公開的,如果要解密就得讓對方知道密鑰。所以保證其安全性就是保證密鑰的安全,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
❻ 非對稱加密
與對稱加密演算法不同,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
非對稱加密演算法實現機密信息交換的基本過程是:甲方生成一對密鑰並將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機密信息進行加密後再發送給甲方;甲方再用自己保存的另一把專用密鑰對加密後的信息進行解密。甲方只能用其專用密鑰解密由其公用密鑰加密後的任何信息。
非對稱加密演算法的保密性比較好,它消除了最終用戶交換密鑰的需要,但加密和解密花費時間長、速度慢,它不適合於對文件加密而只適用於對少量數據進行加密。
經典的非對稱加密演算法如RSA演算法等安全性都相當高.
非對稱加密的典型應用是數字簽名。
採用雙鑰密碼系統的加密方法,在一個過程中使用兩個密鑰,一個用於加密,另一個用於解密,這種加密方法稱為非對稱加密,也稱為公鑰加密,因為其中一個密鑰是公開的(另一個則需要保密)。
❼ 2019-06-10 對稱加密 和非對稱加密
一、對稱加密
AES加密
AES加密是一種高級加密標准,是一種區塊加密標准。它是一個對稱密碼,就是說加密和解密用相同的密鑰。WPA/WPA2經常用的加密方式就是AES加密演算法。
二、非對稱加密
RSA加密演算法是一種非對稱加密演算法,非對稱加密演算法需要兩個密鑰:公共密鑰和私有密鑰。公鑰和私鑰是配對的,用公鑰加密的數據只有配對的私鑰才能解密。
RSA對加密數據的長度有限制,一般為密鑰的長度值-11,要加密較長的數據,可以採用數據截取的方法,分段加密。
使用場景:
文件或數據在本地使用公鑰或私鑰加密,加密後的數據傳送到伺服器,伺服器使用同一套密鑰中的私鑰或者公鑰進行解密。
一、Https是什麼?
1.HTTPS概念
HTTPS並不是一個單獨的協議,而是對工作在一加密連接(SSL/TLS)上的常規HTTP協議。通過在TCP和HTTP之間加入TLS來加密。
2.SSL/TLS協議
SSL協議,是一種安全傳輸的協議,TLS是SSL v3.0的升級版。
4.HTTPS傳輸速度
1)通信慢
2)SSL必須進行加密處理,比HTTP消耗更多資源
二、TLS/SSL握手
1.密碼學原理
1)對稱加密
加密數據用的秘鑰和解密數據用的密鑰是一樣的。
2)不對稱加密
私有密鑰:一方保管
共有密鑰:雙方公有
RSA演算法。
2.數字證書
1)就是互聯網通訊中標志通訊各方身份信息的一串數字,也是一個文件。
2)為什麼有數字證書?
3)數字證書的頒發過程?
3.SSL與TLS握手的過程?
使用非對稱加密,隨機數不能被隨便破解
Https雙向認證的流程:
a. 客戶端向服務端發送SSL版本等信息
b. 服務端給客戶端返回SSL版本,同時也返回伺服器端的證書
c. 客戶端使用服務的返回的信息驗證伺服器的合法性,
a) 包括:證書是否過期,發型伺服器證書的CA是否可靠,返回的公鑰能正確解開返回證書中的數字簽名,伺服器證書上帝域名是否和伺服器的實際域名想匹配
b) 驗證通過後,將進行通信,否則終止通信
d. 客戶端將自己的證書和公鑰發送給服務端
e. 驗證客戶端的證書,通過驗證後,會獲得客戶端的公鑰
f. 客戶端向服務端發送自己可以支持的對稱加密方案給服務端,讓服務端進行選擇
g. 服務端在客戶端提供的加密方案中選擇加密程度高的加密方式
h. 將加密方案通過使用之前獲取到的公鑰進行加密,返回給客戶端
i. 客戶端收到服務端返回的加密方案後,使用自己的私鑰進行解密,獲取具體的加密方式,最後,產生加密方式的隨機碼,用作過程中的密鑰,使用之前從客戶端證書中獲取到的公鑰進行加密後,發送嘿服務端
j. 服務端收到客戶端發來的消息後,使用私鑰對加密信息進行加密,獲得對稱加密的密鑰
k. 對稱加密,確保通信安全
總結:https實際上就是在TCP層與http層之間加入了SSL/TLS來為上層的安全保駕護航,主要用到了對稱加密,非對稱加密,證書等技術進行客戶端與伺服器的數據加密傳輸,最終達到保證整個通信的安全性。