兩種鑰匙
對稱密鑰加密,也稱為私鑰加密或會話密鑰加密算法,是指信息的發送方和接收方使用相同的密鑰對數據進行加密和解密。它最大的優點是加密/解密速度快,適合加密大量數據,但密鑰管理比較困難。
非對稱密鑰加密系統,也稱為公鑰加密。它需要使用不同的密鑰分別完成加密和解密操作,壹個是公開發布的,即公鑰,壹個是用戶自己秘密保存的,即私鑰。信息的發送方使用公鑰加密,而信息的接收方使用私鑰解密。公鑰機制比較靈活,但是加解密的速度比對稱密鑰加密慢很多。
因此,在實際應用中,人們通常會將它們結合在壹起使用。例如,對稱密鑰加密系統用於存儲大量的數據信息,而公鑰加密系統用於加密密鑰。
詳情請編輯本段。
對於普通的對稱加密,加密操作和解密操作使用相同的密鑰。通常使用的對稱加密算法簡單高效,密鑰短,極難破譯。由於系統的安全性主要取決於密鑰的安全性,因此在開放的計算機網絡上安全地傳輸和保存密鑰是壹個嚴峻的問題。正因為對稱密碼中雙方使用相同的密鑰,所以無法實現數據簽名和不可否認的功能。
從20世紀70年代開始,就有學者提出了公鑰體制,即利用單向函數的數學原理來實現加解密密鑰的分離。加密密鑰是公開的,解密密鑰是保密的。這種新的密碼體制在密碼學領域引起了廣泛的關註和討論。
與普通對稱加密技術使用相同的密鑰加密和解密數據不同,非對稱密鑰加密技術使用壹對匹配的密鑰來加密和解密數據,並且有兩個密鑰,壹個是公鑰,另壹個是私鑰。它們具有每個鍵執行單向數據處理的特性,並且每個鍵具有與另壹個相反的功能。當壹個密鑰用於加密時,另壹個密鑰用於解密。用公鑰加密的文件只能用私鑰解密,用私鑰加密的文件只能用公鑰解密。公鑰由其所有者公開,而私鑰必須保密。為了發送機密消息,發送方必須使用接收方的公鑰來加密數據。壹旦加密,只有接收者可以用自己的私鑰解密。反過來,用戶也可以用自己的私鑰處理數據。換句話說,密鑰對可以在任何方向工作。這就提供了“數字簽名”的基礎。如果用戶使用自己的私鑰處理數據,其他人可以使用他提供的公鑰處理數據。因為只有所有者知道私鑰,所以經過處理的消息形成了壹個電子簽名——壹個其他人無法生成的文件。數字證書包含公鑰信息,從而確認擁有密鑰對的用戶的身份。
公鑰的壹個簡單例子可以用素數來表示。將素數相乘的算法作為公鑰,將乘積分解為原素數的算法作為私鑰。加密就是在編碼時把素數加到要傳輸的信息上,編碼後再傳輸給接收方。任何人收到這個信息後,如果沒有接收人擁有的私鑰,解密的過程(實際上是求素數的過程)就會因為求素數的過程(分解素數因子)而被延遲。