張 學(xué) 軍
(河西學(xué)院物理與機(jī)電工程學(xué)院,甘肅 張掖 734000)
當(dāng)今社會(huì)處于信息時(shí)代,互聯(lián)網(wǎng)的快速發(fā)展是它的一個(gè)顯著標(biāo)志.不管什么人都可以隨時(shí)隨地通過(guò)互聯(lián)網(wǎng)發(fā)布信息[1].因此互聯(lián)網(wǎng)就是把全球的信息匯聚到一起,實(shí)現(xiàn)信息傳輸與共享.雖然互聯(lián)網(wǎng)給予人們很大的便利,可以通過(guò)互聯(lián)網(wǎng)分享大量信息,但是也面臨著一些問(wèn)題,比如很多數(shù)據(jù)被惡意泄露以及圖片信息被篡改.因而,互聯(lián)網(wǎng)信息安全的保障成為了當(dāng)今社會(huì)一個(gè)熱點(diǎn)問(wèn)題.
隨著這些年信息科技的快速發(fā)展,信息安全技術(shù)經(jīng)歷了從密碼技術(shù)到隱藏技術(shù)的革新[2].人們?cè)趹?yīng)用信息隱藏技術(shù)保證信息安全的過(guò)程中發(fā)現(xiàn),單純地使用該技術(shù)進(jìn)行保密很容易被攻擊者破解.因此,如果在信息進(jìn)行隱藏之前,利用相關(guān)的算法將要隱藏的信息進(jìn)行加密處理,使其變得與原來(lái)圖像毫不相關(guān),然后將加密過(guò)的信息載入到載體信息中,這樣進(jìn)行傳輸就會(huì)變得更加的安全.即使在傳輸?shù)倪^(guò)程中,攻擊者發(fā)現(xiàn)了隱秘信息,將其提取出來(lái),提取出來(lái)的也是進(jìn)行加密過(guò)后的信息,攻擊者無(wú)法對(duì)其進(jìn)行識(shí)別,從而使信息安全獲得了保障.綜上所述,信息加密技術(shù)將會(huì)是信息隱藏領(lǐng)域中一個(gè)重要部分.
傳統(tǒng)的圖像加密方法,諸如Anold變換圖像加密等,都是改變數(shù)字圖像中像素點(diǎn)的位置,從而使數(shù)字圖像獲得加密,所以,傳統(tǒng)的數(shù)字圖像加密方法相對(duì)來(lái)說(shuō)比較好破解[3].而基于混沌映射的圖像加密是通過(guò)改變數(shù)字圖像中像素點(diǎn)的值從而使圖像獲得加密.這種基于混沌映射的圖像加密相對(duì)傳統(tǒng)方法來(lái)說(shuō),更加安全,不容易被破解.
當(dāng)今圖像加密領(lǐng)域出現(xiàn)了一個(gè)新熱點(diǎn),即將混沌系統(tǒng)和圖像加密聯(lián)系起來(lái),很多相關(guān)的圖像加密算法隨之面世,且都有一定的實(shí)用性.本文將傳統(tǒng)圖像加密方法與混沌映射相結(jié)合,提出了一種利用混沌映射進(jìn)行圖像加密的方法,不僅改變數(shù)字圖像中像素點(diǎn)的位置關(guān)系,而且將數(shù)字圖像中像素點(diǎn)的值進(jìn)行了替換.本算法中的混沌系統(tǒng)采用的是logistic 映射,利用logistic 映射對(duì)系統(tǒng)初值的敏感性生成對(duì)應(yīng)序列,像素點(diǎn)值的改變和像素位置的錯(cuò)亂都由混沌序列進(jìn)行控制.
Logistic映射是一種可產(chǎn)生的非線性系統(tǒng),Logistic映射分岔圖像如圖1所示,Logistic映射模型如下式所示[4]:
圖1 Logistic映射分岔圖像
其中,當(dāng)u和x滿足相關(guān)的約束時(shí),Logistic映射函數(shù)就會(huì)變成混沌狀態(tài)[5].在此基礎(chǔ)上,給定初值u和x0,利用模型公式迭代n 次之后,可以得到x1、x2、x3…xn這n 個(gè)值,這些值就構(gòu)成了一個(gè)混沌序列,假設(shè)該混沌序列為序列A,在Matlab中可以看出,xi()i=1,2…n的取值都是在0到1之間,就如數(shù)字圖像的灰度值是在()0,255 之間一樣.我們把這個(gè)序列A歸一化到(0,255)之間得到序列B.就比如我們有一幅圖像(簡(jiǎn)稱為Pic),其大小為M×N,我們要想對(duì)其進(jìn)行加密,必須要有一個(gè)同樣大小的矩陣.因此,M×N的數(shù)字圖像要經(jīng)過(guò)M×N次迭代才能得到序列A,我們?cè)賹⑵錃w一化成序列B(序列B是一維的),然后再將B轉(zhuǎn)化成M×N的二維矩陣(簡(jiǎn)稱為Fuc).因此,用Fuc與Pic進(jìn)行邏輯異或運(yùn)算,一幅新的被加密后的圖像就誕生了,我們將加密后的圖像簡(jiǎn)稱為Rad.以上就是基于混沌映射進(jìn)行像素灰度值替換的原理.
假設(shè)有一副M×N的數(shù)字圖像,該圖像中位置(i,j)處的灰度值定義為I(i,j),滿足1 ≤i≤M,1 ≤j≤N,I′(i,j)表示替換后I(i,j)在(i,j)處的灰度值[6].本設(shè)計(jì)中,替代數(shù)字圖像像素值的變換是在空域中進(jìn)行的.
像素替換的公式如下:
式中:L表示圖像的顏色深度;mod 表示求模運(yùn)算;⊕表示按位異或運(yùn)算.r1,r2,r3表示的是混沌序列值,替換變換的密鑰由r1,r2,r3對(duì)應(yīng)的混沌系統(tǒng)提供,變換可多次進(jìn)行,如此加密效果更好.設(shè)重復(fù)次數(shù)為n,并且將該混沌的初值和其初始參數(shù)結(jié)合起來(lái),將它們共同作為該系統(tǒng)的密鑰,這樣密鑰的空間大大的增加了,加密強(qiáng)度也獲得了提升.
本文基于混沌映射理論,對(duì)數(shù)字圖像進(jìn)行了加密算法研究,并用Matlab進(jìn)行仿真.Matlab軟件仿真結(jié)果如圖2~圖4所示,由圖可以看出本文基于混沌映射的算法是可行的.
圖2 原圖
圖3 混沌加密圖像
圖4 解密圖像
本文基于混沌理論對(duì)數(shù)字圖像加密算法進(jìn)行了研究,在Matlab 軟件平臺(tái)進(jìn)行了仿真,通過(guò)仿真可以得出混沌映射對(duì)數(shù)字圖像加密相對(duì)于傳統(tǒng)方法是更加可行的.在圖像加密過(guò)程中,要輸入加密密鑰:[0.343 0.432 0.63 3.769 3.82 3.85 0.1 1],原始圖像就會(huì)成功加密.如果要得到正確的解密圖像,也要輸入正確的解密密鑰,否則圖像解密不成功.