1976年,美國學者惠特菲爾德·迪菲(Whitfield Diffie)和馬丁·赫爾曼(Martin Hellman)發表了開創性的論文,提出了公鑰密碼系統的概念:壹對數值不同但與數學、公鑰(或公鑰)和私鑰(私鑰或秘鑰)相關的密鑰。在公鑰系統中,從公鑰推導成對的私鑰在計算上是不可行的。歷史學家大衛卡恩這樣描述公鑰密碼學;“自文藝復興以來最具革命性的概念多字符替換法。”在公鑰系統中,公鑰可以隨意流通,但私鑰只屬於那個人。典型的用法是別人用公鑰加密給接收者,接收者用自己的私鑰解密。Diffie和Hellman還展示了如何使用公鑰加密來實現Diffie-Hellman密鑰交換協議。
1978年,麻省理工學院的羅恩·裏維斯特、阿迪·薩莫爾和萊恩·阿德曼發明了另壹種公鑰系統——RSA。
直到1997的公開文獻,公眾才知道,早在20世紀70年代初,英國情報機構GCHQ的數學家詹姆斯·h·埃利斯(James H. Ellis)就已經發明了非對稱密鑰密碼學,Diffie-Hellman和RSA都已分別由馬爾科姆·j·威廉森(Malcolm J. Williamson)和克利福德·考克(Clifford Cocks)發明。這兩個最早的公鑰系統提供了優秀的加密基礎,因此被廣泛使用。其他公鑰系統包括Cramer-Shoup、Elgamal和橢圓曲線加密。
除了加密之外,公鑰密碼最顯著的成就是數字簽名的實現。數字簽名的名字其實是普通簽名的數字化,他們的特點是壹個人可以很容易的做出壹個簽名,但是其他人很難偽造。數字簽名可以永久地與簽名信息結合在壹起,並且不能從信息中刪除。數字簽名壹般包括兩種算法:壹種是簽名,使用私鑰處理信息或信息的哈希值生成簽名;另壹種是驗證,使用公鑰驗證簽名的真實性。RSA和DSA是兩種最流行的數字簽名機制。數字簽名是壹種公鑰。
公鑰基礎設施(PKI)和許多網絡安全機制(SSL/TLS、VPN等)的基礎。).
大多數公鑰算法都是基於計算復雜度的,而計算復雜度通常來源於數論。比如RSA源於整數因式分解問題;DSA源於離散對數問題。近年來發展迅速的橢圓曲線密碼技術,是基於橢圓曲線相關的數學問題,等價於離散對數。由於這些底層問題大多涉及模乘或指數運算,因此比分組密碼需要更多的計算資源。所以公鑰系統通常是復合的,包含壹個高效的對稱密鑰算法對信息進行加密,然後用公鑰對對稱密鑰系統使用的密鑰進行加密,提高效率。
20世紀70年代,斯坦福大學的兩位學者Difei和Herman提出了壹種新的加密方法——公鑰加密團隊PKE方法。與傳統的加密方法不同,這種技術使用兩種不同的密鑰對信息進行加密和解密,也稱為非對稱加密方法。每個用戶有壹個公共加密算法E和壹個秘密解密算法D,
他們必須滿足以下條件:
(1)D是e的逆,即D[e(x)]= x;
(2)e和d都很容易計算。
(3)從e解d非常困難。