(陜西交通職業(yè)技術(shù)學(xué)院 軌道交通學(xué)院,陜西 西安 710018)
隨著世界文化交流范圍的不斷擴(kuò)大,因特網(wǎng)已成為當(dāng)前人們實(shí)現(xiàn)異地溝通的必備介質(zhì),其中數(shù)字圖像作為一種較為直觀的交流載體,給人們的生活帶來(lái)極大便利[1]。然而,圖像因其本身含有豐富的內(nèi)容信息,在當(dāng)前未知授權(quán)的網(wǎng)絡(luò)中傳輸時(shí),易遭受到外部攻擊,使其信息內(nèi)容被竊取,給人們帶來(lái)了巨大的經(jīng)濟(jì)損失[2]。因此,如何確保圖像信息安全傳輸已成為當(dāng)前的研究熱點(diǎn)[3]。傳統(tǒng)的數(shù)據(jù)加密機(jī)制,如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)、國(guó)際數(shù)據(jù)加密算法(IDEA)以及公鑰加密算法(RSA)等,忽略了圖像的大數(shù)據(jù)容量與高冗余度等特點(diǎn),難以適用于數(shù)字圖像的安全加密[4]。為了防止圖像在網(wǎng)絡(luò)中傳輸時(shí)受到外來(lái)攻擊,學(xué)者們提出了圖像加密技術(shù)。王帥等[5]為了提高加密技術(shù)的抗明文攻擊能力,提出了多混沌系統(tǒng)圖像加密方法。構(gòu)造置亂-擴(kuò)散的加密機(jī)構(gòu),并利用Logistic映射及Kent映射來(lái)產(chǎn)生控制參數(shù),從而給出了與明文相關(guān)的多輪加密策略。仿真數(shù)據(jù)表明,該算法具有較高的安全性與抵御明文攻擊的能力。徐亞等[6]為了提高加密算法的安全性,設(shè)計(jì)了基于Arnold映射的分塊雙層自適應(yīng)擴(kuò)散圖像加密算法。首先,利用Logistic映射、Tent映射和Sine映射組合成3種新一維混沌映射;然后,通過(guò)迭代組合混沌映射來(lái)獲取隨機(jī)序列,并對(duì)圖像完成混淆;最后,利用正反聯(lián)合映射將明文圖像矩陣中隨機(jī)位置像素值存入初始加密矩陣隨機(jī)塊中的隨機(jī)位置,完成像素?cái)U(kuò)散。實(shí)驗(yàn)結(jié)果驗(yàn)證了該算法的優(yōu)越性。Zhang等[7]為了確保圖像在網(wǎng)絡(luò)中的傳輸安全性,提出了基于雙向擴(kuò)散的數(shù)字圖像加密技術(shù)。通過(guò)迭代高維混沌所輸出的隨機(jī)序列來(lái)置亂輸入明文,從而改變明文像素位置;構(gòu)造了雙向擴(kuò)散機(jī)制,對(duì)置亂圖像的像素進(jìn)行正反方向擴(kuò)散來(lái)改變像素灰度值。實(shí)驗(yàn)結(jié)果驗(yàn)證了該算法的優(yōu)越性。
基于混沌圖像的加密技術(shù)是當(dāng)前較為主流的圖像安全保密技術(shù),其主要利用混沌系統(tǒng)的混沌行為進(jìn)行加密,取得了較好地應(yīng)用效果。然而,此類加密技術(shù)存在明顯的混沌周期性,并且只能加密方形明文,從而降低了算法的安全性和通用性。
為了削弱混沌周期性及提高算法適用性,本文提出了基于像素交叉循環(huán)移位與自控混沌映射的圖像加密算法。在置亂階段,通過(guò)明文像素位置來(lái)設(shè)計(jì)像素交叉循環(huán)移位機(jī)制,并對(duì)明文像素進(jìn)行高度置亂,使該算法可加密方形與非方形明文;在擴(kuò)散階段,利用Logistic映射控制Tent映射的混沌軌跡,有效降低混沌周期性。同時(shí),為了提高算法的抗差分攻擊能力,構(gòu)造了深度擴(kuò)散機(jī)制,并最大化密文的統(tǒng)一平均變化強(qiáng)度(UACI)與像素改變率(NPCR),從而提高算法的抗攻擊能力。最后,利用實(shí)驗(yàn)驗(yàn)證了本文所提加密技術(shù)的安全性與抗攻擊能力。
為了改善算法的安全性,本文提出了基于像素交叉循環(huán)移位與自控混沌映射的圖像加密算法(見(jiàn)圖1)。該算法主要涵蓋了以下幾個(gè)方面:①將基于像素交叉循環(huán)移位的圖像置亂,從而提高置亂度與通用性;②將基于像素?cái)U(kuò)散機(jī)制的圖像加密,從而改變像素值;③將基于深度擴(kuò)散的密文增強(qiáng),從而改善密文的統(tǒng)一平均變化強(qiáng)度和像素改變率。
圖1 雙圖像加密過(guò)程Fig.1 Double image encryption process
為了提高當(dāng)前圖像加密技術(shù)的使用范圍,使其不局限于方形圖像,本文根據(jù)像素位置特點(diǎn),利用均布Logistic映射的輸出密鑰,設(shè)計(jì)了像素交叉循環(huán)移位方法來(lái)高度打亂像素位置。若明文大小為MN,利用Zigzag掃描機(jī)制[8]將明文像素變成隨機(jī)序列P={p(0),p(1),…,p(MN-1)}。H為任意選取的一個(gè)像素位置,經(jīng)過(guò)像素交叉循環(huán)移位后,H變?yōu)橹脕y圖像中對(duì)應(yīng)像素的新位置H′,如下所示:
H′=H+(Sp(H)+p(H-1))mod(MN-H)
(1)
式中:p(H-1)為前一個(gè)置亂像素灰度值;Sp(H)為均布Logistic映射的迭代輸出密鑰;mod為求余操作。均布Logistic映射的迭代輸出密鑰模型[9]如下所示:
(2)
式中:Xk為第k次的迭代輸出值;λ為控制參數(shù),若λ∈[-4,4],則式(2)具有理想的混沌窗口。
利用式(1)來(lái)設(shè)計(jì)像素交叉循環(huán)移位模型,如下所示:
g(H)=p(H′)=
p(H+(Sp(H)+p(H-1))mod(MN-H))
(3)
p(H′)=p(H)
(4)
式中:g為交叉循環(huán)移位后像素位置。
為了詳細(xì)解釋像素交叉循環(huán)移位模型,在初始圖像中選擇9個(gè)像素,如圖2和圖3所示。若像素A及其前面的像素均已置亂,則剩下的像素B、C、D為交叉移位變換對(duì)象。圖中的像素E、F、G是根據(jù)式(1)和式(3)對(duì)B、C、D交叉來(lái)實(shí)現(xiàn)的。如圖3所示,圖中的像素C被交叉循環(huán)移位為W。對(duì)于圖3中剩余的像素,根據(jù)所提出的像素交叉循環(huán)移位模型進(jìn)行變換,徹底改變其像素坐標(biāo)。
2.對(duì)文本描述較少的部分進(jìn)行擴(kuò)寫。上文中已經(jīng)提到,繪本主要是由圖畫組成的,文字內(nèi)容相對(duì)較少,因此,教師可以在繪本中挑選一部分描述景色的圖畫內(nèi)容,要求學(xué)生通過(guò)自己的語(yǔ)言對(duì)這些景象進(jìn)行描述,并寫出自己看到這些景象時(shí)的內(nèi)心感受。通過(guò)這種模式的訓(xùn)練,教師將能在寫話訓(xùn)練中有針對(duì)性的培養(yǎng)學(xué)生描寫某一具體場(chǎng)景的能力,并將這一能力應(yīng)用到實(shí)際寫作過(guò)程之中。《貪吃的小蛇》、《晚安,大猩猩》等繪本都預(yù)留了很多的想象空間,教師則可以結(jié)合這一類繪本來(lái)完成擴(kuò)寫訓(xùn)練。
圖2 像素交叉循環(huán)移位機(jī)制Fig.2 Pixel cross cyclic shift mechanism
圖3 像素G的像素交叉循環(huán)移位結(jié)果Fig.3 Cross cyclic shift results of pixel G
為了體現(xiàn)所提像素交叉循環(huán)移位機(jī)制的優(yōu)勢(shì),本文以方形明文(見(jiàn)圖4(a))與非方形明文(見(jiàn)圖4(c))為對(duì)象,利用式(1)對(duì)其進(jìn)行置亂,結(jié)果如圖4(b)和圖4(d)所示。根據(jù)混淆結(jié)果可知,所提像素交叉循環(huán)移位機(jī)制具有很好的通用性,對(duì)方形、非方形圖像均可加密,具有較高的置亂度,并且明文信息均被隱秘,沒(méi)有任何信息外泄。
由于置亂操作只可改變像素在空間的位置而無(wú)法混淆其像素值[3],因此結(jié)合式(2)與Tent映射[10],設(shè)計(jì)了非周期性的像素?cái)U(kuò)散函數(shù)來(lái)混淆像素灰度值。Tent映射模型[10]如下所示:
(5)
式中:T(Xi)為Tent映射的迭代值;Xi為式(2)的輸出值,也是式(5)的觸發(fā)值;γ∈[0,2]為混沌狀態(tài)的控制變量。
圖4 像素交叉循環(huán)移位機(jī)制的置亂結(jié)果Fig.4 Scrambling results of pixel cross cyclic shift mechanism
為了避免單一依賴式(5)的輸出序列對(duì)置亂密文的像素進(jìn)行擴(kuò)散而引起的混沌周期性,本文聯(lián)合式(2)輸出的Xi與式(5)來(lái)控制Tent映射的輸出隨機(jī)序列T,T={T1,T2,…,TMN}。Tent映射的原則如下所示:
(1)當(dāng)式(2)的迭代值Xi≥0.5時(shí),則式(5)的狀態(tài)值由T(Xi)=γ(1-Xi)控制。
(2)當(dāng)式(2)的迭代值Xi<0.5時(shí),則式(5)的狀態(tài)值由T(Xi)=γXi控制。
根據(jù)上述原則可知,Tent映射的最終輸出序列由均布Logistic映射控制,其迭代狀態(tài)由其本身與Logistic映射共同改變,從而有效降低了周期性。同時(shí),為了消除序列T={T1,T2,…,TMN}的局部單調(diào)性,本文設(shè)計(jì)了序列單調(diào)抑制模型來(lái)增強(qiáng)其隨機(jī)性,如下所示:
Ti′=round((Ti+0.5)×104)mod 256
(6)
隨后,根據(jù)式(6)處理后的隨機(jī)序列,基于非線性原理[11]構(gòu)造了像素?cái)U(kuò)散函數(shù),如下所示:
(7)
式中:yi為擴(kuò)散后的密文像素值,y0設(shè)為100;⊕為異或操作。
根據(jù)式(7)對(duì)圖4(a)和圖4(d)進(jìn)行連續(xù)像素混淆,輸出結(jié)果如圖5所示。根據(jù)圖4的結(jié)果可知,置亂圖像經(jīng)式(7)擴(kuò)散后,圖像信息的隱秘程度被提高,所輸出的密文狀態(tài)與置亂結(jié)果截然不同,來(lái)自網(wǎng)絡(luò)中的黑客很難從圖5中獲取相關(guān)信息。
圖5 本文算法的擴(kuò)散性能測(cè)試Fig.5 Diffusion performance test of the proposed algorithm
為了改善算法的抗攻擊性能,本文通過(guò)引入重力模型[12]來(lái)設(shè)計(jì)密文增強(qiáng)機(jī)制,從而擴(kuò)大密文的像素改變率與統(tǒng)一平均變化強(qiáng)度值,如下所示:
(8)
(9)
(10)
為了體現(xiàn)密文增強(qiáng)機(jī)制的合理性與優(yōu)勢(shì),本文根據(jù)式(8)對(duì)圖5(a)進(jìn)行處理(見(jiàn)圖6),并采用像素改變率與統(tǒng)一平均變化強(qiáng)度[13]對(duì)增強(qiáng)前后的密文抗差分攻擊能力進(jìn)行量化,結(jié)果如表1所示。根據(jù)圖5可知,增強(qiáng)后的密文與初始密文和置亂圖像之間存在差異,從而增強(qiáng)了所提算法的安全性。根據(jù)表1數(shù)據(jù)可知,增強(qiáng)密文的像素改變率與統(tǒng)一平均變化強(qiáng)度值均要高于未增強(qiáng)密文,這表明圖像信息經(jīng)增強(qiáng)擴(kuò)散機(jī)制混淆后,其抗攻擊能力進(jìn)一步提高。
表1 密文增強(qiáng)前后圖像像素改變率與統(tǒng)一平均變化強(qiáng)度
圖6 增強(qiáng)密文Fig.6 Enhanced ciphertext
為了測(cè)試所提算法的合理性與優(yōu)越性,利用Matlab軟件對(duì)其加密安全性進(jìn)行了測(cè)試,同時(shí)將當(dāng)前混沌加密技術(shù)較好的算法視為對(duì)照組[6,14]。算法的部分關(guān)鍵變量設(shè)置為:λ=3,X0=0.5,γ=1.5,x=150,y=300,z=150,G=3×108。
因文獻(xiàn)[6,14]中提出的均是混沌加密技術(shù),此類算法只能對(duì)方形明文進(jìn)行加密,為了實(shí)驗(yàn)的可比性,以方形圖像圖7(a)為樣本,利用本文算法與文獻(xiàn)[6,14]中提出的算法對(duì)其加密,結(jié)果如圖7(b)~(d)所示。從算法的輸出密文來(lái)看,本文算法與文獻(xiàn)[6,14]中提出的算法都具有較好的安全性,圖像信息被有效隱藏起來(lái),無(wú)信息泄露。為了區(qū)別這3種算法輸出密文安全性的差異,引用信息熵[4]進(jìn)行算法評(píng)估,測(cè)試數(shù)據(jù)如表2所示。由表2可見(jiàn),初始明文經(jīng)本文算法擴(kuò)散后,輸出密文的信息熵值最大,高于文獻(xiàn)[6,14]。本文算法通過(guò)像素交叉循環(huán)移位技術(shù),提高了圖像的置亂程度,并聯(lián)合Logistic映射與Tent映射設(shè)計(jì)了像素?cái)U(kuò)散機(jī)制,由2個(gè)低維映射共同交叉確定擴(kuò)散過(guò)程,有效降低了單一混沌系統(tǒng)的周期性。隨后設(shè)計(jì)了相應(yīng)的密文增強(qiáng)機(jī)制,進(jìn)一步提高算法的像素改變率與統(tǒng)一平均變化強(qiáng)度。文獻(xiàn)[6,14]中提出的算法均是基于單一混沌系統(tǒng)的加密算法,在多輪迭代過(guò)程中算法周期性給攻擊者提供了線索,從而降低了算法的安全性。
圖7 3種算法的加密效果Fig.7 Encryption effect of three algorithms
算法信息熵本文7.9605文獻(xiàn)[6]7.9129文獻(xiàn)[14]7.8976
理想的加密算法應(yīng)能有效抗擊外界攻擊,尤其是抗差分攻擊性能[13],因此本文利用像素改變率與統(tǒng)一平均變化強(qiáng)度來(lái)衡量3種算法的抗差分攻擊能力。3種算法的像素改變率與統(tǒng)一平均變化強(qiáng)度曲線如圖8所示。由測(cè)試結(jié)果可知,本文算法因設(shè)計(jì)了密文增強(qiáng)機(jī)制,在擴(kuò)散結(jié)果的基礎(chǔ)上進(jìn)一步增大了密文像素改變率與統(tǒng)一平均變化強(qiáng)度,所以顯著提高了密文的抗差分攻擊能力。文獻(xiàn)[6,14]中2種算法利用單一的混沌技術(shù)實(shí)現(xiàn)像素?cái)U(kuò)散,降低了混沌周期性,導(dǎo)致抗差分攻擊能力不高。
圖8 3種算法的抗差分攻擊性能測(cè)試Fig.8 Performance test against difference attack for three algorithms
為了消除混沌加密技術(shù)的周期性以及提高算法的保密性,本文提出了基于像素交叉循環(huán)移位與自控混沌映射的圖像加密算法。首先,基于均布Logistic映射獲取密鑰,并設(shè)計(jì)像素交叉循環(huán)移位機(jī)制,高度置亂輸入圖像的像素空間位置;結(jié)合均布Logistic映射與Tent映射來(lái)定義像素?cái)U(kuò)散機(jī)制,消除混沌周期性;基于重力模型構(gòu)造深度擴(kuò)散機(jī)制,最大化密文的像素改變率與統(tǒng)一平均變化強(qiáng)度,從而提高算法的抗攻擊能力。實(shí)驗(yàn)結(jié)果驗(yàn)證了該算法的優(yōu)越性。
[1] MANDAL M K,KAR M,SINGH S K.Symmetric key image encryption using chaotic Rossler system[J].Security & Communication Networks,2014,7(11):2145-2152.
[2] KHANZADI H,ESHGHI M. Image encryption using random bit sequence based on chaotic maps [J].Arabian Journal for Science and Engineering,2014,39(2):1039-1047.
[3] WANG Xingyuan,ZHAO Yuanyuan,ZHANG Huili. A novel color image encryption scheme using alternate chaotic mapping structure[J].Optics and Lasers in Engineering,2015,82(7):79-86.
[4] HUA Tianxiang,CHEN Jiamin,PEI Dongju.Quantum image encryption algorithm based on image correlation decomposition [J].International Journal of Theoretical Physics,2015,54(2):526-537.
[5] 王帥,孫偉,郭一楠.一種多混沌快速圖像加密算法的設(shè)計(jì)與分析[J].計(jì)算機(jī)應(yīng)用研究,2015,12(2):512-515.
WANG Shuai,SUN Wei,GUO Yinan.Design and analysis of fast image encryption algorithm based on multiple chaotic systems[J].Computer Application Research,2015,12(2):512-515.
[6] 徐亞,張紹武.基于Arnold映射的分塊雙層自適應(yīng)擴(kuò)散圖像加密算法[J].中國(guó)圖象圖形學(xué)報(bào),2015,20(6):740-748.
XU Ya,ZHANG Shaowu. A block double layer adaptive diffusion image encryption algorithm based on Arnold mapping[J].Chinese Journal of Image Graphics,2015,20(6):740-748.
[7] ZHANG Xuanping,ZHAO Zhongmeng.Chaos-based image encryption with total shuffling and bidirectional diffusion [J].Nonlinear Dynamics,2013,75(1/2):319-330.
[8] 李玉珍,金鑫,趙耿.基于Zigzag變換與混沌的彩色圖像加密方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2016,37(8):2002-2006.
LI Yuzhen,JIN Xin,ZHAO Geng.Color image encryption scheme based on Zigzag transform and chaos[J].Computer Engineering and Design,2016,37(8):2002-2006.
[9] 馬建明,高正平,任興東.基于混沌切換系統(tǒng)與余弦數(shù)量變換的圖像加密[J].計(jì)算機(jī)工程與設(shè)計(jì),2016,37(9):2490-2496.
MA Jianming,GAO Zhengping,REN Xingdong. Image encryption based on chaotic switching system and cosine number transformation[J].Computer Engineering and Design,2016,37(9):2490-2496.
[10] 王保平,李文康,吳成茂.改進(jìn)分段Skew Tent映射及其在擴(kuò)頻通信中應(yīng)用[J].紅外與激光工程,2013,42(10):2772-2777.
WANG Baoping,LI Wenkang,WU Chengmao. Improved piecewise Skew Tent mapping and its application in spread spectrum communication[J].Infrared and Laser Engineering,2013,42(10):2772-2777.
[11] 張文全,張燁,周南潤(rùn).基于隨機(jī)分?jǐn)?shù)梅林變換的非線性圖像加密算法[J].計(jì)算機(jī)應(yīng)用,2013,33(10):2865-2867.
ZHANG Wenquan,ZHANG Ye,ZHOU Nanrun. Nonlinear image encryption algorithm based on random fractional Merlin transform[J].Computer Application,2013,33(10):2865-2867.
[12] 郭靜博,孫瓊瓊.改進(jìn)的引力模型耦合明文像素相關(guān)交叉機(jī)制的圖像加密算法[J].包裝工程,2016,26(13):165-172.
GUO Jingbo,SUN Qiongqiong.An improved image encryption algorithm based on the cross mechanism of plaintext pixel correlation[J].Packaging Engineering,2016,26(13):165-172.
[13] MAJID K.A novel image encryption using Fourier series[J].Journal of Vibration and Control,2015,21(16):3450-3455.
[14] LI Chengqing,XIE Tao,LIU Qi. Cryptanalyzing image encryption using chaotic logistic map[J].Nonlinear Dynamics,2014,78(2):1545-1551.