公鑰加密 (PKC) 也稱為非對稱加密,是一種使用公鑰和私鑰的框架,而不是對稱加密系統中使用的單一金鑰。金鑰對的使用為 PKC 提供了一組獨特的特性和功能,可用於解決其他加密技術固有的挑戰。這種形式的加密已成為現代電腦安全的重要組成部分,也是不斷發展的加密貨幣生態系統的關鍵組成部分。
公鑰密碼學如何運作?
在 PKC 系統中,傳送者使用公鑰來加密訊息,而接收者使用私鑰來解密該訊息。由於兩個金鑰彼此不同,因此公鑰可以自由共享,而不會損害私鑰的安全性。每個非對稱金鑰對都是唯一的,確保使用公鑰加密的訊息只能由擁有相應私鑰的人讀取。
由於非對稱加密演算法產生數學上連結的密鑰對,因此這些密鑰的長度比對稱加密演算法中的長度要長得多。這種較長的長度(通常在 1024 到 2048 位元之間)使得使用公鑰作為基礎來計算私鑰變得極其困難。當今使用的最常見的非對稱加密演算法之一是 RSA。在 RSA 方案中,金鑰是使用兩個數字(通常是兩個大質數)相乘獲得的模數產生的。簡單來說,該模組會產生兩個金鑰(一個可以共享的公用金鑰和一個必須保密的私人金鑰)。 RSA 演算法由 Rivest、Shamir 和 Adleman 於 1977 年首次描述(因此稱為 RSA),並且至今仍然是公鑰密碼系統的重要組成部分。
PKC 作為密碼學工具
公鑰密碼學解決了對稱演算法長期存在的問題之一,即同時用於加密和解密的金鑰的通訊。透過不安全的連線發送此金鑰可能會將其暴露給第三方,第三方可以讀取使用共用金鑰加密的任何訊息。儘管存在密碼技術(例如 Diffie-Hellman-Merkle 金鑰交換協定)來解決這個問題,但它們仍然容易受到攻擊。另一方面,在公鑰加密中,用於加密的金鑰可以透過任何連接安全地共享。因此,與對稱演算法相比,非對稱演算法提供了更高層級的保護。
用於數位簽章生成
非對稱加密演算法的另一個應用是透過使用數位簽章進行資料認證。基本上來說,數位簽章是使用訊息中的資料所建立的雜湊值。當此訊息發送時,接收者可以使用發送者的公鑰來驗證簽名,以驗證訊息的來源並確保其未被篡改。在某些情況下,數位簽章和加密一起應用,因為雜湊本身可以作為訊息的一部分進行加密。然而,應該注意的是,並非所有數位簽章方案都使用加密技術。
限制
雖然它可以用來提高電腦安全性並提供訊息完整性檢查,但 PKC 也有一些限制。由於加密和解密涉及複雜的數學運算,非對稱演算法在被迫處理大量資料時可能會非常緩慢。這種類型的加密也很大程度上依賴私鑰保密的假設。如果私鑰被意外共享或暴露,則使用其相應公鑰加密的所有訊息的安全性都將受到損害。用戶也有可能意外遺失私鑰,在這種情況下就無法存取加密資料。
公鑰密碼學的應用
許多現代電腦系統都使用這種類型的加密來為機密資訊提供安全性。例如,可以使用公鑰加密技術對電子郵件進行加密,以確保其內容的機密性。支援安全連線到網站的安全通訊端層 (SSL) 協定也採用非對稱加密。 PKC 系統甚至被探索作為一種為電子投票提供安全環境的方法,這可能允許選民透過家用電腦參與選舉。
PKC 在區塊鏈和加密貨幣領域也脫穎而出。設定新的加密貨幣錢包時,會產生金鑰對(公有和私有)。公共地址是使用公鑰創建的,可以安全地與其他人共用。另一方面,私鑰用於創建數位簽章和驗證交易,因此必須保密。一旦透過確認數位簽章中包含的雜湊值來驗證交易,該交易就可以添加到區塊鏈分類帳中。這個數位簽章驗證系統確保只有擁有與相應加密貨幣錢包關聯的私鑰的人才能從中釋放資金。應該注意的是,加密貨幣應用中使用的非對稱密碼與用於電腦安全目的的非對稱密碼不同。例如,比特幣和以太坊使用稱為橢圓曲線數位簽章演算法(ECDSA)的專門編碼來驗證交易。
從電腦安全到驗證加密貨幣交易,公鑰密碼學在保護現代數位系統方面發揮著重要作用。使用成對的公鑰和私鑰,非對稱加密演算法解決了對稱密碼帶來的基本安全問題。儘管 PKC 已經存在多年,但它的新用途和應用程式正在定期開發,特別是在區塊鏈和加密貨幣領域。
