伊皮提哈爾·塔依爾,阿布都熱合曼·卡的爾
(1.新疆財(cái)經(jīng)大學(xué)統(tǒng)計(jì)與數(shù)據(jù)科學(xué)學(xué)院,烏魯木齊 830012;2.新疆財(cái)經(jīng)大學(xué)信息與管理學(xué)院,烏魯木齊 830012)
近年來,隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)交互過程中的信息安全問題備受關(guān)注,因此出現(xiàn)了大量了信息保密方案,又因?yàn)榛煦缦到y(tǒng)具有初值強(qiáng)敏感性、強(qiáng)隨機(jī)性等奇特的特性,因此基于混沌理論的保密通信方案開始涌現(xiàn)。例如,薛亞娣等人[1]利用Logistic混沌系統(tǒng)與Henon混沌系統(tǒng)設(shè)計(jì)了一種基于組合混沌系統(tǒng)的圖像加密算法,周一聰?shù)热薣2-4]設(shè)計(jì)了基于新一維混沌系統(tǒng)的圖像加密方案,Hua等人[5]設(shè)計(jì)了一維混沌映射的通用框架,使三種常用的一維映射夠兩兩結(jié)合,形成具有更好混沌行為的新映射。李頔等人[6]根據(jù)LM-PRNG直接生成隨機(jī)數(shù)數(shù)據(jù)分布的特性,設(shè)計(jì)了一種基于直方圖優(yōu)化法的改進(jìn)Logistic偽隨機(jī)數(shù)發(fā)生器(ILMPRNG),Shen等人[7-9]提出基于超混沌系統(tǒng)的加密算法,Xing等人[10]提出了一種基于AES密鑰生成調(diào)度和混沌映射的灰度圖像加密方案,Liu等人[11]提出了一種基于多種常用混沌映射的圖像塊加密算法,Reddy等人[12]提出了一種利用混沌映射將患者信息嵌入醫(yī)學(xué)x射線圖像的方法,保護(hù)了患者信息的機(jī)密性,并增加了對(duì)醫(yī)學(xué)圖像的保護(hù),Liang等人[13]提出了一種基于Chebyshev混沌神經(jīng)網(wǎng)絡(luò)的視頻水印算法。
本文在上述研究的基礎(chǔ)上,提出了一種新的基于雙混沌映射的圖像分塊加密方案,其方法是使用兩種混沌映射構(gòu)造偽隨機(jī)序列發(fā)生器,生成二維隨機(jī)密鑰流,通過圖像分塊的方式,采用“擴(kuò)散-混淆”兩輪加密方式進(jìn)行加密,得到最終的密文圖像。實(shí)驗(yàn)結(jié)果表明了該算法可以抵抗差分攻擊、窮舉攻擊等各攻擊類型,提高了圖像信息的安全性。
Chebyshev映射是簡單且有效的映射,Chebyshev映射的非線性差分方程如式(1)所示:
其中,w是Chebyshev映射的度,它相應(yīng)的不變密度如式(2)所示:
Chebyshev映射具備優(yōu)良的非線性動(dòng)力學(xué)特性,當(dāng)w∈[2,6]時(shí),該映射的Lyapunov指數(shù)為正數(shù),說明該映射是混沌的。Chebyshev映射的分岔圖與Lyapunov指數(shù)譜如圖1所示,當(dāng)w∈[2,6]時(shí),映射處于混沌狀態(tài)。
圖1 Chebyshev映射的分岔圖與Lyapunov指數(shù)譜
Henon迭代映射如式(3)所示:
其中,a∈[1.1,1.4],b=0.3時(shí),該映射進(jìn)入混沌狀態(tài)[2],Henon映射存在單值確定的逆,其逆映射如式(4)所示:
該映射的分岔圖與混沌吸引子圖如圖2所示。
圖2 Henon映射分岔圖與混沌吸引子圖
由此可見Henon映射分岔圖呈現(xiàn)倍周期分岔,表明Henon映射存在混沌狀態(tài)。為滿足圖像加密的條件,將Henon映射進(jìn)行取模改造,改造后的Henon映射如式(5)所示。
本算法主要分為兩步,首先利用切比雪夫映射構(gòu)造偽隨機(jī)序列發(fā)器,生成密鑰流,利用密鑰流對(duì)明文圖像P進(jìn)行像素位置打亂的置亂加密操作得到密文圖像C1,其次,對(duì)圖像進(jìn)行預(yù)處理,將圖像分為上部與下部兩個(gè)分塊,然后利用厄農(nóng)混沌映射對(duì)圖像塊分別進(jìn)行擴(kuò)散處理,得到最終密文圖像C。
基于雙混沌映射的數(shù)字圖像分塊加密方案的算法流程圖如3所示,具體步驟如下:
Step 1輸入原始圖像P,該圖像的大小為M×N,本文中M和N均為256,該明文圖像為灰度圖像。
Step 2利用Chebyshev映射構(gòu)造偽隨機(jī)序列發(fā)生器 ,參 數(shù) 設(shè) 置 為u1=4,x0=0.100001,u2=2,y0=0.300001,通過M×N次的迭代得到二維隨機(jī)矩陣,生成密鑰流 Kc,Kc如式(6)所示:
Step 3將二維偽隨機(jī)序列矩陣作為密鑰流,通過明文圖像像素與Kc(m,n)的映射關(guān)系進(jìn)行置亂,將明文圖像像素作為元素單位,對(duì)行內(nèi)每一個(gè)元素按照Kc的排列方式進(jìn)行排列,從而實(shí)現(xiàn)對(duì)原有圖像像素位置的打亂,實(shí)現(xiàn)加密第一步,得到密文圖像C1。
Step 4對(duì)密文圖像C1進(jìn)行圖像預(yù)處理,將圖像分為上、下部兩個(gè)子塊,得到兩個(gè)圖像塊,分為別C1u和C1d,圖像大小如式(7)所示。
Step 5利用改造后的Henon映射作為擴(kuò)散加密函數(shù),其中參數(shù)設(shè)置為 a=5,b=0.8,d=3,x0=1,y0=3,構(gòu)造序列發(fā)生器,產(chǎn)生兩個(gè)長度為M×N/2的混沌序列,記為X(i),Y(j)。
Step 6利用 X(i),和 Y(j)對(duì)圖像上部與下部兩塊分別進(jìn)行加密,為了增強(qiáng)比特分布的隨機(jī)特性,第二輪加密使用異或擴(kuò)散運(yùn)算,如式(8)所示,得到密文圖像C的上部Cu及下部Cd。
Step 7拼裝Cu與Cd,得到最終的密文圖像C,如式(9)所示。
圖3加密算法流程圖
解密算法為加密算法的逆過程,再此不再詳細(xì)說明,基于雙混沌映射的圖像分塊解密方案的算法流程圖如圖4所示,具體步驟如下:
Step 1對(duì)密文圖像C進(jìn)行分塊處理,分為上部和下部兩個(gè)子塊,分別為Cu和Cd。
Step 2將Henon映射對(duì)作為解密函數(shù),利用混沌序列對(duì)上部和下部兩個(gè)子塊進(jìn)行異或擴(kuò)散操作解密,得到上部和下部兩塊解密圖像,即C1u,C1d,隨后,拼裝C1u和 C1d,得到密文圖像 C1。
Step 3利用Chebyshev映射生成二維隨機(jī)序列矩陣作為解密函數(shù),對(duì)加密圖像C1進(jìn)行像素位置置亂的混淆解密操作,得到明文圖像P。
圖4解密算法流程圖
采用電腦配置為Intel Core i5 CPU 2.40GHz,Windows 7,利用MATLAB 2017b實(shí)現(xiàn)加密算法程序設(shè)計(jì)。
選擇大小為512×512的明文灰度圖像P,如圖5(a)所示。通過本文提出組合映射算法進(jìn)行加密,得到第一輪Chebyshev混淆加密圖像C1,效果如圖5(b)所示,第二輪Henon映射擴(kuò)散加密效果圖C如圖5(c)所示。比對(duì) 5(a)、5(b)、5(c)圖可明顯看出,密文圖像與明文圖像大相徑庭,一輪加密和二輪加密的加密圖像也有重大區(qū)別,無法從圖像中得到明文圖像中的重要信息,表明該算法可以對(duì)圖像進(jìn)行有效的加密,并且可以獲得理想的加密效果。
圖5加密效果
以本算法實(shí)驗(yàn)環(huán)境為例,雙精度實(shí)數(shù)精度可達(dá)到10-15,本文的密鑰為Chebyshev映射與Henon映射的初值選取與參數(shù)選擇。又因?yàn)楸舅惴ㄖ胁捎枚S序列作為密鑰流,因此包括:
計(jì)算可知,本算法密鑰空間為10120>>2100,因此密鑰空間足夠大,可有效抵抗窮舉攻擊。
我們知道,一個(gè)好的加密算法是具有強(qiáng)烈的抗統(tǒng)計(jì)分析能力的,我們可以通過直方圖分析得知算法是否具有抗統(tǒng)計(jì)分析能力。由圖6可以看出,密文圖像與明文圖像的直方圖截然不同,密文圖像直方圖分布十分均勻,可看出密文圖像的灰度值在[0,255]上的取值概率十分均等,可以得出該算法能夠有效抵抗統(tǒng)計(jì)分析,因此安全性很高。
圖6直方圖
(1)密鑰敏感性
密鑰敏感性是指當(dāng)密鑰發(fā)生微小變化時(shí),加密同一明文圖像得到的兩個(gè)密文圖像的差別情況[2]。圖7為密鑰改變10-15后,加密同一明文圖像得到的完全不同地密文圖像,由此可以看出,該算法的密鑰敏感性較強(qiáng)。
圖7密鑰敏感性測試
(2)明文敏感性
明文敏感性的測試方法是通過加密算法對(duì)明文圖像P加密得到加密圖像C,隨后改動(dòng)明文圖像任意像素的一個(gè)比特,得到圖像P’,通過加密算法得到加密圖像C’,通過對(duì)比C與C’計(jì)算UACI與NPCR值。
表1為本文算法明文敏感性分析得出的UACI與NPCR值,由表1可以看出,UACI接近理想值與NPCR均接近理想值,因此該算法的明文敏感性較強(qiáng)。
表1明文敏感性分析結(jié)果
由數(shù)據(jù)驗(yàn)證結(jié)果可得,該算法的加密時(shí)間為1.737138秒。由此可以看出,該文算法具有加密速度較快的優(yōu)點(diǎn)。
一般來說,圖像的相鄰像素之間存在高度的相關(guān)性,因此一些不法分子利用圖像信息的這一特點(diǎn)竊取圖像中的重要信息,從而達(dá)到攻擊目的。然而加密算法可以有效地消除圖像的相鄰像素之間的相關(guān)性,達(dá)到抗攻擊的效果。相關(guān)系數(shù)的計(jì)算公式如式(12)所示。
表2為不同算法的相關(guān)性系數(shù)對(duì)比,將本文算法的相關(guān)性系數(shù)與文獻(xiàn)[1]的相關(guān)性系數(shù)及Logistic混沌系統(tǒng)下的相關(guān)系數(shù)進(jìn)行比較。由表可見,明文圖像的相關(guān)性系數(shù)超過0.85,可以看出明文圖像的相鄰像素間的相關(guān)性很強(qiáng),通過加密算法處理之后,相關(guān)系數(shù)明顯減少,并且,相對(duì)文獻(xiàn)[2]和Logistic混沌系統(tǒng)下的相關(guān)系數(shù),該算法像素間相關(guān)性更弱,從而可以得出本算法具有更好的不可確定性與隨機(jī)性,因此可以獲得更好的加密效果。
表2不同算法的相關(guān)系數(shù)比較
信息熵反映的是圖像的不確定性,信息熵越大,不確定性就越大,可視的信息內(nèi)容就越少,因此就可以判斷加密算法的安全性是否較強(qiáng)。信息熵的計(jì)算公式如式(13)所示:
表3信息熵
由表3可以看出,明文圖像的信息熵與理論有明顯差別,并且,密文圖像的信息熵接近于理想值,因此該算法的信息熵較大,不確定性較大,加密效果很好。
本文提出了一種基于雙混沌映射設(shè)計(jì)數(shù)字圖像分塊加密方案,該算法利用Chebyshev映射構(gòu)造偽隨機(jī)序列發(fā)生器生成二維序列密鑰流,對(duì)明文圖像進(jìn)行混淆加密。其次,將密文圖像分為上下部兩個(gè)子塊,通過Henon映射分別對(duì)兩個(gè)子塊進(jìn)行擴(kuò)散加密,子塊拼裝得到最終密文圖像。數(shù)據(jù)模擬驗(yàn)證,該算法可抵御各類攻擊,安全性能較高。具有密鑰敏感性強(qiáng),簡單、易實(shí)現(xiàn),加密速度快等優(yōu)點(diǎn)。