對(duì)稱(chēng)密碼算法中的算法特點(diǎn)
2.2.2對(duì)稱(chēng)密碼算法
對(duì)稱(chēng)密碼算法有時(shí)又叫傳統(tǒng)密碼算法,就是加密密鑰能夠從解密密鑰中推算出來(lái),反過(guò)來(lái)也成立。在大多數(shù)對(duì)稱(chēng)算法中,加/解密密鑰是相同的。這種算法也叫秘密密鑰算法或單密鑰算法,它要求發(fā)送者和接收者在安全通信之前,商定一個(gè)密鑰。對(duì)稱(chēng)算法的安全性依賴(lài)于密鑰,泄漏密鑰就意味著任何人都能對(duì)消息進(jìn)行加/解密。只要通信需要保密,密鑰就必須保密。 ‘
1.算法特點(diǎn)
對(duì)稱(chēng)加密算法的優(yōu)點(diǎn)是算法簡(jiǎn)單、計(jì)算量小、加密速度快、加密效率高,適合加密大量數(shù)據(jù),明文長(zhǎng)度與密文長(zhǎng)度相等。它也存在一些缺點(diǎn):
1)通信雙方要進(jìn)行加密通信,需要通過(guò)秘密的安全信道協(xié)商加密密鑰,而這種安全信道可能很難實(shí)現(xiàn);
2)在有多個(gè)用戶(hù)的網(wǎng)絡(luò)中,任何兩個(gè)用戶(hù)之間都需要有共享的密鑰。若每?jī)蓚€(gè)用戶(hù)分別采用不同的對(duì)稱(chēng)密鑰,則n個(gè)用戶(hù)需要C(n,2)=n(n-l)/2個(gè)密鑰。當(dāng)網(wǎng)絡(luò)中的用戶(hù)n很大時(shí),需要管理的密鑰數(shù)目非常大。例如n=100時(shí)C(100,2) =4,995,n=5000時(shí)C(5000,2)=12,497,500。可見(jiàn)隨著網(wǎng)絡(luò)規(guī)模的增大,密鑰管理成為難點(diǎn)。
3)無(wú)法解決對(duì)消息的篡改、否認(rèn)等問(wèn)題。例如當(dāng)主體A收到主體B的電子文檔(電子數(shù)據(jù))時(shí),。無(wú)法向第三方證明此電子文檔確實(shí)來(lái)源于B。
對(duì)稱(chēng)算法可分為兩類(lèi)。一次只對(duì)明文中的單個(gè)比特(有時(shí)對(duì)字節(jié))運(yùn)算的算法稱(chēng)為序列算法或序列密碼。另一類(lèi)算法是對(duì)明文的一組比特進(jìn)行運(yùn)算,這些比特組稱(chēng)為分組,相
應(yīng)的算法稱(chēng)為分組算法或分組密碼。在計(jì)算機(jī)專(zhuān)網(wǎng)系統(tǒng)中廣泛使用的對(duì)稱(chēng)加密算法有DES和AES等。