私鑰,公鑰,會話密鑰,數字簽名

一,公鑰私鑰

1,公鑰和私鑰成對出現

2,公開的密鑰叫公鑰,只有自己知道的叫私鑰

3,用公鑰加密的數據只有對應的私鑰可以解密

4,用私鑰加密的數據只有對應的公鑰可以解密

5,如果可以用公鑰解密,則必然是對應的私鑰加的密

6,如果可以用私鑰解密,則必然是對應的公鑰加的密

1,B用A的公鑰加密數據,A用私鑰來解密數據(B加密傳輸的數據)

2,A用A的私鑰加密數據(數字簽名),B用A的公鑰來驗證數字簽名。(認證消息發送者身份為A)(AES)

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

RSA 密碼的使用

1、Alice使用Bob的公開密鑰來加密信息,然後發給Bob,Bob使用私鑰解密;

2、Bob使用Alice的公開密鑰來加密信息,然後發給Alice,Alice使用私鑰解密;

但雙方這樣通信會太過於麻煩。於是RSA來傳遞密鑰,使用對稱密碼來進行通信。

中間人攻擊

即當Bob發送公鑰給Alice的時候,Eve截取了Bob的公鑰,同時把自己公鑰發給 Alice ,這樣一直在與Alice通信的不是Bob。

數字簽名技術

為了讓Bob的公鑰,安全的發給Alice。這需要對Bob的身份進行認證,同時也需要把認證後的證書安全的發給Alice。

即,數字簽名技術:

Bob可以把他的公鑰和個人信息用一個Hash演算法生成一個消息摘要, 這個Hash演算法有個極好的特性,只要輸入數據有一點點變化,那生成的消息摘要就會有巨變,這樣就可以防止別人修改原始內容。(中間人可以把整個信息替換掉),這時候就需要公信力的認證中心(簡稱CA)對消息摘要加密,形成簽名。

同樣Alice當Bob把他的證書發給Alice時,同樣的使用Hash演算法,再次生成消息摘要,然後用CA的公鑰對數字簽名沒解密得到CA創建的信息摘要,兩者對比,看是否被篡改。

(怎樣安全傳輸CA的公鑰?)又回到了公鑰安全傳輸問題。

解決方式:必須相信CA,這些CA本身也有證書來證明自己的身份,並且CA的信用是像樹一樣分級的,高層的CA給底層的CA做信用背書,而操作系統/瀏覽器中會內置一些頂層的CA的證書,相當於你自動信任了他們。 這些頂層的CA證書一定得安全地放入操作系統/瀏覽器當中,否則世界大亂。

數字證書則是由證書認證機構(CA)對證書申請者真實身份驗證之後,用CA的根證書對申請人的一些基本信息以及申請人(一般為網站伺服器)的公鑰進行簽名(相當於加蓋發證書機構的公章)後形成的一個數字文件。

簽名操作是發送方用私鑰進行簽名,接受方用發送方證書來驗證簽名;加密操作則是用接受方的證書進行加密,接受方用自己的私鑰進行解密。

https、公鑰、私鑰、數字簽名、數字證書 - CSDN博客?

blog.csdn.net
圖標

推薦閱讀:
相关文章