一般互聯(lián)網(wǎng)上加密算法分為三種:
對(duì)稱加密、單向加密、非對(duì)稱加密
下面就來(lái)介紹下如何通過(guò)上面的三種加密算法實(shí)現(xiàn)數(shù)據(jù)的機(jī)密性、完整性及身份驗(yàn)證。
對(duì)稱機(jī)密算法:
對(duì)稱加密算法提供加密算法本身并要求用戶提供密鑰以后,能夠結(jié)合算法和密鑰將明文轉(zhuǎn)換為密文,反之,之所以稱它為對(duì)稱加密,是因?yàn)榧用芎徒饷苁褂玫拿荑€是相同的。對(duì)稱加密算法:加密算法和解密算法,只不過(guò)使用的是相同密鑰。
個(gè)人理解:
對(duì)稱加密雖然解決了數(shù)據(jù)在傳輸過(guò)程得到了數(shù)據(jù)的完整性,那么如果Tom給許多用戶發(fā)送數(shù)據(jù)Data時(shí),都要在本地生成對(duì)稱密鑰并通過(guò)一種密鑰交換方式(Hiffie-Hellman)傳送給對(duì)方,這樣的話Tom用戶必須記住所有密鑰對(duì)吧!不然的話,如果其中一個(gè)用戶截取到數(shù)據(jù),也可以查看數(shù)據(jù)內(nèi)容,為了保證數(shù)據(jù)的機(jī)密性,Tom必須為每個(gè)用戶生成一組密鑰來(lái)保證數(shù)據(jù)的機(jī)密性。
所以說(shuō)對(duì)稱密鑰解決了數(shù)據(jù)的機(jī)密性,但不便于管理密鑰。
常見(jiàn)的對(duì)稱加密算法有:
DES:Data Encrption Standard (默認(rèn)為56bit)
3DES:經(jīng)過(guò)3詞DES加密方式
AES:Advanced Encrption Standard (高級(jí)加密標(biāo)準(zhǔn))
AES192(192bit) AES256(256bit) AES512(512bit)
Blowfish
單向加密算法:(保證了數(shù)據(jù)的完整性,但不能保證數(shù)據(jù)的機(jī)密性)
單向機(jī)密算法的特征:
輸入一樣:輸出必然一樣
雪崩效應(yīng):輸入微小改變,將引起結(jié)果巨大該表
定長(zhǎng)輸出:無(wú)論原始數(shù)據(jù)多大,其結(jié)果大小一樣
不可逆:無(wú)法根據(jù)數(shù)據(jù)的指紋及特征碼,還原原始數(shù)據(jù)
下面通過(guò)一個(gè)命令來(lái)看看雪崩效應(yīng)的效果:(/etc/passwd為例)
好了,我就通過(guò)下面的圖片來(lái)了解下,單向加密算法是如何進(jìn)行的?
注:如果中間Jerry將Tom發(fā)來(lái)的數(shù)據(jù)截獲,并將數(shù)據(jù)重新利用加密算法進(jìn)行將數(shù)據(jù)提取指紋及特征碼,發(fā)送給Jack,Jack并不能保證數(shù)據(jù)時(shí)Tom發(fā)送的,也就是說(shuō)單向加密可以保證數(shù)據(jù)的完整性,但不能保發(fā)送者的身份。
此時(shí),Jerry將Tom發(fā)來(lái)的數(shù)據(jù)截獲到本地,并通過(guò)Diffie-Hellman進(jìn)行生成密鑰,并將Data數(shù)據(jù)進(jìn)行加密,發(fā)送給Jack,Jack收到數(shù)據(jù) 卻不能真正判斷發(fā)送方的身份。
單向加密類型:
MD4
MD5 128bit
SHA1 160bit
SHA192 SHA256 SHA384
非對(duì)稱加密算法:(公鑰加密算法)
非對(duì)稱加密算法+CA:保證了用戶的身份,并解決了對(duì)稱加密算法的密鑰管理機(jī)制
非對(duì)稱密鑰算法通常在本地生成一對(duì)密鑰,一個(gè)是私鑰,而另一個(gè)是公鑰.一般公鑰是從
私鑰中提取的。所以公鑰加密,私鑰解密,私鑰加密,公鑰解密。
我們可以通過(guò)一個(gè)命令來(lái)實(shí)現(xiàn)生成私鑰,并在私鑰中提取公鑰(如圖)
RSA:可以進(jìn)行數(shù)據(jù)的加密和簽名
DSA:只能用于簽名
ElGAMAL
概念補(bǔ)充:什么是CA:
CA:就是一個(gè)權(quán)威的發(fā)證機(jī)構(gòu),而且是公認(rèn),所以在本地生成一對(duì)密鑰,一個(gè)是私鑰,另一個(gè)是公鑰,將公鑰發(fā)送給CA,讓CA機(jī)構(gòu)進(jìn)行數(shù)字簽名,這讓就可以驗(yàn)證其身份,這樣在通過(guò)單向機(jī)密的結(jié)合實(shí)現(xiàn)數(shù)據(jù)的機(jī)密性、完整性及身份驗(yàn)證的信息。
|