1. 程式人生 > >資料加密演算法簡介(轉載)(經典又權威)

資料加密演算法簡介(轉載)(經典又權威)

資料加密

資料加密技術是最基本的安全技術,被譽為資訊保安的核心,最初主要用於保證資料在儲存和傳輸過程中的保密性。它通過變換和置換等各種方法將被保護資訊置換成密文,然後再進行資訊的儲存或傳輸,即使加密資訊在儲存或者傳輸過程為非授權人員所獲得,也可以保證這些資訊不為其認知,從而達到保護資訊的目的。該方法的保密性直接取決於所採用的密碼演算法金鑰長度。

根據金鑰型別不同可以將現代密碼技術分為兩類:對稱加密演算法私鑰密碼體系)和非對稱加密演算法(公鑰密碼體系)。在對稱加密演算法中,資料加密和解密採用的都是同一個金鑰,因而其安全性依賴於所持有金鑰的安全性。對稱加密演算法的主要優點是加密和解密速度快,加密強度高,且演算法公開,但其最大的缺點是實現

金鑰的祕密分發困難,在大量使用者的情況下金鑰管理複雜,而且無法完成身份認證等功能,不便於應用在網路開放的環境中。目前最著名的對稱加密演算法資料加密標準DES和歐洲資料加密標準IDEA等,目前加密強度最高的對稱加密演算法高階加密標準AES。

對稱加密演算法非對稱加密演算法不可逆加密演算法可以分別應用於資料加密、身份認證資料安全傳輸。

對稱加密演算法

 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文(原始資料)和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在

對稱加密演算法中,使用的金鑰只有一個,發收信雙方都使用這個金鑰對資料進行加密和解密,這就要求解密方事先必須知道加密金鑰。對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對使用者每次使用對稱加密演算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,金鑰管理成為使用者的負擔。對稱加密演算法在分散式網路系統上使用較為困難,主要是因為金鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密演算法DESIDEAAES

傳統的DES由於只有56位的金鑰,因此已經不適應當今分散式開放網路對

資料加密安全性的要求。1997年RSA資料安全公司發起了一項“DES挑戰賽”的活動,志願者四次分別用四個月、41天、56個小時和22個小時破解了其用56位金鑰DES演算法加密的密文。即DES加密演算法在計算機速度提升後的今天被認為是不安全的。

AES是美國聯邦政府採用的商業及政府資料加密標準,預計將在未來幾十年裡代替DES在各個領域中得到廣泛應用。AES提供128位金鑰,因此,128位AES的加密強度是56位DES加密強度的1021倍還多。假設可以製造一部可以在1秒內破解DES密碼的機器,那麼使用這臺機器破解一個128位AES密碼需要大約149億萬年的時間。(更深一步比較而言,宇宙一般被認為存在了還不到200億年)因此可以預計,美國國家標準局倡導的AES即將作為新標準取代DES。

不對稱加密演算法

 不對稱加密演算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰私鑰。在使用不對稱加密演算法加密檔案時,只有使用匹配的一對公鑰私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密演算法的基本原理是,如果發信方想傳送只有收信方才能解讀的加密資訊,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密演算法,收發信雙方在通訊之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由於不對稱演算法擁有兩個金鑰,因而特別適用於分散式系統中的資料加密。廣泛應用的不對稱加密演算法有RSA演算法和美國國家標準局提出的DSA。以不對稱加密演算法為基礎的加密技術應用非常廣泛。

非對稱加密系統使用對方的公開金鑰進行加密,只有對應的私密金鑰才能夠破解加密後的密文。下圖是非對稱加密系統的一個簡單示意過程:

非對稱加密系統能夠達到祕密性和完整性:

u 只有指定的接收者才能解開密文

u 經過加密解密的過程中,不會改變明文

u 每個人都能傳送密文,但是不知道是誰傳送的