介紹如何通過加密算法實現數據的完整性、機密性及身份驗證

 一般互聯網上加密算法分爲三種:
                對稱加密、單向加密、非對稱加密
下面就來介紹下如何通過上面的三種加密算法實現數據的機密性、完整性及身份驗證

對稱機密算法:
     對稱加密算法提供加密算法本身並要求用戶提供密鑰以後,能夠結合算法和密鑰將明文轉換爲密文,反之,之所以稱它爲對稱加密,是因爲加密和解密使用的密鑰是相同的。對稱加密算法:加密算法和解密算法,只不過使用的是相同密鑰。


個人理解:
對稱加密雖然解決了數據在傳輸過程得到了數據的完整性,那麼如果Tom給許多用戶發送數據Data時,都要在本地生成對稱密鑰並通過一種密鑰交換方式(Hiffie-Hellman)傳送給對方,這樣的話Tom用戶必須記住所有密鑰對吧!不然的話,如果其中一個用戶截取到數據,也可以查看數據內容,爲了保證數據的機密性,Tom必須爲每個用戶生成一組密鑰來保證數據的機密性。
所以說對稱密鑰解決了數據的機密性,但不便於管理密鑰。
常見的對稱加密算法有:
DES:Data Encrption Standard (默認爲56bit)
3DES:經過3詞DES加密方式
AES:Advanced Encrption Standard (高級加密標準)
         AES192(192bit)   AES256(256bit)    AES512(512bit)
Blowfish

單向加密算法:(保證了數據的完整性,但不能保證數據的機密性)
單向機密算法的特徵:
輸入一樣:輸出必然一樣

雪崩效應:輸入微小改變,將引起結果巨大該表
定長輸出:無論原始數據多大,其結果大小一樣

不可逆:無法根據數據的指紋及特徵碼,還原原始數據
下面通過一個命令來看看雪崩效應的效果:(/etc/passwd爲例)

好了,我就通過下面的圖片來了解下,單向加密算法是如何進行的?


 注:如果中間JerryTom發來的數據截獲,並將數據重新利用加密算法進行將數據提取指紋及特徵碼,發送給JackJack並不能保證數據時Tom發送的,也就是說單向加密可以保證數據的完整性,但不能保發送者的身份。

 

此時,JerryTom發來的數據截獲到本地,並通過Diffie-Hellman進行生成密鑰,並將Data數據進行加密,發送給JackJack收到數據 卻不能真正判斷髮送方的身份。    

單向加密類型:
MD4 
MD5 128bit

SHA1 160bit
SHA192    SHA256   SHA384

非對稱加密算法:(公鑰加密算法)
非對稱加密算法+CA:保證了用戶的身份,並解決了對稱加密算法的密鑰管理機制
非對稱密鑰算法通常在本地生成一對密鑰,一個是私鑰,而另一個是公鑰.一般公鑰是從
私鑰中提取的。所以公鑰加密,私鑰解密,私鑰加密,公鑰解密。
我們可以通過一個命令來實現生成私鑰,並在私鑰中提取公鑰(如圖


 
RSA:可以進行數據的加密和簽名
DSA:只能用於簽名
ElGAMAL


概念補充:什麼是CA:
CA:就是一個權威的發證機構,而且是公認,所以在本地生成一對密鑰,一個是私鑰,另一個是公鑰,將公鑰發送給CA,讓CA機構進行數字簽名,這讓就可以驗證其身份,這樣在通過單向機密的結合實現數據的機密性、完整性及身份驗證的信息。



 











 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章