1. 程式人生 > >公鑰密碼簡介

公鑰密碼簡介

一 什麼是公鑰密碼

公鑰密碼中,金鑰分為加密金鑰和解密金鑰兩種。傳送者用加密金鑰對訊息進行加密,接收者用解密金鑰進行解密。加密金鑰是傳送者加密時使用的,而解密金鑰則是接收者解密時使用的。

加密金鑰和解密金鑰的區別:

  • 傳送者只需要加密金鑰

  • 接收者只需要解密金鑰

  • 解密金鑰不可以被竊聽者獲取

  • 加密金鑰被竊聽者獲取也沒問題

解密金鑰從一開始就是由接收者自己保管的, 因此只要將加密金鑰交給傳送者就可以解決金鑰配送問題了,而根本不需要配送解密金鑰。

公鑰密碼中,加密金鑰一般是公開的。正是由於加密金鑰可以任意公開,因此該金鑰被稱為公鑰。公鑰可以通過郵件直接傳送給接收者,也可以刊登在廣告欄上,或者作出網頁公開給世界上任何人,而完全不必擔心被竊聽者竊聽。我們需要將公鑰傳送給需要使用公鑰進行加密的通訊物件。

相對地,解密金鑰絕對不能公開的,這個金鑰只能由自己來使用,因此稱為私鑰。私鑰不能被別人知道,也不可以發給別人,甚至也不能傳送自己的通訊物件。

公鑰和私鑰匙一一對應的,一對公鑰和私鑰統稱為金鑰對。由公鑰進行加密的密文,必須使用與該公鑰配對的私鑰才能解密。金鑰對中的兩個金鑰之間具有非常密切的關係——數學上關係——公鑰和私鑰匙不能分佈單獨生成的。

公鑰密碼的使用者需要生成一個包括公鑰和私鑰的金鑰對,其中公鑰會被髮送給別人,而私鑰則供自己使用。

二 公鑰密碼的歷史

1976:已經發表了關於公鑰的設計思想, 儘管沒有提出具體公鑰密碼演算法,但提出了應該將加密金鑰和解密金鑰分開,而且還描述了公鑰密碼應該具有的性質。

1977:出現了具體的公鑰密碼演算法——Knapsack。該演算法申請了專利,但後來發現並不安全。

1978:出現了公鑰密碼演算法——RSA。RSA可以說是現在公鑰密碼的事實標準。