李嬋媛
摘 要:針對(duì)數(shù)字圖像加密特點(diǎn),提出一種基于混沌理論的自適應(yīng)參數(shù)圖像加密算法,將明文圖像安全哈希算法(SHA-1)摘要協(xié)同用戶密鑰進(jìn)行計(jì)算,將計(jì)算所得的參數(shù)作為自適應(yīng)參數(shù),輸入混沌系統(tǒng)產(chǎn)生混沌序列對(duì)圖像進(jìn)行置亂和像素?cái)U(kuò)散,從而使不同的加密圖像和加密參數(shù)對(duì)應(yīng)不同的加密過(guò)程。實(shí)驗(yàn)結(jié)果表明,該算法密鑰敏感度高,能夠抵抗選擇明文等攻擊,具有較好加密性能。
關(guān)鍵詞:圖像加密 混沌 置亂 擴(kuò)散 安全哈希算法
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2016)06(c)-0131-03
混沌非線性系統(tǒng)具有對(duì)初始條件的敏感性、序列的高度隨機(jī)性等特征,能夠很好適應(yīng)密碼系統(tǒng)的要求,因此,常用于圖像加密算法[1-3]。該類(lèi)算法利用混沌序列對(duì)圖像像素點(diǎn)進(jìn)行置亂和像素值的擴(kuò)散操作,具有較好的圖像加密效果。在圖像加密過(guò)程中,由于混沌系統(tǒng)初始參數(shù)固定,生成的混沌序列和圖像加密流程都是一致的,所以只要有足夠的樣本數(shù)據(jù),就可以破解加密圖像,從而算法存在安全性隱患。為增強(qiáng)加密算法的安全性,抵抗選擇明文攻擊,利用外部密鑰與明文信息相結(jié)合控制混沌映射參數(shù)的思想[4-6],該文提出一種自適應(yīng)參數(shù)圖像加密算法,圖像加密過(guò)程中混沌初始參數(shù)依據(jù)明文圖像而改變。
1 理論概述
高維混沌系統(tǒng)具有比低維混沌系統(tǒng)更復(fù)雜的動(dòng)力學(xué)行為,該文采用三維Chen混沌系統(tǒng)進(jìn)行加密[7],具體方程如式(1),其中,為系統(tǒng)參數(shù),當(dāng)參數(shù)時(shí),該系統(tǒng)處于混沌狀態(tài)。
在圖像加密過(guò)程中,如果密鑰的產(chǎn)生不依靠明文圖像,這樣容易被己知明文和選擇明文攻擊。因此,該文在圖像加密過(guò)程中混沌系統(tǒng)初始值的產(chǎn)生方式依賴(lài)于明文圖像,不同圖像對(duì)應(yīng)的自適應(yīng)參數(shù)均不同。該文在圖像安全哈希算法(SHA-1)摘要基礎(chǔ)上進(jìn)行映射,并選映射后的數(shù)值作為自適應(yīng)參數(shù)。
明文信息通過(guò)安全哈希算法(SHA-1),轉(zhuǎn)換后產(chǎn)生以十六進(jìn)制表示的哈希字符串,記為:,采用式(2)迭代計(jì)算出,其中表示向下取整,取任意正整數(shù)。式(1)混沌系統(tǒng)初始參數(shù)取值
2 自適應(yīng)加密算法
該文加密過(guò)程共分為兩個(gè)階段:像素位置置亂和像素值擴(kuò)散階段。
2.1 像素位置置亂
步驟1:根據(jù)明文圖像生成的哈希字符串根據(jù)式(2)生成混沌系統(tǒng)初始參數(shù)值,通過(guò)式(1)的混沌系統(tǒng)生成三組混沌序列。由于混沌序列的無(wú)周期性和無(wú)重復(fù)值,所以混沌序列的每個(gè)值在有序序列中均有唯一的位置標(biāo)號(hào)。對(duì)混沌序列分別進(jìn)行排序,生成三個(gè)位置序列分別記為,這些位置序列記錄有序序列中各元素在原序列中的位置。
步驟2:利用位置索引置亂方法對(duì)大小為M×N的圖像PM×N進(jìn)行行和列置亂處理。設(shè)為圖像矩陣第行或第列,對(duì)按照對(duì)應(yīng)位置關(guān)系重新排序,得到序列。根據(jù)式(3)確定相對(duì)應(yīng)的置亂序列,按照從上至下順序進(jìn)行行置亂,從左到右的順序進(jìn)行列置亂,得到置亂圖像。式(3)中,mod求模取余,sum求和,Pi為圖像矩陣第行或者第列。
該文算法置亂序列的選擇需根據(jù)明文圖像來(lái)確定,因此,圖像置亂過(guò)程不僅與混沌序列的初始值相關(guān),而且與明文圖像有很大的相關(guān)性,此算法增加了置亂序列選擇的隨機(jī)性,增強(qiáng)了算法的安全性。
2.2 像素值擴(kuò)散
通過(guò)像素位置置亂并沒(méi)有改變圖像各點(diǎn)的像素值,從而圖像直方圖不會(huì)改變,置亂后的圖像僅破壞了原圖像相鄰像素之間的相關(guān)性。因此,需要進(jìn)一步對(duì)置亂后圖像的像素值進(jìn)行擴(kuò)散,以使密文圖像抵御差分攻擊。像素值的擴(kuò)散采用按水平方向從左上角到右下角進(jìn)行掃描每一個(gè)像素點(diǎn),具體步驟如下。
步驟1:根據(jù)置亂圖像生成的哈希字符串根據(jù)式(2)生成混沌系統(tǒng)初始參數(shù)值,通過(guò)式(1)混沌系統(tǒng)生成三組混沌序列,為增加像素值擴(kuò)散的復(fù)雜性,將混沌序列按照組成長(zhǎng)度為M×N的混沌序列D,在進(jìn)行像素值擴(kuò)散操作時(shí),使用式(4)對(duì)序列D進(jìn)行處理。式(4)中abs表示取絕對(duì)值,表示向下取整。
步驟2:通過(guò)式(5)對(duì)置亂圖像進(jìn)行像素值擴(kuò)散操作,得到密文圖像。其中為按位異或操作;為一個(gè)固定的灰度值。
綜上步驟可得到密文圖像。圖像的解密過(guò)程是其加密過(guò)程的逆過(guò)程,此處不再做過(guò)多的詳解。
3 實(shí)驗(yàn)及結(jié)果分析
為了驗(yàn)證該文加密算法的有效性,采用Matlab環(huán)境編程實(shí)現(xiàn)算法測(cè)試。用標(biāo)準(zhǔn)大小為512×512的Lena灰度圖像作為明文圖像,混沌系統(tǒng)初始參數(shù)己在算法步驟中給出,原始圖像及密文圖像如圖1的(a)和(c)所示。從圖1的(d)所示密文圖像直方圖可以看出,密文圖像直方圖呈均勻分布,提高了密文圖像抵抗統(tǒng)計(jì)攻擊的能力。接下來(lái)分析圖像相鄰像素對(duì)的平面分布及密鑰敏感性等。
3.1 相鄰像素相關(guān)性
為進(jìn)一步驗(yàn)證加密效果,檢驗(yàn)明文圖像和密文圖像相鄰像素的相關(guān)性,分別從明文圖像和密文圖像中隨機(jī)選取2 000對(duì)水平、垂直和對(duì)角三個(gè)方向上相鄰像素對(duì),計(jì)算其相關(guān)系數(shù)[5]。表1列出了明文圖像與密文圖像在三個(gè)方向上相鄰像素的相關(guān)系數(shù),并給出了文獻(xiàn)[8,9]算法與該文算法對(duì)圖像加密后的相關(guān)系數(shù)比較。從表1可知,明文圖像在三個(gè)方向上相關(guān)性均較強(qiáng),相鄰像素點(diǎn)分布集中,相關(guān)系數(shù)均接近1;而密文圖像在三個(gè)方向上的相鄰像素相關(guān)性均較弱,相鄰像素值都均勻地分布在了整個(gè)像素空間,相關(guān)系數(shù)均趨近于0,表明明文圖像的統(tǒng)計(jì)特征已被隨機(jī)的擴(kuò)散到密文圖像中。
此外,從表1可知,該文算法加密后,其密文圖像的相關(guān)性統(tǒng)計(jì)性能達(dá)到了文獻(xiàn)[8,9]所示算法的加密性能,并在一定程度上優(yōu)于文獻(xiàn)[8]和文獻(xiàn)[9]所示算法的加密性能。
3.2 加密圖像的信息熵
灰度圖像信息熵的計(jì)算公式,其中:為灰度值的出現(xiàn)概率。對(duì)于加密圖像而言,其理想圖像信息熵為8。該文算法得到Lena密文圖像的信息熵為7.999 3,信息熵趨近于8,說(shuō)明具有較好的加密效果。
3.3 密鑰敏感度分析
加密算法應(yīng)要求密鑰具有足夠的敏感性,即使密鑰有微小變化,也無(wú)法正確解密圖像。在此算法中,使用三維混沌序列,有初始參數(shù)以及自適應(yīng)參數(shù),圖2是對(duì)分別對(duì)密鑰進(jìn)行微小修改,保持其他參數(shù)不變,進(jìn)行解密的實(shí)驗(yàn)結(jié)果。因?yàn)楫?dāng)一個(gè)密鑰發(fā)生微小變化時(shí),都無(wú)法對(duì)密文圖像正確進(jìn)行解密,而且沒(méi)有顯示任何明文信息,所以該文算法對(duì)密鑰極度敏感。
4 結(jié)語(yǔ)
該文給出了基于混沌系統(tǒng)地適應(yīng)參數(shù)圖像加密算法,所提出的圖像加密算法將原圖像SHA-1值和三維混沌系統(tǒng)初始參數(shù)聯(lián)合作為密鑰,自適應(yīng)參數(shù)依據(jù)圖像哈希字符串計(jì)算獲取,所以不同圖像的加密過(guò)程中產(chǎn)生的混沌序列不相同,圖像置亂和擴(kuò)散過(guò)程中與明文圖像有很大的相關(guān)性。實(shí)驗(yàn)結(jié)果表明,密文圖像直方圖呈均勻分布,相鄰像素相關(guān)性低,信息熵接近理論值8,密鑰和明文圖像敏感性均較強(qiáng),在抵御統(tǒng)計(jì)攻擊,差分攻擊等能達(dá)到很好效果,具有較好的加密性能。
參考文獻(xiàn)
[1] Li C Q,Li S J,Chen O R,et al.Cryptanalysis of an image encryption scheme based on a compound chaotic sequence[J].Image and Vision Computing,2009,27(8):1035-1039.
[2] 張曉強(qiáng),工蒙蒙,朱貴良.圖像加密算法研究新進(jìn)展[J].計(jì)算機(jī)工程與科學(xué),2012,34(5):1-6.
[3] Li C Q,Zhang L Y,Ou R,et al.Breaking a novel colour image encryption algorithm based on chaos[J].Nonlinear Dynamics,2012,70(4):2383-2388.
[4] 寇麗娟,祝英俊,蔣聯(lián)源,等.基于信息分存的整數(shù)小波大容量數(shù)據(jù)隱藏方法[J].光電子·激光,2009(9):1203-1207.
[5] 趙鋒,吳成茂.自編碼和超混沌映射相結(jié)合的圖像加密算法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2016,28(1):119-128.
[6] 衛(wèi)娟,戴冬.基于雙重異或操作運(yùn)算的圖像加密機(jī)制[J].計(jì)算機(jī)應(yīng)用與軟件,2015,6(32):300-302.
[7] 呂金虎,陸君安,陳士華.混沌時(shí)間序列分析及其應(yīng)用[M].武漢:武漢人學(xué)出版社,2002.
[8] Teng L,Wang X.A bit-level image encryption algorithm based on spationtemporal chaotic system and self-adaptive[J].Optics Communications,2012,285(20):4048-4054.
[9] Wang X,Luan D.A novel image encryption algorithm using chaos and reversible cellular automata[J].Communications in Nonlinear Science and Numerical Simulation,2013,18(11):3075-3085.