傳統的加密方法是使用同壹個密鑰進行加密和解密,由發送方和接收方分別保存,在加密和解密過程中使用。采用這種方式的主要問題是密鑰的生成、註入、存儲、管理和分發都非常復雜,尤其是隨著用戶的增加,對密鑰的需求成倍增長。在網絡通信中,大量密鑰的分發是壹個難以解決的問題。
例如,如果系統中有n個用戶,每兩個用戶之間需要建立密碼通信,那麽系統中的每個用戶必須掌握(n-1)/2個密鑰,系統需要的密鑰總數為n*(n-1)/2。對於10用戶,每個用戶必須有9個密鑰,系統中的密鑰總數為45個。對於100個用戶,每個用戶必須有99個密鑰,系統中的密鑰總數為4950個。這也僅僅考慮了只有壹個會話密鑰用於用戶之間通信的情況。如此大量的密鑰的生成、管理和分發確實是壹個難題。
20世紀70年代,美國斯坦福大學的兩位學者Difei和Herman提出了壹種新的加密方法——公鑰加密團隊PKE方法。與傳統的加密方法不同,該技術使用兩種不同的密鑰對信息進行加密和解密,也稱為“非對稱加密方法”。每個用戶有壹個公共加密算法E和壹個秘密解密算法D,
他們必須滿足以下條件:
(1)D是e的逆,即D[e(x)]= x;
(2)e和d都很容易計算。
(3)從e解d非常困難。
從以上條件可以看出,在公鑰密碼體制下,加密密鑰不等於解密密鑰。加密密鑰可以公開,這樣任何用戶都可以用公鑰加密發送給這個用戶的信息,而這個用戶保存的唯壹私鑰是保密的,只有它才能恢復和解密密文。雖然理論上可以從加密密鑰推導出解密密鑰,但這種算法設計實際上是不可能的,或者說雖然可以推導出來,但耗時較長,變得不可行。因此,公開加密密鑰不會危及密鑰的安全。
單向陷門函數在數學上的特點是壹個方向的求值比較容易,但是它的逆向計算比較困難。基於這個理論,1978出現了著名的RSA算法。該算法為公共網絡上的信息加密和認證提供了基本方法。通常是壹對RSA密鑰,其中壹個是秘鑰,由用戶保管;另壹種是公鑰,可以公開,甚至可以在網絡服務器上註冊。為了提高安全強度,RSA密鑰至少要有500位長,壹般建議使用1024位。這使得加密的計算量非常大。為了減少計算量,在傳輸信息時,傳統的加密方法往往與公鑰加密方法相結合,即用改進的DES或IDEA對話密鑰對信息進行加密,然後用RSA密鑰對對話密鑰和消息摘要進行加密。對方收到消息後,用不同的密鑰解密,可以查看消息摘要。
RSA算法的加密密鑰與加密算法分離,使得密鑰分發更加方便。特別適用於計算機網絡環境。對於互聯網上的大量用戶來說,加密密鑰可以在電話簿中打印出來。如果壹個用戶想與另壹個用戶進行秘密通信,他只需要從公鑰本中找出對方的加密密鑰,並用它來加密傳輸的信息。對方收到消息後,用只有自己知道的解密密鑰對消息進行解密,從而知道消息的內容。可見RSA算法解決了大量網絡用戶的密鑰管理問題。
RSA無法取代DES,它們的優缺點只是互補。RSA的密鑰很長,加密速度慢,但DES的采用正好彌補了RSA的不足。也就是說,DES用於明文加密,RSA用於DES密鑰加密。DES加密速度快,適合加密長消息。RSA可以解決DES密鑰分發的問題。美國的秘密增強電子郵件(PEM)采用RSA和DES相結合的方法,現已成為電子郵件的安全通信標準。
通用密鑰密碼系統
萬能密鑰密碼系統的加密密鑰Ke和解密密鑰Kd是通用的,即發送方和接收方使用同壹密鑰的密碼系統也稱為“傳統密碼系統”。
DES算法是通用密碼系統中廣泛使用的壹種典型算法。DES是壹種通用的密鑰算法,由“轉置”模式和“換字”模式組成。先將明文(或密文)按64位分組,再將64位明文(或密文)按56位分組(加8位奇偶位,***64位)。經過各種復雜的計算和變換,生成64位密文(或明文)。
DES算法可以用集成電路加密和解密。該算法是壹種對二進制數字信息進行加密和解密的算法,通常用在計算機對通信數據進行加密和保護的數據通信中。DES算法作為1977中數字信息的加密標準,由美國商務部國家標準局制定,稱為“數據加密標準”。於1977+10月15日以“聯邦信息處理標準公告”的名義正式發布。使用這個標準,可以簡單地生成DES密碼。