張 斌
(寶雞文理學(xué)院計(jì)算機(jī)學(xué)院,陜西 寶雞 721016)
陳剛等人[1]提出了一種新的自適應(yīng)圖像加密算法,并證明了加密后的圖像可以有效防止已知明文攻擊。與此同時(shí),算法還具有良好的完整性保護(hù)功能,可以用于圖像驗(yàn)證。然而加密算法的最重要指標(biāo)是算法的安全性,即算法應(yīng)該不僅能夠抵抗已知明文攻擊,還應(yīng)該能抵抗其他攻擊方式。周慶等[2]針對(duì)自適應(yīng)圖像加密算法提出了兩種已知明文攻擊。本文針對(duì)自適應(yīng)圖像加密算法面臨的已知明文攻擊威脅提出了一種改進(jìn)算法,改進(jìn)算法在原算法每一輪加密后增加了一個(gè)約瑟夫遍歷的步驟。理論分析和實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法可以有效地提高原算法的安全性。
對(duì)一幅M×N的圖像進(jìn)行約瑟夫遍歷,首先對(duì)行(或列)按照約瑟夫遍歷的順序重新排列各行(或列)像素的位置。其次,再對(duì)各列(或行)按照約瑟夫遍歷的順序重新排列各列(或行)像素的位置[3]。
自適應(yīng)圖像加密算法描述:
①生成密鑰序列。
獲取用戶口令并且把它轉(zhuǎn)化成二進(jìn)制序列的形式S,例如“1010110…”。
②圖像分割
If S[i]=0
分割圖像為上下兩部分;
Else if S[i]=1
分割圖像為左右兩部分;
③互換加密
首先,我們把后部Ir標(biāo)準(zhǔn)化為Rlr,然后用Rlr混亂前部Ih為。然后,我們標(biāo)準(zhǔn)化為,接著使用Ih混亂后部Ir為。最后,我們把和結(jié)合起來構(gòu)成。
④循環(huán)
迭代加密直到密鑰序列S[i]結(jié)束。
改進(jìn)算法描述:
①生成密鑰序列。
②圖像分割
③互換加密
④約瑟夫遍歷
⑤循環(huán)
當(dāng)密鑰為0時(shí),一輪自適應(yīng)換位操作過后,該數(shù)字圖像保持不變。當(dāng)算法運(yùn)行到第四步時(shí),對(duì)行和列按照約瑟夫遍歷的順序重新排列各行和各列像素的位置。由于我們選取的參數(shù)s、k的值不同,圖像不再保持不變。
當(dāng)密鑰為1時(shí),一輪自適應(yīng)換位操作過后,該數(shù)字圖像右下1/4部分的1元素循環(huán)左移一個(gè)位置。當(dāng)算法運(yùn)行到第四步時(shí),對(duì)行和列按照約瑟夫遍歷的順序重新排列各行和各列像素的位置。由于我們選取的參數(shù)s、k的值不同,圖像不再保持不變。右下1/4部分的1元素可以隨機(jī)移動(dòng)到數(shù)字圖像的任意位置。
通過分析我們發(fā)現(xiàn)改進(jìn)算法破壞了第一種選擇明文攻擊所需的條件,密文中的元素不再是有規(guī)律地改變,而是一種貌似雜亂無章的變化。我們可以得出結(jié)論,改進(jìn)的算法方案可以有效地抵御通過第一種選擇明文攻擊來破譯原算法。
同理,采用第二種選擇明文攻擊方式對(duì)改進(jìn)算法攻擊。不管密鑰序列k當(dāng)前的值為0還是為1,一輪自適應(yīng)換位操作過后,右上角的元素2右移一個(gè)位置,左下角的元素0左移一個(gè)位置。當(dāng)算法運(yùn)行到第四步時(shí),對(duì)行和列按照約瑟夫遍歷的順序重新排列各行和各列像素的位置。由于我們選取的參數(shù)s、k的值不同,右上角的元素2和左下角的元素均脫離了原來的移動(dòng)規(guī)律,可以隨機(jī)地移動(dòng)到數(shù)字圖像的任意位置。
通過分析我們發(fā)現(xiàn)改進(jìn)算法同樣破壞了第二種選擇明文攻擊所需的條件,密文中的元素不再是有規(guī)律地改變,而是一種貌似雜亂無章的變化。我們可以得出結(jié)論,改進(jìn)的算法方案可以有效地抵抗通過第二種選擇明文攻擊來破譯自適應(yīng)圖像加密算法。
在明文圖像中,相鄰像素的相關(guān)性通常很高,一個(gè)實(shí)用的圖像加密算法應(yīng)去除相鄰像素的相關(guān)性。我們使用改進(jìn)算法加密128×128像素的lenna.jpg圖像,從明文和密文圖像隨機(jī)地選取500對(duì)相鄰像素位置計(jì)算對(duì)應(yīng)的相關(guān)系數(shù)。實(shí)驗(yàn)證明改進(jìn)算法加密后的圖像相鄰像素位置相關(guān)系數(shù)趨近于0。
圖1 lenna.jpg明文圖像和密文圖像
表1 明文和密文相鄰像素位置相關(guān)系數(shù)
本文提出了基于約瑟夫遍歷的改進(jìn)自適應(yīng)圖像加密算法。這種方法解決了原算法面臨的選擇明文攻擊威脅。同時(shí),實(shí)驗(yàn)表明密文圖像的相鄰像素相關(guān)性幾乎為0。
[1]Chen G,Zhao X Y,Li JL.Self-adaptive algorithm on image encryption[J].Ruan Jian Xue Bao(Journal of Software),2005,16(11):1975-1982.
[2]周慶,胡月,廖曉峰.一種自適應(yīng)的圖像加密算法的分析及改進(jìn)[J].電子學(xué)報(bào),2009(12):2730-2734.
[3]Kirch C,Kamgaing J T.Geometric ergodicity of binary autoregressive models with exogenous variables[M].Technische Universit?t aiserslautern,F(xiàn)achbereich Mathematik,2013.