交替混沌加密算法之基于Logistic映射和正弦混沌映射加密
基于Logistic映射和正弦混沌映射的交替混沌加密算法通過Logistic映射和正弦混沌映射兩個混沌源產(chǎn)生兩個不同的混沌序列,采用一定的加密算法交替對明文流加密,進一步增強了混沌序列的隨機性,擴充了密鑰空間,能有效的防止窮舉攻擊和頻率攻擊等多種攻擊手段,具有良好的安全性。
一、混沌系統(tǒng)基本特性
1、混沌序列的特性及在加密領(lǐng)域中的應(yīng)用
混沌是自然界和人類社會普遍存在的一種現(xiàn)象。混沌理論是現(xiàn)代科學(xué)與現(xiàn)代技術(shù),特別是計算機技術(shù)相結(jié)合的產(chǎn)物。自從Lorenz于1963年在大氣科學(xué)的研究中首先提出了混沌的概念后,混沌在各個領(lǐng)域都得到了不同程度的運用。我們首先引用一個被文獻廣泛認可的混沌概念:
定義1:設(shè)X為一個度量空間,f:x→x稱為在X上是混沌的,如果滿足:
(1)f對初始條件有敏感依賴性:如存在δ>0對任何x∈X和x的任何鄰域N,存在y∈N和自然數(shù)n>0,使得d(fn(x),fn(y))>δ;
(2)f是拓撲傳遞的:如對任何一對開集u,v?x,存在k>0,使得fk(U)∩y≠φ:
(3)周期點在V中稠密。
混沌系統(tǒng)具有以下明顯的特性:
(1)隨機性。只要選取的參數(shù)在混沌區(qū),方程所輸出的序列即為混沌的。
(2)確定性。混沌是由確定性方程產(chǎn)生的,只要方程參數(shù)和初值確定就可以重現(xiàn)混沌現(xiàn)象,盡管{Xi}出現(xiàn)隨機的性質(zhì),但它可由確定性方程給定,即{ Xi+1)可由{Xi}導(dǎo)出。
(3)遍歷性?;煦邕\動的遍歷性是指混沌變量能在一定范圍內(nèi)按其一定的規(guī)律不重復(fù)地遍歷所有狀態(tài)。
(4)對初值的敏感性。初值(xo)的微小的差異,{Xn}將有很大的差異。
混沌系統(tǒng)所具有的這些基本特性恰好能夠滿足Shannon在他的經(jīng)典論文中所提出的密碼系統(tǒng)設(shè)計的兩個基本原則——擴散和混淆原則。信息論的奠基人,美國數(shù)學(xué)家Shannon指出:若能以某種方式產(chǎn)生一隨機序列,這一序列由密鑰所確定,任何的輸入值的一個微小變化對輸出都具有相當(dāng)大的影響,則利用這樣的序列就可以進行加密?;煦缦到y(tǒng)恰恰符合這種要求。
2、Logistic映射的性質(zhì)
Logistic映射是最典型的,也是研究的最廣泛的動力系統(tǒng),其定義如下:
![]()
其中:0≤μ≤4為分叉參數(shù)?;煦鐒恿W(xué)的研究表明,當(dāng)3. 5699456---<μ≤4時,Logistic映射處于混沌狀態(tài),即產(chǎn)生的序列(Xk,k=0,1,2,3“t)是非周期的,不收斂的,且對初始值非常敏感。當(dāng)μ=4時,該映射是滿射,產(chǎn)生的混沌序列在區(qū)間(0,1)上具有遍歷性。這點正是Logistic映射用于密碼學(xué)的優(yōu)勢。
3、正弦迭代混沌系統(tǒng)
![]()
其中,l<b∈R,系統(tǒng)初值x(0)∈R,且0<x(0)<1,由式②產(chǎn)生的混沌系統(tǒng)的Lyapunov指數(shù)是1nb>0,滿足混沌化的條件。
二、混沌加密解密的基本原理
1、混沌序列密碼系統(tǒng)
混沌序列密碼系統(tǒng)的加密端和解密端是兩個獨立的、完全相同的混沌系統(tǒng),兩系統(tǒng)聞不存在耦合關(guān)系。明文信息在加密端加密后直接發(fā)往解密端,解密端可以在全部接收后再解密,也可以利用其它技術(shù)如線程同步等建立同步關(guān)系后進行實時解密。此方法的安全性依賴于混沌信號的超長周期、類隨機性和混沌系統(tǒng)對初始狀態(tài)、系統(tǒng)參數(shù)的敏感性。混沌序列密碼加密方法靈活
多變,可以充分利用混沌信號的特性構(gòu)造復(fù)雜的加密函數(shù)。
2、混沌序列的數(shù)字離散化
混沌序列加密的安全性主要依賴于混沌密鑰流,在混沌加密系統(tǒng)中,將混沌系統(tǒng)產(chǎn)生的偽隨機序列作為密鑰流(Logistic映射產(chǎn)生Xi密鑰流,正弦混沌映射產(chǎn)生Yi密鑰流)與明文數(shù)據(jù)流按位運算,從而產(chǎn)生密文數(shù)據(jù)流。當(dāng)混沌系統(tǒng)在計算機上實現(xiàn)時,計算精度、所采用的機器都可能影響有限精度混沌系統(tǒng)的展終結(jié)果,數(shù)字化混沌系統(tǒng)與理想的實值混沌系統(tǒng)在動力學(xué)特性上存在相當(dāng)大的差異,為了使混沌序列離散化結(jié)果保持最大可能的隨機性,采取下列方法:
首先,為了得到更好的隨機序列,Logistic映射和正弦混沌映射均迭代n次后取密鑰流。參考大量實驗結(jié)果并兼顧加密速度的要求n取500。
其次,經(jīng)迭代生成的實數(shù)序列不宜直接用于加密,而且理論研究表明:這種無誤差的平凡混沌加密方法是可破解的。而且混沌加密過程是指,將得到類隨機流只經(jīng)過簡單初等交換,直接作用于明文的加密過程。可以設(shè)想一部分竊密者足可以通過別的途徑得到一些與密文相應(yīng)的明文的,而且可以猜測出加密算法的大致過程,他們可以有選擇對密文進行處理。對應(yīng)這一類加密
者的破解,當(dāng)他們得到連續(xù)一段的帶有相應(yīng)的明文的密文,且密文長度滿足一定條件,如上所指出的混沌加密過程則可能面臨崩潰性的災(zāi)難。
由于加密的是數(shù)字量,所以將這個由實數(shù)構(gòu)成的序列映射度成由整數(shù)構(gòu)成的偽隨機序列來充當(dāng)加密密鑰。常用的一種映射方法是選取Xi或Yi小數(shù)點后的兒位有效數(shù)字構(gòu)成整數(shù)。選擇有效位的方式也可以作為密碼,有利于提高抗選擇明文攻擊的能力和增加密鑰空間。
3、混沌加密密鑰的產(chǎn)生
由于初始參數(shù)不同,混沌系統(tǒng)可產(chǎn)生不同的混沌序列,因此初始參數(shù)可作為密鑰;混沌系統(tǒng)對初始值異常敏感,即使兩個完全相同的混沌系統(tǒng)對稍有差異的初值會產(chǎn)生完全不同的序列,因此初值可作為密鑰;在混沌序列離散化的過程中選擇有效位的方式也可以作為密碼;由于采用Logistic映射和正弦混沌映射產(chǎn)生兩個不同的混沌序列Xi和Yi,交替對明文流加密K次,因此參數(shù)K也可以作為密碼。實際應(yīng)用時可根據(jù)具體情況有選擇的使用上述參數(shù)。
三、混沌加密算法實現(xiàn)
選取Logistic映射Xn+1=μXn(1一Xn),取參數(shù)μ=4,該映射為滿射,具有良好的混沌特性:選取正弦混沌映射,
,參數(shù)作為初始密鑰一部分。采用上述兩個混沌映射產(chǎn)生的混沌序列Xn和Yn交替對明文流加密,設(shè)置一邏輯型變量Enisl(Encryption is Logistic),當(dāng)Enisl值為True時,采用Logistic映射產(chǎn)生的混沌序列Xn加密8次,當(dāng)Enisl值為False時,采用正弦混沌映射產(chǎn)生的混沌映射Yn加密8次。Xn序列量化函數(shù)采用選取小數(shù)點后4、5、6位有效數(shù)字構(gòu)成整數(shù),對256取余,Yn序列量化函數(shù)采用選取小數(shù)點后7。8、9位有效數(shù)字構(gòu)成整數(shù),對256取余。在具體程序?qū)崿F(xiàn)時選取小數(shù)點后有效數(shù)字的方式可以由用戶靈活指定,這樣進一步拓寬了密鑰空間。具體算法步驟如下:
(1)輸入Logistic映射初值x0和正弦混沌映射初值y0,參數(shù)b。
(2)Logistic映射和正弦混沌映射分別迭代500次。
(3)判斷加密完成否,若完成退出,否則轉(zhuǎn)(4)。
(4)讀取明文串。
(5)運行混沌發(fā)生器,判斷Enisl值,若為True,則迭代Logistic映射8次,如果迭代值未在區(qū)間(0.2,0.8)之問則舍棄繼續(xù)迭代,因為Logistic映射的統(tǒng)計分布在兩端具有奇異性,直到得到8個迭代數(shù)據(jù),運行量化函數(shù)(采用選取小數(shù)點后4、5、6位有效數(shù)字構(gòu)成整數(shù),對256取余),否則達代正弦混沌映射8次運行量化函數(shù)(選取小數(shù)點后7、8、9位有效數(shù)字構(gòu)成整數(shù),對256取余)。
(6)將混沌密鑰與明文位串進行異或運算,轉(zhuǎn)(3)加密算法流程圖如圖1所示:解密時采用相同的算法與密文異或即可。

四、加密算法仿真與分析
選取Logistic映射初值xo =0. 4019,μ=4。選取正弦混沌映射初值Yo =0. 6813.b=3. 9125在計算機上仿真結(jié)果如下:

圖(a)是原始圖像,圖(b)為加密后的圖像文件,圖像文件加密精辟變得雜亂無章,圖(c)為正確解密后的圖像文件,和原始圖像毫無差異,而圖(d)是采用錯誤密鑰解的密后的圖像,僅將解密密鑰x,變成0.4017,和正確解密密鑰0.4019差別很小,其它數(shù)值不變,但無法正確還原原始圖像,可見該加密算法對初值的極度敏感性。
加密算法特性分析:
(1)由仿真實驗可知該混沌加密xj初值和參數(shù)具有極度敏感性,因此在可以提供極大的參數(shù)空間。同時在混沌序列離散化的過程巾選擇有效位的方式和迭代次數(shù)也可以作為密鑰,進一步拓寬了參數(shù)空間,用戶可根據(jù)實際情況靈活選擇。采用窮舉攻擊幾乎是不可能的。
(2)采用Logistic映射和正弦混沌映射兩個混沌源產(chǎn)生兩個不同的混沌序列,交替對明文流加密,進一步增強了混沌序列的隨機性。特別是Logistic映射舍棄了區(qū)間(0.2,0.8)之外的數(shù)據(jù),數(shù)據(jù)分布更均勻.?dāng)?shù)值分布上不符合概率統(tǒng)計學(xué)原理,得不到一個穩(wěn)定的概率分布特征,可以更加有效防范頻率分析攻擊,因此統(tǒng)計分析的攻擊方法對該算法也無用武之地。
(3)混沌加密屬于流密碼的范疇,加密僅是簡單的異或運算,加密速度快,特別適合多媒體數(shù)據(jù)和實時性要求比較高的加密場合。
(4)混沌序列加密的安全性主要依賴混沌信號發(fā)生器產(chǎn)生混沌信號序列流的隨機性。從理論上講,混沌序列流是隨機的,符合密碼學(xué)Ⅳ一次一密一的加密要求。但由于受計算機精度的限制,混沌產(chǎn)生的類隨機流無法達到數(shù)學(xué)上的理想狀態(tài),福特(FordJ.)指出,混沌只是數(shù)學(xué)上所要求的無限觀測精度與物理系統(tǒng)所提供的有限精度之間的矛盾。
小知識之拓撲
拓撲學(xué)的英文名是Topology,直譯是地志學(xué),也就是和研究地形、地貌相類似的有關(guān)學(xué)科。幾何拓撲學(xué)是十九世紀形成的一門數(shù)學(xué)分支,它屬于幾何學(xué)的范疇。有關(guān)拓撲學(xué)的一些內(nèi)容早在十八世紀就出現(xiàn)了。那時候發(fā)現(xiàn)一些孤立的問題,后來在拓撲學(xué)的形成中占著重要的地位。










