蔡蘇亞
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,陜西 咸陽 712000)
一直以來混沌理論在非線性學(xué)科中占據(jù)中較為重要地位?;煦缧盘柧哂蟹侵芷谛赃B續(xù)寬頻帶,與噪聲類似的特點,并且在一定的時間內(nèi)是不可預(yù)估的,因此非常合適在應(yīng)用保密通信方面領(lǐng)域[1-3]?;煦缦到y(tǒng)是把很多有序的操作整合在一起,然而任意一個有序子量處于正常狀態(tài)下都無法起到?jīng)Q定性地位,因此混沌看似是任意隨機的,實際都是明確的量。最先觀察到混沌現(xiàn)象的是Lorenz,經(jīng)過一段時間以后,學(xué)者研究分析得出一系列混沌系統(tǒng),如映射ehua電路、chen′s電路、Rossler系統(tǒng)等[4-7]?;煦绾兔艽a學(xué)有很多幾乎一樣的特點,因此,涉及在密碼的領(lǐng)域中,混沌也被大量應(yīng)用[8-9]?;谛畔⒄?,香農(nóng)驗證了一次一密可靠,實質(zhì)是滿足了加密的密鑰流大于信息數(shù)據(jù)所占據(jù)的長度。然而在現(xiàn)實中是無法實現(xiàn)的,怎么利用短密鑰序列形成長密鑰流序列,這個問題在密碼學(xué)是亟需解決的[10-13]。近幾年應(yīng)用當(dāng)中發(fā)現(xiàn)混沌理論在數(shù)據(jù)加密方面應(yīng)用優(yōu)勢并不明顯,特別表現(xiàn)為抗密鑰窮舉攻擊、加密速度等方面[14-16]。文中基于這一背景,進行了復(fù)合混沌算法實現(xiàn)數(shù)據(jù)加密的性能改進及對比分析,結(jié)果很好地改進了混沌算法存在的問題。這一研究對混沌密碼學(xué)的進一步改進應(yīng)用具有明顯的理論和實踐意義。
Logistic模型一開始是表達昆蟲種群增長量的模型,也叫做蟲口模型。下面設(shè)計針對Logistic混沌序列進行優(yōu)化,Logistic模型的動力學(xué)過程如下:
式中的參數(shù)較為經(jīng)典的取值是σ=10,r=28,b=8 3。當(dāng)σ,b仍取值為10和8 3 ,此時如果r>24.75,那么系統(tǒng)處于混沌狀態(tài)。由于系統(tǒng)輸出的實值混沌序列存在如下缺點:x,y,z的值域各不相同,不利于批處理;x,y,z局部取值呈現(xiàn)單調(diào)性,易受線性預(yù)測攻擊;x,y,z自相關(guān)特性非理想的δ函數(shù),互相關(guān)特性非理想的零特性,難以保證不可預(yù)測性,而且系統(tǒng)多輸出特性也得不到充分利用。為了盡可能地避免這些缺陷,提出了一種改進方法對混沌序列做優(yōu)化,設(shè)計了一個模型,方程如下所示:
式中:x′,y′,z′是經(jīng)過優(yōu)化后的序列;m是控制參數(shù),能夠起到提升序列取值的不規(guī)則性;round()是最接近整數(shù)函數(shù),能夠?qū)崿F(xiàn)混沌優(yōu)化序列。
通過式(2)可以得到經(jīng)過優(yōu)化處理的3個混沌序列x′,y′,z′,形成3個置亂矩陣,利用其分別對RGB彩色圖像的3個分量做置亂加密處理。通過優(yōu)化后的混沌序列可以形成對應(yīng)的置亂矩陣PM×N。該置亂矩陣中的任意一個元素Pij都在[1,2,…,M×N]的范圍里,如果有Pij=Pkl,且只有滿足i=k,j=1時才成立。如果M=4,N=4時,那么P就是4×4的矩陣,通過優(yōu)化混沌序列從而形成16個實數(shù)值的混沌序列,把這些序列按照從大到小進行排序,用1~16做標(biāo)識,那么就能夠得到序列:4,6,7,3,1,2,8,15,10,12,14,13,16,11,9,5。以行排列為4×4的置亂矩陣 P4×4為:
通過使用非線性置亂的方法,把圖像IM×N中子元素和對應(yīng)的PM×N中的元素做置亂處理,這里設(shè)計的詳細過程如下:
算法程序的過程如下:
先定義一個寄存器變量ch。
register char ch;
再進行加密處理。
while(str1[++j0]);
ch=fgetc(fp1);
while(!feo(ffp1)/*加密算法開始*/
{
fputc(ch^str1[j>=j0?j=0;j++],fp2); /*異或后寫入fp2文件*/
ch=fgetc(fp1);
v++; /*統(tǒng)計視頻字節(jié)數(shù)*/
}
一個較好的加密算法,不僅要其安全可靠性能高,而且要其運行的速率快。在前面的敘述中,已經(jīng)知曉混沌方程進行迭代是能夠生成偽隨機數(shù)列的。密鑰循環(huán)一次大概能夠加密100 kb視頻數(shù)據(jù)信息。又因為由于周期很長,并且還是偽隨機數(shù)列,所以在安全方面的性能得到了較好的保障。另外,鑒別時效性主要是取決于驗證程序能不能較為快速的加密。在進行驗證時,選取了約1 GB大小的各種不同類型的視頻文件。憑借較大信息量的視頻文件能夠很明確地顯示出程序加密地速度的快慢。先對一個710 MB擴展名為“dvd.mp4”以及一個970 MB擴展名為“soldier.rmvb”視頻文件進行測試,其測試所得數(shù)據(jù)結(jié)果見圖1。
圖1 測試所得數(shù)據(jù)
在做驗證加密時會生成一些文件。其中,文件hundun1.mp4與hundun2.rmvb都無法打開,然而文件de?code1.mp4與decode2.rmvb能夠打開。經(jīng)驗證可以知道解密之后的視頻和最初的視頻是一樣的。另外,還可知加密以及解密所需要的時間不超過1 min。該時間是把生成密鑰流以及加密視頻的所需時間計算在內(nèi)的,其速率是超過10 MB/s。由此可知,利用混沌加密的算法的適用性強。該方法不僅能夠確保安全,同時具有較快的加密速率。假如破解視頻所耗的成本比視頻自身所擁有的價值還要大,于是進行破解就顯得多余。雖然對于安全要求非常高的場合是不適用的,然而在人們?nèi)粘I钊粜杓用艿囊曨l文件時,使用該方法是較好的方法。加密系統(tǒng)的關(guān)鍵性能是自身抵抗外界攻擊的能力,若抵抗能力越強,說明該系統(tǒng)安全系數(shù)越高。破解人員對加密系統(tǒng)的攻擊實質(zhì)就是此系統(tǒng)密鑰流進行的攻擊,因此混沌Logistic映射的抵抗攻擊的性能實際上就是等同于整個加密系統(tǒng)抵抗攻擊能力。如果N>μ,μ=3.569 945 6時,Logistic映射處于混沌狀態(tài),當(dāng)周期N無限接近于∞時,如果攻擊人員采用窮舉法的方式做蠻力攻擊,那么要進行2N次,所以考慮到實際情況以及成本的因素,都不可能順利完成的。在實際應(yīng)用里,不可能滿足精度無窮大的要求,如果在沒有采用參數(shù)μ動態(tài)累加產(chǎn)生器的情況下,序列周期是N′,此時有攻擊人員采取窮舉法做蠻力攻擊,那么就得做N′次運行。然而,在采用參數(shù)μ動態(tài)累加產(chǎn)生器的情況下,序列周期是22′rN,此時有攻擊人員采取窮舉法做蠻力攻擊,那么得做2′2rN次運行。加密算法,關(guān)鍵的優(yōu)勢功能是在整體的加密結(jié)構(gòu)進行了優(yōu)化處理、科學(xué)的安排及長度為128的密鑰。如果進行強力攻擊效果最突出,則以位方式得到密鑰得進行2128次加密運算,就會耗費1012年的時間。面對IDEA采取強力的方式進行攻擊,那么生成解密子密鑰的速度遠遠不及加密子密鑰速度??梢钥闯觯饷苄枰馁M的時間會很多。綜上所述,采用混沌利用混沌算法生成高性能的密鑰,并且利用IDEA優(yōu)質(zhì)性能以及高質(zhì)量的加密體系,確保了整個加密系統(tǒng)具備了很高的安全性能。
本文圖像采用圖2(a)所示,把分量圖合成為彩色圖像后的加密圖像見圖2(b)。這里迭代過程應(yīng)用了1 000次。
圖2 實驗對象和加密圖像
為了驗證算法的保密性性優(yōu)勢,圖3進行如下實驗:(a)為參數(shù)r的偏差為10-10次方時的錯誤解密圖像;(b)為初值xo的偏差為10-10次方時的錯誤解密圖像。從算法改進結(jié)果來看圖像已經(jīng)發(fā)生了視覺方面的色彩改變,顯然圖像必將梗難破譯,有理論分析可知對圖像加密的需要進行3MN次操作,顯然這一結(jié)果驗證了算法保密性方面的優(yōu)勢。
為了分析圖像的抗抗擊性,圖4分別進行如下實驗:(a)加密后的圖片經(jīng)過壓縮改進的解密圖像;(b)則采用高斯噪聲后的解密圖像,從圖片視覺表現(xiàn)來看,算法顯然實現(xiàn)了解密圖像效果保持,這驗證了算法有較強抗攻擊能力。
圖3 r和x o錯誤的解密
圖4 JPEG壓縮和高斯噪聲解密
空域復(fù)合加密算法與比特移位加密算法的比較如表1所示。
表1 空域復(fù)合加密算法與比特移位加密算法的比較
由表1可知,與改進的混沌加密算法對照,本文算法有主要的三個優(yōu)點:第一,在有限精度下密鑰空間從1016≈253擴大到1048≈2158,很大程度上提高了抗密鑰窮舉攻擊的能力;第二,一次能加密多個比特,并且比特移位操作速度遠遠大于比特異或操作,所以該算法加密速度比空域復(fù)合算法的速度快。第三,因為xi的隨機性,在加密的流程中破壞了原圖像像素的獨立性,使得破譯的難度加大。
設(shè)計過程中,采用復(fù)合混沌方程是形成密鑰流的方式,由于混沌方程能夠因為反復(fù)迭代生成類似的隨機數(shù)列,把其數(shù)列當(dāng)成是加密程序的密鑰與加密算法的要求是相當(dāng)吻合。若密鑰完全是隨機的,則想破譯密很難實現(xiàn)。因此,密鑰隨機性越強,加密算法就越安全。設(shè)計加密時,直接使用異或方式加密,該方法的加密速率是很高的。另外,還要定義一個寄存器變量,采用此變量存取加密時形成的字符,同時也提升了加密的速度。最后,測試程序執(zhí)行所需花費的時間,也驗證了此程序能夠快速加密的功能。
[1]吳昊.基于DES算法和RSA算法的數(shù)據(jù)加密方案[J].焦作工學(xué)院學(xué)報:自然科學(xué)版,2002(5):395?396.
[2]張翰林,王青山,鄒永初.復(fù)合混沌系統(tǒng)的矢量數(shù)據(jù)加密研究[J].測繪科學(xué),2012(5):87?89.
[3]高為民,朱凌志.混沌加密算法在J2ME平臺中的應(yīng)用研究[J].計算機仿真,2013(4)184?187.
[4]張帆.基于Lorenz?Duffing復(fù)合混沌系統(tǒng)的彩色圖像加密[J].微電子學(xué)與計算機,2013(10):62?65.
[5]趙雪章,席運江.一種基于混沌理論的數(shù)據(jù)加密算法設(shè)計[J].計算機仿真,2011(2):120?123.
[6]王妍芬,楊風(fēng)暴,李偉偉.一種基于四維混沌神經(jīng)網(wǎng)絡(luò)的通信數(shù)據(jù)加密算法[J].電子測試,2011(4):19?22.
[7]陳作新.基于混沌和AES算法的數(shù)字圖書館數(shù)據(jù)加密方案[J].農(nóng)業(yè)圖書情報學(xué)刊,2012(4):52?55.
[8]孫克輝,張?zhí)┥?基于混沌序列的數(shù)據(jù)加密算法設(shè)計與實現(xiàn)[J].小型微型計算機系統(tǒng),2004(7):1368?1371.
[9]楊欣,李強,黃席樾.基于混沌算法的軟硬件相結(jié)合的加密方法[J].重慶大學(xué)學(xué)報:自然科學(xué)版,2005(2):74?76.
[10]包浩明,朱義勝.基于混沌參數(shù)調(diào)制的數(shù)據(jù)加密算法[J].電路與系統(tǒng)學(xué)報,2009(4):34?38.
[11]高鐵杠,陳增強,袁著祉,等.基于混沌密碼流的IC卡數(shù)據(jù)加密算法設(shè)計與實現(xiàn)[J].儀器儀表學(xué)報,2006(1):58?60.
[12]WU Chuan?Kun.Set signatures and their applications[J].Science in China(Series F:Information Sciences),2009(8):1346?1357.
[13]HAN Yan?yan,HU Yu?pu.A digital signature?based visual cryptography scheme for image discrimination and manage?ment[J].Journal of Electronics,2009(5):631?636.
[14]YOU Lin,SANG Yong?xuan.Effective generalized equations of secure hyperelliptic curve digital signature algorithms[J].Journal of China Universities of Posts and Telecommunica?tions,2010(2):100?108.
[15]羅啟彬.基于混沌序列的遙測PCM數(shù)據(jù)加密算法[J].無線電工程,2007(11):37?39.
[16]席麗筠.基于混沌理論的數(shù)據(jù)加密算法[J].合作經(jīng)濟與科技,2008(18):94?95.