您現在的位置是:首頁 > 單機遊戲首頁單機遊戲

什麼是公鑰,什麼是私鑰

簡介下面我簡化一下,說一下這個過程:證明A是A:A用自己的私鑰將一個檔案加密,然後B用A的公鑰來驗證,如果能解密,那麼就證明A是AA傳檔案給B:A用B的公鑰將要傳輸的檔案加密,然後B用自己的私鑰來解密,最終獲得檔案

金鑰是什麼

孫子曰,知己知彼,百戰不殆,從古至今,不管是戰場還是商場,資訊的保密都是非常重要的一個工作。

在對稱加密的時代,加密和解密用的是同一個金鑰,這個金鑰既用於加密,又用於解密。這樣做有一個明顯的缺點,如果兩個人之間傳輸檔案,兩個人都要知道金鑰,如果是三個人呢,五個人呢?

那麼多人知道的金鑰,還叫金鑰嗎?

還好後來有了非對稱加密,用一個金鑰進行加密(公鑰),用另一個金鑰進行解密(私鑰)。

那麼什麼是非對稱加密呢?

在數學中,有些數學過程正向運算很容易,但是逆推卻很難,比如說:將兩個大素數相乘十分容易,但是想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰。這只是其中一個例子(RSA演算法)

說人話就是:用私鑰能計算出公鑰,但是用公鑰卻算不出私鑰(不能逆推)

發信人身份的驗證:

檔案的加密傳輸解決了,還有另一個問題,那就是發信人身份的驗證,換句話說,你怎麼知道對方不是釣魚網站?

A將檔案用雜湊演算法加密一次,生成摘要,再將摘要用私鑰加密一次,生成數字簽名。B收到A的檔案之後,用自己的私鑰進行解密,獲得需要的檔案,自己將檔案生成一個摘要。

然後用A的公鑰將A發過來的數字簽名進行解密,也生成一個摘要。

如果兩個摘要相同,那麼就可以證明A是A並且資訊在傳遞過程中沒有被篡改。

是不是有點暈?下面我簡化一下,說一下這個過程:

證明A是A:

A用自己的私鑰將一個檔案加密,然後B用A的公鑰來驗證,如果能解密,那麼就證明A是A

A傳檔案給B:

A用B的公鑰將要傳輸的檔案加密,然後B用自己的私鑰來解密,最終獲得檔案。

這下應該有一個感性的認識了吧?具體的演算法其實我們不用瞭解的那麼清楚,畢竟我們不是攻城獅,有個概念就可以了。

什麼是公鑰,什麼是私鑰

Top