常用的加密算法介紹

加密是將可讀信息(明文)變?yōu)榇a形式(密文);解密是加密的逆過程,相當(dāng)于將密文變?yōu)槊魑?。從本質(zhì)上說加密技術(shù)是對信息進(jìn)行編碼和解碼的技術(shù)。

加密算法有很多種,這些算法一般可分為三類:

對稱加密算法;

非對稱加密算法;

單向加密算法。

對稱加密算法應(yīng)用較早,技術(shù)較為成熟。其過程如下:

1:發(fā)送方將明文用加密密鑰和加密算法進(jìn)行加密處理,變成密文,連同密鑰一起,發(fā)送給接收方;

2:接收方收到密文后,使用發(fā)送方的加密密鑰及相同算法的逆算法對密文解密,恢復(fù)為明文。

在對稱加密算法中,雙方使用的密鑰相同,要求解密方事先必須知道對方使用的加密密鑰。其算法一般公開,優(yōu)勢是計(jì)算量較小、加密速度較快、效率較高。不足之處是,通信雙方都使用同樣的密鑰,密鑰在傳送的過程中,可能被敵方獲取,安全性得不到保證。當(dāng)然,為了安全起見,用戶每次使用該算法,密鑰可以更換,但是原來通信的密鑰也不能馬上刪除,這樣,使得雙方所擁有的密鑰數(shù)量很大,對于雙方來說,密鑰管理較為困難。

對稱加密算法中,目前流行的算法有:

DES;

3DES;

IDEA;

AES。

其中,AES由美國國家標(biāo)準(zhǔn)局倡導(dǎo),即將作為新標(biāo)準(zhǔn)取代DES。

與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。每個人都可以產(chǎn)生這兩個密鑰,其中,公開密鑰對外公開(可以通過網(wǎng)上發(fā)布,也可以傳輸給通信的對方),私有密鑰不公開。

常用的加密算法介紹

對于同一段數(shù)據(jù),利用非對稱加密算法具有如下性質(zhì):

1:如果用公開密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的私有密鑰才能對其解密;

2:如果用私有密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公開密鑰才能對其解密。

非對稱加密算法的基本過程是:

1:通信前,接收方隨機(jī)生成一對公開密鑰和私有密鑰,將公開密鑰公開給發(fā)送方,自己保留私有密鑰;

2:發(fā)送方利用接收方的公開密鑰加密明文,使其變?yōu)槊芪模?/p>

3:接收方收到密文后,使用自己的私有密鑰解密密文,獲得明文。

目前,在非對稱密碼體系中,使用得比較廣泛的是非對稱加密算法有:

RSA;

美國國家標(biāo)準(zhǔn)局提出的DSA;

非對稱加密算法和對稱加密算法相比,保密性較好

和對稱加密算法相比,非對稱加密算法的保密性比較好,在通信的過程中,只存在公開密鑰在網(wǎng)絡(luò)上的傳輸,而公開密鑰被敵方獲取,也沒有用;因此,基本不用擔(dān)心密鑰在網(wǎng)上被截獲而引起的安全的問題。但該加密體系中,加密和解密花費(fèi)時間比較長、速度比較慢,一般情況下,它不適合于對大量數(shù)據(jù)的文件進(jìn)行加密,而只適用于對少量數(shù)據(jù)進(jìn)行加密。

單向加密算法加密時不需要使用密鑰

另一類算法是單向加密算法。該算法在加密過程中,輸入明文后由系統(tǒng)直接經(jīng)過加密算法處理,得到密文,不需要使用密鑰。既然沒有密鑰,那么就無法通過密文恢復(fù)為明文。

那么這種方法有什么應(yīng)用呢?主要是可以用于進(jìn)行某些信息的鑒別。在鑒別時,重新輸入明文,并經(jīng)過同樣的加密算法進(jìn)行加密處理,得到密文,然后看這個密文是否和以前得到的密文相同,來判斷輸入的明文是否和以前的明文相同。這在某種程度上講,也是一種解密。

該方法計(jì)算復(fù)雜,通常只在數(shù)據(jù)量不大的情形下使用,如計(jì)算機(jī)系統(tǒng)口令保護(hù)措施中,這種加密算法就得到了廣泛的應(yīng)用。近年來,單向加密的應(yīng)用領(lǐng)域正在逐漸增大。

應(yīng)用較多單向加密算法的有:

RSA公司發(fā)明的MD5算法;

美國國家安全局(NSA) 設(shè)計(jì),美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST) 發(fā)布的SHA;等等。

大多數(shù)語言體系(如.net、Java)都具有相關(guān)的API支持各種加密算法。

提示:

加密算法的實(shí)現(xiàn),實(shí)際上利用了高級語言中包裝的API。實(shí)際上,在真實(shí)應(yīng)用的場合,我們可以使用系統(tǒng)提供的加密解密函數(shù)進(jìn)行加密解密,因?yàn)檫@些函數(shù)的發(fā)布,經(jīng)過了嚴(yán)密的測試,理論上講是安全的。

相關(guān)閱讀:

對稱加密算法介紹

非對稱加密算法介紹

小知識之密文:

為了確保網(wǎng)絡(luò)安全,僅僅安裝防火墻是不夠的,還需要采用其他技術(shù),如用戶驗(yàn)證、入侵檢測、密碼技術(shù)等。所以產(chǎn)生了密文。通常我們把明文通過密鑰加密成密文,從而保護(hù)我們的信息。