加密算法的分類

加密算法是對信息進行編碼和解碼的技術,編碼是把原來可讀信息(又稱明文)譯成代碼形式(又稱密文),其逆過程就是解碼(解密)。加密技術的要點是加密算法,加密算法可以分為對稱加密、不對稱加密和不可逆加密三類算法。

對稱加密算法

對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數(shù)據發(fā)信方將明文(原始數(shù)據)和加密密鑰一起經過特殊加密算法處理后,使其變成復雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發(fā)收信雙方都使用這個密鑰對數(shù)據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。

不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發(fā)收信雙方所擁有的鑰匙數(shù)量成幾何級數(shù)增長,密鑰管理成為用戶的負擔。對稱加密算法在分布式網絡系統(tǒng)上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統(tǒng)中廣泛使用的對稱加密算法有DES和IDEA等。美國國家標準局倡導的AES即將作為新標準取代DES。

不對稱加密算法

不對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時采用公鑰加密,解密密文時使用私鑰才能完成,而且發(fā)信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密算法的基本原理是,如果發(fā)信方想發(fā)送只有收信方才能解讀的加密信息,發(fā)信方必須首先知道收信方的公鑰,然后利用收信方的公鑰來加密原文;收信方收到加密密文后,使用自己的私鑰才能解密密文。顯然,采用不對稱加密算法,收發(fā)信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發(fā)信方,而自己保留私鑰。

由于不對稱算法擁有兩個密鑰,因而特別適用于分布式系統(tǒng)中的數(shù)據加密。廣泛應用的不對稱加密算法有RSA算法和美國國家標準局提出的DSA。以不對稱加密算法為基礎的加密技術應用非常廣泛。

不可逆加密算法

不可逆加密算法的特征是加密過程中不需要使用密鑰,輸入明文后由系統(tǒng)直接經過加密算法處理成密文,這種加密后的數(shù)據是無法被解密的,只有重新輸入明文,并再次經過同樣不可逆的加密算法處理,得到相同的加密密文并被系統(tǒng)重新識別后,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的“密碼”也就是輸入的明文。不可逆加密算法不存在密鑰保管和分發(fā)問題,非常適合在分布式網絡系統(tǒng)上使用,但因加密計算復雜,工作量相當繁重,通常只在數(shù)據量有限的情形下使用,如廣泛應用在計算機系統(tǒng)中的口令加密,利用的就是不可逆加密算法。

近年來,隨著計算機系統(tǒng)性能的不斷提高,不可逆加密的應用領域正在逐漸增大。在計算機網絡中應用較多不可逆加密算法的有RSA公司發(fā)明的MD5算法和由美國國家標準局建議的不可逆加密標準SHS(Secure Hash Standard:安全雜亂信息標準)等。