基于混沌數(shù)列變換的圖像加密算法
針對現(xiàn)有的數(shù)字圖像加密算法存在算法復(fù)雜、運(yùn)算成本大以及安全性不高等問題,提出了一種基于混沌數(shù)列變換的數(shù)字圖像加密算法。該算法通過對Logistic和Hybrid兩種不同的混沌序列進(jìn)行變換,從像素灰度值以及像素位置兩方面對圖像進(jìn)行加密。
一、序列及變換
1、兩種混沌序列
混沌序列作為一種偽隨機(jī)序列由于具有遍歷性高、對初值敏感等特性被廣泛應(yīng)用于數(shù)字信息的加密中,本文通過對兩種混沌序列的不同變換達(dá)到圖像像素點(diǎn)位置變換和灰度值變換兩方面的目的從而實(shí)現(xiàn)對數(shù)字圖像的加密操作。這兩種混沌序列分別是Logistic混沌序列和Hybrid混沌序列。首先,Logistic序列是混沌系統(tǒng)中很有代表性的混沌映射,它被廣泛應(yīng)用于混沌應(yīng)用中,其定義如式(1)所示,其中初值和參數(shù)的設(shè)置為O<μ0≤4,0<x0<1,k∈N,由此數(shù)列所得的混沌序列xk在[0,1]之間無規(guī)律地震蕩變化:
![]()
第二,Hybrid序列是一種新構(gòu)造的序列,該序列利用構(gòu)造的Hybrid混沌映射,通過周期性改變混沌迭代初值來產(chǎn)生混沌偽隨機(jī)序列。該映射定義如式(2)所示:
![]()
此映射不但繼承了Logistic映射產(chǎn)生方式簡單易行和混沌效果理想等特點(diǎn)而且還能增加了混沌系統(tǒng)的安全性。該映射的參數(shù)取值為0<xo<1,O<u1<4,0<u2<4,O<b<l,k∈N時(shí)產(chǎn)生序列的混沌效果最好,與Logistic序列不同的是,此數(shù)列的產(chǎn)生值在[-1,1]間以x軸為對稱軸震蕩變換。兩種混沌系統(tǒng)的相同點(diǎn)是,在初值相差甚微的情況下,當(dāng)k大于一定值時(shí),所得zt均會(huì)出現(xiàn)很大的差別,這個(gè)特點(diǎn)充分體現(xiàn)了混沌系統(tǒng)對初值敏感的特性,使安全性得到了提高。
2、序列變換
由于數(shù)字圖像可以看作是由每一個(gè)像素點(diǎn)所組成的一個(gè)二維矩陣,能夠?qū)崿F(xiàn)對二維矩陣的變換即可達(dá)到對圖像的加密目的,因此,本文旨在將上文所得的混沌數(shù)列進(jìn)行矩陣變換來實(shí)現(xiàn)對于數(shù)字圖像每一個(gè)像素點(diǎn)的灰度值置換加密和整體圖像像素的位置混亂。首先,針對圖像具體像素點(diǎn)的灰度值變換(圖像灰度值在0-255之間)問題中,采用第一個(gè)Logistic數(shù)列變換實(shí)現(xiàn)。本文所提出的加密方法需要一個(gè)與待加密圖像等大的二位矩陣來進(jìn)行與原圖像的異或處理。由于Logistic混沌系統(tǒng)產(chǎn)生的數(shù)列值在O到1之間,為了達(dá)到數(shù)值的范圍要求,該變換的方法為將所得的每一個(gè)數(shù)列值擴(kuò)大然后對256取模,這樣可以保證所得隨機(jī)整數(shù)數(shù)列在0至255之間變換,根據(jù)圖像的尺寸將所得隨機(jī)數(shù)列轉(zhuǎn)換成為同等大小的二維整數(shù)序列,計(jì)算方法如式(3)所示:
![]()
式中:xk-Logistic變換所得序列,yk-所需的異或矩陣元素值,由于本文所做實(shí)驗(yàn)針對的圖像像素灰度值為O-255所以對256取模,對于其他種類圖像的加密可以根據(jù)具體圖像的灰度信息改變?nèi)∧V?。通過式(3)的變換即可保證每個(gè)異或值在0至255之間,然后將所得到的新數(shù)列構(gòu)造成適應(yīng)圖像大小的二維矩陣。
第二種針對Hybrid序列的變化是用來實(shí)現(xiàn)像素位置的混亂處理,該加密方法所要達(dá)到的目的及根據(jù)矩陣乘法,達(dá)到對行列兩方面的變化。在這個(gè)過程中需要構(gòu)造這樣的置換矩陣,所以對單位矩陣的置換規(guī)則通過Hybrid混沌映射實(shí)現(xiàn)。因此根據(jù)Hybrid的偽隨機(jī)特性可以構(gòu)造一個(gè)置換群對單位矩陣進(jìn)行變換進(jìn)而實(shí)現(xiàn)對二維圖像的加密操作。
定義1 設(shè)數(shù)列∞是由Hybrid混沌系統(tǒng)產(chǎn)生的一維隨機(jī)序列,則Hybrid隨機(jī)置換群GH為:
![]()
且k∈N,其中nk為將xk,升序排列后所對應(yīng)的序列號(hào)。
此定義的應(yīng)用在于通過Hybrid混沌映射產(chǎn)生的置換群可以對單位矩陣的行順序進(jìn)行置換,這樣就能夠構(gòu)造出所需要的置換二維矩陣。例如取xo=0.76,u1=1.7,u2=2.2,b=0.79的Hybrid映射時(shí),所得的6元置換群為:
![]()
如圖1所示,通過這個(gè)置換群就可以把單位矩陣(a)轉(zhuǎn)化成置換矩陣(b)。

這兩種對于混沌序列的變換方法在加密方法中起到了重要的作用。
二、加密算法
1、加密過程
本文提出的數(shù)字圖像的加密算法分為兩個(gè)步驟:第一步;灰度值加密,具體步驟為將原始圖像的每個(gè)像素點(diǎn)的值同上述所得取模后的矩陣進(jìn)行按位異或處理。設(shè)待加密數(shù)字圖像A大小為m*n,異或矩陣W由式(3)的yk構(gòu)成,t(m,n)代表異或后的圖像像素值,則異或過程如式(4)所示:
![]()
該步驟中異或處理是將十進(jìn)制整數(shù)變換成二進(jìn)制數(shù)進(jìn)行對應(yīng)像素點(diǎn)的按位異或。異或后將結(jié)果轉(zhuǎn)換成十進(jìn)制數(shù)構(gòu)成加密圖像。
第二步,像素位置置亂變換。該變換具體實(shí)現(xiàn)是對于異或后圖像進(jìn)行一次位置置亂變換。利用混沌序列構(gòu)成需要的置換群,通過置換群將符合圖像大小的單位矩陣的行順序進(jìn)行置亂變化,設(shè)圖像A尺寸為m*n,根據(jù)定義1選擇不同的初值和參數(shù)構(gòu)成大小為m元和n元的置換群,分別用這兩個(gè)置換群將大小為m*m和nxn的單位矩陣E1和E2進(jìn)行行置換處理從而得到所需要的置亂行列矩陣Em和En,該步驟的加密過程如式(5)所示,E代表此步驟加密后的圖像.Ef代表通過式(4)的運(yùn)算所得t(m,n)構(gòu)成的矩陣,則位置變換加密過程為:
![]()
綜合以上兩步驟,所得的圖像E就是最終的加密圖像。
2、解密過程
由于按位異或和矩陣乘法均具有可逆性,所以此算法的解密算法也分為兩步,是上述方法的逆運(yùn)算,首先將加密后的圖像E進(jìn)行位置還原,設(shè)矩陣Et'為位置還原后的圖像矩陣,根據(jù)行列式的性質(zhì)特征以及矩陣乘法之間存在可逆變換關(guān)系,所以該步驟如式(6)所示:
![]()
此時(shí),圖像Et'像素位置已經(jīng)恢復(fù)到原始圖像的位置,再對圖像進(jìn)行灰度值的異或處理即可完成圖像重建,u(m,n)為還原后圖像的像素點(diǎn)灰度值,如式(7)所示:
![]()
從上述公式可以看出,圖像加密和解密是一個(gè)對稱的逆過程,整個(gè)加解密過程可以歸納成一個(gè)圖像處理系統(tǒng)如圖2所示。整個(gè)算法的加密解密均分為兩步且對稱,其中在像素點(diǎn)的異或處理中使用的異或矩陣為同一個(gè)矩陣。

三、仿真實(shí)驗(yàn)結(jié)果
該部分將算法進(jìn)行了仿真模擬實(shí)驗(yàn),應(yīng)用matlab軟件作為開發(fā)工具編程實(shí)現(xiàn)了所設(shè)計(jì)的基于Logistic和Hybrid映射數(shù)列變換的數(shù)字圖像加密算法從而充分驗(yàn)證了算法的可行性。本實(shí)驗(yàn)分別針對不同尺寸、形狀的圖像以及彩色圖像進(jìn)行實(shí)驗(yàn),如圖3、圖4、圖5分別列出對256* 256的lenna圖像、533*400大小的風(fēng)景圖和RGB彩色圖像進(jìn)行的加密算法和解密算法的實(shí)驗(yàn)結(jié)果。三幅圖中圖(a)表示原始圖像、圖(b)表示加密后的圖像、圖(c)為解密圖像,從所給實(shí)驗(yàn)結(jié)果圖可以看出,此算法使用范圍廣泛,對于不同尺寸的圖像均可達(dá)到加密和解密目的,而且該方法不僅適用于灰度圖像。RGB的彩色圖像同樣可以用該方法進(jìn)行加密并且加密效果良好。從圖(b)加密圖像看不能從加密圖像中辨識(shí)出原始圖像信息,而圖(c)證明該算法的解密部分能夠?qū)⒃紙D像成功還原出來,解密圖像效果良好。


四、攻擊操作
1、統(tǒng)計(jì)攻擊分析
從圖像統(tǒng)計(jì)分析角度分析,圖像的統(tǒng)計(jì)信息在一定程度上可以曝露出原始圖像的灰度值分布規(guī)律,所以能否改變原始圖像的統(tǒng)計(jì)分布也是圖像加密至關(guān)重要的指標(biāo)。該算法的第一個(gè)步驟提到的對于圖像灰度值的異或目的即是為了抵御攻擊方進(jìn)行灰度統(tǒng)計(jì)攻擊。如圖6所示,從實(shí)驗(yàn)結(jié)果可以得出,由于進(jìn)行了異或處理的步驟,使所得加密圖像灰度分布非常均勻,使攻擊者不能夠分析出原始灰度值分布范圍,進(jìn)而增加了算法的安全性。

2、切割攻擊
切割攻擊是圖像信息傳遞過程中常遇到的攻擊操作,收到此類攻擊后圖像部分信息缺失,使得圖像恢復(fù)過程受到阻礙,本實(shí)驗(yàn)旨在對加密圖像進(jìn)行了切割操作的基礎(chǔ)上仍然能夠?qū)D像恢復(fù)出來。如圖7所示,根據(jù)控制變量思想,圖7 (a)、圖7(b)的為對加密所得圖像進(jìn)行不同位置的切割,圖7 (c)、圖7(d)是對其他尺寸圖像和彩色圖像進(jìn)行的變換。第一行顯示的是加密圖像切割的位置以及切割之后的效果圖。第二行顯示的是恢復(fù)圖像的效果,從中可以看出,切割操作對于圖像恢復(fù)并沒有造成很大的影響,原始圖像主要信息可以被恢復(fù),辨識(shí)度很高而且效果良好。

3、噪聲攻擊
信息的傳遞過程中,被加入噪聲也是一種普遍現(xiàn)象,而對于圖像傳遞而言常見的噪聲有椒鹽噪聲和高斯噪聲等。
該算法針對這兩種噪聲攻擊進(jìn)行仿真實(shí)驗(yàn),證明了算法可以抵御噪聲攻擊,實(shí)驗(yàn)結(jié)果如圖8、圖9所示,兩幅圖的第一行顯示的是分別對加密圖像加入椒鹽噪聲和高斯噪聲的圖像,第二行是從干擾后的圖像載體中恢復(fù)出來的圖像,重建圖像雖然能夠看出噪聲干擾但是仍然能夠識(shí)別出原始圖像主要信息,恢復(fù)結(jié)果比較理想。


4、濾波攻擊
濾波處理常作為用于信號(hào)平滑處理,在圖像信息的傳遞中也成為普遍的干擾攻擊。該實(shí)驗(yàn)以常見的高斯低通濾波為例,利用大小為3*3模板的高斯低通濾波對加密圖像進(jìn)行攻擊操作。實(shí)驗(yàn)結(jié)果如圖10所示,第一行是經(jīng)過高斯低通濾波的加密圖像,第二行為通過解密算法后相應(yīng)的重建圖像,從恢復(fù)圖像的效果上可見,重建圖像受到了部分干擾,但原始圖像的主要信息仍可辨認(rèn),恢復(fù)效果很好,說明該算法可以抵御此種攻擊。

五、安全性及時(shí)間分析
1、密鑰空間分析
本文所提出的加密算法中,密鑰有兩部分構(gòu)成,一部分是對于Logistic數(shù)列形成的初值ro和參數(shù)陽的選取,另一部分密鑰則是混沌序列Hybrid的初值及其它參數(shù)的選取。取值符合范圍即可,由此可見兩種密鑰的組合數(shù)量能夠抗擊窮舉攻擊,因此,該算法在應(yīng)用領(lǐng)域具有很高的安全性。
2、時(shí)間分析
算法的運(yùn)行時(shí)間是運(yùn)行成本的重要指標(biāo),該加密算法運(yùn)行時(shí)間短,能夠達(dá)到應(yīng)用要求。如表1所示,是在如下配置的機(jī)器所完成的時(shí)間計(jì)算:windows 7,Intel (R) core(TM)2 Duo CPU T5750@2.OOGHz,內(nèi)存2GB。該表反應(yīng)了對于不同圖像的加密解密時(shí)間,從表中可以看出該算法運(yùn)行效率很高,極大的減低了運(yùn)行成本,更能適應(yīng)正常應(yīng)用對算法時(shí)間的要求。

小知識(shí)之椒鹽噪聲
椒鹽噪聲也稱為脈沖噪聲,是圖像中經(jīng)常見到的一種噪聲,它是一種隨機(jī)出現(xiàn)的白點(diǎn)或者黑點(diǎn),可能是亮的區(qū)域有黑色像素或是在暗的區(qū)域有白色像素(或是兩者皆有)。鹽和胡椒噪聲的成因可能是影像訊號(hào)受到突如其來的強(qiáng)烈干擾而產(chǎn)生、類比數(shù)位轉(zhuǎn)換器或位元傳輸錯(cuò)誤等。例如失效的感應(yīng)器導(dǎo)致像素值為最小值,飽和的感應(yīng)器導(dǎo)致像素值為最大值。









