加密理解

一. 高級加密標準(advanced encryption standard, AES)

     一種對稱加密算法,支持128、192、256位密鑰長度。


二. 對稱加密

    加密密鑰和解密密鑰完全相同或相關的加密方法。

1.創建一個發送方計算機和接收方計算機都知道的密鑰。
2.發送方計算機使用一個預定的加密算法和上述密鑰,加密要發送的數據。
3.加密(不可讀的)文本被轉交給目的計算機。
4.接收方計算機使用的相對應的解密算法(以及密鑰)來解密數據。


三. 非對稱加密:使用不同的密鑰進行加密和解密

      非對稱加密之所以稱爲非對稱,是因爲用來加密數據的密鑰,與用來解密數據的密鑰不同。非對稱加密通常與一種被稱爲公開密鑰加密的加密方法相關。在公開密鑰加密中,兩個密鑰中的一個(被稱爲私有密鑰)安全地保留在一臺計算機上。另一個密鑰(公開密鑰)對於所有想要給私有密鑰持有者發送數據的計算機均可用。具體步驟如下所示。
1.計算機A設法與計算機B建立一個連接。
2.計算機 B 上的加密軟件生成一個私有密鑰和一個公開密鑰。私有密鑰不與任何人分享。公開密鑰被提供給計算機A使用。
3.計算機A使用從計算機B接收到的公開密鑰加密數據並傳輸數據。來自計算機B的公開密鑰被存儲在計算機A上,以供將來引用。
4.計算機B接收計算機A發送來的數據,並使用相應的私有密鑰進行解密

四. 數字簽名

       用來檢驗發送方身份和數據完整性的加密字符串。 數字簽名方法用於確保數據來自其所屬的數據源,並且該數據在其交付路徑中沒有被更改過。數字簽名就是與報文包括在一起的一塊加密數據。這塊加密數據有時被稱爲鑑別碼(authenticator)。數字簽名通常逆向使用公開密鑰加密過程。

1.計算機B想要發送一個具有數字簽名的文檔給計算機A。計算機B根據驗證文檔內容所需的信息,創建一小段數據。換句話說,就是對文檔中的一些位執行某種數學計算,以得到一個值。鑑別碼可能還包含其他可用來驗證消息真實性的信息,例如一個時間戳值,或其他將把鑑別碼與其附着的消息關聯起來的參數。
2.計算機 B 使用一個私有密鑰加密鑑別碼(注意,這是上一小節中描述的公開密鑰加密過程的逆向。在上一小節中,私有密鑰解密數據)。鑑別碼然後被附於要傳輸的文檔,該文檔再被髮送給計算機A。
3.計算機A接收數據,並使用計算機B的公開密鑰解密相應的鑑別碼。鑑別碼中的信息使得計算機A可以驗證該數據是否在傳輸過程中被更改過。實際上,數據可以使用計算機B的公開密鑰進行解密,即證實該數據是使用計算機B的私有密鑰加密的,這就確保數據來自計算機B。
       數字簽名以這種方式確保數據沒有被更改過,而且它來自其推定的數據源。作爲一項基本的安全措施,整個消息都可以使用計算機B的私有密鑰進行加密,而不僅僅是鑑別碼。然而,使用私有密鑰加密,再使用公開密鑰解密,實際上並不可靠,因爲用來解密的公開密鑰是通過 Internet 發送的,因此可能並不保密。一個獲得公開密鑰的竊聽者可以解密加密後的鑑別碼。不過,該竊聽者將無法再加密一個新的鑑別碼,因此也就無法僞裝成計算機B。

五. 認證中心(Certificate Authority, CA)

監視證書創建和遞送過程的中央權威,證書服務器被稱爲認證中心。

六. 數字證書:一種加密的數據結構,用來分發公開密鑰

      任何提出請求的人都可以獲得公開密鑰的重大設計是一項有趣的解決方案,但是仍然存在一些侷限性。事實上,攻擊者仍然可以利用公開密鑰進行惡作劇。攻擊者可以解密數字簽名,或者甚至可以讀取使用相應用戶私有密鑰加密的密碼。提供某種安全系統,用於確保誰可以獲得公開密鑰的訪問權,這樣會更安全一些。對於這個問題的一種解決方法就是所謂的使用數字證書。數字證書實質上就是公開密鑰的一個加密副本。相應的認證過程如圖所示。這個過程需要一臺第三方的證書服務器,它與想要通信的雙方都有一個安全的聯繫。證書服務器也被稱爲認證中心( Certificate Authority,CA)。、

1.用戶B通過一個安全通信,將其公開密鑰的一個副本發送給證書服務器。
2.證書服務器使用另一個密鑰加密用戶B的公開密鑰(以及其他用戶參數)。這個新加密的數據包被稱爲證書。與該證書包含在一起的是證書服務器的數字簽名。
3.證書服務器將證書返回給用戶B。
4.用戶A需要獲得用戶B的公開密鑰。計算機A向計算機B請求用戶B的一個證書副本。
5.計算機A通過與證書服務器的安全通信,獲得用來加密證書的密鑰副本。
6.計算機A使用從證書服務器獲得的密鑰解密證書,並提取用戶B的公開密鑰。計算機A同時檢查證書服務器的數字簽名(見步驟2),以確保該證書是可信的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章