摘要:DES加密算法是一種重要的加密算法,但其存在一定的缺陷,為彌補缺陷,在DES加密算法的基礎上提出了一種基于OCML離散時空混沌的動態DES加密算法(DSCDDES)來提高DES的安全性能,為了克服計算機的有限精度的缺陷而采用微擾動技術來改善OCML的偽隨機性。仿真和分析表明該算法具有比普通DES加密算法更高的安全性能。
關鍵詞:信息安全; 離散時空混沌; 動態DES; 安全性能
中圖分類號:TN91134; TP309.7文獻標識碼:A文章編號:1004373X(2012)04000904
Research and analysis of dynamic DES encryption algorithm based on discrete spatiotemporal chaos
TANG Fei1, WANG qinghua2
(1. Department of Science Research Equipment, Shenzhen Institute of Information Technology, Shenzhen 518060, China;
2. Hytera Communications Corporation Limited, Shenzhen 518060, China)
Abstract: DES encryption algorithm is an important content in the field of information security, but it has a certain defect. In order to improve DES's security performance, a dynamic DES algorithm based on OCML discrete spatiotemporal chaos is proposed. The microdisturb method was adopted to further improve pseudorandom feature of OCML. Simulation and analysis indicate that the proposed algorithm can obtain a more security performance.
Keywords: information security; discrete spatiotemporal chaos; dynamic DES; safety performance
收稿日期:20110927
基金項目:廣東省自然科學基金資助項目(s2011010003890)0引言
隨著互聯網飛速發展和廣泛普及,廣大的普通人群都可以通過互聯網進行各種活動,比如可以進行信息傳遞、網上購物、網上銀行轉賬等各種網絡活動。網絡的開放性使得社會生活中傳統的許多犯罪和不道德行為逐漸轉為網絡犯罪,如網絡入侵,網絡詐騙等,數字資源的盜版。因此如何保障網絡的信息安全以及合法用戶驗證等問題已經成為信息安全的熱點研究課題之一。現代密碼學是信息安全的重要內容之一,通過對明文數據進行加密等可以有效地保障數據的完整性以及用戶的合法。DES加密算法[1]是現代密碼學的開始的標志,它在現代密碼學的發展過程中起著非常重要的作用。然而DES加密算法存在著眾多的缺點,如密鑰過短、存在著一定數量的弱密鑰和半弱密鑰等而正面臨著退市的考驗。
近年來,世界各國的學者越來越重視對混沌理論及其應用的研究,并取得了大量的研究成果,比如混沌系統能夠產生具有良好的偽隨機序列、且該序列具有遍歷性等;混沌系統具有對初始條件(參數)和系統參數極為敏感等特點,即使當混沌系統的初始條件或參數有微小的差異,也會隨著混沌系統迭代次數不斷地增加,它的值也會按指數規律分離,最終產生極大的差異,差之毫厘,謬以千里是混沌性的形象描述。綜上所述,混沌系統的上述性質非常適合用于密碼系統的設計[28]。
本文提出了一種將離散時空混沌系統與DES加密算法結合的動態DES加密算法,仿真結果表明,該算法具有提高DES安全性能的效果,通過對其進行必要的安全性分析后進一步說明該算法具有更高的安全性。
1DES加密算法
眾所周知,數據加密標準(Data Encryption Standart,DES)是由美國IBM公司在1975年提出的一種分組長度為64 b,密鑰長度為56 b的對稱加密算法。它采用乘積型Lucifer密碼結構的分組密碼算法,隨后在1977年上升為美國聯邦信息處理標準:FIPS46,從此其被人們廣泛用于數據的安全加密場合。雖然當前它已經被AES(Advaced Encryption Standard)等新的加密算法取代,但是在現代密碼學的發展史中,DES曾經發揮了重要的作用,標志著現代密碼學的開始,尤其是研究人員研究分組密碼的基本理論,設計思想以及具體實現等方面仍然有著非常重要的參考和借鑒作用。DES由子密鑰生成過程和加/解密過程組成,DES的基本結構經過16輪的加密字模塊最終產生64 b的密文,DES加密算法的框圖如圖1所示,DES通過混淆與擴展達到加密的目的[1]。
圖1DES加密算法結構2單向耦合映像格(OCML)混沌系統
目前,單向耦合映像格( One Way Couple Map Lattice,OCML)混沌系統是一種研究比較深入的離散時空混沌系統,它具有時空混沌行為復雜,相空間重構困難以及良好的偽隨機性等優點。目前,國內外許多研究學者將它利用于圖像加密、保密通信等應用領域[45]。
OCML混沌系統的數學表達式為:xm +1,n = (1-ε)f(xm,n) + ε2[f(xm,n + 1)](1)式中:n表示OCML的空間坐標n=1,2,…,L(L為OCML的長度);m表示OCML的時間坐標,ε為系統的耦合強度,且ε∈(0,1)。一般認為式(1)的周期邊界條件為xm,n+L=xm,n,映射函數f(·)通常選為Logistic映射,即f(x)=4x(1-x)。當系統在滿足一定的初始條件時將表現出奇妙的混沌現象。如圖2所示為系統在ε=0.95時的混沌軌跡圖。根據文獻[4]可知xm+1,n在時間和空間上互不相關,尤其當|j-i|≥2時,序列xi,n與xj,n也互不相關。
由于OCML混沌系統產生的混沌序列具有良好的偽隨機性,同時其基本操作是簡單的乘加運算使其混沌序列的生成速度非常地快,并且每迭代一次能夠產生L個偽隨機數,因此該混沌系統非常適用于密碼系統的設計。
3離散時空混沌的動態DES加密算法
在文獻[1]中較為詳細地闡述了DES有著如下的缺陷:
(1) 具有弱密鑰Weak key和半弱密鑰Semiweak key;
(2) 密文與密鑰之間存在著互補的特性;
(3) 差分密碼攻擊,線性密碼攻擊和相關密鑰攻擊對DES有著非常有效的攻擊。
為此,人們相繼提出了3DES等增強型的DES,以及采用分組密碼的模式等改進方法提高DES的安全性能來抵抗各種攻擊的能力。
圖2OCML時空混沌系統為了進一步提高DES的安全性,本文提出了一種基于離散時空混沌的動態DES加密算法(Discrete Spatiotemporal Chaos Dynamic DES,DSCDDES),具體框圖如圖3所示,該算法由四部分組成:輸入預處理部器部分、離散時空混沌密鑰發生器部分、DES加密種子密鑰生成器部分和DES加密器部分。
圖3SCDDES加密算法框圖3.1輸入預處理器
輸入預處理器主要目的是根據明文的長度將其分成64 b的明文數據流組,并將結果分成2個分支,一個分支用于控制離散時空混沌系統產生動態的密鑰產生,也即每8個64 b的明文數據進來觸發1次時空混沌密鑰發生器,而產生8個密鑰混沌子密鑰;另一分支則是直接將該64 b的明文數據輸入到DES加密器的明文數據輸入端準備去加密。
3.2時空混沌密鑰發生器
將輸入的Chaos key混沌密鑰x0(例如取x0=0.123 456 789)帶入式(1)中進行迭代,其中令L=8,這樣迭代1次能夠產生8個混沌子密鑰,以備為8個64 b的明文加密使用。而控制迭代的次數參數來自輸入預處理器模塊。為了克服計算機的有限精度對混沌系統造成的缺陷,特別是導致混沌子密鑰為0的情況,采用了微擾動技術來提高OCML序列的偽隨機性。也即當某個混沌子密鑰為0時,讓其變為一個微小的固定數,比如令k1i=0.123 455 555。每個xm,n+1中去掉最高位0后取前8位數作為k1i,即:k1i=y1y2…yi…y8,yi∈z=[0,1,2,…,9]相當于對k1i放大了108再取整數。
3.3DES加密種子密鑰生成器
DES的加密子密鑰如圖3所示,即由下式產生:ki3=ki1⊕k2(2)式中;k2=z1z2…zi…z8,zi為第i個密鑰;⊕表示按位異或。由于每次的ki1不同,即使k2相同,通過簡單的⊕操作最終產生不同的子加密密鑰ki3。
3.4DES加密器;
DES加密器采用傳統的DES算法,即:ci=E(k3i,mi)(3)式中:k3i由式(2)獲得的第i個加密子密鑰;mi為第i個64 b的明文;ci為加密后第i個64 b的密文;E為DES的加密算法。
由于SCDDES的解密過程是其加密過程的逆過程,也需通過上面的4部分過程。并且解密密鑰與加密密鑰相同。因此SCDDES是一種對稱加密算法。
4仿真
根據前面所述的SCDDES算法流程,在Windows平臺上用VC來實現該算法,其設計界面如圖4所示。
圖4SCDDES加密軟件界面正確加密:當解密密鑰與解密密鑰相同時SCDDES加密算法能夠正確解密,如圖5所示。
錯誤解密:當加密的混沌密鑰的加密密鑰為0.123 4,而取錯誤混沌密鑰為0.123 5,雖然其差異為0.001,但解密的結果如圖6所示,無法正確的進行解密。
圖5正確加密與解密圖6錯誤解密表1是SCDDES加密算法與DES和3DES加密的比較。這里選擇了加密時間和每秒加密分組數來作為比較對象。分析表1,可以看出利用SCDDES加密算法的時間要比直接采用DES和3DES都要長,這是因為在SCDDES中添加了動態時空混沌產生混沌密鑰所導致的,也即通過延長加密時間的代價換來高性能的加密效果。測試平臺:PC為P4 2.0,內存為1 GB。
表1加密比較
加密算法加密時間 /s平均每秒加密分組數DES3DESSCDDES15202521 03612 56389 232
5安全性能分析
通過SCDDES動態算法產生密鑰對明文數據進行加密,因此SCDDES算法具有如下特征。
(1) 沒有弱密鑰或半弱密鑰。由于密鑰k3是由DES key和SCDDES動態產生密鑰動態產生的密鑰共同決定的。而時空混沌密鑰生成器產生的密鑰具有良好的偽隨機數組成,并在時空混沌密鑰生成器中采用了微擾動技術而使之不存在弱密鑰和半弱密鑰,所有k3也將不會是弱密鑰和半弱密鑰。因此SCDDES將隨之也不存在弱密鑰和半弱密鑰的缺點。
(2) 能抵抗差分密碼攻擊。由于DES的輸入密鑰k3是動態生成的,所以即使有相同的明文m,但子密鑰k3是由離散時空混沌系統與DES密鑰混合產生,因此SCDDES雖然有相同的DES密鑰,也不會產生相同的密文。
差分密碼分析是目前攻擊迭代密碼算法最有效的方法之一。它通過分析明文對的差值對密文對的差值的影響來恢復某些密鑰比特[2]。
對分組長度為n的r輪迭代密碼,兩個n比特串Yi和Y*i的差分為:ΔYi=Yi(Y*i)-1(4)式中:表示n比特串集上的一個特定群運算;(Y*i)-1表示Y*i在此群中的逆元。
在SCDDES算法中輸入密鑰后,利用混沌系統產生加密的子密鑰,因此要找到相應的差分更加困難。
(3) 能抵抗線性密碼攻擊。線性密碼分析是對迭代密碼的一種已知明文攻擊,利用的是密碼算法中的“不平衡性”(有效)的線性攻擊。使用線性近似來描述分組密碼的操作。由于SCDDES的加密算法具有良好的密碼隨機性,因此要找到相應的線性關系是不可能的。
6結語
本文在標準的DES加密算法的基礎上,提出了一種將OCML混沌系統用于DES的離散時空混沌動態DES加密算法,仿真結果表明,該算法具有更高的安全性。 同樣可以將該算法應用于其他加密算法(如IDEA)來提高安全性能。
參考文獻
[1]\\[美\\]旋奈爾.應用密碼學:協議,算法與C源代碼\\[M\\].吳世忠,譯.北京:機械工業出版社,2000.
[2]王清華,唐飛,田傳俊,等.混沌系統在RSA加密算法中的應用[J].現代電子技術,2007,30(10):100102.
[3]MAO Y, CHEN G. Chaosbased image encryption, handbook of computational geometry for pattern recognition,computer vision, neurocomputing and robotics \\[M\\]. Berlin: SpringerVerlag, 2003.
[4]唐秋玲,姚海濤,覃團發.采用時空混沌耦合映象格子產生混沌擴頻序列[J].廣西大學學報:自然科學版,2002,27(1):8790.
[5]YU Kuangjing. An encryption approach to digital communication by using spatiotemporal chaos synchronization \\[J\\]. Acta Physica Sinica, 2001 (10): 18561860.
[6]朱曉晶,李曄.一種基于混沌系統的窄帶超低速語音加密算法\\[J\\].現代電子技術,2010,33(7):128130.
[7]黃春楊.二維耦合映象格子混沌加密彩色圖像水印[J].計算機工程與應用,2011(19):170173.
[8]何松林.基于混沌序列的數字彩色圖像加密算法[J].計算機工程,2011,10(5):114116.
[9]楊波.現代密碼學\\[M\\].北京:清華大學出版社,2003.
作者簡介: 唐飛男,1978年出生,安徽人,講師,碩士。主要研究方向為智能信號處理、圖象處理等。