李晴晴,杭后俊,尹天樂
(1.安徽師范大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 蕪湖 241000;2.網(wǎng)絡(luò)與信息安全安徽省重點(diǎn)實(shí)驗(yàn)室,安徽 蕪湖 241000)
由于網(wǎng)絡(luò)環(huán)境本身的復(fù)雜性和易變性,使得信息在網(wǎng)絡(luò)中傳輸時(shí)的安全問題愈加突出[1]。據(jù)不完全統(tǒng)計(jì),網(wǎng)絡(luò)中傳播的信息,大約有百分之七十是以數(shù)字圖像形式體現(xiàn)出來的,因此數(shù)字圖像加密技術(shù)就成了研究的熱點(diǎn)問題?,F(xiàn)在常用的圖像加密算法中,基于現(xiàn)代密碼體制的圖像加密[2-3]、基于矩陣變換/像素置換的圖像加密[4-5]、基于秘密分割與秘密共享的圖像加密[6-7]等由于圖像數(shù)據(jù)存在大量冗余,像素之間具有很強(qiáng)的相關(guān)性,圖像具有特定的數(shù)據(jù)格式等特點(diǎn),并不能完全滿足圖像加密的要求[8]。而混沌系統(tǒng)由于自身的特殊性質(zhì)如對初始條件和參數(shù)高度敏感,隨機(jī)性強(qiáng),遍歷性等使其非常適合圖像加密[9-14]?,F(xiàn)在很多基于混沌系統(tǒng)的圖像加密算法以時(shí)間和空間換加密強(qiáng)度的思想,大多采用復(fù)雜的加密算法和變換流程來獲取更高效的加密指標(biāo),這樣自然導(dǎo)致加密解密速度慢、算法的復(fù)雜性高等缺陷,加密效率不如一維系統(tǒng)。
Bezier曲線是一種由控制點(diǎn)控制的多項(xiàng)式曲線,具有諸多優(yōu)良性質(zhì),廣泛應(yīng)用于形狀設(shè)計(jì)中。研究表明,單位區(qū)域內(nèi)的二次曲線映射可以產(chǎn)生混沌序列[15-17],而有理二次Bezier曲線可以精確表示二次圓錐曲線[18]?;谶@一理論,文中提出了一種基于有理二次Bezier曲線的數(shù)字圖像加密算法。根據(jù)有理二次Bezier曲線的內(nèi)在特性,提出了一個(gè)一維有理映射函數(shù),當(dāng)內(nèi)權(quán)因子在一定范圍內(nèi)取值時(shí),該迭代函數(shù)具有混沌特性,產(chǎn)生混沌序列,進(jìn)而構(gòu)造加密因子與像素灰度進(jìn)行運(yùn)算并置換,最終得到加密圖像。
根據(jù)CAGD理論[13],有理二次Bezier曲線
p(u)=
(1)
對于標(biāo)準(zhǔn)型,可用內(nèi)權(quán)因子ω1進(jìn)行分類:
有理二次Bezier曲線具有如下重要特性:
(1)如果保持其余權(quán)因子、所有控制點(diǎn)不變,讓ω1在某個(gè)范圍內(nèi)變化,就會得到一族曲線。再固定參數(shù)u,則這一族曲線上參數(shù)u相同的點(diǎn)位于一條直線上。
據(jù)式1可知,由控制點(diǎn)b0=[0,0],b1=[0.5,(1+ω)/ω],b2=[1,0]確定的標(biāo)準(zhǔn)型有理二次Bezier曲線為:
(2)
顯然,該曲線上點(diǎn)的x坐標(biāo)取值范圍為x∈[0,1],而y最大值為曲線上肩點(diǎn)的y值,即ymax=y(0.5)=1,所以y坐標(biāo)取值范圍為y∈[0,1]。
?x0∈(0,1),?ω>0,根據(jù)內(nèi)權(quán)因子對曲線形狀的影響特性,構(gòu)造如下一維有理映射函數(shù):
(3)
李雅普諾夫指數(shù)(Lyapunov)是評判一個(gè)系統(tǒng)是否具有混沌性質(zhì)的重要指標(biāo),Lyapunov>0說明該系統(tǒng)具有混沌特性。對任意一維映射xn+1=f(xn),其李雅普諾夫指數(shù)的計(jì)算方式如下:
其中,x0為系統(tǒng)的初始值;x1,x2,…為每次的迭代值;n為迭代次數(shù)。
對于有理映射函數(shù),其李雅普諾夫指數(shù)為:
λ=
(5)
經(jīng)計(jì)算可得,內(nèi)權(quán)因子ω至少在區(qū)間[0.7,1.5]上取值時(shí)λ大于零,即由式3產(chǎn)生的序列{xi}(i=0,1,2,…)具有混沌特性。圖1為該混沌序列產(chǎn)生過程的示意圖。
圖1 序列{xi}(i=0,1,2,…)產(chǎn)生示意
設(shè)明文圖像I大小為m×n,I(i,j)(i=1,2,…,m,j=1,2,…,n)表示像素的灰度值。為了保證序列的混沌效果,可以預(yù)先對有理映射函數(shù)(3)迭代適當(dāng)?shù)拇螖?shù)N,比如N=100。依次讀取圖像I的每一像素I(i,j),將有理映射函數(shù)(式3)迭代8次所產(chǎn)生的實(shí)數(shù)序列在其最大值和最小值之間的每個(gè)數(shù)與其平均值avg進(jìn)行比較,若大于avg則對應(yīng)位置1,否則置0,得到一個(gè)8位二進(jìn)制序列,稱之為加密因子。再將該加密因子與當(dāng)前像素灰度值進(jìn)行異或運(yùn)算,并用運(yùn)算的結(jié)果替代當(dāng)前像素的灰度值,從而得到密文圖像。具體算法步驟如下:
(1)設(shè)置初值x0和ω,其中0 (2)對有理映射函數(shù)(式3)進(jìn)行N次預(yù)迭代; (3)讀取當(dāng)前像素I(i,j); (4)將有理映射函數(shù)迭代8次,得到一個(gè)8位加密因子key; (5)將key與圖像當(dāng)前灰度值I(i,j)按位異或,并將運(yùn)算的結(jié)果寫入I'(i,j); (6)如果I(i,j)是最后一個(gè)像素,轉(zhuǎn)步驟7,否則,轉(zhuǎn)步驟3; (7)I'即為密文圖像; (8)結(jié)束。 解密算法和加密算法是一套算法,也就是說,采用文中算法進(jìn)行加密的圖像,用同樣的算法即可對其進(jìn)行解密??梢钥闯觯闹兴惴ň哂袕?fù)雜性低、加密效率高的優(yōu)點(diǎn)。 對文中算法進(jìn)行仿真驗(yàn)證,取初始值x0=0.01,ω=0.8。這里用兩張圖片作為仿真用例,加密前后的對比圖像如圖2所示。 圖2 加密前后的對比圖像 灰度直方圖是對圖像中灰度級分布統(tǒng)計(jì),直方圖越均勻,抗統(tǒng)計(jì)分析能力越強(qiáng)。圖3展示了圖2中兩幅圖像加密前后的灰度直方圖??梢悦黠@看出,加密前后直方圖變化很大,用該系統(tǒng)加密后圖像直方圖非常均勻。 該系統(tǒng)有兩個(gè)參數(shù),x0和ω,若運(yùn)算精度按10-16考慮,則系統(tǒng)初始條件組成的空間大小至少為1016×1016=1032。要想進(jìn)行枚舉攻擊幾乎是不可能的。 圖3 加密前后圖像的灰度直方圖 假如攻擊者想破解圖2(a)的加密圖像,正確初始值為x0=0.01,ω=0.8。假若攻擊者的猜測初值x0=0.010 000 000 001,ω=0.8,則解密圖像如圖4(a)所示;若攻擊者猜測初值x0=0.01,ω=0.799 999 999 99,則解密圖像如圖4(b)所示。可以看出,用文中模型加密的圖片的安全性是非常高的。 圖4 解密失敗的圖像 圖像之所以不同于文本是因?yàn)閳D像像素間具有很強(qiáng)的相關(guān)性,攻擊者會根據(jù)圖像間的相關(guān)性進(jìn)行統(tǒng)計(jì)分析,從而破解加密圖像,所以,降低相關(guān)性是檢驗(yàn)一個(gè)加密算法好壞的重要指標(biāo)。因此,分別按水平方向、垂直方向以及對角線方向隨機(jī)選取圖像中的50行,50列的像素進(jìn)行相關(guān)性計(jì)算,隨機(jī)次數(shù)為5次。以圖2(a)為例,實(shí)驗(yàn)結(jié)果如圖5所示。從仿真結(jié)果可以看出,相對于明文圖片來說,像素間的相關(guān)性非常高,而在加密圖片中像素的相關(guān)性的強(qiáng)度顯著降低,具有非常好的加密效果,很好地滿足了實(shí)際應(yīng)用需求,有較高的實(shí)用價(jià)值。 分別求取該圖像加密前后在三個(gè)方向上的相關(guān)系數(shù),并且將經(jīng)典的Logistic系統(tǒng)和Chebyshev同樣用上述算法對圖像進(jìn)行加密后求取相關(guān)系數(shù),對比結(jié)果如表1所示??梢悦黠@看出,用同一算法實(shí)現(xiàn)三種不同的混沌系統(tǒng),該系統(tǒng)加密后圖像之間的相關(guān)性最小,安全性更高。 圖5 加密前后相關(guān)性對比圖 表1 加密前后相關(guān)系數(shù)對比 圖4(a)加密前加密后LogisticChebyshev文中系統(tǒng)水平0.947 10.041 10.007 46.684 9e-04垂直0.973 00.006 30.004 0-0.001 0對角線0.929 50.008 40.002 5-0.001 8 信息熵是對信息隨機(jī)性的度量,在圖像中表示像素灰度值的隨機(jī)性,圖像的信息熵越大,信息的隨機(jī)性越好。對任意圖像I,其信息熵計(jì)算公式如下: (6) 其中,L表示圖像的灰度級;p(xi)表示第i個(gè)像素灰度值所占的比例。 圖像信息熵的理想值是8。選取圖2(a)為示例,表2是分別采用Logistic映射、Chebyshev映射和文中算法對原圖和加密圖像求取的圖像信息熵的對比結(jié)果。可以看出,該系統(tǒng)加密后圖像的信息熵更接近8。 表2 加密前后信息熵對比表 Bezier曲線廣泛應(yīng)用于工程設(shè)計(jì)中,將Bezier方法應(yīng)用于圖像處理是一項(xiàng)具有實(shí)際意義的工作。因此,文中提出一種基于有理二次Bezier曲線的數(shù)字圖像加密算法,保留了一維混沌系統(tǒng)形式簡單的特點(diǎn)。由于加密和解密是一套算法,所以該算法具有復(fù)雜性低、加密效率高的優(yōu)點(diǎn)。通過仿真測試表明,利用該算法加密的圖像,其灰度直方圖較為均勻,加密圖像中相鄰像素之間的相關(guān)性強(qiáng)度與傳統(tǒng)加密算法相比顯著降低,取得了較好的加密效果。該方法對于將Bezier方法應(yīng)用于圖像處理的其他問題也具有一定參考價(jià)值。2.3 解密算法
3 仿真結(jié)果及分析
3.1 灰度直方圖
3.2 密鑰空間及安全性分析
3.3 相關(guān)性分析
3.4 信息熵
4 結(jié)束語