① 比較通用密碼體制和公開密碼體制的特點
全稱應該是通用密鑰密碼體制和公開密鑰密碼體制。下面是關於兩種密碼體制的特點介紹。我也是學密碼學的如果有問題可以進一步交流。
傳統的加密方法是加密、解密使用同樣的密鑰,由發送者和接收者分別保存,在加密和解密時使用,採用這種方法的主要問題是密鑰的生成、注入、存儲、管理、分發等很復雜,特別是隨著用戶的增加,密鑰的需求量成倍增加。在網路通信中,大量密鑰的分配是一個難以解決的問題。
例如,若系統中有n個用戶,其中每兩個用戶之間需要建立密碼通信,則系統中每個用戶須掌握(n-1)/2個密鑰,而系統中所需的密鑰總數為n*(n-1)/2 個。對10個用戶的情況,每個用戶必須有9個密鑰,系統中密鑰的總數為45個。對100個用戶來說,每個用戶必須有99個密鑰,系統中密鑰的總數為4950個。這還僅考慮用戶之間的通信只使用一種會話密鑰的情況。如此龐大數量的密鑰生成、管理、分發確實是一個難處理的問題。
本世紀70年代,美國斯坦福大學的兩名學者迪菲和赫爾曼提出了一種新的加密方法--公開密鑰加密隊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結合的方法,目前已成為E-MAIL保密通信標准。
通用密鑰密碼體制
通用密鑰密碼體制的加密密鑰Ke和解密密鑰Kd是通用的,即發送方和接收方使用同樣密鑰的密碼體制,也稱之為「傳統密碼體制」。
在通用密碼體制中,目前得到廣泛應用的典型演算法是DES演算法。DES是由「轉置」方式和「換字」方式合成的通用密鑰演算法,先將明文(或密文)按64位分組,再逐組將64位的明文(或密文),用56位(另有8位奇偶校驗位,共64位)的密鑰,經過各種復雜的計算和變換,生成64位的密文(或明文),該演算法屬於分組密碼演算法。
DES演算法可以由一塊集成電路實現加密和解密功能。該演算法是對二進制數字化信息加密及解密的演算法,是通常數據通信中,用計算機對通信數據加密保護時使用的演算法。DES演算法在1977年作為數字化信息的加密標准,由美國商業部國家標准局制定,稱為「數據加密標准」,並以「聯邦信息處理標准公告」的名稱,於1977年1月15日正式公布。使用該標准,可以簡單地生成DES密碼。