基于合成混沌序列的圖像加密算法

基于合成混沌序列的圖像加密算法是利用改進的logistic映射和具有一次耦合項的三維logistic映射兩個混沌系統(tǒng)形成密鑰對圖像文件進行加密,從而達到隱藏信息的目的。

一、混沌加密算法

1、混沌的主要特征

在傳統(tǒng)的加密系統(tǒng)中,偽噪聲序列即PN( Pseudo-Noise)序列得到了廣泛應(yīng)用。最常用的PN序列是最大長度線性碼序列(Maximum length linear code sequences),又稱為m序列,是由線性反饋移位寄存器LFSR( Linear Feedback Shift Register)產(chǎn)生的。其特點是具有周期性和偽隨機性。 LFSR方法在密碼分析領(lǐng)域已經(jīng)被認為是不可靠的。 混沌現(xiàn)象是在非線性動力學(xué)系統(tǒng)中出現(xiàn)確定性的、類隨機的過程,這種過程非周期、不收斂但有界,并且對初始狀態(tài)具有極其敏感的依賴性,即初始狀態(tài)只要有微小的差別,兩個混沌系統(tǒng)在較短的時間后就會產(chǎn)生麗組完全不同的、互不相關(guān)的混沌序列值。因此,混沌系統(tǒng)可以提供大量的密鑰。

2、混沌加密算法分析

混沌序列在密碼學(xué)方面的應(yīng)用起源于20世紀80年代末期,由英國數(shù)學(xué)家Matthews首先提出,其后得到了一定發(fā)展?,F(xiàn)有的混沌偽隨機序列分為兩類:實值混沌偽隨機序列和在實值序列基礎(chǔ)上得到的二進制混沌偽隨機序列。 目前常用的有采用實值混沌偽隨機序列和采用實值序列基礎(chǔ)上得到的二進制混沌偽隨機序列,二者都是基于一維logistic映射的加密算法。實驗證明:基于一維logistic映射的一次加密圖像的混沌特性不很明顯,即原圖的輪廓仍較明顯,需進行多次加巒才達到較好的效果。而采用兩種混沌映射交替產(chǎn)生二進制混沌偽隨機序列對明文位串進行加密,由于明文文件加密結(jié)果很難通過明文位串間相關(guān)性解密,因此加密難度較??;而圖像文件加密除要將原像素改變以外,還要在整個圖像上不能看出原圖的任何輪廓,因為在圖像識別與處理方法中,都是利用圖像景 物邊緣輪廓和景物與背景在灰度上的區(qū)分來進行圖像識別和處理的,因此加密要求相對較高,加密難度相對較大。

3、混沌序列遇到的障礙

混沌序列發(fā)生器總是用有限精度來實現(xiàn),其特性會由于有限精度效應(yīng)與理論結(jié)果大相徑庭。因此,有限精度效應(yīng)是混沌序列從理論走向應(yīng)用的主要障礙。其次,一維logistic映射:

基于合成混沌序列的圖像加密算法

當λ∈(3. 5699…,4)時,出現(xiàn)完全混沌現(xiàn)象。該混沌函數(shù)的兩個問題:(1)函數(shù)的固定點(吸引子),即多次迭代而趨近某一固定值;(2)出現(xiàn)“穩(wěn)定窗”,即某區(qū)間的點聚集,窗中產(chǎn)生的迭代序列不能提供作為密鑰流所需的安全性。

二、基于合成混沌序列的加密算法

1、兩種混沌映射

本文提出的新加密算法將采用以下兩種混沌映射:

(1)改進的logistic映射:

基于合成混沌序列的圖像加密算法

該系統(tǒng)的混沌性能比原系統(tǒng)好,克服了原系統(tǒng)中前面提到的兩個問題。

(2)具有一次耦合項的二維logistic映射:

基于合成混沌序列的圖像加密算法

其中,x,y,μ1,μ2,γ∈(0,1)。當控制參數(shù)μ1,μ2相差較大且其中一個較小時,μ1=0.8,μ2=0.2,隨參數(shù)γ的增加,系統(tǒng)由Feigenbaum途徑走向混沌,當γ=0.31時進入混沌。當控制參數(shù)μ1,μ2相差不很大時,如μ1=0.7,μ2=0.3,隨參數(shù)γ的增加,系統(tǒng)由Pomeau-Maimeville途徑走向混沌,當γ=0. 45時進入混沌。

2、加密算法描述

(1)為兩個混沌映射置初始迭代值和相應(yīng)參數(shù),并先迭代若干次,使得加密時使用的數(shù)據(jù)混沌特性更好。

(2)判斷圖像是否處理完畢。若沒有,密鑰chaos置0,轉(zhuǎn)(3);否則,轉(zhuǎn)(5)。

(3)讀取圖像像素unchValue,迭代改進的logistic映射,對迭代結(jié)果取小數(shù)點后5位有效數(shù)字,并模16得k1,chaos=chaos∧k2;接著,迭代具有一次耦合項的二維logistic映射,對迭代結(jié)果取小數(shù)點后5位有效數(shù)字,并模16得k2,chdOS=(chaos<<4)∧k2。

三、基于合成混沌序列的圖像加密算法分析

1、實驗數(shù)據(jù)

實驗以265×256 ×8的圖像(圖1)為被測對象,采用VC++6.0編程實現(xiàn)。圖2為取以下初值和參數(shù)所得加密圖像:改進的logistic映射x0=0.5,β=3. 835;具有一次耦合項的二維l0gistic映射x0=0.1,y0=0.11,γ=0.31,μ1=0.8,μ2=0.2。,從加密結(jié)果可以隱約看出原圖像的一些輪廓。

基于合成混沌序列的圖像加密算法

對原始圖像直方圖(圖3)和一次加密圖像直方圖(圖4)進行比較,可以看出一次加密后像素在(0,255)區(qū)間上的分布已經(jīng)較原圖像均勻。

基于合成混沌序列的圖像加密算法

在此基礎(chǔ)上,再取如下初值、參數(shù)得圖5:改進的logistic映射x0 =0.7,β=3.7655;具有一次耦合項的二維logistic映射x0=0.5,y0=0. 55,γ=0.45,μ1=0.7,μ2=0.3。從加密后的圖像已完全看不出原來的影子,再查看二次加密后的直方圖(圖6)。像素在(0,255)區(qū)間上的分布非常均勻。

基于合成混沌序列的圖像加密算法

2、安全性分析

該加密算法為對稱加密算法,即其解密算法為加密算法的逆過程。使用原始加密數(shù)據(jù)進行解密,解密結(jié)果如圖7所示。該加密算法的安全性主要在于初值和參數(shù)的個數(shù)較多,即使其中幾 個數(shù)據(jù)在解密精度范圍內(nèi),也無法解密講圖8為只改變一個初值0.000001,其它數(shù)據(jù)均與原始數(shù)據(jù)相同進行解密所得結(jié)果。可以看出,解密是不成功的6可見,要想使用窮舉法進行解密幾乎是不可能的,所以其安全性是非常可靠的。

基于合成混沌序列的圖像加密算法

小知識之LFSR

線性反饋移位寄存器(LFSR)是一個產(chǎn)生二進制位序列的機制。這個寄存器由一個初始化矢量設(shè)置的一系列信元組成,最常見的是,密鑰。這個寄存器的行為被一個時鐘調(diào)節(jié)。在每個定時時刻,這個寄存器信元的內(nèi)容被移動到一個正確的位置,這個排外的或這個信元子集內(nèi)的內(nèi)容被放在最左邊的信元中。輸出的一個位通常來自整個更新程序。LFSR的應(yīng)用包括產(chǎn)生偽隨機數(shù)字,偽噪聲序列,快速數(shù)字計算器和灰數(shù)序列。LFSR軟件和硬件的執(zhí)行是相同的。