對稱密碼加密體制及其加密算法

現(xiàn)代密碼體制的研究基本上沿著兩個方向進行,即對稱密碼加密體制和非對稱密碼加密體制。對稱密碼體制又稱單鑰或私鑰密碼體制。在對稱密碼加密體制中,加密密鑰和解密密鑰是一樣的或彼此之間容易相互確定,因此對稱密碼體制的安全性主要取決于密鑰的安全性。那么我們今天就來探討一下對稱密碼加密體制下的加密算法。

按加密方式不同,對稱密碼體制可分為分組密碼和序列密碼。分組密碼是將消息進行分組,并按組加密。而序列密碼是利用密鑰序列對明文進行逐比特加密從而產(chǎn)生密文。

一、分組密碼加密算法

分組密碼的基本原理是將明文分成固定長度的組(塊),如64 bit一組,用同一密鑰和算法對每一塊加密,輸出也是固定長度的密文。目前最常用的對稱加密算法有數(shù)據(jù)加密標(biāo)準(zhǔn)的DES、新一代分組加密標(biāo)準(zhǔn)AES、國際數(shù)據(jù)加密算法IDEA、Blowfish加密算法等,他們的加密原理都是Feistel分組密碼結(jié)構(gòu)。其中以DES算法最為著名,是到目前為止使用最廣的算法。

1、 DES加密算法

DES加密算法是將64 bit的明文初始重排后,在密鑰控制下進行16次復(fù)雜的非線性變換,得到64 bit的預(yù)輸出,接著再對預(yù)輸出經(jīng)過一次逆初始化重排。整個算法是代替法和換位法的組合,共疊代16層。該算法分3個階段實現(xiàn):

(1)對輸入的明文分組m進行固定的初始置換函數(shù)IP,該初始置換可表示為 M0= _IP(M)=L0R0

( 2)計算函數(shù)f的16次迭代運算,即 Li=iR-1 _ _ Ri=Li-1⊕f(Ri-1,Ki) _ _(i=1,2.....16)

其中ki是48位的子密鑰,子密鑰是作為密鑰k的函數(shù)而計算出的。f稱為“S盒函數(shù)”,是一個替代密碼。這個運算的特點是交換兩半分組,這一輪的左半分組輸入是上一輪的右半分組輸出。交換運算是一個簡單的換位密碼,目的是獲得很大程度的信息分散。可見,這一步運算是替代密碼和換位密碼的結(jié)合。

(3)將16輪迭代后得到的結(jié)果進行IP逆置換,逆置換的輸出結(jié)果即為密文分組。該過程表示如下:

c=IP-1(R16L16)

這里在IP逆置換之前,16輪迭代輸出的兩半分組又進行了一次交換。DES加密過程如圖1所示。 解密算法與加密算法類似,僅有的不同就是:如果加密算法中使用的輪密鑰為K1,K2...

.K16,那么在解密算法使用的輪密鑰就應(yīng)當(dāng)是K16,K15....K1。

2、三重DES加密算法

DES加密算法的主要的缺點是密鑰長度太短,這是DES僅有的最嚴重的弱點。克服短密鑰缺陷的一個解決辦法是使用不同的密鑰,多次運行DES加密算法,這樣的一個方案稱為三重DES方案,三重DES加密算法是DES的一種變形的實現(xiàn)方式。

三重DES加密記為 :

C=EK1(DK2(EK1(M)))

解密記為 :

M=DK1(EK2(DK1(C)))

除了能夠達到擴大密鑰空間的效果,如果使用這個方案也很容易與單鑰DES兼容。三重DES也可以使用3個不同的密鑰,即 C=EK3(DK2(EK1(M)))

和M=DK3(EK2(DK1(C)))

其中,K1,K2,K3為56位DES密鑰。為了獲得更高的安全性,3個密鑰應(yīng)該選擇為互不相同。但在某些情況下,如與原來的DES保持兼容,則可以選擇K1=K2或K2=K3。

二、序列密碼加密算法

序列密碼也稱為流密碼(Stream Cipher),它是對稱加密算法的一種。序列密碼具有實現(xiàn)簡單、便于硬件實施、加解密處理速度快、沒有或只有有限的錯誤傳播等特點,因此在實際應(yīng)用中,特別是專用或機密機構(gòu)中保持著優(yōu)勢,典型的應(yīng)用領(lǐng)域包括無線通信、外交通信。

序列密碼加密算法涉及到大量的理論知識,提出了眾多的設(shè)計原理,也得到了廣泛的分析,但許多研究成果并沒有完全公開,這也許是因為序列密碼目前主要應(yīng)用于軍事和外交等機密部門的緣故。目前,公開的序列密碼加密算法主要有RC4、SEAL等。

三、序列密碼加密算法與分組密碼加密算法的對比

對稱密鑰密碼系統(tǒng)以其加解密速度快,安全強度高等特性,將在軍事、外交以及商業(yè)等領(lǐng)域中得到越來越普遍的應(yīng)用。分組密碼可用于構(gòu)造偽隨機數(shù)發(fā)生器、序列密碼、消息認證碼(MAC)和雜湊函數(shù),可廣泛的應(yīng)用在計算機通信和信息系統(tǒng)安全領(lǐng)域。序列密碼易于硬件實現(xiàn),加解密速度快,錯誤擴散低,適宜于高準(zhǔn)確傳輸環(huán)境中。

隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)信息安全問題成為一項亟待解決的重大問題,加密算法是信息安全的重要保證,加密算法的優(yōu)劣將決定網(wǎng)絡(luò)信息安全的性能,對密碼體制的研究將會得到越來越多的關(guān)注。

小知識之對稱密碼加密體制:

對稱密碼加密體制是一種傳統(tǒng)密碼體制,也稱為私鑰密碼加密體制。在對稱加密系統(tǒng)中,加密和解密采用相同的密鑰。因為加解密密鑰相同,需要通信的雙方必須選擇和保存他們共同的密鑰,各方必須信任對方不會將密鑰泄密出去,這樣就可以實現(xiàn)數(shù)據(jù)的機密性和完整性。對于具有n個用戶的網(wǎng)絡(luò),需要n(n-1)/2個密鑰,在用戶群不是很大的情況下,對稱加密系統(tǒng)是有效的。