摘要本文將介紹幾種典型的分組密碼算法、若干分組密碼分析方法與當(dāng)前分組密碼的重點(diǎn)研究方向。
中圖分類號(hào):O17文獻(xiàn)標(biāo)識(shí)碼:A
0 引言
1976年“密碼學(xué)新方向”的發(fā)表和1977年美國數(shù)據(jù)加密標(biāo)準(zhǔn)DES的頒布實(shí)施標(biāo)志著現(xiàn)代密碼學(xué)的誕生。此后實(shí)用密碼體制的研究基本上沿著兩個(gè)方向進(jìn)行,即以RSA為代表的公開密鑰密碼體制和以DES為代表的秘密密鑰分組密碼體制。
一個(gè)好的分組密碼具有安全性好、效率高、便于軟硬件實(shí)現(xiàn)及操作靈活等特點(diǎn),通常是信息與網(wǎng)絡(luò)安全中實(shí)現(xiàn)數(shù)據(jù)加密、消息鑒別、認(rèn)證及密鑰管理的核心密碼算法,它在現(xiàn)代通信和信息安全系統(tǒng)領(lǐng)域有著普遍的應(yīng)用,也是保障信息機(jī)密性和完整性的重要技術(shù)之一。
1分組密碼的模型
假設(shè)明文x和密文y均為二元數(shù)字(0與1)序列。設(shè)F2是二元域,F(xiàn)2s表示F2上的維向量空間。假定明文空間和密文空間均為F2m,密鑰空間SK是Ft的一個(gè)子集合。m是明文和密文的分組長度,t是密鑰的長度。一個(gè)分組密碼可被定義為如下形式:
定義1.1 分組密碼是一種滿足下列條件的映射
E:SKF2m→F2m
對每個(gè)k∈SK, E(k,·)是從F2m到F2m的一個(gè)置換。
2典型的分組密碼算法
目前,國際上公開的分組密碼很多,比如AES、DES的變形(包括NewDES、多重DES、廣義DES等),IDEA系列分組密碼(PES、IPES、IDEA),RC系列分組密碼(包括RC2、RC5、RC6),Came11ia、CAST-128、CAST-256、CS-Cipher、DEAL、FOX、Iraqi、SEED、Serpent、Skipjack、SEAL、SHARK、SQUARE、SMS4等??梢?,分組密碼算法很多,我們不可能逐一介紹,下面僅介紹若干典型算法的設(shè)計(jì)思想以及目前的研究情況。
2.1DES和AES
DES是1977年美國制定的數(shù)據(jù)加密標(biāo)準(zhǔn),它是分組密碼的典型代表,也是第一個(gè)被公布出來的標(biāo)準(zhǔn)算法,整體結(jié)構(gòu)是16輪的Feistel結(jié)構(gòu),分組長度為64比特,密鑰長度為56比特。DES是迄今為止應(yīng)用最廣泛而且最具代表性的分組密碼算法,曾經(jīng)很好地抵抗住了多年的密碼分析,對于推動(dòng)密碼理論的發(fā)展和應(yīng)用、推動(dòng)國際密碼學(xué)界整體水平的提高發(fā)揮了重大作用。分析研究數(shù)據(jù)加密標(biāo)準(zhǔn)DES,對于掌握分組密碼的基本理論、設(shè)計(jì)思想和分析方法均具有重要的參考價(jià)值。
AES是美國國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)于2001年公布的新加密標(biāo)準(zhǔn),AES的征集過程是面向全世界公開透明的,NIST共收到15個(gè)候選算法。歷經(jīng)三年多的公開評選,2000年10月,NIST宣布最終獲勝者是Rijndael算法。其獲勝的主要原因是該算法集安全、性能、效率、可實(shí)現(xiàn)性及靈活性于一身, 能抵抗目前已知的所有攻擊,能在各種平臺(tái)上快速有效地實(shí)現(xiàn),并且具有良好的并行性潛力。
2.2 IDEA
Lai Xuejia和Massey于1990年提出了PES(Proposed Encryption Standard)算法。設(shè)計(jì)者于1991年對PES進(jìn)行了改進(jìn),并將改進(jìn)后的算法稱為IPES(Improved Proposed Encryption Standard)。1992年,設(shè)計(jì)者又將IPES改名為IDEA(International Data Encryption Algorithm)。
IDEA仍以Shannon的混亂和擴(kuò)散準(zhǔn)則為設(shè)計(jì)原則,但在設(shè)計(jì)形式上與DES有很大的不同,“使用來自不同代數(shù)群的混合運(yùn)算”是IDEA所提出的新的設(shè)計(jì)思想。該算法利用三個(gè)“不相容”的群運(yùn)算(異或、模216加和模216+1乘)以達(dá)到混亂,利用乘加密碼結(jié)構(gòu)來實(shí)現(xiàn)擴(kuò)散和進(jìn)一步的混亂;易于硬軟件實(shí)現(xiàn);并且從它的提出至今,還未發(fā)現(xiàn)有效的攻擊方法。
2.3 Camellia
Came11ia的設(shè)計(jì)目標(biāo)類似AES的要求,即分組長度是128比特,且支持128、192或256比特三種規(guī)模的密鑰長度;比三重DES快但至少和三重DES一樣安全。Camellia的主要特點(diǎn)有:(1)整體結(jié)構(gòu)為Feistel型結(jié)構(gòu),而輪函數(shù)又采用了一輪SP型結(jié)構(gòu),具有抵抗差分和線性分析的實(shí)際安全性:(2)Camellia的S-盒本質(zhì)上與AES的S-盒相同,但Camellia共用了四個(gè)不同的S-盒,而AES僅用了一個(gè)S-盒;(3)Camellia的擴(kuò)散層并沒有像AES一樣使用MDS變換。為了追求更高的軟硬件實(shí)現(xiàn)效率,Camellia的擴(kuò)散層僅僅使用字節(jié)間的異或運(yùn)算。到目前為止,還沒有發(fā)現(xiàn)Camellia的安全缺陷。
3 分組密碼的分析方法
差分分析和線性分析是分組密碼最著名的兩個(gè)分析方法,和它們密切相關(guān)的有高階差分分析、不可能差分攻擊、截?cái)嗖罘址治觥⒍嘀鼐€性分析、劃分線性分析、非線性分析、差分-線性密碼分析等。近幾年在對AES等分組密碼算法的分析研究中,又相繼涌現(xiàn)了代數(shù)攻擊、相關(guān)密鑰攻擊、積分密碼分析、Boomerang攻擊、側(cè)信道攻擊等更加有效的分析方法。下面主要介紹一下代數(shù)攻擊、積分密碼分析和側(cè)信道攻擊。
3.1 代數(shù)攻擊
一般地,分組密碼的子模塊都可以用一組代數(shù)方程來描述,如果把這些對子模塊的描述組合起來,就能得到一個(gè)描述整個(gè)密碼算法的大方程組。如果求解這個(gè)大方程組比蠻力攻擊快,那么就認(rèn)為該密碼系統(tǒng)被破譯了。
2002年Nicolas Courtois等人提出了針對AES的代數(shù)攻擊,把對AES的破譯轉(zhuǎn)化成如何求解一類方程組的問題。截止目前,有好幾種求解這類方程組的方法,如重線性化方法、XSL方法、連分式表示法等,但是都沒有直接導(dǎo)致破譯AES。顯然,代數(shù)攻擊的進(jìn)一步研究,需要在求解這類方程組的數(shù)學(xué)方法上取得重大突破。
3.2 積分密碼分析
積分密碼分析的基本思想是:通過分析一些中間狀態(tài)的異或值經(jīng)過幾輪密碼變換后的演變來恢復(fù)某些密鑰比特;而差分密碼分析的基本思想是:通過分析兩個(gè)中間狀態(tài)的差值經(jīng)過幾輪密碼變換后的變化情況來恢復(fù)某些密鑰比特??梢詫⒎e分密碼分析看做與差分密碼分析相對應(yīng)的一種密碼分析方法。人們用積分密碼分析對Square、AES、IDEA和Camellia等密碼作了分析,結(jié)果表明,積分密碼分析是一種比較有效的密碼分析方法。
3.3 側(cè)信道攻擊
側(cè)信道攻擊己對密碼模塊的安全形成了重大威脅。目前主要的側(cè)信道攻擊方法包括計(jì)時(shí)攻擊、能量分析攻擊、故障攻擊、電磁攻擊、緩存攻擊等。近年來的大量研究結(jié)果表明側(cè)信道攻擊要比傳統(tǒng)的基于數(shù)學(xué)分析的攻擊更加有效,同時(shí)也更易于實(shí)現(xiàn)??梢妰H能抵抗傳統(tǒng)的密碼分析方法,但無法在各計(jì)算平臺(tái)或運(yùn)算環(huán)境中安全實(shí)現(xiàn)的加密算法是不夠安全的。因此加密算法的設(shè)計(jì)者和實(shí)現(xiàn)者都要重視側(cè)信道攻擊的威脅。
4 當(dāng)前分組密碼的重點(diǎn)研究方向
分組密碼是現(xiàn)代密碼學(xué)中的一個(gè)重要的研究方向,其誕生和發(fā)展有著廣泛的實(shí)用背景和重要的理論意義。分組密碼的研究主要有以下幾個(gè)方向:(1)設(shè)計(jì)追求完美的分組密碼和用于設(shè)計(jì)分組密碼的各種組件的研究;(2)分組密碼的實(shí)現(xiàn)研究,包括軟件優(yōu)化、硬件實(shí)現(xiàn)和專用芯片等;(3)分組密碼安全性綜合評估原理與準(zhǔn)則的研究;(4)安全性分析的自動(dòng)化;(5)AES的分析及其應(yīng)用研究。
5小結(jié)
信息安全越來越重要,分組密碼在信息安全中占據(jù)重要地位,更是許多密碼系統(tǒng)的核心要素。本文介紹了幾種典型的分組密碼算法、若干分組密碼分析方法以及目前分組密碼的重點(diǎn)研究方向。分組密碼的發(fā)展在可證明安全性、算法評估的實(shí)用化以及分組密碼工作模式等方面還不夠成熟,需要廣大科技工作者的進(jìn)一步研究。
參考文獻(xiàn)
[1]吳文玲,馮登國,張文濤.分組密碼的設(shè)計(jì)與分析[M].北京:清華大學(xué)出版社,2009.10.
[2]金晨輝,鄭浩然,張少武,等.密碼學(xué)[M].北京:高等教育出版社,2009.11.
[3]馮登國.國內(nèi)外密碼學(xué)研究現(xiàn)狀及發(fā)展趨勢[J].通信學(xué)報(bào),2002.
[4]吳文玲,馮登國,等.歐洲21世紀(jì)數(shù)據(jù)加密標(biāo)準(zhǔn)候選算法簡評[J].軟件學(xué)報(bào),2001.
[5]趙劍,杜欽生,王冰冰.分組密碼發(fā)展現(xiàn)狀[J].吉林:長春大學(xué)學(xué)報(bào),2006.16(6).
[6]蔡樂才.應(yīng)用密碼學(xué)[M].北京:中國電力出版社,2000.