對稱算法

對稱算法

對稱密碼算法有時又叫傳統密碼算法,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數對稱算法中,加密解密密鑰是相同的。這些算法也叫秘密密鑰算法或單密鑰算法,它要求傳送者和接收者在安全通信之前,商定一個密鑰。對稱算法的安全性依賴於密鑰,泄漏密鑰就意味著任何人都能對訊息進行加密解密。只要通信需要保密,密鑰就必須保密。

原理

對稱算法的加密和解密表示為:

Ek(M)=C

Dk(C)=M

對稱算法可分為兩類。一次只對明文中的單個位(有時對位元組)運算的算法稱為序列算法或序列密碼。另一類算法是對明文的一組位進行運算,這些位組稱為分組,相應的算法稱為分組算法或分組密碼。現代計算機密碼算法的典型分組長度為64位――這個長度大到足以防止分析破譯,但又小到足以方便作用。

這種算法具有如下的特性:

Dk(Ek(M))=M

常用的採用對稱密碼術的加密方案有5個組成部分(如圖所示)

l)明文:原始信息。

2)加密算法:以密鑰為參數,對明文進行多種置換和轉換的規則和步驟,變換結果為密文。

3)密鑰:加密與解密算法的參數,直接影響對明文進行變換的結果。

4)密文:對明文進行變換的結果。

5)解密算法:加密算法的逆變換,以密文為輸入、密鑰為參數,變換結果為明文。

特點

對稱密碼術的優點在於效率高(加/解密速度能達到數十兆/秒或更多),算法簡單,系統開銷小,適合加密大量數據。

缺陷

儘管對稱密碼術有一些很好的特性,但它也存在著明顯的缺陷,包括:

l)進行安全通信前需要以安全方式進行密鑰交換。這一步驟,在某種情況下是可行的,但在某些情況下會非常困難,甚至無法實現。

2)規模複雜。舉例來說,A與B兩人之間的密鑰必須不同於A和C兩人之間的密鑰,否則給B的訊息的安全性就會受到威脅。在有1000個用戶的團體中,A需要保持至少999個密鑰(更確切的說是1000個,如果她需要留一個密鑰給他自己加密數據)。對於該團體中的其它用戶,此種倩況同樣存在。這樣,這個團體一共需要將近50萬個不同的密鑰!推而廣之,n個用戶的團體需要N2/2個不同的密鑰。

通過套用基於對稱密碼的中心服務結構,上述問題有所緩解。在這個體系中,團體中的任何一個用戶與中心伺服器(通常稱作密鑰分配中心)共享一個密鑰。因而,需要存儲的密鑰數量基本上和團體的人數差不多,而且中心伺服器也可以為以前互相不認識的用戶充當“介紹人”。但是,這個與安全密切相關的中心伺服器必須隨時都是線上的,因為只要伺服器一掉線,用戶間的通信將不可能進行。這就意味著中心伺服器是整個通信成敗的關鍵和受攻擊的焦點,也意味著它還是一個龐大組織通信服務的“瓶頸”

相關詞條

相關搜尋

熱門詞條

聯絡我們