加密和解密,(數字)簽名和驗證,公鑰私鑰

2021-07-14 09:13:27 字數 2228 閱讀 1063

網路安全中最知名的人物大概就是bob和alice了,因為很多安全原理闡述中都用這兩個虛擬人物來進行例項說明。

我們來看看bob是怎麼從ca中心獲得乙個數字證書的:

1、bob首先建立他自己的金鑰對(key pair),包含公鑰和私鑰;

2、bob通過網路把他的公鑰送到ca中心,公鑰中包含了bob的個人鑑別資訊(他的名字、位址、所用裝置的序列號等等)。這些資訊是證書所必需的;

3、這個證書申請在ca中心伺服器上會一直處於等待(pending)狀態,直到ca中心的某人開始處理bob的請求;

4、在ca中心的某人鑑定並確認了bob確實是那個提交公鑰的人。為了確定bob和金鑰之間的對應關係,這個確認過程會通過某種人和人之間、帶外的方式進行;

5、bob定期地對ca伺服器進行查詢,希望他的證書申請過程能完成並已可取回;

6、ca中心建立並簽署乙個包含bob的公鑰及個人資訊的證書,從而保證金鑰的確實性;

8、bob現在可以使用證書來發布他的公鑰,而其他使用bob證書的人可以通過檢驗ca中心的簽名(檢驗ca簽名需要ca的公鑰)來驗證證書的確實性。 

如果我用私鑰加密一段資料(當然只有我可以用私鑰加密,因為只有我知道2是我的私鑰),結果所有的人都看到我的內容了,因為他們都知道我的公鑰是1,那麼這種加密有什麼用處呢?

但是我的好朋友x說有人冒充我給他發信。怎麼辦呢?

(1)我把我要發的信,內容是 c,用我的私鑰2,加密,加密後的內容是d。

(2)把內容d發給x,再告訴他解密看是不是c。他用我的公鑰1解密,發現果然是c。

這個時候,他會想到,能夠用我的公鑰解密的資料,必然是用我的私鑰加的密。只有我知道我得私鑰,因此他就可以確認確實是我發的東西。這樣我們就能確認傳送方身份了。這個過程叫做數字簽名。當然具體的過程要稍微複雜一些。

用私鑰來加密資料,用途就是數字簽名。

好,我們複習一下:

1,公鑰私鑰成對出現

2,私鑰只有我知道

3,大家可以用我的公鑰給我發加密的信了

4,大家用我的公鑰解密信的內容,看看能不能解開,能解開,說明是經過我的私鑰加密了,就可以確認確實是我發的了。

總結一下結論:

1,用公鑰加密資料,用私鑰來解密資料

2,用私鑰加密資料(數字簽名),用公鈅來驗證數字簽名。

在實際的使用中,公鑰不會單獨出現,總是以數字證書的方式出現,這樣是為了公鑰的安全性和有效性。

二,ssl

我和我得好朋友x,要進行安全的通訊。這種通訊可以是qq聊天,很頻繁的。用我的公鑰加密資料就不行了,因為:

1,我的好朋友x沒有公私鑰對,我怎麼給他發加密的訊息啊?(注:實際情況中,可以雙方都有公私鑰對)

2,用公私鑰加密運算很費時間,很慢,影響qq效果。

好了,好朋友x,找了乙個數字3,用我的公鑰1,加密後發給我,說,我們以後就用這個數字來加密資訊吧。我解開後,得到了數字3。這樣,只有我們兩個人知道這個秘密的數字3,別的人都不知道,因為他們既不知x挑了乙個什麼數字,加密後的內容他們也無法解開,我們把這個秘密的數字叫做會話金鑰。

然後,我們選擇一種對稱金鑰演算法,比如des,(對稱演算法是說,加密過程和解密過程是對稱的,用乙個金鑰加密,可以用同乙個金鑰解密。使用公私鑰的演算法是非對稱加密演算法),來加密我們之間的通訊內容。別人因為不知道3是我們的會話金鑰,因而無法解密。

好,複習一下:

1,ssl實現安全的通訊

2,通訊雙方使用一方或者雙方的公鑰來傳遞和約定會話金鑰(這個過程叫做握手)

3,雙方使用會話金鑰,來加密雙方的通訊內容

上面說的是原理。大家可能覺得比較複雜了,實際使用中,比這還要複雜。不過慶幸的是,好心的先行者們在作業系統或者相關的軟體中實現了這層(layer),並且起了乙個難聽的名字叫做ssl,(secure socket layer)。

加密和解密:

傳送方利用接收方的公鑰對要傳送的明文進行加密,接受方利用自己的   

私鑰進行解密,其中公鑰和私鑰匙相對的,任何乙個作為公鑰,則另乙個 

就為私鑰.但是因為非對稱加密技術的速度比較慢,所以,一般採用對稱 

加密技術加密明文,然後用非對稱加密技術加密對稱金鑰,即數字信封 

技術. 

(數字)簽名和驗證:

傳送方用特殊的hash演算法,由明文中產生固定長度的摘要,然後利用 

自己的私鑰對形成的摘要進行加密,這個過程就叫簽名。接受方利用 

傳送方的公鑰解密被加密的摘要得到結果a,然後對明文也進行hash操 

作產生摘要b.最後,把a和b作比較。此方式既可以保證傳送方的身份不 

可抵賴,又可以保證資料在傳輸過程中不會被篡改。

加密和解密,(數字)簽名和驗證,公鑰私鑰

數字證書的原理 數字證書採用公鑰體制,即利用一對互相匹配的金鑰進行加密 解密。每個使用者自己設定一把特定的僅為本人所知的私有金鑰 私鑰 用它進行解密和簽名 同時 設定一把公共金鑰 公鑰 並由本人公開,為一組使用者所共享,用於加密和驗證簽名。當傳送乙份保密檔案時,傳送方使用接收方的公鑰對資料加密,而接...

公鑰 私鑰 加密 解密 簽名 驗證

一 公鑰加密 假設一下,我找了兩個數字,乙個是1,乙個是2。我喜歡2這個數字,就保留起來,不告訴你們 私鑰 然後我告訴大家,1是我的公鑰。我有乙個檔案,不能讓別人看,我就用1加密了。別人找到了這個檔案,但是他不知道2就是解密的私鑰啊,所以他解不開,只有我可以用 數字2,就是我的私鑰,來解密。這樣我就...

公鑰私鑰加密解密數字證書數字簽名詳解

from 首先明確幾個基本概念 1 金鑰對,在非對稱加密技術中,有兩種金鑰,分為私鑰和公鑰,私鑰是金鑰對所有者持有,不可公布,公鑰是金鑰對持有者公布給他人的。2 公鑰,公鑰用來給資料加密,用公鑰加密的資料只能使用私鑰解密。3 私鑰,如上,用來解密公鑰加密的資料。4 摘要,對需要傳輸的文字,做乙個ha...