廖小平
(四川文理學(xué)院 計(jì)算機(jī)科學(xué)系,四川 達(dá)州 635000)
網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)安全問題越發(fā)凸顯重要。數(shù)據(jù)加密技術(shù)是對(duì)計(jì)算機(jī)信息進(jìn)行保護(hù)的最實(shí)用和最可靠的方法,它是網(wǎng)絡(luò)安全技術(shù)的核心技術(shù)。對(duì)信息進(jìn)行加密可以防止攻擊者竊取網(wǎng)絡(luò)機(jī)密信息,可以使系統(tǒng)信息不被無關(guān)者識(shí)別,也可以檢測(cè)出非法用戶對(duì)數(shù)據(jù)的插入、刪除、修改及濫用有效數(shù)據(jù)的行為。
對(duì)數(shù)據(jù)進(jìn)行加密用到的技術(shù)有很多種,按密鑰的類型劃分,密碼體制可以分為對(duì)稱密碼體制和非對(duì)稱密碼體制,“密碼學(xué)新方向[1]”的發(fā)表和美國數(shù)據(jù)加密標(biāo)準(zhǔn)DES的頒布實(shí)施標(biāo)志著現(xiàn)代密碼學(xué)的誕生,從此揭開了商用密碼研究的序幕。此后實(shí)用密碼的研究基本上在沿著2個(gè)方向在進(jìn)行,即以DES(大多數(shù)是基于Feistel分組密碼結(jié)構(gòu)[2])為代表的秘密密鑰分組密碼和以RSA為代表的公開密鑰密碼,分組密碼具有速度快、易于標(biāo)準(zhǔn)化和便于軟硬件實(shí)現(xiàn)等特點(diǎn),它在計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域的應(yīng)用相當(dāng)廣泛,可以實(shí)現(xiàn)數(shù)據(jù)加密、消息鑒別、認(rèn)證及密鑰管理的核心密碼算法,目前市場(chǎng)上有許多法律認(rèn)可的分組密碼芯片(如DES芯片),自從DES被采納為美國聯(lián)邦標(biāo)準(zhǔn),對(duì)它的安全性就一直爭論不休,焦點(diǎn)主要集中在密鑰的長度和算法本身的安全性,特別是差分密碼攻擊和線性密碼攻擊的出現(xiàn),使分組密碼受到致命的打擊,因此很多專家學(xué)者在想辦法用某種更加安全的算法替代它,例如AES。但由于目前分組密碼的使用特別的廣泛,在分組密碼上的投資比較大,不可能在較短時(shí)間內(nèi)淘汰分組密碼,因此,提出了密碼強(qiáng)化的思想,用算法進(jìn)行多次加密,而且使用多個(gè)密鑰,比如雙重DES,三重DES[3]。這樣能夠保護(hù)已有軟件和硬件使用分組密碼(如DES)的投資,將一個(gè)分組密碼算法組合成一個(gè)新的算法有很多種途徑,這些途徑是在人們不想設(shè)計(jì)新的算法,又想增加密碼算法強(qiáng)度的情況下產(chǎn)生的。
密碼體制是指一個(gè)密碼系統(tǒng)采用的基本工作方式。密碼體制的基本要素是密鑰算法和密鑰,其中密碼算法是一些公式、法則或者程序,而密鑰是密碼算法中的可變參數(shù)。密碼算法分為加密和解密算法,前者將明文變換成密文,后者將密文變換成明文,密鑰相應(yīng)的也分為加密密鑰和解密密鑰。一個(gè)密碼系統(tǒng)由明文、密文、加密算法、解密算法和密鑰5個(gè)部分組成,數(shù)據(jù)加密過程就是通過加密系統(tǒng)把明文(原始的數(shù)據(jù)信息),按照加密算法變換成與明文完全不同的數(shù)字信息,該數(shù)字信息就是密文。一個(gè)簡單的密碼系統(tǒng)如圖1所示。
圖1 密碼的簡化模型Fig.1 Simplified model of encryption
加密過程可以看出是對(duì)明文M進(jìn)行某種函數(shù)的數(shù)學(xué)變換,即:
C=EKe(M) (1)
密鑰可以看成是密碼算法中的可變參數(shù)。從數(shù)學(xué)的角度來看,改變了密鑰,實(shí)際上也就改變了明文與密文之間等價(jià)的數(shù)學(xué)函數(shù)關(guān)系。密碼算法是相對(duì)穩(wěn)定的,在這種意義上,可以把密碼算法視為常量,而密鑰則是一個(gè)變量。
現(xiàn)代密碼學(xué)的一個(gè)基本原則是一切秘密應(yīng)寓于密鑰之中,即在設(shè)計(jì)密碼系統(tǒng)時(shí),密碼算法是可以公開的,真正需要保密的是密鑰,密碼算法的特點(diǎn)是在已知密鑰的條件下,加密算法是有效的;而在不知道密鑰的情況下,解密技術(shù)是不可行。同樣,解密過程是對(duì)密文C進(jìn)行某種函數(shù)的數(shù)學(xué)變換,即
多重加密[4]就是將一個(gè)加密算法多次使用的技術(shù)。在第一次使用中,明文通過加密算法轉(zhuǎn)化為密文,然后將該密文作為輸入從新執(zhí)行加密算法,該過程可以重復(fù)多次,每次都使用相互獨(dú)立的密鑰對(duì)明文依次進(jìn)行加密,過程如下:
多重加密最簡單的模型是進(jìn)行2次加密,每次使用不同的密鑰,給定明文M及密鑰k1,k2,產(chǎn)生密文C的過程如下:
解密時(shí)逆序使用這2個(gè)密鑰:
如果算法采用DES,稱為雙重DES算法,這種方法的密鑰長度為56×2=112,密碼強(qiáng)度增加了。不過對(duì)這種兩次加密的DES算法,容易受到基于觀察的中間相遇攻擊[5]的威脅,對(duì)付中間相遇攻擊的一個(gè)明顯辦法是使用3個(gè)密鑰進(jìn)行3次加密,這樣已知明文攻擊的代價(jià)將升級(jí)為2112數(shù)量級(jí),這超出了現(xiàn)在的可行性能力,然而,它需要長為56×3=168的密鑰,這無疑是個(gè)缺點(diǎn)。為此Tuchman提出了三重加密的思想[6],在兩個(gè)不同密鑰作用下將加解密算法交叉使用,即:
第二步采用解密算法并沒用什么密碼學(xué)上的深層次含義,這僅僅是為了使用三重DES的用戶可以利用該算法解密單DES加密的數(shù)據(jù),這是因?yàn)椋?/p>
使用2個(gè)密鑰的三重DES已經(jīng)廣泛地代替了DES,并已經(jīng)用于密鑰管理標(biāo)準(zhǔn)ANS X9.17和ISO 8732中。盡管三重加密在二重加密基礎(chǔ)上安全性有所改善,但由于僅使用兩個(gè)密鑰,使得攻擊的復(fù)雜度并沒有達(dá)到三倍于原算法的效果。Merkle和 Hellman提出了一種“時(shí)空折衷方法[7],可以用 2l-1次加密和2l個(gè)存貯記錄即可破譯三重加密,這里l為單個(gè)算法的密鑰長度。盡管使用兩個(gè)密鑰的三重加密安全性有所加強(qiáng),但是所有使用雙密鑰的三重DES算法的人還是感覺有點(diǎn)懸,因此,很多人覺得采用3個(gè)密鑰的三重DES算法才是最好的方案,即:
要想和單DES兼容,只需設(shè)k3=k2或者k1=k2。
為了進(jìn)一步改善加密效果并增強(qiáng)算法強(qiáng)度,設(shè)計(jì)了一個(gè)新的三重加密方案 ANTE(Another New Triple Encryption),加密過程如圖2所示,解密過程如圖3所示。
加密過程:
圖2 ANTE方案加密過程Fig.2 ANTE encryption
解密過程:
圖3 ANTE方案解密過程Fig.3 ANTE decryption
在該方案中,加密和解密過程中用到的密鑰k1,k2,k3均要求是獨(dú)立的,隨機(jī)分布選取的,所使用的密鑰長度可以設(shè)為l,明文分組M的長度應(yīng)該與密鑰的長度相等。第二步采用解密算法并沒用什么密碼學(xué)上的深層次含義,這僅僅是為了使用三重DES的用戶可以利用該算法解密單DES加密的數(shù)據(jù)。
對(duì)該方案的安全特性進(jìn)行分析,可以得出該方案有以下的一些安全性特點(diǎn):
1)該方案中使用到的算法D和算法E是安全的,則該方案是安全的。
2)該方案中使用到密鑰長度為3l,使得攻擊者對(duì)密鑰的窮舉攻擊、強(qiáng)力攻擊等不是一件容易的事情。
4)在方案的每一個(gè)加密階段都加入了密鑰進(jìn)行異或運(yùn)算,每次做異或運(yùn)算都有密鑰的參與,加密密鑰也是采取了級(jí)聯(lián)的方式,使得每一次加密所產(chǎn)生的明文與每一個(gè)密鑰都有聯(lián)系,當(dāng)然,明文所對(duì)應(yīng)的密文也不同,使得整個(gè)算法的安全性得到了加強(qiáng),攻擊者分析出密鑰的可能性更加的降低。
5)本方案中使用了密鑰級(jí)聯(lián)技術(shù),每一輪加密用的密鑰都是前面密鑰進(jìn)行異或運(yùn)算得出,使得攻擊者即使取得大量的、真實(shí)的明密文對(duì),要實(shí)施已知明文攻擊和選擇明文攻擊變得困難。
6)方案中使用到的 3個(gè)密鑰 k1,k2,k3具有隨機(jī)性、獨(dú)立性,可以有效的避免中間相遇和時(shí)空折中方法的攻擊。
7)在該方案中,由于單個(gè)的算法抗擊差分分析和線性分析,因此該方案也能抗擊對(duì)差分分析和線性分析。
當(dāng)前,數(shù)據(jù)加密技術(shù)發(fā)展很快,各種算法層出不窮,密碼的多重加密技術(shù)可以有效的提高現(xiàn)有密碼算法的強(qiáng)度,比如Copper Smith[8]分析后認(rèn)為對(duì)三重DES的窮舉攻擊的代價(jià)是2112≈(5×1033)數(shù)量級(jí)的,且估計(jì)用差分密碼分析的代價(jià)是按指數(shù)增長的,與單DES比較超出1052倍。文中提出了一個(gè)三重加密方案,并分析了其安全性特點(diǎn),該方案使密碼算法的強(qiáng)度有一定的提高。
[1]馮登國,裴定一.密碼學(xué)引論[M].北京:科學(xué)出版社,1994.
[2]Feistel H.Cryptography and computer privacy[J].Scientific American,1973,228(5):15-23.
[3]Stallings W.密碼編碼學(xué)與網(wǎng)絡(luò)安全—原理與實(shí)踐[M].4版.孟慶樹,王麗娜,傅建明,等譯.北京:電子工業(yè)出版社,2008.
[4]谷大武.分組密碼理論與某些關(guān)鍵技術(shù)研究 [D].西安:西安電子科技大學(xué),1998.
[5]Diffie W,Hellman M.Exhaustive cryptanalysis of the NBS data encryption standard[J].Computer,1977,10(6):74-84.
[6]Tuchman W.Hellman presents no shortcut solutions to DES[J].IEEE Spectrum,1979,16(7):40-41.
[7]Denning D.The clipper chip:a tchnical summary[J].Personal Communications,1993,6(3):22-27.
[8]Coppersmith D.The eata encryption standard (DES) and its strength against attack[J].IBM Jorunal of Research and Development,1994,38(3):243-250.