SSH,公鑰,私鑰的理解

2022-05-03 13:30:16 字數 1294 閱讀 4962

首先我們需要區分加密和認證這兩個基本概念。

加密是將資料資料加密,使得非法使用者即使取得加密過的資料,也無法獲取正確的資料內容,所以資料加密可以保護資料,防止監聽攻擊。其重點在於資料的安全性。身份認證是用來判斷某個身份的真實性,確認身份後,系統才可以依不同的身份給予不同的許可權。其重點在於使用者的真實性。兩者的側重點是不同的。

其次我們還要了解公鑰和私鑰的概念和作用。

在現代密碼體制中加密和解密是採用不同的金鑰(公開金鑰),也就是非對稱金鑰密碼系統,每個通訊方均需要兩個金鑰,即公鑰和私鑰,這兩把金鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。

公鑰私鑰的原則:

乙個公鑰對應乙個私鑰。

金鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。

如果用其中乙個金鑰加密資料,則只有對應的那個金鑰才可以解密。

如果用其中乙個金鑰可以進行解密資料,則該資料必然是對應的那個金鑰進行的加密。

非對稱金鑰密碼的主要應用就是公鑰加密和公鑰認證,而公鑰加密的過程和公鑰認證的過程是不一樣的,下面我就詳細講解一下兩者的區別。

比如有兩個使用者alice和bob,alice想把一段明文通過雙鑰加密的技術傳送給bob,bob有一對公鑰和私鑰,那麼加密解密的過程如下:

bob將他的公開金鑰傳送給alice。

alice用bob的公開金鑰加密她的訊息,然後傳送給bob。

bob用他的私人金鑰解密alice的訊息。

上面的過程可以用下圖表示,alice使用bob的公鑰進行加密,bob用自己的私鑰進行解密。

身份認證和加密就不同了,主要使用者鑑別使用者的真偽。這裡我們只要能夠鑑別乙個使用者的私鑰是正確的,就可以鑑別這個使用者的真偽。

還是alice和bob這兩個使用者,alice想讓bob知道自己是真實的alice,而不是假冒的,因此alice只要使用公鑰密碼學對檔案簽名傳送給bob,bob使用alice的公鑰對檔案進行解密,如果可以解密成功,則證明alice的私鑰是正確的,因而就完成了對alice的身份鑑別。整個身份認證的過程如下:

alice用她的私人金鑰對檔案加密,從而對檔案簽名。

alice將簽名的檔案傳送給bob。

bob用alice的公鑰解密檔案,從而驗證簽名。

上面的過程可以用下圖表示,alice使用自己的私鑰加密,bob用alice的公鑰進行解密。

github 公鑰 私鑰 理解公鑰與私鑰

一 公鑰演算法與私鑰演算法 1 私鑰演算法 私鑰加密演算法,又稱 對稱加密演算法,因為這種演算法解密金鑰和加密金鑰是相同的。也正因為同一金鑰既用於加密又用於解密,所以這個金鑰是不能公開的。常見的有 des加密演算法 aes加密演算法 2 公鑰演算法 公鑰加密演算法,也就是 非對稱加密演算法,這種演算...

公鑰 私鑰 公鑰私鑰

小明想寫一封情書給小紅,但是這封情書是很私密的東西,小明不想讓除了小紅之外的其他人知道。小明看過flydean的部落格,他知道了有個對稱加密的好東西。於是小明想,如果我將情書使用對稱加密演算法進行加密,然後再把加密後的情書傳給小紅豈不就是安全了?但是小明又仔細思考了一下,發現了乙個問題,對稱加密演算...

理解公鑰與私鑰

1 私鑰演算法 私鑰加密演算法,又稱對稱加密演算法,因為這種演算法解密金鑰和加密金鑰是相同的。也正因為同一金鑰既用於加密又用於解密,所以這個金鑰是不能公開的。常見的有 des加密演算法 aes加密演算法 2 公鑰演算法 公鑰加密演算法,也就是非對稱加密演算法,這種演算法加密和解密的密碼不一樣,乙個是...