公鑰

公鑰

公鑰(Public Key)與私鑰(Private Key)是通過一種算法得到的一個密鑰對(即一個公鑰和一個私鑰),公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。公鑰通常用於加密會話密鑰、驗證數字簽名,或加密可以用相應的私鑰解密的數據。通過這種算法得到的密鑰對能保證在世界範圍內是獨一的。使用這個密鑰對的時候,如果用其中一個密鑰加密一段數據,必須用另一個密鑰解密。比如用公鑰加密數據就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會成功。

基本介紹

  • 中文名:公鑰
  • 外文名:Public Key
  • 歷史:1976年提出
  • 作用:給信息加密
  • 提出者:迪菲、赫爾曼
  • 組成:私有的鑰匙、公開的鑰匙
  • 貢獻:實現了數字簽名
  • 拼音:gōng yuè
歷史,兩部分,公鑰私鑰的原則,RSA,貢獻,

歷史

1976年。當時在美國史丹福大學的迪菲(Diffie)和赫爾曼(Hellman)兩人提出了公開密鑰密碼的新思想(論文"New Direction in Cryptography"),不僅加密算法本身可以公開,甚至加密用的密鑰也可以公開。但這並不意味著保密程度的降低。因為加密密鑰和解密密鑰不一樣。這就是著名的公鑰密碼體制。也稱作非對稱密碼體制。不同於對稱性的密碼學, 在於其加密鑰匙只適用於單一用戶。

兩部分

一把私有的鑰匙,僅有用戶才擁有。
一把公開的鑰匙,可公開發行配送,只要有要求即取得。
每支鑰匙產生一個被使用來改變屬性的功能。私有的鑰匙產生一個私有改變屬性的功能,而公開的鑰匙 產生一個 公開改變屬性的功能。這些功能是反向相關的,例如,如果一個功能是用來加密訊息,另外一個功能則被用來解密訊息。不論此改變屬性功能的次序為何皆不重要。公開的鑰匙系統的優勢是兩個用戶能夠安全的溝通而不需交換秘密鑰匙。例如,假設一個送信者需要傳送一個信息給一個收信者,而信息的秘密性是必要的, 送信者以收信者的公開的鑰匙來加密,而僅有收信者的私有的鑰匙能夠對此信息解密。公開的鑰匙密碼學是非常適合於提供認證,完整和不能否認的服務, 所有的這些服務即是我們所知的數字簽名

公鑰私鑰的原則

  1. 一個公鑰對應一個私鑰。
  2. 密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
  3. 如果用其中一個密鑰加密數據,則只有對應的那個密鑰才可以解密。
  4. 如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。

RSA

RSA公鑰系統發明於新思想提出後一年在麻省理工學院,里維斯特(Ronald Rivest)、沙米爾(Adi Shamir)和阿德勒曼(Len Adleman)提出第一個較完善的公鑰密碼體制——RSA體制,由三位發明人的姓氏首字母命名。這是一種建立在大數因子分解基礎上的算法。它是第一個成熟的、迄今為止理論上最成功的公鑰密碼體制。它的安全性是基於數論中的大整數因子分解。該問題是數論中的一個困難問題,沒有有效的算法,(即大整數因子分解不能在多項式時間內完成)這使得該體制具有較高的保密性。並且得到了廣泛套用。不為人知的是,早在1970年的秘密研究中,英國情治單位GCHQ的數學家James H. Ellis便已發明非對稱鑰匙密碼學,而且Diffie-Hellman與RSA都曾被Malcolm J. Williamson與Clifford Cocks分別發明於前。這兩個最早的公鑰系統提供優良的加密法基礎,因而被大量使用。其他公鑰系統還有Cramer-Shoup、Elgamal、以及橢圓曲線密碼學等等。這些事件直到1997年歷史檔案解密的時候才為大眾所知。

貢獻

除了加密外,公開鑰匙密碼學最顯著的成就是實現了數字簽名數字簽名,顧名思義,就是使普通簽章的數位化,他們的特性都是某人可以輕易製造簽章,但他人卻難以仿冒。數字簽名可以永久地與被簽署信息結合,無法自信息上移除。數字簽名大致包含兩個算法:一個是簽署,使用私密鑰處理信息或信息的哈希值而產生簽章;另一個是驗證,使用公開鑰匙驗證簽章的真實性。RSA和DSA是兩種最流行的數字簽名機制。數字簽名是公開鑰匙基礎建設(public key infranstructures, PKI)以及許多網路安全機制(SSL/TLS, VPNs等)的基礎。
公開鑰匙算法大多基於計算複雜度上的難題,通常來自於數論。例如,RSA源於整數因子分解問題;DSA源於離散對數問題。發展快速的橢圓曲線密碼學則基於和橢圓曲線相關的數學難題,與離散對數相當。由於這些底層的問題多涉及模數乘法或指數運算,相對於分組密碼需要更多計算資源。因此,公開鑰匙系統通常是複合式的,內含一個高效率的對稱鑰匙算法,用以加密信息,再以公開鑰匙加密對稱鑰匙系統所使用的鑰匙,以增進效率。

相關詞條

熱門詞條

聯絡我們