⑴ 公開密鑰基本原理
公開密鑰加密技術基本原理
現代加密技術中的加密演算法都是公開的,而密鑰是私有的。我們首先要對數據用加密演算法進行加密,讓接受方使用密鑰進行解密,這樣實現數據的安全傳輸。
加密和解密都會用到密鑰,如果沒有密鑰就無法對加密的文件進行解密,也就是說任何人只要持有了密鑰就可以解密,所以如果密鑰被攻擊者獲得加密就失去了意義。
共享密鑰加密方式 :加密和解密用同一個密鑰的方式稱為 共享密鑰加密 (Common Key crypto system), 也被叫做 對稱密鑰加密 。
採用對稱密鑰加密的方式,必須將密鑰也發給對方,不然對方無法解密。可究竟怎樣才能安全的將密鑰轉交給對方呢?在互聯網上傳播時,如果通訊被監聽,密鑰落入攻擊者之手,那加密就失去了意義。另外還得要有個辦法安全的保存收的密鑰。
發送密鑰就有被竊聽的風險,但是不發送密鑰,對方又無法解密。如果密鑰能夠可靠傳遞,那數據為什麼不能可靠傳遞呢?
公開密鑰加密方式 :公開密鑰加密使用了兩把 非對稱 的密鑰,一把叫做 私有密鑰 (private key) ,另一把叫做 公開密鑰 (public key).
在公開密鑰加密方法中,發送方使用接受方發布的公開密鑰進行加密處理,然後發送給接受方,接受方收到加密信息後,再使用自己的私有密鑰進行解密。這種方式不需要發送用來解密的密鑰,也就不用擔心密鑰被攻擊者盜走的情況。
另外,要根據秘文和公開密鑰把信息回復到原文是異常困難的。目前技術而言,不太現實。
⑵ 加密那些事--非對稱加密詳解
「非對稱加密也叫公鑰密碼:使用公鑰 加密 ,使用私鑰解密」
在對稱密碼中,由於加密和解密的密鑰是相同的,因此必須向接收者配送密鑰。用於解密的密鑰必須被配送給接收者,這一問題稱為密鑰配送問題。如果使用非對稱加密,則無需向接收者配送用於解密的密鑰,這樣就解決了密鑰配送的問題。
非對稱加密中,密鑰分為加密密鑰和解密密鑰兩種。發送者用加密密鑰對消息進行加密,接收者用解密密鑰對密文進行解密。需理解公鑰密碼,清楚地分加密密鑰和解密密鑰是非常重要的。加密密鑰是發送者加密時使用的,而解密密鑰則是接收者解密時使用的。
加密密鑰和解密密鑰的區別:
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
⑶ 公鑰密碼比傳統密碼更安全對嗎
公鑰密碼比傳統密碼更安全對。
公鑰密碼中,加密密鑰普通是公開的。正是由於加密密鑰能夠隨意公開,因而該密鑰被稱為公鑰。公鑰能夠通過郵件間接發送給接收者,也能夠刊登在報紙的廣告欄上,做成看板放在街上,或許做成網頁公開給天下上任何人,而完全不必擔憂被竊聽者盜取。

公鑰和私鑰是一一關於應的,一對公鑰和私鑰統稱為密鑰對。由公鑰進行加密的密文,必須運用與該公鑰配對的私鑰才可以解密。密鑰對中的兩個密鑰之間具有十分密切的關系—數學上的關系—因而公鑰和私鑰是不可以分別獨自生成的。
公鑰密碼的運用者需要生成一個包羅公鑰和私鑰的密鑰對,此中公鑰會被發送給別人,而私鑰則僅供本人運用。
⑷ 加密密鑰是公開的,脫密密鑰是保密的是什麼意思
公開密鑰密碼體制是現代密碼學的最重要的發明和進展。一般理解密碼學(Cryptography)就是保護信息傳遞的機密性。
但這僅僅是當今密碼學主題的一個方面。對信息發送與接收人的真實身份的驗證、對所發出/接收信息在事後的不可抵賴以及保障數據的完整性是現代密碼學主題的另一方面。
公開密鑰密碼體制對這兩方面的問題都給出了出色的解答,並正在繼續產生許多新的思想和方案。在公鑰體制中,加密密鑰不同於解密密鑰。人們將加密密鑰公之於眾,誰都可以使用;而解密密鑰只有解密人自己知道。迄今為止的所有公鑰密碼體系中,RSA系統是最著名、使用最廣泛的一種。
⑸ 當密鑰被無意泄漏時怎麼辦
如果是個人的話,就沒有關系了,因為這個密鑰是不可能被破解的,如果是公司的話,就需要採取措施,防止這個密鑰被泄漏了。一、加密的方法有多種,常見的方法有:1、數據加密法:對數據進行加密,以防止數據的外泄。如:對一些重要的數據進行加密,可以防止別人竊取,也可以防止別人在未經允許的情況下進行拷貝等。2、密碼加密法:對一些不重要的數據進行加密,以防止數據外泄。3、混合加密法:對數據進行加密和密碼進行加密,這種方法比較好,因為可以同時對數據和密碼進行加密和保護。二、加密的原理:加密就是把要傳遞的數據用一個密鑰進行加密,然後把這個密鑰和數據放到一起,然後把要傳遞的數據和這個密鑰一起發給對方,對方收到這個信息之後,用另外一個密鑰才可以解開這個加密信息,這樣對方就知道了這個數據的內容。
⑹ 為什麼公開密鑰密碼體制中加密和解密演算法都是公開的
在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然秘密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK。
該技術採用兩個不同的密鑰來對信息加密和解密,它也稱為"非對稱式加密方法。每個用戶有一個對外公開的加密演算法E和對外保密的解密演算法D。
它們須滿足條件:
(1)D是E的逆,即D[E(X)]=X;
(2)E和D都容易計算。
(3)由E出發去求解D十分困難。
從上述條件可看出,公開密鑰密碼體制下,加密密鑰不等於解密密鑰。加密密鑰可對外公開,使任何用戶都可將傳送給此用戶的信息用公開密鑰加密發送,而該用戶唯一保存的私人密鑰是保密的,也只有它能將密文復原、解密。雖然解密密鑰理論上可由加密密鑰推算出來,但這種演算法設計在實際上是不可能的,或者雖然能夠推算出,但要花費很長的時間而成為不可行的。所以將加密密鑰公開也不會危害密鑰的安全。
⑺ 什麼是公鑰加密
什麼是公鑰加密
公鑰加密,也叫非對稱(密鑰)加密(public key encryption),屬於通信科技下的網路安全二級學科,指的是由對應的一對唯一性密鑰(即公開密鑰和私有密鑰)組成的加密方法。它解決了密鑰的發布和管理問題,是目前商業密碼的核心。在公鑰加密體制中,沒有公開的是明文,公開的是密文,公鑰,演算法。
常見演算法
RSA、ElGamal、背包演算法、Rabin(Rabin的加密法可以說是RSA方法的特例)、Diffie-Hellman (D-H) 密鑰交換協議中的公鑰加密演算法、Elliptic Curve Cryptography(ECC,橢圓曲線加密演算法)。使用最廣泛的是RSA演算法(由發明者Rivest、Shmir和Adleman姓氏首字母縮寫而來)是著名的公開金鑰加密演算法,ElGamal是另一種常用的非對稱加密演算法。
緣起
該思想最早由雷夫·莫寇(Ralph C. Merkle)在1974年提出,之後在1976年。狄菲(Whitfield Diffie)與赫爾曼(Martin Hellman)兩位學者以單向函數與單向暗門函數為基礎,為發訊與收訊的兩方創建金鑰。
非對稱
是指一對加密密鑰與解密密鑰,這兩個密鑰是數學相關,用某用戶密鑰加密後所得的信息,只能用該用戶的解密密鑰才能解密。如果知道了其中一個,並不能計算出另外一個。因此如果公開了一對密鑰中的一個,並不會危害到另外一個的秘密性質。稱公開的密鑰為公鑰;不公開的密鑰為私鑰。
如果加密密鑰是公開的,這用於客戶給私鑰所有者上傳加密的數據,這被稱作為公開密鑰加密(狹義)。例如,網路銀行的客戶發給銀行網站的賬戶操作的加密數據。
如果解密密鑰是公開的,用私鑰加密的信息,可以用公鑰對其解密,用於客戶驗證持有私鑰一方發布的數據或文件是完整准確的,接收者由此可知這條信息確實來自於擁有私鑰的某人,這被稱作數字簽名,公鑰的形式就是數字證書。例如,從網上下載的安裝程序,一般都帶有程序製作者的數字簽名,可以證明該程序的確是該作者(公司)發布的而不是第三方偽造的且未被篡改過(身份認證/驗證)。
⑻ 公開密鑰加密的公開密鑰加密與對稱密鑰加密的區別
在對稱密鑰加密中,對一個信息的加密密碼和解密密碼都是相同的,所以發送者需要發送一條信息之前,必須先發送密鑰給接收者,這樣接收者才能解密這條信息。
對稱密鑰加密的過程是:
假設兩個用戶A,B進行通信,A先發送信息給B,然後B發送信息給A
1. A先用密鑰k1加密一條信息,使之變成密文c1;
2. A把密鑰k1發送給B;(此時如果密鑰被截獲,截獲方就可以解密並讀取密文)
3. A把密文c1發送給B;
4. B用密鑰k1解密,並讀取解密後的信息
5. B用密鑰k2加密一條信息,使之變成密文c2;
6. B把密鑰k2發送給A;
7. B把密文c2發送給A;
8. A用密鑰k2解密,並讀取解密後的信息
公開密鑰加密的過程是:
假設兩個用戶A,B進行通信,A先發送信息給B,然後B發送信息給A
1. B先產生一對密鑰k1a和k1b,前者用來加密,後者用來解密
2. B把密鑰k1a發送給A;(因為k1a只能用來加密,截獲方無法通過它來解密並讀取密文)
3. A用密鑰k1a加密一條信息,使之變成密文c1;
4. A把密文c1發送給B;
5. B用密鑰k1b解密,並讀取解密後的信息;
6. A產生一對密鑰k2a和k2b,前者用來加密,後者用來解密
7. A把密鑰k2a發送給B;
8. B用密鑰k2a加密一條信息,使之變成密文c2;
9. B把密文c2發送給A;
10. A用密鑰k2b解密,並讀取解密後的信息;

⑼ 請教非對稱加密里公開密匙既然是公開的,還為什麼叫「密匙」
大致是這個樣子的:
你有兩個密匙,而不是一個:公開密匙和私有密匙,公開密匙被別人知道,私有密匙只有你自己知道,不能泄露給別人。
前提描述:當一個人A要給你發一個加密的文件,如果你不知道密碼,你當然不能解開;如果他要用另外的渠道給你傳送密碼,當然又不能保證安全(如密碼被別人截獲),怎麼辦呢,加密系統能解決這個問題。
加密描述:A用你的公開密匙將文件加密,然後發送給你,你收到文件後,用私有密匙解密,就可以打開文檔了;如果別人截獲了該文件,但他沒有你的私有密匙,所以還是解不了密。