對稱加密:加密和解密使用同一個密鑰,特點:保證了數(shù)據(jù)的保密性。局限性:無法解決密鑰交換問題。常用的算法有:DES,3DES,AES;

公鑰加密:生成一個密鑰對(私鑰和公鑰),加密時用私鑰加密,解密時用公鑰解密,特點:解決了密鑰交換問題。局限性:對大的數(shù)據(jù)加密速度慢。

單向加密:提取數(shù)據(jù)的特征碼,特點:定長輸出,不可逆,可檢驗數(shù)據(jù)的完整性。局限性:無法保證數(shù)據(jù)的保密性。常用算法:MD5、SHA1、CRC-32。

三種加密方法各有優(yōu)缺點,在時實際應(yīng)用中,數(shù)據(jù)從發(fā)送方到達(dá)接收方,通常是這樣應(yīng)用的:

1) 首先對要發(fā)送的數(shù)據(jù)做單向加密,獲取數(shù)據(jù)的特征碼;

2) 對特征碼用發(fā)送方的私鑰進(jìn)行加密生成S1;

3) 然后對S1和數(shù)據(jù)進(jìn)行對稱加密生成S2;

4) 最后將S2和對稱加密的密碼使用接收方的公鑰進(jìn)行加密。

這樣一來數(shù)據(jù)在傳輸過程中的完整性、保密性以及對發(fā)送方身份的驗證都能得到保障。

當(dāng)數(shù)據(jù)到達(dá)接收方時,接收方先用自己的私鑰對接收到的數(shù)據(jù)進(jìn)行解密,得到密碼和加密的數(shù)據(jù);使用密碼對加密數(shù)據(jù)解密,得到加密的特征碼和數(shù)據(jù);用發(fā)送方的公鑰解密特征碼,如果能解密,則說明該數(shù)據(jù)是由發(fā)送方所發(fā);反之則不是,這便實現(xiàn)了身份驗證;最后計算數(shù)據(jù)的特征碼和解密出來的特征碼做對比,如果一樣,則該數(shù)據(jù)沒有被修改;反之則數(shù)據(jù)被修改過了。

分享到

zhangcun

相關(guān)推薦