史旭寧
(銅川職業(yè)技術(shù)學(xué)院,繼續(xù)教育學(xué)院, 陜西,銅川 727031)
隨著現(xiàn)代密碼學(xué)的快速發(fā)展,混沌系統(tǒng)憑借其在初值敏感性、密鑰空間、偽隨機(jī)性和非周期性等方面的優(yōu)勢(shì)逐漸得到了廣泛的應(yīng)用,混沌密碼學(xué)就此應(yīng)運(yùn)而生[1]。以混沌系統(tǒng)創(chuàng)建的序列為流密碼進(jìn)行介質(zhì)加密的流程相對(duì)較易實(shí)現(xiàn)[2],尤其在包含海量數(shù)據(jù)內(nèi)容的數(shù)字圖像加密方面其高效性能夠得以顯著體現(xiàn)[3]。以往的加密機(jī)制中,由于忽略了圖像紋理特征因素,不同紋理的圖像擁有相同的加密密鑰,這在很大程度上降低了影像的安全性[4]。此外,多混沌系統(tǒng)與超混沌系統(tǒng)的應(yīng)用加大了混沌算法的復(fù)雜程度[5]。為了解決這些問(wèn)題,本文提出并設(shè)計(jì)一種圖像混沌加解密機(jī)制,引入圖像的紋理特征因素,通過(guò)設(shè)定的閾值實(shí)現(xiàn)平滑塊和復(fù)雜塊的自適應(yīng)分塊,并按照類別進(jìn)行反饋加密,使圖像的安全性和加密過(guò)程的高效性同時(shí)獲得了保證。
將圖像分割為若干個(gè)正方形影像塊,對(duì)其像素值進(jìn)行排序并獲取最大值與最小值,然后根據(jù)最大像素差來(lái)確定是否需要進(jìn)一步分割影像塊,判斷條件[6]為
Pmax-Pmin>(2d-1)×γ
(1)
式中,Pmax、Pmin分別代表最大像素值和最小像素值,d代表像素位深度,γ代表閾值。
如果像素塊滿足式(1)即可將其定義為類型1影像塊,其表達(dá)式為
(2)
影像塊的方差由式(3)計(jì)算:
(3)
式中,S代表影像塊方差,n代表影像塊包含的像素?cái)?shù)量,Xi代表像素單元的像素值,X代表Xi的平均值。
類型2影像塊的判定條件為
(4)
式中,T代表方差閾值。
通過(guò)式(5)對(duì)2個(gè)類型的影像塊進(jìn)行分類條件判定:
(5)
若type=0,判定影像塊為平滑紋理塊;若type=1,則判定影像塊為復(fù)雜紋理塊。
對(duì)于某些特殊圖像來(lái)講:紋理相對(duì)平滑的部分基本分布在其背景區(qū)域內(nèi),這部分影像的像素值為0左右,因而明文反饋加密無(wú)法發(fā)揮作用,必須使用密文反饋加密[7];而紋理相對(duì)復(fù)雜的部分基本分布在圖像的前景區(qū)域內(nèi),存在明顯的像素值差異,因此可以使用明文反饋進(jìn)行加密[8]。同時(shí),基于異或操作完成加密可使加密過(guò)程具有良好的可逆性和高效性[9]。
平滑影像塊的密文反饋加密方式為
(6)
復(fù)雜影像塊的明文反饋加密方式為
(7)
式中,block(i)代表影像塊的初始像素值,E_block(i)代表加密像素值,seq1與seq2代表混沌系統(tǒng)創(chuàng)建的2組序列,由于其取值范圍均為[0,1],所以必須通過(guò)式(8)進(jìn)行相應(yīng)的調(diào)整[10]:
seq(i)=mod(round(seq(i)×106),256)
(8)
平滑影像塊與復(fù)雜影像塊的解密方式分別為
(9)
(10)
本文設(shè)計(jì)的混沌算法流程如圖1所示。
1) 將原始圖像分割為多個(gè)8×8(256色影像)的影像塊,通過(guò)式(2)~式(5)劃分影像塊紋理類型。
2) 利用混沌系統(tǒng)創(chuàng)建2組與圖像長(zhǎng)度相同的序列。
3) 通過(guò)式(6)對(duì)平滑紋理影像塊進(jìn)行密文反饋加密,通過(guò)式(7)對(duì)復(fù)雜紋理影像塊進(jìn)行明文反饋加密。
4) 基于加密的影像塊重構(gòu)加密圖像。
5) 通過(guò)式(9)和式(10)分別進(jìn)行平滑紋理影像塊和復(fù)雜紋理影像塊的解密。
圖1 新機(jī)制下的混沌算法流程
采用4張具有不同紋理特征的圖像(壓縮后)作為測(cè)試對(duì)象,尺寸:1 024×1 024,格式:jpg。為了對(duì)比不同尺寸與格式影像的加密速度,將測(cè)試用圖像大小調(diào)整為256×256,并將其保存為bmp格式。測(cè)試用計(jì)算機(jī)硬件配置為Intel CoreTMi5-6500 CPU、16 GB內(nèi)存、1 T容量硬盤,Windows 10專業(yè)版操作系統(tǒng)中安裝MATLAB 7.0軟件?;煦缦到y(tǒng)創(chuàng)建的2組序列值分別為seq1=0.938、seq2=0.700 6,γ=0.04,控制參數(shù)a=1、b=3,方差閾值T=5。
以本文所設(shè)計(jì)機(jī)制分別對(duì)4張圖像進(jìn)行加密后獲得的加密圖像如圖2所示。由圖2看出,圖像很好地進(jìn)行了加密。
在密碼學(xué)領(lǐng)域通常以密鑰空間的大小和密鑰初始敏感性的強(qiáng)弱判斷密鑰的安全性。本文所設(shè)計(jì)機(jī)制算法的加密密鑰中包含影像塊尺寸size、閾值γ、2組混沌序列的初始值seq、控制參數(shù)a和b以及影像塊像素方差T共7個(gè)參數(shù)。每個(gè)參數(shù)占4 B空間,則加密密鑰的空間大小為2224。從計(jì)算角度上看,使用窮舉法進(jìn)行攻擊不存在成功的可能性。解密密鑰相對(duì)于加密密鑰加入了影像塊類型因素,若影像塊分割尺寸為8×8,那么分割尺寸為512×512的影像塊類型占4 096 bit空間,其解密密鑰的空間大小為24320。
通過(guò)本文機(jī)制所獲取密鑰的初始敏感性可通過(guò)改變混沌序列值進(jìn)行驗(yàn)證。將seq1由0.938更改為0.938 000 4、將seq2由0.700 6更改為0.700 600 1,則密鑰由初始值key變?yōu)閗eyi。在上述條件下進(jìn)行密鑰敏感性測(cè)試,結(jié)果如圖3所示。
由圖3可見(jiàn),盡管密鑰參數(shù)只是發(fā)生了微小的變化,加密圖像也會(huì)發(fā)生十分明顯的改變,同時(shí)解密操作也是無(wú)效的。
被加密圖像的信息熵理想值為8,實(shí)際信息熵值與8的差值能夠表征算法抗統(tǒng)計(jì)攻擊能力的強(qiáng)弱,差值越小,能力越強(qiáng)?;诒疚臋C(jī)制加密的不同圖像的信息熵與其他算法(文獻(xiàn)[5]、文獻(xiàn)[6])加密影像的信息熵對(duì)比結(jié)果如圖4所示。
(a) 加密圖像
圖4 加密圖像信息熵對(duì)比
由圖4 中的數(shù)據(jù)可見(jiàn),通過(guò)本文機(jī)制進(jìn)行加密的圖像信息熵的值多數(shù)達(dá)到7.999以上,具備很強(qiáng)的抗統(tǒng)計(jì)攻擊能力。
此外,另一個(gè)算法抗統(tǒng)計(jì)攻擊能力驗(yàn)證指標(biāo)就是已加密影像相鄰像素的關(guān)聯(lián)性,其量化表達(dá)式為
(11)
表1 相鄰像素關(guān)聯(lián)性測(cè)試結(jié)果
由表1可見(jiàn):使用明文加密的圖像,其相鄰像素十分相似;而基于本文機(jī)制加密的圖像,相鄰像素關(guān)系值均與理想值0十分接近。
通常以密文相對(duì)于明文的敏感性來(lái)驗(yàn)證算法的抗差分攻擊能力。本次研究以UACI(像素值平均變化強(qiáng)度)作為驗(yàn)證指標(biāo),其表達(dá)式為
(12)
式中,M、N分別代表影像大小,E1(i,j)、E2(i,j)分別代表僅存在一個(gè)不同像素條件下獲得的加密影像。
根據(jù)已有的研究成果,UACI的最佳取值為33.463 5%,將測(cè)試用圖像進(jìn)行50次像素改動(dòng),每次只改變1個(gè)不同部位的像素點(diǎn),獲取50張圖像并使其與原始影像分別組合,計(jì)算每個(gè)組合的UACI值。測(cè)試結(jié)果如圖5所示。
圖5 像素改變測(cè)試UACI計(jì)算結(jié)果
由圖5可見(jiàn),UACI值以理想值為中心進(jìn)行上下波動(dòng),因此可以認(rèn)定本機(jī)制的抗差分攻擊能力很強(qiáng)。
基于本機(jī)制算法的加解密耗時(shí)與其他2種算法的耗時(shí)情況對(duì)比如表2所示。
由表2可見(jiàn),通過(guò)本文算法進(jìn)行影像加解密的耗時(shí)明顯比其他2種算法短,尤其是在影像大小為512×512和1 024×1 024的條件下,本文算法的影像加解密速度幾乎是其他2種算法的2倍,其原因在于本文算法引入了影像紋理特征因素,基于明密文反饋加解密大幅提升了影像加解密的效率。
表2 不同算法耗時(shí)對(duì)比
以上測(cè)試結(jié)果充分體現(xiàn)了本文算法所具備的兩個(gè)明顯的優(yōu)勢(shì):一是將分割出來(lái)的影像塊劃分為平滑紋理與復(fù)雜紋理2個(gè)類型,分別通過(guò)不同的加密方法進(jìn)行加密,實(shí)現(xiàn)了“一次一密”的高標(biāo)準(zhǔn)安全性要求;二是通過(guò)混沌系統(tǒng)所創(chuàng)建的序列進(jìn)行明密文加密,影像的安全性得到了進(jìn)一步保障。
本文設(shè)計(jì)了一種新的特殊圖像混沌加密機(jī)制,將影像紋理特征引入算法中,依據(jù)單個(gè)影像塊的最大像素差與方差對(duì)其進(jìn)行紋理類型劃分,以不同加密方式分別對(duì)平滑紋理影像塊和復(fù)雜紋理影像塊進(jìn)行加密,密鑰基于明文圖像生成,滿足了“一次一密”的安全性要求。利用混沌系統(tǒng)創(chuàng)建的2組序列進(jìn)行反饋加密,有效提升了影像加解密的效率。本文提出的將不同紋理特征影像區(qū)域進(jìn)行分別加密的方式為特殊圖像的加密提供了新的研究方向。同時(shí),由于紋理特征分類的方式略顯粗糙,所以本文的算法仍有待改進(jìn),在今后的研究中將致力于實(shí)現(xiàn)影像紋理特征的細(xì)化分類。