楊鳳霞
(滄州師范學(xué)院計(jì)算機(jī)系,河北滄州061000)
基于Logistic映射和z-映射的圖像分組加密算法
楊鳳霞
(滄州師范學(xué)院計(jì)算機(jī)系,河北滄州061000)
針對(duì)圖像加密,提出了一種基于Logistic映射和z-映射的圖像分組加密算法,該算法在每一輪迭代中,交替使用矩陣置亂、非線(xiàn)性數(shù)值替換和數(shù)值關(guān)聯(lián)混迭三級(jí)操作。經(jīng)大量實(shí)驗(yàn)驗(yàn)證,該算法能夠有效抵抗明文攻擊、差分攻擊、統(tǒng)計(jì)分析,密鑰空間較大,因而安全性較高,并且加解密速度相當(dāng)快,適用于數(shù)據(jù)存儲(chǔ)。
Logistic映射;混沌序列;圖像分組加密
由于圖像表達(dá)信息直觀、形象生動(dòng),所以圖像的使用越來(lái)越廣泛,它已經(jīng)成為一種主流的信息表達(dá)方式。但是數(shù)字圖像的安全保障問(wèn)題也隨之出現(xiàn),并且已經(jīng)成為一個(gè)備受關(guān)注的問(wèn)題。許多學(xué)者就此開(kāi)展了各種研究工作[1-3],其中圖像加密是保障圖像安全的一個(gè)重要研究分支。目前,圖像加密主要有基于混沌的圖像加密,基于神經(jīng)網(wǎng)絡(luò)的圖像加密以及基于細(xì)胞自動(dòng)機(jī)的圖像加密等。
近年來(lái),一些學(xué)者運(yùn)用混沌理論構(gòu)造了密碼算法,用于圖像分組加密,這類(lèi)算法的核心是交替地使用置亂和擴(kuò)散機(jī)制,置亂是對(duì)圖像的像素坐標(biāo)進(jìn)行變換,擴(kuò)散是對(duì)圖像像素值進(jìn)行混迭[4-8]。林克正[6]等設(shè)計(jì)了一種Arnold映射和分段Logistic混沌映射相結(jié)合的雙混沌系統(tǒng),算法具有較高的抗攻擊能力和初值敏感性。徐剛[7]等基于Logistic映射和Arnold映射設(shè)計(jì)了圖像分組密碼算法,通過(guò)交替迭代混沌系統(tǒng)實(shí)現(xiàn)了像素值的擾亂和位置置亂,迭代次數(shù)敏感地依賴(lài)于明文分組和密鑰,具有可擴(kuò)展性強(qiáng)和密鑰空間大等特點(diǎn)。本文結(jié)合對(duì)前人分組加密算法的分析比較,提出一種基于一維Logistic混沌映射和z-映射的將置亂、替換和混迭三者結(jié)合的數(shù)字圖像分組加密算法。實(shí)驗(yàn)驗(yàn)證,本算法具有較大的密鑰空間,安全性較高,并且加解密速度也相當(dāng)快,因而比較適用于數(shù)據(jù)存儲(chǔ)。
2.1 一維Logistic映射
一維Logistic映射模型簡(jiǎn)單,具有確定性,但有極為復(fù)雜的動(dòng)力學(xué)行為,其方程定義如下:
其中,r為分支參數(shù),當(dāng)0≤r≤3.569945972……時(shí),該動(dòng)力系統(tǒng)因從穩(wěn)定狀態(tài)到分叉而產(chǎn)生倍周期,當(dāng)3.569945972……<r≤4時(shí),該動(dòng)力系統(tǒng)進(jìn)入混沌狀態(tài)。
2.2 z-映射
文獻(xiàn)[9]中給出了一個(gè)與k階Chebyshev映射非常類(lèi)似的一維非線(xiàn)性動(dòng)態(tài)系統(tǒng),其定義式為:
此處z為整型參數(shù),由該式可以看出,此映射與一維Logistic映射具有完全一樣的混沌吸引域和值域,但結(jié)構(gòu)卻完全不同,且其Lyapunov指數(shù)為λ=ln z,當(dāng)z>1時(shí),系統(tǒng)處于混沌狀態(tài)。本文中將式(2)稱(chēng)為“z-映射”。
算法設(shè)計(jì)思想:將整個(gè)圖像分成或填充成若干256×256大小的數(shù)據(jù)塊,通過(guò)多輪迭代完成對(duì)各數(shù)據(jù)塊統(tǒng)計(jì)特性的改變。在每一輪迭代中,交替使用矩陣置亂、非線(xiàn)性數(shù)值替換和數(shù)值關(guān)聯(lián)混迭三級(jí)操作。
3.1 置亂變換
置亂即對(duì)圖像的像素坐標(biāo)進(jìn)行變換。
算法1 用z-映射序列等間隔調(diào)制Logistic混沌序列
Step 1將初值x0帶入式(2),迭代生成序列{yj,j=1,2,……};
Step 2令x0′=|x0+y1|/2,將新的初值x0′帶入式(1),迭代生成相應(yīng)的混沌序列{xi,i=1,2,……};
Step 3每間隔n(n∈N)個(gè)數(shù)據(jù),令x0′=|xj+n+yj|/2(j=1,2,……),不斷代入式(1)迭代生成混沌序列Xn;
Step 4對(duì)Xn進(jìn)行2m連續(xù)等分,并設(shè)定奇偶區(qū)間,用Xn落入?yún)^(qū)間的奇偶性來(lái)判定bn的0、1值,按式(3)生成所需長(zhǎng)度的二進(jìn)制序列:
其中,m>0,為任意的正整數(shù)(如m=1000),Im0, Im1,…,Im2m-1代表Xn上的2m個(gè)連續(xù)的等分區(qū)間。
算法1采用雙混沌映射,所得的混沌二進(jìn)制序列具有非常好的偽隨機(jī)性,所以克服了離散混沌系統(tǒng)中動(dòng)力學(xué)退化、單個(gè)混沌迭代軌跡暴露等問(wèn)題,提高了算法的安全性。
3.2 數(shù)值替換
算法2 排序方式生成替換表
選定Logistic映射進(jìn)行迭代產(chǎn)生混沌序列,舍棄前200個(gè)數(shù)值,然后從后續(xù)數(shù)據(jù)中選出256個(gè)不重復(fù)的數(shù)值進(jìn)行遞增或遞減排序,則該段數(shù)據(jù)的原始位置序號(hào)與排序后序號(hào)構(gòu)成一個(gè)值域?yàn)?~256的整數(shù)替換表。具體替換算法為:
加密過(guò)程:
解密過(guò)程:
其中,I(i)為圖像的第i個(gè)數(shù)據(jù)(已經(jīng)一維化);T為替換表數(shù)組;C(i)為經(jīng)過(guò)替換表替換后的第i個(gè)圖像數(shù)據(jù)。
算法2生成的替換表是一種非線(xiàn)性替換,為了達(dá)到更好的擴(kuò)散目的,還需結(jié)合異或、取模等操作進(jìn)行混迭。
3.3 混迭變換
算法3 耦合混迭變換
為了將前一點(diǎn)的影響耦合到下一點(diǎn)上,利用式(6)、(7)、(8)、(9)對(duì)相鄰兩點(diǎn)進(jìn)行異或操作,如此循環(huán),直到將一點(diǎn)的數(shù)值擴(kuò)散到整個(gè)圖像上。
加密過(guò)程:
解密過(guò)程:
第1點(diǎn)加密:
第1點(diǎn)解密:
其中,I(k)為第k次混迭時(shí)的明文數(shù)據(jù);C(k)為第k次混迭后的密文數(shù)據(jù);M(k)為算法1所得的混沌二進(jìn)制序列。
算法3將混沌映射得到的整數(shù)密鑰序列與圖像相鄰像素按照式(6)到式(9)進(jìn)行異或和取模運(yùn)算,由于算法1得到的M(k)分布比較均勻,所以圖像得到很好的混迭,從而使得選擇明文攻擊失效。
3.4 基于Logistic映射和z-映射的數(shù)字圖像分組加密算法
具體步驟如下:
Step 1 圖像預(yù)處理。對(duì)給定的圖像進(jìn)行分割或填充,使之成為256×256的圖像或圖像塊。
Step 2 產(chǎn)生密鑰。初始密鑰是一個(gè)192比特的序列,分成4組,將這4組比特流分別映射為(0,1)間的浮點(diǎn)數(shù)k1,k2,k3,k4,其中k1為置換變換初始密鑰,k2為替換操作初始密鑰,k3為混迭運(yùn)算初始密鑰,為了使每輪加密的密鑰得到更新,設(shè)k4為新一輪加密k1,k2,k3的微調(diào)增量,計(jì)算公式為:k′i=ki+(j-1)× k4,i=1,2,3,…,j為加密輪數(shù),若k′i≥1,k′i=ki。
Step 3 置亂變換。將k1代入算法1對(duì)明文圖像進(jìn)行位置置亂。
Step 4 數(shù)值替換。將k2代入算法2生成排序替換表,依據(jù)此表對(duì)置亂后的圖像像素值進(jìn)行數(shù)值替換。
Step 5 混迭運(yùn)算。以k3為初始密鑰,按算法3中式(6)和(8)對(duì)置亂替換后的數(shù)據(jù)進(jìn)行混迭加密。
重復(fù)步驟3、4、5,直至完成L輪加密,每輪加密前用微調(diào)增量k4更新密鑰。隨著加密輪數(shù)的增加,算法加密強(qiáng)度越來(lái)越大。
3.5 解密流程
解密流程與加密流程對(duì)稱(chēng),先用式(7)和式(9)進(jìn)行反混迭,再用式(5)進(jìn)行反替換,最后進(jìn)行逆矩陣置亂變換,重復(fù)L輪即得解密圖像。
4.1 仿真實(shí)驗(yàn)
在PIII-1G CPU,256M內(nèi)存和MATLAB 7.0軟件平臺(tái)下對(duì)本算法進(jìn)行仿真實(shí)驗(yàn)。選定192比特?cái)?shù)據(jù)“564328857649247568000100”為初始密鑰,將其映射為4個(gè)浮點(diǎn)數(shù)密鑰k1=0.564328,k2=0.857649,k3=0.247568,k4=0.000100,對(duì)一幅256×256大小的灰度圖像Lena進(jìn)行仿真實(shí)驗(yàn),其加解密效果如圖1所示。由該圖可知,本算法僅加密1輪即可取得良好的加密效果。
4.2 測(cè)試分析
4.2.1 密鑰空間分析
本算法的密鑰空間為2192≈6.2771×1057,同時(shí)生成混沌置亂矩陣和整數(shù)序列時(shí)多次用到Logistic映射、z-映射,控制參數(shù)和加密輪數(shù)均可算入密鑰空間,因而本算法的密鑰空間相當(dāng)龐大,能有效阻止攻擊者通過(guò)窮舉法來(lái)解密圖像。
圖1 基于Logistic映射和z-映射的數(shù)字圖像分組加密算法的加解密圖
密鑰敏感性測(cè)試:
測(cè)試一:對(duì)原圖像用密鑰“56432885764924756 8000100”進(jìn)行5輪加密,然后任意改變1位密鑰,如改變密鑰k4的最低位,即用“564328857649247568000101”再對(duì)原圖像進(jìn)行5輪加密,比較兩幅加密圖像對(duì)應(yīng)的不同像素的個(gè)數(shù),圖2給出了兩幅加密圖像及其差值,測(cè)試結(jié)果表明,兩幅圖像共有252個(gè)相同像素點(diǎn),不同像素點(diǎn)所占比例達(dá)到了99.62%。
圖2 密鑰敏感性測(cè)試一
測(cè)試二:采用密鑰“56432885764924756 8000100”對(duì)原圖進(jìn)行5輪加密,然后任意改變1位密鑰,如改變密鑰k3的最低位,即用“564328857649247568000100”進(jìn)行解密,實(shí)驗(yàn)結(jié)果如圖3所示。
測(cè)試表明,加密圖像對(duì)密鑰非常敏感,可以有效抵抗差分攻擊。
4.2.2 統(tǒng)計(jì)攻擊
加密圖像的統(tǒng)計(jì)直方圖:圖4示出了對(duì)原始圖像進(jìn)行1輪加密過(guò)程中置亂、替換和混迭各個(gè)階段所對(duì)應(yīng)的直方圖。
圖4 1輪加密過(guò)程中各階段對(duì)應(yīng)的直方圖
由圖4看出,加密后圖像的直方圖與原始圖像的直方圖有很大的不同,且非常均勻。說(shuō)明本算法僅加密1輪即可取得較好的效果,隨著加密輪數(shù)的增加,安全性將逐漸加強(qiáng)。
相鄰像素的相關(guān)性:一般原始圖像中相鄰兩像素的相關(guān)性很大,為了阻止統(tǒng)計(jì)攻擊,必須降低相鄰兩像素的相關(guān)性。隨機(jī)選擇5輪加密圖像和原始圖像中各2000對(duì)像素對(duì),10次測(cè)算的平均值,觀測(cè)其水平、垂直和對(duì)角方向的像素相關(guān)性,結(jié)果如表1所列。
從表1可以看出,加密前的圖像像素之間具有較強(qiáng)的相關(guān)性,經(jīng)過(guò)加密后,這種相關(guān)性基本被破壞了。
表1 原始圖像和5輪加密圖像相鄰像素對(duì)之間的相關(guān)性
4.2.3 與DES算法的性能比較
本算法是一種典型的分組加密算法,包含了置亂、替代和混迭運(yùn)算,加密強(qiáng)度與加密輪數(shù)有關(guān)?,F(xiàn)代密碼學(xué)中典型的分組加密算法(如DES、FEAL、LOKI、GOST、Lucifer、Blowfish、Khufu)的核心也是基于替換-置亂運(yùn)算。以DES算法為例,將基于Logistic映射和z-映射的數(shù)字圖像分組加密算法與經(jīng)典加密算法在性能上進(jìn)行簡(jiǎn)單的對(duì)比,結(jié)果如表2所列。
表2 本文算法與DES算法性能的簡(jiǎn)單對(duì)比
本文結(jié)合對(duì)前人分組加密算法的分析比較,提出一種基于一維Logistic混沌映射和z-映射的將置亂、替換和混迭三者結(jié)合的數(shù)字圖像分組加密算法。本算法與其他分組加密算法相比,能夠有效抵抗明文攻擊、差分攻擊、統(tǒng)計(jì)分析,密鑰空間較大,因而安全性較高。數(shù)字化后的混沌系統(tǒng)只涉及整數(shù)運(yùn)算,置亂變換與擴(kuò)散變換的運(yùn)行速度都比較快,因此該算法的加解密速度也相當(dāng)快。但是本算法對(duì)諸如加噪、濾波、壓縮等操作魯棒性較差,因而較適用數(shù)據(jù)的存儲(chǔ)。
參考文獻(xiàn):
[1] Patidar V,Pareek N K,Sud K K.A new substitution-diffusionbased image cipher using chaotic standard and logistic maps[J].Com mun Nonlinear Sci Numer Simul,2009,14(7):3056-3061.
[2] Hu Chunqiang,Deng Shaojiang,Qin Mingfu,et al..Image encryption algorithm based on logistic and standard map[J].Computer Science,2010,37(12):57-59.(in Chinese)胡春強(qiáng),鄧紹江,秦明甫,等.基于Logistic與標(biāo)準(zhǔn)映射的數(shù)字圖像加密算法[J].計(jì)算機(jī)科學(xué),2010,37(12):57-59.
[3] Zhu Zhiyu,Zhang Daihua.Watermarking algorithm based on DWT and chaotic encryption[J].Laser&Infrared,2006,36(5):417-420.(in Chinese)朱志宇,張代華.基于離散小波變換和混沌加密的圖像水印算法[J].激光與紅外,2006,36(5):417-420.
[4] Chen Yanfeng,Li Yifang.Image encryption algorithm based on recipro-cally-disordered diploid chaotic sequences alternated in subsec-tion[J].Journal of South China University of Technology:Natural Science Edition,2010,38(5):27-33.(in Chinese)陳艷峰,李義方.交替分段相互置亂的雙混沌序列圖像加密算法[J].華南理工大學(xué)學(xué)報(bào):自然科學(xué)版,2010,38(5):27-33.
[5] Wang Qingsong,F(xiàn)an Tiesheng.Chaotic image scrambling algorithm based on location and gray transformation[J]. Journal of Chinese Computer Systems,2012,33(6):1284-1287.(in Chinese)王青松,范鐵生.基于位置和灰度變換的混沌圖像置亂算法[J].小型微型計(jì)算機(jī)系統(tǒng),2012,33(6):1284-1287.
[6] Lin Kezheng,Zhong Yuan.Image encryption technology based on dual chaotic maps[J].Computer Engineering and Applications,2010,46(36):195-197.(in Chinese)林克正,鐘媛.雙混沌映射的圖像加密技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(36):195-197.
[7] Xu Gang,Zhang Yadong,Zhang Xinxiang,et al.Digital image encryption algorithm based on an alternating iterative chaotic system[J].Journal of University of Science and Technology Beijing,2012,34(4):464-470.(in Chinese)徐剛,張亞?wèn)|,張新祥,等.基于交替迭代混沌系統(tǒng)的圖像加密算法[J].北京科技大學(xué)學(xué)報(bào),2012,34(4):464-470.
[8] Zhang Hualin.Research on applications of chaos-based encryptions[D].Chongqing:Chongqing University,2006.(in Chinese)張林華.基于混沌的密碼技術(shù)應(yīng)用研究[D].重慶:重慶大學(xué),2006.
[9] Mao Yaobin.Research on chaos based image encryption and watermarking technology[D].Nanjing:Nanjing University of Science and Technology,2003.(in Chinese)茅耀斌.基于混沌的圖像加密與數(shù)字水印技術(shù)研究[D].南京:南京理工大學(xué),2003.
Image grouping encryption algorithm based on Logistic mapping and z-mapping
YANG Feng-xia
(Computer Department of Cangzhou Normal University,Cangzhou 061000,China)
Aiming at the image encryption,a kind of image grouping encryption algorithm based on logistic mapping and z-mapping is put forward.In each iteration of this algorithm,the matrix scrambling,the nonlinear numerical replacement and the numeral value iteration are alternately used.By a large number of experimental verification,this algorithm can effectively resistplaintextattack,differentialattack and statisticalanalysis,and ithas larger key space and higher security,and the speed of encryption and decryption is quite fast,which is suitable for data storage.
Logistic mapping;chaotic sequence;image grouping encryption
TN918
A
10.3969/j.issn.1001-5078.2014.01.023
1001-5078(2014)01-0103-05
楊鳳霞(1971-),女,碩士,講師,研究方向?yàn)閿?shù)據(jù)挖掘。E-mail:szyfx@163.com
2013-05-22;
2013-06-26