天天看點

對稱加密(私鑰加密)與不對稱加密(公鑰加密) 加密算法:

加密算法:

介紹: 1.對稱加密(私鑰加密) 私鑰加密算法使用單個私鑰來加密和解密資料。由于具有密鑰的任意一方都可以使用該密鑰解密資料,是以必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用于加密又用于解密。私鑰加密算法非常快(與公鑰算法相比),特别适用于對較大的資料流執行加密轉換。對稱算法的根本原理就是單向函數,f(a)=b,但是用b很難得到a。私鑰加密算法使用長度可變的緩沖區。

2.不對稱加密(公鑰加密) 公鑰加密使用一個必須對未經授權的使用者保密的私鑰和一個可以對任何人公開的公鑰。公鑰和私鑰都在數學上相關聯;用公鑰加密的資料隻能用私鑰解密,而用私鑰簽名的資料隻能用公鑰驗證。公鑰可以提供給任何人;公鑰用于對要發送到私鑰持有者的資料進行加密。兩個密鑰對于通信會話都是唯一的。公鑰加密算法也稱為不對稱算法,原因是需要用一個密鑰加密資料而需要用另一個密鑰來解密資料。公鑰加密算法使用固定的緩沖區大小,無法像私鑰算法那樣将資料連結起來成為流,原因是它隻可以加密少量資料

例子: 雙方(小紅和小明)可以按照下列方式使用公鑰加密。首先,小紅生成一個公鑰/私鑰對。如果小明想要給小紅發送一條加密的消息,他将向她索要她的公鑰。小紅通過不安全的網絡将她的公鑰發送給小明,小明接着使用該密鑰加密消息。(如果小明在不安全的信道如公共網絡上收到小紅的密鑰,則小明必須同小紅驗證他具有她的公鑰的正确副本。)小明将加密的消息發送給小紅,而小紅使用她的私鑰解密該消息。 但是,在傳輸小紅的公鑰期間,未經授權的代理可能截獲該密鑰。而且,同一代理可能截獲來自小明的加密消息。但是,該代理無法用公鑰解密該消息。該消息隻能用小紅的私鑰解密,而該私鑰沒有被傳輸。小紅不使用她的私鑰加密給小明的答複消息,原因是任何具有公鑰的人都可以解密該消息。如果小紅想要将消息發送回小明,她将向小明索要他的公鑰并使用該公鑰加密她的消息。然後,小明使用與他相關聯的私鑰來解密該消息。   在以上方案中,小紅和小明使用公鑰(不對稱)加密來傳輸私(對稱)鑰,而對他們的會話的其餘部分使用私鑰加密(由于對稱加密快捷,用于實際的資料加密,而利用不對稱加密的方式解決對稱加密中私鑰傳遞的不安全性,此為對稱和不對稱加密結合的加密方式)。 公鑰加密具有更大的密鑰空間(或密鑰的可能值範圍),是以不大容易受到對每個可能密鑰都進行嘗試的窮舉攻擊。由于不必保護公鑰,是以它易于分發。公鑰算法可用于建立數字簽名以驗證資料發送方的身份。但是,公鑰算法非常慢(與私鑰算法相比),不适合用來加密大量資料。公鑰算法僅對傳輸很少量的資料有用。公鑰加密通常用于加密一個私鑰算法将要使用的密鑰和 IV。傳輸密鑰和 IV 後,會話的其餘部分将使用私鑰加密。

繼續閱讀