基于Logistic與Henon混沌系統(tǒng)的彩色圖像加密方法

對數(shù)字圖像而言,在傳輸過程中可能要求發(fā)送端與接收端進(jìn)行保密通信,以保證圖像信息的完整性、可靠性和安全性,對于數(shù)字圖像,目前主要有兩種有效的保護(hù)方法,即數(shù)字水印方法和圖像加密方法,那么接下來,就給大家介紹一種數(shù)字圖像加密方法基于Logistic與Henon混沌系統(tǒng)的彩色圖像加密方法,能夠改變圖像象素的空間分布和灰度分布,而且具有較強(qiáng)的魯棒性。

一、混沌映射

混沌是指在一個非線性系統(tǒng)中出現(xiàn)的一種貌似無規(guī)則的,類似于隨機(jī)的現(xiàn)象。對于確定型的非線性系統(tǒng)出現(xiàn)的具有內(nèi)在隨機(jī)性的解,就稱為混沌解。這種解在短期內(nèi)可以預(yù)測,而在長期內(nèi)卻不可預(yù)測,因此與確定解和隨機(jī)解都不同?;煦缬兄约邯?dú)有的遍歷性、有界性、內(nèi)隨機(jī)性和普適性等特征。例如:

混沌具有對初值的敏感依賴性,只要初始條件稍有差別或有微小的擾動,就會使系統(tǒng)的最終狀態(tài)出現(xiàn)很大的差異;

混沌具有各態(tài)歷經(jīng)的遍歷性,混沌系統(tǒng)可以在特定范圍內(nèi),按自身規(guī)律不重復(fù)地遍歷所有狀態(tài)。

Logistic映射是一個典型的非線性混沌方程,它起源于一個人口統(tǒng)計(jì)的動力學(xué)系統(tǒng)。 Logistjc映射的表達(dá)式如下:

基于Logistic與Henon混沌系統(tǒng)的彩色圖像加密方法

這里0<λ≤4.稱λ為分支參數(shù)。在確定了λ的值之后,λ由任意初值知X0∈[O,l]就可以迭代出一個確定的序列X1,X2,...Xn….。對于不同的λ值,式(1)的系統(tǒng)將呈現(xiàn)不同的特性;隨著參數(shù)λ的值的增加,系統(tǒng)不斷地經(jīng)歷倍周期分叉,最終達(dá)到混沌。

Logistic映射的另一種形式為

基于Logistic與Henon混沌系統(tǒng)的彩色圖像加密方法
其中,μ(0,2),Yi∈[-1,1]。式(2)的系統(tǒng)與式(1)的系統(tǒng)具有類似的特征。

如下的Henon映射,在一定的條件下也呈現(xiàn)混沌
基于Logistic與Henon混沌系統(tǒng)的彩色圖像加密方法
在Henon映射中,含有兩個參數(shù)a和b,可以取一個參數(shù)為常數(shù),把另一個參數(shù)作為變量進(jìn)行迭代,這樣可以得到類似于Lopstic映射的分岔,也是經(jīng)歷了一系列的倍周期分岔而達(dá)到混沌。

二、產(chǎn)生多個混沌序列的步驟

為了實(shí)現(xiàn)對數(shù)字圖像文件加密,下面提出一種多個混沌系統(tǒng)相結(jié)合的加密方法。在該方法中,首先用如下的步驟產(chǎn)生多個混沌序列:

(1)第一步——由Logistic映射的式(1)進(jìn)行N次迭代,產(chǎn)生一個混沌序列知,X0,X1,...Xn,將1.39+|Xn|/100作為Henon映射中的參數(shù)a的值;

(2)第二步——由Log18tic映射的式(2)進(jìn)行M次迭代,產(chǎn)生一個混沌序列,Y0,Y1,....Ym,將0.29+|Ym|/100作為Henon映射中的參數(shù)b的值。

(3)第三步——由LOgi8tic映射的式(1)進(jìn)行X次迭代,產(chǎn)生一個混沌序列對,X0’,X1’,...Xk’。將0.2+|Xk’|/150作為Henon映射中的初值Zo的值;將0.1+|Xk’|/200作為Henon映射中的初值W0的值;

(4)第四步——對Henon映射,使用在第三步中選定的Z0和W0的初值,以及在第一步和第二步選定的參數(shù)a和b的值,進(jìn)行迭代,產(chǎn)生一個混沌序列。從所產(chǎn)生的這個混沌序列中選出一部分Zi,Zi+1,…,Zi+t作為圖像加密時使用的混沌序列。這里t和s為給定的正整數(shù)。

對如上的四步依次多次運(yùn)行,每次運(yùn)行時選取不同的初始值X0,Y0和X0’,獲得用于圖像加密的多個不同的混沌序列。

在上述步驟中,N,M和K都為正整數(shù)。

三、加密步驟

整個圖像加密方法的步驟如下:

(1)打開—個圖像文件;

(2)順序讀取圖像中的象素信息;

(3)選定初始參數(shù);根據(jù)Logistic映射的式(1)和式(2),以及Henon映射的式(3)。

用如上方法產(chǎn)生混沌序列。這里,由于所產(chǎn)生的混沌序列中每一個數(shù)是實(shí)數(shù),因此將這種混沌實(shí)數(shù)序列在其最大值與最小值之間,按照256級的等級進(jìn)行線性映射,獲得8位二進(jìn)制序列,并作為加密因子序列。

(4)把圖像的像素所對應(yīng)的二進(jìn)制序列與加密因子序列進(jìn)行異或運(yùn)算。異或的結(jié)果是一個與圖像原來的二進(jìn)制序列不相同的序列,將該序列轉(zhuǎn)換為像素信息,即得到經(jīng)過加密后的圖像。

四、解密過程

對加密圖像的解密過程,如圖所示。

基于Logistic與Henon混沌系統(tǒng)的彩色圖像加密方法

我們用VisualC++編制了如上的基于混沌的圖像加密算法的程序,實(shí)現(xiàn)了對彩色圖像的加密與解密。在實(shí)驗(yàn)時,對Logistic映射的式(1)中的參數(shù)λ的值取為4,對Logistic映射的式(2)中的參數(shù)μ的值取為1.99。圖2至圖5是對一副彩色圖像的實(shí)驗(yàn)結(jié)果。

圖2是原圖像,圖3是經(jīng)過加密后的圖像,圖4是解密后的圖像。圖5是當(dāng)Henon映射中參數(shù)a的值具有10-5的誤差時解密后的圖像。

基于Logistic與Henon混沌系統(tǒng)的彩色圖像加密方法

通過實(shí)驗(yàn)結(jié)果說明,從加密后的圖像看不出原圖像的內(nèi)容;利用正確的密鑰解密出的圖像與原圖像看不出差別;當(dāng)解密密鑰與加密密鑰存在微小的差別時,都完全不能難確解密出原始圖像。因此本文的加密算法對密鑰有極強(qiáng)的敏感性。

混沌具有自相似性、遍歷性、對初值敏感等特征,非常適合于對圖像數(shù)據(jù)進(jìn)行加密?;诨煦绲募用芊椒?,可以防范頻率分析攻擊、窮舉攻擊等攻擊,使得密碼難于分析和破譯。若單獨(dú)使用一種混沌系統(tǒng)對圖像進(jìn)行加密,若密鑰選得不是很好,則加密的效果有限,例如有時加密之后還能看見原圖像的大概輪廓。采用多個混沌系統(tǒng)的結(jié)合,來實(shí)現(xiàn)圖像的加密,可以取得較好的加密效果,增強(qiáng)加密系統(tǒng)的安全性。

小知識之魯棒性

所謂“魯棒性”,是指控制系統(tǒng)在一定(結(jié)構(gòu),大小)的參數(shù)攝動下,維持某些性能的特性。根據(jù)對性能的不同定義,可分為穩(wěn)定魯棒性和性能魯棒性。