密碼系統大致可以分為三類:
(1)“常規密碼”,又稱“單密鑰密碼”、“對稱密碼”。
(2)“公鑰密碼”,又稱“雙密鑰密碼”和“非對稱密碼”。
(3)基於身份的密碼。
雙密鑰密碼系統是由W.Diffie和M.E.Heilinan在1976中提出的壹種新的密碼系統。因為雙密鑰密碼體制的加密和解密是不同的,而且加密密鑰可以公開,但只有解密密鑰需要保密,所以雙密鑰密碼體制不存在密鑰管理問題。雙密鑰加密的另壹個優點是它可以有新的功能,如數字簽名。最著名的雙密鑰密碼體制是Rivest,Shamir和Ad1eman在1977中提出的RSA密碼體制。雙鑰密碼的缺點是:雙鑰密碼的算法壹般比較復雜,加解密速度較慢。
因此,在網絡加密中廣泛采用雙密鑰和單密鑰密碼的混合加密體制,即加解密采用單密鑰密碼,密鑰傳輸采用雙密鑰密碼。這樣既解決了密鑰管理的困難,又解決了加解密速度的問題。目前看來,這種方法也只能這樣了。
公鑰密碼體制是現代密碼學最重要的發明和進步。與公鑰密碼體制相對應的是傳統密碼體制,也稱為對稱密鑰密碼體制。在對稱密鑰密碼系統中,用於加密的密鑰與用於解密的密鑰完全相同。對稱密鑰密碼體制中,常用的加密算法簡單高效,密鑰短,極難破譯。但是傳輸和保存密鑰是壹個嚴重的問題。
1976年,為了解決密鑰管理問題,Diffie和Hellman在他們的基礎性工作《密碼學的新方向》中提出了密鑰交換協議,允許通信雙方在不安全的介質上交換信息,安全地達成壹致的密鑰。在這種新思想的基礎上,很快出現了非對稱密鑰密碼系統,即公鑰密碼系統。在公鑰系統中,加密密鑰不同於解密密鑰。加密密鑰是公開的,任何人都可以使用。解密密鑰只有解密器知道,分別稱為公鑰和私鑰。
在迄今為止所有的公鑰密碼系統中,RSA系統是最著名的壹個。RSA公鑰密碼體制是由R. Rivest、A. Shamir和L. Adleman三位教授在1977年提出的。RSA是以這三位發明家姓氏的首字母命名的。
目前,有兩種流行的公鑰密碼系統:
(1)類是基於大整數的因式分解問題,其中RSA系統是最典型的壹個。
(2)另壹類是基於離散對數問題,如影響較大的ElGamal公鑰密碼體制和橢圓曲線公鑰密碼體制。