劉為超 劉義沛
(1、洛陽師范學院信息技術學院,河南 洛陽471000 2、重慶大學數學與統計學院2018 級數學與應用數學,重慶400000)
數字圖像媒體的特點:數據量大、數據冗余性強、相鄰像素點相關性。圖像加密算法分為一時空域的加密算法;二頻域的加密算法。文獻[1]進行改進提出二維像素字節位循環移位,國際同行稱為TDCEA 算法,他們都是針對將原圖像分割成8×8像素塊內進行操作。文獻[1-3,24]也是基于bit 位置亂研究的,文獻[3]將M N 的原圖像當作字節位級的M(8N)圖像來操作,利用混沌置亂先進行行操作再列操作。根據目前圖像加密分析算法的研究成果,以上大多數屬于原圖矩陣和密圖矩陣間的雙單射加密算法,其致命缺陷便是,對密碼分析方法中的差分攻擊抵抗性能非常脆弱。
提出了一種基于字節位置亂的改進算法,借鑒了結合明文或者密文產生密鑰的自適應加密思想。選擇一個bit 位平面做為模板,生成參數做為密鑰由Logistic 映射生成置亂序列并置亂模板bit 位平面,然后由模板bit 位平面分別和其它位平面進行異或計算。
由已經完成異或、置亂運算的上一個bit 位平面的數值產生混沌參數,來置亂下一個bit 位平面。最后將完成異或、置亂操作的8 個bit 位平面合成加密圖像。仿真實驗證明,算法具有操作運算簡便而又不會降低加密安全性能的優點,是一種比較實用的圖像加密算法。
混沌技術被廣泛研究和應用,混沌映射是Li-Yorke 給出的Logistic 映射[8]。

其中xn∈[0,1],λ∈[0,4]。Feigenbaum 指出Logistic 映射分岔點的參數值λm(m=1,2,3…)形成無窮序列,并有一個極限值λ'=3.569945672…。當λ∈(λ',4]時,Logistic 映射出現混沌現象。混沌現象具有對初始條件的敏感依賴性,行為是不可預測的,現廣泛應用于圖像加密算法中。
圖像uint8 格式的數據中,由每位像素8bit 位灰度值中相同位的數據構成的平面。一個圖像矩陣共分為8 個bit 位平面,每個bit 位平面所形成的矩陣為位平面矩陣,記為G1、G2、G3、G4、、、G8。G1 為最低bit 位平面,G8 為最高bit 位平面。
加密過程:
Step1、G1-G8 中,在G1、G2、G3 中取一個作為基礎模板參與異或加密運算。
Step2、根據(1)式要求產生混沌置亂序列S。截取S 中t 個數組成的混沌序列S={S1,S2,S3 St}。t 由下式決定。

其中,M,N 分別圖像的行列數。此處300×8 是我們考慮到加密實時性要求,不再每個bit 位平面單獨迭代產生混沌序列,而是統一生成一個混沌序列S,然后根據不同bit 位平面選取間隔不等的M×N 長混沌序列數組,必須保證一定間隔。
Step3、選取混沌置亂序列D1,生成由M×N 個混沌實數構成的數列。D1 對G1 進行混沌置亂操作。表示為D1={x1,x2,xM×N}

正排序D1 生成序列E1= {x'1,x'2,x'M×N}。D1 序列中元素在E1 中的位置序號構成集合F;E1 中元素在D1 中的位置序號構成集合F',作為解密時運算。將G1(此處當做基礎模板)位平面一維化成數組G1。(4)式為位平面的置亂加密;(5)式為位平面的置亂解密。

將G'1(G1)轉化為M×N 位平面。
Step4、G'1 分別與其他位平面G2-8進行異或運算,生成新的G2-8位平面。
Step5、重復Step3 分別置亂G2-8,在置亂G2 時,D2 取S序列向后順延(sum(G'1)mod 255)個元素的序列數組。同理Gn時Dn 取S 序列依次向后(sum(G'1)mod 255+sum(G'2)mod 255+ sum(G'n)mod 255)個元素的序列數組。
Step6、由經過分別異或、置亂操作構成的G'1-8重新組成密圖矩陣G'。
解密過程:加密過程和解密過程是一對逆過程。不再詳述。
國際上通用“lena”灰度圖像大小為256 256,matlab 環境下進行仿真實驗。
測試用“像素數目改變率NPCR”和“歸一化平均改變強度UACI”來計算比較。

式(6)中P(i,j)表示:在兩個測試密圖差圖中,如果點(i,j)值為0,表示對應像素點值相等則P(i,j)=1,否則P(i,j)=0。M,N代表圖像矩陣的行列數。

式(7)中G'(i,j)和G''(i,j)代表兩個密圖對應點(i,j)處的像素值。

表1 NPCR 和UACI 分析
通過表1 可以得出,本文算法通過一次置亂加密即可達到很好的理想值,優于文獻[4,6]。
正常的圖像中大多區域色調基本是連續的,其相鄰像素的相關性一般是非常高的,通常接近于1。效率高的加密算法會將這種相鄰像素的相關性降低至接近0。計算相關系數的方法公式采用文獻[4]中的公式。

圖1
本文在密圖和明圖中隨機抽取1000 對相鄰像素進行相關性計算比較,結果如圖1 所示。水平方向,明文相關度為0.9487,密圖相關度為-0.0131;傾斜方向,明文相關度為0.9354,密文相關度為0.0204;垂直方向,明文相關度為0.9701,密文相關度為-0.0165。結果可以得出,明文圖像在三個方向上都具有很高的相關性。密文圖像在三個方向上的相關系數基本接近0。
文獻[1-3],他們的明文加密性能較高,但是他們遠遠沒有達到雪崩現象要求標準(要求當一個像素值發生變化時至少密文會有50%以上發生變化)。文獻[4,6]在差分分析方面達到了雪崩標準,但是需要經過多輪置亂。
密鑰空間方面,本算法對圖像每一層分別置亂,因此至少大于傳統像素級置亂算法密鑰空間的7 倍,同時加入各層之間的異或運算,密鑰空間至少增加了數百倍。為了節約計算成本,本文采用一次置亂足夠大,間隔選擇置亂序列方法。
提出基于位平面Logistic 混沌置亂的圖像加密算法解決了局限于圖像矩陣間雙單射的加密算法缺陷,數百倍擴大的傳統置亂加密算法的密鑰空間。