基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

基于變參數(shù)的復(fù)合混沌系統(tǒng),我們結(jié)合一維Logistic映射和三維混沌系統(tǒng)( Chen System),提出了一種基于變參數(shù)混沌的圖像加密算法,通過(guò)構(gòu)造一種非線性耦合函數(shù)來(lái)對(duì)明文像素點(diǎn)同時(shí)進(jìn)行置亂和像素灰度變換,并根據(jù)由明文信息產(chǎn)生的密鑰來(lái)對(duì)每輪置亂后的像素點(diǎn)采用不同方式進(jìn)行圖像文件加密。

一、_基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密算法原理

1、 Logistic混沌映射

Logistic混沌映射是一種非線性混沌系統(tǒng),其定義如下:

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

式中:μ為系統(tǒng)參數(shù);w0∈(0,1).當(dāng)3.569 94....≤μ≤4時(shí),系統(tǒng)處于混沌狀態(tài)。

2、三維混沌系統(tǒng)

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

當(dāng)a=35,b=3,C∈ [20,28.4]時(shí),式(2)存在混沌吸引子,系統(tǒng)可以處于混沌狀態(tài),本文取系統(tǒng)初值x0,yo,zo為密鑰,積分步長(zhǎng)t=0.001,生成序列{ Xk,yk,zk}。其時(shí)域圖如圖1所示。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

二、基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密算法思想

首先利用Logistic映射迭代選出其加密所需的系統(tǒng)參數(shù)值,然后結(jié)合三維混沌系統(tǒng)構(gòu)造一種非線性耦合函數(shù)并對(duì)明文同時(shí)進(jìn)行像素置亂和灰度變換,設(shè)明文圖像的大小為M×N。

1、_基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密算法設(shè)計(jì)

首先,給定兩個(gè)參數(shù)μ1,μ2,迭代式(1)([(wo ×(M+N))+100])次,定義參數(shù)選擇函數(shù),即:

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

可得到其中之一為所選參數(shù),令其為置亂步驟中所用式(1)的參數(shù),則另一個(gè)為灰度變換步驟中所用式(1)的參數(shù)。設(shè)圖像的像素點(diǎn)坐標(biāo)為(i,j),對(duì)應(yīng)的像素值為I(i,j),設(shè)計(jì)圖像特征密鑰基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法,并構(gòu)造耦合函數(shù)如下:

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

由函數(shù)S(k)可設(shè)計(jì)置亂變換為:

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

其中,加密時(shí)以先行后列的順序遍歷圖像的每個(gè)像素點(diǎn),在上述置亂系統(tǒng)中,(i,j)為原像素點(diǎn)位置坐標(biāo),(i',j’)為置亂后的該點(diǎn)的位置坐標(biāo)。

對(duì)每一次置亂后的明文像素點(diǎn),采取下述的方式進(jìn)行灰度值變換處理,即:

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

這里C(i,j)和C(i ',j')為像素點(diǎn)置亂后的灰度替代值。

2、基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密算法步驟

步驟1 根據(jù)Logistic混沌映射選取置亂和灰度變換過(guò)程中的系統(tǒng)參數(shù)。

步驟2 遍歷明文,設(shè)計(jì)加密算法所需密鑰T。

步驟3 根據(jù)Logistic混沌映射和三維混沌產(chǎn)生的多維混沌序列構(gòu)造一個(gè)非線性耦合函數(shù)。

步驟4根據(jù)設(shè)計(jì)的耦合函數(shù)以及式(5)對(duì)明文像素點(diǎn)進(jìn)行置亂。

步驟5 對(duì)每一次置亂后的像素點(diǎn)根據(jù)(6)式進(jìn)行灰度值替代。

步驟6 重復(fù)步驟4和5直至遍歷整個(gè)明文圖像。

步驟7 完成一輪加密操作,并根據(jù)實(shí)際需要進(jìn)行多輪加密。

解密算法即為加密的逆過(guò)程,計(jì)算密鑰并構(gòu)造出耦合函數(shù)S(k),并根據(jù)式(5)和(6)對(duì)密文反解即可進(jìn)行正確解密,得到明文圖像。

三、仿真實(shí)驗(yàn)及安全性分析

一個(gè)安全的算法可以有效抵御各種攻擊,如窮舉攻擊、統(tǒng)計(jì)攻擊等,本文以MATLAB 7.1為平臺(tái),對(duì)該加密算法進(jìn)行仿真實(shí)驗(yàn),其中,以大小為256像素×256像素的Lena標(biāo)準(zhǔn)灰度圖像作為明文圖像,設(shè)初始密鑰wo =0. 498 76,xo=13. 188,yo=11. 223,zo =0.1。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

圖2(a)為L(zhǎng)ena原圖像,圖2(b)為加密后的Lena圖像,圖2(c)和圖2(d)分別為明文和密文所對(duì)應(yīng)的直方圖,仿真實(shí)驗(yàn)表明,加密前后的圖像與直方圖有著很大差別,密文已經(jīng)隱藏了原圖像的人物輪廓,沒(méi)有透露出明文圖像的任何信息,這表明本文所采用的混沌序列具有良好的偽隨機(jī)性和復(fù)雜性,從而保證了密文直方圖分布均勻,可抵抗相應(yīng)的統(tǒng)計(jì)攻擊。

1、 密鑰空間分析

一個(gè)好的加密方案應(yīng)該具有足夠大的密鑰空間,從而使得窮舉攻擊變得不可行,本文算法密鑰由wo,xo,yo,zo構(gòu)成,設(shè)每個(gè)混沌系統(tǒng)的初值均有16位有效數(shù)字,則密鑰空間為1016 ×4= 1064。此外,明文信息密鑰丁亦作為密鑰保管,因此,算法具有足夠大的密鑰空間,使得窮舉攻擊變得不可能。

2、 密鑰敏感性分析

為了測(cè)試該算法的密鑰敏感性,現(xiàn)將其中的一個(gè)密鑰進(jìn)行微小的改動(dòng)( 10 -16),如令wo=0. 498 700 000 000 001,其余密鑰保持不變,并對(duì)密文進(jìn)行解密,加密解密圖如圖3所示。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

由實(shí)驗(yàn)可知,當(dāng)對(duì)密鑰初值進(jìn)行微小擾動(dòng)后,便無(wú)法正確解密出明文圖像,而解密出的圖像也與原始明文有著很大差別,這說(shuō)明該算法具有較高的密鑰敏感性。因此,該算法可以有效地抵御敏感性攻擊,并具有很好的安全性和實(shí)用性。

3、 像素相關(guān)性分析

一幅圖像由于需要顯示出一定的信息,因此,其像素之間有很大的關(guān)聯(lián),而一個(gè)好的算法便會(huì)降低這些相關(guān)性,從而達(dá)到可以抵御統(tǒng)計(jì)攻擊,為了測(cè)試明文圖像經(jīng)本文算法加密后的像素點(diǎn)的水平、垂直以及對(duì)角方向的相關(guān)性,從明文圖像和密文圖像中隨機(jī)選取1 000對(duì)像素對(duì),并根據(jù)式(7)進(jìn)行計(jì)算像素相關(guān)性系數(shù),即:

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

式中:基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法;x,y分別表示相鄰2個(gè)像素的灰度值,計(jì)算結(jié)果如表1所示。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

圖4顯示了明文與密文水平方向相關(guān)性,通過(guò)對(duì)比圖4(a)和圖4(b),明顯可見(jiàn),密文中相鄰像素間的相關(guān)性呈隨機(jī)對(duì)應(yīng)關(guān)系,對(duì)比表1可知,加密后的圖像的相關(guān)系數(shù)都趨近于0,相關(guān)性遠(yuǎn)小于原始明文圖像,明文信息已很好地?cái)U(kuò)散到密文之中,這說(shuō)明本文復(fù)合混沌系統(tǒng)所產(chǎn)生的偽隨機(jī)序列具有較好的偽隨機(jī)性。因此,該算法具有較強(qiáng)的抗統(tǒng)計(jì)分析能力。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

4、差分攻擊分析

密碼攻擊者經(jīng)常利用差分攻擊尋找明文和密文之間的關(guān)系,通過(guò)改變明文的一個(gè)像素點(diǎn)來(lái)觀察密文的變化,進(jìn)而進(jìn)行破解密文,設(shè)位置為(i,j)的像素點(diǎn)的灰度值為C1(i,j)和C2(i,j)。定義一個(gè)二值矩陣D,見(jiàn)式(8)。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

它和C1與C2,有相同的大小,若C1(i,j)=C2(i,j),則D(i,j)=0;否則D(i,j)=1.為了測(cè)試本文算法是否可以有效地抵御差分攻擊,分別根據(jù)式(9)和式(10)測(cè)試NPCR(像素變化率)和UACI(歸一化平均變化強(qiáng)度)2個(gè)值,差分攻擊分析結(jié)果如表2所示。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

通過(guò)對(duì)本文算法差分攻擊結(jié)果可知,本文加密算法僅需一輪加密即可達(dá)到理想值(NPCR >0. 996,UACI>0.334)。這說(shuō)明,本文算法對(duì)明文信息更敏感,算法安全性與明文相關(guān)程度
更高,因而可以有效地抵御差分攻擊,具有更高的安全性和實(shí)際應(yīng)用價(jià)值。

5、 算法時(shí)間復(fù)雜度分析

為了測(cè)試所提算法的算法時(shí)間復(fù)雜度,本文以Matlab 7.1為實(shí)驗(yàn)平臺(tái),對(duì)加密算法進(jìn)行仿真實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)結(jié)果如表3所示。

基于復(fù)合混沌系統(tǒng)變參數(shù)圖像加密新算法

由表3可知,本文加密算法的加密時(shí)間更短,加密速度更快,效率更高;因此,本文加密算法具有更廣的應(yīng)用前景以及更高的實(shí)際應(yīng)用價(jià)值。

小知識(shí)之線性耦合

線性耦合是數(shù)據(jù)耦合的一種。數(shù)據(jù)耦合是一個(gè)模塊訪問(wèn)另一個(gè)模塊時(shí),彼此之間是通過(guò)簡(jiǎn)單數(shù)據(jù)參數(shù) (不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量) 來(lái)交換輸入、輸出信息的。而線性耦合輸入、輸出信息的變量是成正比的非線性耦合輸入、輸出信息的變量不成正比。