圖像文件加密方法之蔡氏電路混沌系統(tǒng)

鑒于低維混沌加密存在密鑰空間相對較小的局限性,基于三維蔡氏電路混沌系統(tǒng)的圖像空域置亂加密方法可避免該局限性。利用產(chǎn)生的混沌序列,經(jīng)過預(yù)處理生成置亂索引矩陣用于圖像文件加密。該方案密鑰敏感性高,可實現(xiàn)多幅圖像文件的并行加密,是一種具有較高的安全性,加密效率高,且易于實現(xiàn)的圖像文件加密。

一、Chua's Circuit混沌系統(tǒng)

近年來,許多學(xué)者通過非線性電路對混沌行為進行了廣泛地研究,其中最典型的是Leon.o.Chua提出的蔡氏電路,它是能產(chǎn)生混沌行為的最小最簡單的三階自治電路。電路圖如圖1所示。

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

根據(jù)圖l可以寫出Chua's Circuit的三階電路微分方程:

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

方程組(1)可寫為如下的微分方程形式:

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

其中:

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

分析微分方程(3)的平衡點和Lyapunov指數(shù),當參數(shù)α=10,β=15.68,a=-1.276 8,b=-0.6888時,蔡氏電路處于混沌狀態(tài),出現(xiàn)雙渦卷混沌吸引子。

二、加密算法

1、偽隨機序列的產(chǎn)生

首先利用蔡氏電路產(chǎn)生加密所需的偽隨機序列。采用四階Runge-Kutffi法迭代,控制參數(shù)設(shè)為(α,β,a,b)=(10,15.68,-1.27685,-0.688 85)積分步長h=0.0005,就可得到三維的混沌實數(shù)值序列(xi,yi,zi),i=1,2,…,n,n為數(shù)值積分算法的迭代次數(shù)。

對不同的控制參數(shù)產(chǎn)生的混沌序列(xi,yi,zi),的統(tǒng)計分析表明:3個分量(xi,yi,zi),;的值域分別為:xi∈(-4,4),yi∈(一1.8,1.8),zi∈(-20,20);對應(yīng)的平均值分別為:avrx=-36.6,avry=-7.16,avrz=8.7226。再將此類序列用于加密前尚需做如下的預(yù)處理操作:

①去除各實數(shù)值的整數(shù)部分,統(tǒng)一值域;

②在去整的基礎(chǔ)上再將小數(shù)點后移數(shù)位,以增強序列的無規(guī)則性及整體分布的均勻性。經(jīng)過預(yù)處理后的偽隨機序列(xi,yi,zi),i=1,2,…,n的值域為(10,-10),平均值分別為:avrx=0.00334,avry=-0.00950,avrz=-0.00152,趨于零。互相關(guān)特性近似為零,自相關(guān)特性是較理想的δ函數(shù)。

2、置亂索引矩陣的構(gòu)建

利用上述的預(yù)處理后的序列,可構(gòu)建一個如下的置亂索引矩陣I:

(1)矩陣I的定義:Iij∈{1,2,3,…}且Iij=Ipk當且僅當i=p,j=k。

(2)矩陣I的生成:將混沌系統(tǒng)產(chǎn)生的實值序列的各維經(jīng)過去整、小數(shù)點移位等預(yù)處理后得到偽隨機序列(xi,yi,zi),由3組偽隨機序列生成矩陣X,Y,Z,對這3個矩陣的每一行向量進行排序。

控制參數(shù)的敏感性測試如表1所示,去掉序列的初始階段,置亂矩陣的位序變化率可以達到100%。

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

結(jié)果表明,預(yù)處理后的序列具有很強的偽隨機特性,用于圖像置亂將會獲得安全性極高的加密算法。考慮到(xi,yi,zi)序列具有良好的各分量獨立特性,利用xi,yi,zi這3個序列可獨立的構(gòu)成3個單變量加密混沌序列,也可組合構(gòu)成多重加密序列,可同時對多幅圖像進行加密,加密算法有良好的可擴展性。

3、加密解密算法

本文設(shè)計了一種利用置亂索引矩陣刪圖像進行空間置亂的加密方法。加密和解密算法如下。加密密鑰可根據(jù)需要選擇系統(tǒng)參數(shù)和初始值α,β,a,b,x,y,z中的一個或幾個。加密步驟:

(1)輸入原始圖像。如考慮到圖像壓縮效果,則可以對圖像進行分塊預(yù)處理,以塊為單位對圖像進行全局置亂變換。為符合JPEG圖像壓縮標準,將圖像分為8*8的塊。這樣做不影響DCT系數(shù)的分布。也可以直接對像素進行全局置亂,不需要預(yù)處理;

(2)構(gòu)造置亂索引矩陣。輸入密鑰,生成實值混沌序列(xi,yi,zi),i=1,2,…,n,對3個分量進行預(yù)處理,按需要的長度截取實值混沌序列,為保證隨機性,需去除序列的初始階段。由混沌序列按規(guī)則構(gòu)造索引矩陣Ix,Iy,Iz;

(3)圖像置亂。按置亂索引矩陣的規(guī)則,重排置亂塊的位置。為了獲取更優(yōu)的加密效果,對每幅待加密的圖像選擇Ix,Iy,Iz中的兩個置亂索引矩陣構(gòu)成二重加密,分別用于橫向和縱向置亂。迭代2次即可達到理想的加密效果。如對8*8的分塊進行置亂加密,迭代次數(shù)則應(yīng)增加至3-5次。

解密算法為加密算法的逆過程:

①讀入密圖;

②重現(xiàn)置亂索引矩陣。

輸入解密密鑰,同加密步驟2;

⑨恢復(fù)原圖像。是加密置亂過程的逆過程,根據(jù)置亂矩陣,將像素恢復(fù)到原位置。

三、安全分析和仿真測試

1、加密算法仿真

對上述加密算法進行了實驗仿真,并對結(jié)果進行分析,驗證算法的有效性和安全性??紤]到圖像數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中很難避免一些必要的數(shù)據(jù)處理或人為攻擊,如壓縮、噪聲污染失真等。對這些常見的處理和攻擊也進行了仿真測試。實驗數(shù)據(jù)選擇了具有不同紋理特征,大小為256a 256的lake,peppers,lena這3幅標準圖像作為仿真對象。設(shè)置參數(shù)(α,β,a,b,x,y,z)=(10,15.68,-1.276 85,-0.688 85,1.584 102 3,1.234 585 4,1.895 278 1)利用蔡氏電路產(chǎn)生三維混沌序列(xi,yi,zi),對各維進行預(yù)處理并產(chǎn)生置亂矩陣Ix,Iy,Iz選擇p2組合中的3種分別用于加密3幅標準圖。圖2為對lake圖像進行的仿真結(jié)果,其中圖2(a)為lake原始圖像,圖2(b)為加密后的圖像,圖2(c)為密鑰誤差為10-7時錯誤解密的圖像。

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

圖3為對peppers圖像進行仿真的結(jié)果,其中圖3(a)為peppers原圖,圖3(b)為加密后受到高斯噪聲污染的圖像,圖3 (c)為用正確密鑰解密后的圖像。

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

圖4為對lena圖像進行仿真的結(jié)果,其中圖4(a)為lena原圖,圖4(b)為對lena圖像8*8的分塊加密并進行有損壓縮后的圖像,壓縮過程中保留了40%的DCT系數(shù),圖4(c)為正確密鑰解密后的圖像。

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

2、安全分析

通過對圖2中加密前后的圖像進行直方圖、相鄰像素相關(guān)分析以及差分攻擊分析NPCR,UACI來驗證算法的有效性。

2.1直方圖分析

圖5為lake圖像加密前后的直方圖顯示??梢钥闯黾用芎蟮闹狈綀D中灰度分布的更均勻。

?圖像文件加密方法之蔡氏電路混沌系統(tǒng)

2.2相關(guān)性分析

圖6為加密前后水平相鄰像素的相關(guān)性分析。對隨機產(chǎn)生1000對水平相鄰的像素點,圖6(a)為加密前的相關(guān)度。圖6(b)為加密后同樣位置的相鄰像素的相關(guān)度。

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

表2分別列出了加密前后相同位置的l000對水平相鄰、垂直相鄰、對角相鄰的像素相關(guān)系數(shù)。加密前相鄰像素相關(guān)緊密,加密后,其相關(guān)系數(shù)明顯降低。相關(guān)系數(shù)的計算公式:

圖像文件加密方法之蔡氏電路混沌系統(tǒng)

對圖像加密前后的相關(guān)系數(shù)進行分析,可以看出,相鄰像素間的相關(guān)系數(shù)大幅下降,可有效的抵抗基于統(tǒng)計分析的攻擊。

小知識之蔡氏電路

蔡氏電路(英語:Chua's circuit),一種簡單的非線性電子電路設(shè)計,它可以表現(xiàn)出標準的混沌理論行為。1983年,由蔡少棠教授發(fā)表,當時他正在日本早稻田大學(xué)擔(dān)任訪問學(xué)者。這個電路的制作容易程度使它成為了一個無處不在的現(xiàn)實世界的混沌系統(tǒng)的例子,導(dǎo)致一些人聲明它是一個“混沌系統(tǒng)的典范”。