楊耀森 李 博 孟 浩
(中北大學儀器科學與動態(tài)測試教育部重點實驗室 山西 太原 030051)
進入21世紀,圖像數(shù)據(jù)在傳輸過程中的安全隱患越來越被人們所重視。以分組密碼為代表的傳統(tǒng)加密方法已經(jīng)滿足不了加密安全性的要求;公鑰密碼體制密鑰長度過長,加密解密耗時?;煦缦到y(tǒng)因其非周期性、長期不可預測性契合密碼學特點,成為圖像加密中一種常用的方法[1-3]。文獻[4]利用logistic系統(tǒng)迭代序列構(gòu)建出一種彩色圖像加密算法,其中創(chuàng)新點為對R、G、B三通道分別進行加密,降低了各個成分之間的相關性,但該算法的密鑰空間僅由logistic迭代周期與初值定義,減少了密鑰空間,降低了加密的安全性能。為了擴充密鑰,一些專家學者們圍繞著fridrich提出的置亂擴散加密結(jié)構(gòu),提出了多級、高維混沌系統(tǒng)的加密算法。文獻[5]提出將annold變換由二維轉(zhuǎn)換到三維,通過提升annold維度來增強加密算法安全性。但隨著密碼分析技術的提高,經(jīng)典的arnold置亂暴露出以下缺點:(1) annold置亂局限在N×N像素的正方形數(shù)字圖像上,然而現(xiàn)實中,多數(shù)的數(shù)字圖像都是非方形的。(2) 置亂速度慢,要進行至少10次以上置亂才可以掩蓋圖像紋理信息。(3) 由于arnold變換固有的周期性較短,單純憑借置亂次數(shù)作為密鑰非常容易被破解。為了進一步加強保密性能,文獻[6]采用arnold置亂與lorenz擴散兩種混沌系統(tǒng)相結(jié)合加密算法。文獻[7]設計了一種基于DNA互補規(guī)則和混沌映射的圖像加密方案。文獻[8]提出基于動態(tài)隨機增長技術的混沌塊圖像加密方案。文獻[9]提出一種新的圖像加密方案,該方案根據(jù)動態(tài)S盒的概念對圖像進行加密。但是要在實時通信中使用所有這些算法,我們?nèi)匀恍枰岣呒用芊桨傅乃俣萚10]。而解決這一問題的一個有效而快速的方法是更具體的基于選擇性區(qū)域的圖像加密,尤其是在高速傳輸?shù)那闆r下,我們不需要加密所有的數(shù)據(jù)。
為了滿足實時通信的需要,本文提出了一種高效、安全的圖像選擇性加密方案。具體為:將圖像劃分為若干塊,計算每個塊的相關系數(shù),超過定義閾值的塊將會與斜帳篷映射生成的隨機值進行像素值的異或以去除圖像像素之間的相關性。為了抵抗多次攻擊,利用數(shù)學模型擬仿射變換對整個圖像進行洗牌。通過對直方圖、對比度、熵、相關度、密鑰空間、密鑰敏感度和抗差分攻擊等方面進行分析,驗證了該方案的安全性。該方案在各種安全通信應用中具有較強的實用性和魯棒性。
圖像加密算法中常用的是arnold變換。arnold變換是一種線性變換,通過下式對像素點坐標(x,y)進行像素坐標的置亂。
(1)
arnold變換復雜度不高,固有周期短,且秘鑰空間小,安全性不高。故本文提出復雜度更高的擬仿射變換。
擬仿射變換是在仿射變換的基礎上提出的,仿射變換一般形式:
(2)
由式(2)可知,仿射變換也是一種線性變換,相比arnold變換,仿射變換加大了系數(shù)維度,引入了相位,復雜了置亂密碼。但經(jīng)仿射變換后參數(shù)不一定是整數(shù),且在實際圖像應用中圖像尺寸大小有限,故需要在仿射變換的基礎上限定(x,y)的取值范圍并加入非線性取整操作,進而提出有限整數(shù)域的擬仿射變換(QATLIG)。QATLIG的構(gòu)造需要兩個條件:
(1) 變換是離散點域{(x,y):0≤x (2) 變換是離散點域{(x,y):0≤x 由下列公式可知QATLIG分為兩步:第一,需要對像素坐標進行線性提升變換;第二,確定好線性提升變換的次數(shù),在最后一次線性變換后對相位參數(shù)進行四舍五入取整,即為新的像素坐標。 (3) 值得一提的是,在變換計算過程避免不了負數(shù)坐標的結(jié)果,若不及時處理則會出現(xiàn)元素沖突情況。處理時,只需將負數(shù)X加上N或負數(shù)Y加上M即可。 解密過程即為擬仿射逆變換: (4) 混沌系統(tǒng)具有非周期性,遍歷性和對初值的敏感性三大特性。故將混沌系統(tǒng)用于圖像加密具有保密性強、隨機性好、秘鑰空間大等優(yōu)勢,同時具有良好的抗干擾性、抵御攻擊的能力。本文在進行灰度擴散時使用斜帳篷混沌映射。其動力學方程為: (5) 式中:Vn∈[0,r]定義了混沌系統(tǒng)的狀態(tài),r∈(0,1)作為混沌系統(tǒng)的控制參數(shù)。式(5)對任意控制參數(shù)r∈(0,1)具有正的Lyapunov指數(shù),因此,由式(5)定義的映射總是表現(xiàn)出混沌行為[11]。圖1顯示了斜帳篷映射的隨機性和密鑰敏感性。 (a) 隨機性 (b) 敏感性圖1 斜帳篷映射 算法的流程如圖2所示。 圖2 加密流程圖 具體步驟如下: 定義圖像為P,矩陣大小為m×n,則P可分割成紅、綠、藍三種顏色的像素矩陣,分別定義為R、G、B。大小同為m×n,本文中m=n=256。 步驟1分別將R、G、B分割成大小為16×16的子塊,每個通道有256個子塊。 R=[R1,R2,R3,…,R256] G=[G1,G2,G3,…,G256] B=[B1,B2,B3,…,B256] 計算R、G、B中每個塊的相關系數(shù),并將閾值定義為T,本文中T=0.3。 步驟2設置三種不同的斜帳篷映射的初始條件,即: 根據(jù)三種不同的初始條件分別迭代256次以生成長度為256隨機序列VR、VG、VB。 Y=Modulo(V′,256) 將新的隨機序列以矩陣形式排列得到Y(jié)R、YG、YB,大小同為16×16。 將Rp、Gp、Bp相關系數(shù)大于T的明文圖像塊分別與矩陣YR、YG、YB按位做異或運算: diffuseRn=bitxor(Rn,YR) diffuseGn=bitxor(Gn,YG) diffuseBn=bitxor(Bn,YB) n為塊的序號,diffuseRn、diffuseGn、diffuseBn是新的擴散塊,bitxor為異或運算函數(shù)。 將三通道所有塊重新組合起來,得到擴散圖像Pdiffuse。 步驟3定義擬仿射變換的初始條件a=7.400 0,b=-6.400 0,c=-3.162 5,d=2.600 0,e=1.611 5,f=3.274 5。 根據(jù)式(4)迭代256次,記錄每次迭代生成的兩種隨機向量。 xn=[x1,x2,x3,…,x256] yn=[y1,y2,y3,…,y256] 由于在式(4)中進行了取模運算,所以序列分布在圖像面積區(qū)間內(nèi),即:0≤xn≤N,0≤yn≤M。 擴散圖像Pdiffuse通過行向量xn按行排序。例如,如果Pdiffuse和隨機行向量xn為: (6) (7) (8) 解密過程為加密的逆過程,將步驟按相反的順序執(zhí)行即可從密文圖像中獲得原始明文圖像。 QATLIG(a,b,c,d,e,f)關于N×M的周期T是指當圖像A的任意兩個像素沒有相同的顏色值時,使得A經(jīng)重復同一變換后又回復到A的最小變換次數(shù)。T越大,則安全性能就越高。測試結(jié)果如表1所示。 表1 不同像素尺寸的周期比較 N代表像素尺寸大小。周期越長,安全性越高。T1為arnold變換的最小周期,T2為擬仿射變換的最小周期。從表中數(shù)據(jù)可知QATLIG變換用于像素的重新排列具有較好的效果。 本文在Windows 7操作系統(tǒng)上使用Intel Core i5-6600 CPU@3.30 GHz和8.0 GB RAM對加密時間進行測試。表7表明,與文獻[13]、文獻[14]算法相比,該方案的加密時間要短得多。這些傳統(tǒng)算法的工作原理與AES非常相似,后者通常執(zhí)行循環(huán)加密,需要很多時間。然而,本文方案是一種單輪圖像加密方案,可用于實時在線通信。 表2 時間分析 s 按照本文算法對lena圖像進行仿真。結(jié)果如圖3所示。 (a) 明文圖像 (b) 密文圖像圖3 加密圖像 加密前后R、G、B分量直方圖對比如圖4所示。 (a) 加密前 (b) 加密后圖4 R、G、B直方圖 由圖3(b)得知經(jīng)過該比特量化擴散算法,在減少計算量的前提下,密文圖像看不出原始圖像任何信息,達到了擴散的效果。從圖4直方圖中我們發(fā)現(xiàn)加密前后直方圖的變化巨大,并且加密后圖像的像素值分布得非常均勻,攻擊者無法看出原始圖像的分布規(guī)律,有效地抵制了攻擊者的破譯。 本文從密鑰空間、密鑰敏感度分析、信息熵、相關性分析四個角度對加密圖像的安全性能進行了測試。 圖像加密方案的密鑰空間必須至少為2100或更大[13],以抵抗暴力攻擊。本文采用8個密鑰進行加密,包括6個擬仿射變換,其中5個可以選用隨機數(shù),另1個由約束條件確定,斜帳篷映射為2個根據(jù)IEEE浮點標準,64位雙精度計算精確度為1015。本文密鑰空間如表3所示。可以看出,密鑰空間為2×1015×7=2×10105≈2351,遠大于文獻[13]密鑰空間要求?,F(xiàn)有的64位機器無法通過窮舉法進行破譯[13]。 表3 密鑰空間 在解密過程中,微改變密鑰初值v0,即v0=v0+10-12,其余密鑰保持不變,則解密完全失敗,如圖5(d)所示。由于本文算法擴充了密鑰空間,而減少了單個密鑰精度上的計算量,當精確度達到10-13,如圖5(e)所示,圖像開始出現(xiàn)紋理信息。本文對單個密鑰的敏感性精度可達10-12,足夠抵御窮舉攻擊。 (a) 明文圖像(b) 加密圖像 (c) 解密正確圖像 (d) v0=v0+10-12 (e) v0=v0+10-13圖5 敏感度分析 信息熵反映了圖像中平均信息量的多少,通過信息熵可以判斷一幅圖像的隨機性。對于一幅圖像,灰度值分布得越均勻,圖像的信息熵就越大,信息熵越接近于8,圖像的隨機性越強[15]。 信息熵計算公式為: (9) 式中:P(xi)表示R、G、B某個分量出現(xiàn)的概率。 由表4數(shù)據(jù)可知,本文算法加密后的R、G、B各個分量值都接近于8,且平均值高于文獻[15-16],證明本文算法加密后的各個像素點具有很強的隨機性,具有良好的抵御攻擊的能力。 表4 密文圖像信息熵 一幅完整的圖像相鄰的像素點具有較強的相關性,為了檢驗本文算法打亂相關性的性能,隨機選擇明文和密文圖像水平、垂直、對角方向各1 000對像素點[16],計算相關性系數(shù),公式如下: (10) (11) 式中:cov(x,y)表示相關系數(shù),xi、yi為像素值。 從表5中可知,明文圖像具有較強的相關性。經(jīng)過本文算法加密后,相關性不足0.01,表明密文圖像各個像素點基本無相關性。 表5 圖像相關性 圖6、圖7給出了加密前后R通道的相關性對比圖。 (a) 水平方向 (b) 垂直方向 (c) 對角方向圖6 加密前R通道相關性 (a) 水平方向 (b) 垂直方向 (c) 對角方向圖7 加密后R通道相關性 差分攻擊是通過比較分析有特定區(qū)別的明文在通過加密后的變化傳播情況來攻擊密碼算法的。算法對明文的敏感性越強,抗差分攻擊能就越強。本文通過像素改變率(NPCR)與歸一化像素值平均改變強度(UACI)測試加密算法對名明文圖像的敏感性[17]。 (12) (13) 表6 NPCR與UACI測量結(jié)果 由表6可知R、G、B分量NPCR平均值都超過0.99,UACI平均值超過0.33,并且超越了文獻中NPCR與UACI的平均值。該結(jié)果表明即使對原文圖像做一點細微的變化,計算得出的密文圖像也有明顯的差異,即本文算法具有更強的抗差分攻擊能力。 本文提出了一種快速、高效、安全的基于QATLIG與混沌映射的選擇性加密方案。與已有的算法相比,本文算法對兩個方面進行了提升。其一是該方案通過相關系數(shù)參數(shù)決定了對哪個塊進行加密,只有那些具有最大相關系數(shù)值的塊與斜帳篷圖生成的隨機值逐像素異或,加快了加密的速度。其二在混淆過程中,利用擬仿射模型對異或運算后得到的圖像分別按行和列順序進行洗牌,補充了密鑰空間,加強了保密性能。實驗數(shù)據(jù)表明,該算法優(yōu)勢在于密鑰空間大,運算量小,但對于密鑰敏感度精確度仍有可提升的空間。加密后的圖像像素值分布均勻,信息熵接近于8,能夠很好地抵御攻擊。1.2 混沌系統(tǒng)
2 圖像加密算法
3 實驗結(jié)果分析
3.1 QATLIG周期測試
3.2 加密時間測試
3.3 直方圖分析
4 安全性能分析
4.1 密鑰空間
4.2 密鑰敏感度分析
4.3 信息熵
4.4 相關性分析
4.5 抗差分攻擊能力分析
5 結(jié) 語