宮 帥,霍 橙,謝 冬
(安徽師范大學計算機與信息學院,安徽 蕪湖 241002)
壓縮感知(compressed sensing,CS)理論是一種新的信號處理框架. CS指出將信號從高維空間投影到低維空間,可同時完成采樣與壓縮過程. 根據投影得到的測量值求解最優化問題,便可從極少數的采樣值里高概率地重構原始信號[1-3]. CS的研究主要分為3類:(1)使原始信號滿足某種表示方式下的稀疏性;(2)設計合適的測量矩陣使觀測值能被正確恢復;(3)設計恢復算法從觀測值中恢復出原始信號. CS不局限于奈奎斯特采樣定理的限制,在同樣的采樣值情況下,可傳輸更多的信號,故能更好地重構原始圖像. 近些年來,基于CS的圖像加密方案構造是圖像加密領域的一大研究熱點[4-7].
DNA編碼規則[8-9]是DNA計算應用于密碼學領域的一種新思維. DNA計算的基本原理是以DNA序列為載體,將要處理的信息轉換為DNA分子序列,利用DNA的堿基互補配對性質與運算法則進行信息處理,具有大規模并行計算和低能耗的特點. 1994年Adleman利用DNA堿基互補配對的思想,解決了NP問題的有向哈密頓問題[10],DNA計算自此誕生. 之后,Enayatifar等提出了基于遺傳算法和DNA序列的圖像算法[11],通過Logistic混沌映射與DNA編碼得到DNA掩碼初始值,再通過遺傳算法得到最佳的掩碼. 李紅凱等改進了DNA編碼的真彩圖像加密算法[12],利用混沌序列為映射,對圖像進行DNA編解碼及DNA加操作時融入了混沌系統的隨機性. 李孝東等[13]提出由圖像的SHA-256哈希值來生成算法密鑰,結合DNA編碼、運算規則與混沌映射對圖像進行逐行隨機編碼加密.
傳統單一的加密算法密鑰空間較小且加密后的密文圖像相關性較高,在安全方面仍有很大的改進空間. 本文將CS與DNA編碼相結合,提出了一種更加安全、高效的圖像加密算法. 首先將明文圖像進行CS壓縮處理;其次,將處理后的矩陣轉換并拆分為多個2 bit二進制矩陣;最后,根據DNA編碼規則和DNA運算規則,將轉換后的序列與帳篷映射產生的序列進行二次擴散,將加密后的序列先分割后合并形成矩陣,即可得到密文圖像.
CS是在采集信號的同時對數據進行壓縮處理,目的是采集盡可能少的信號并以高概率重構出原始信號.
對于一個信號X∈RN,X中包含k個非零值,通過測量矩陣A獲得M個線性觀測量,可表示為:
Y=AX,
(1)
式中,A∈RM×N,Y∈RM×1.
若將測量矩陣A視為對稱加密體制的密鑰,則CS可視為一對稱加密系統[5,7]. 如圖1所示,X∈RN×N為明文圖像預處理后的矩陣,A∈RM×N為測量矩陣,產生矩陣的初始參數可視作密鑰.Y∈RM×N為觀測矩陣,即形成的密文圖像.

圖1 壓縮感知的壓縮(加密)過程Fig.1 Compression(encryption)process of compressed sensing
壓縮感知的感知部分即利用設計的測量矩陣A和測量后的矩陣Y來重構原始矩陣X,進而恢復原圖像. 壓縮感知的重構算法主要分為3類:組合算法(傅里葉采樣[14]、鏈式追蹤算法[15]等)、貪婪算法(正交匹配追蹤算法[16]等)、凸優化算法(基追蹤算法[17]、梯度投影算法[18]等). 本文為對比實驗,對計算量和精度的要求居中,故選擇正交匹配追蹤算法(orthogonal matching pursuit,OMP)進行重構原始圖像. OMP算法的基本思想是每次迭代選擇一個與測量信號最匹配的、與當前冗余向量最大程度相關的某列進行正交化處理,求得稀疏逼近解,達到一定的閾值條件或迭代次數便可強制終止.
DNA計算以其超大規模和并行運算等特點被廣泛應用于密碼學中. DNA序列的4種脫氧核苷酸AGCT互補,若二進制數據00、01、10、11參照DNA的編碼方式,將會產生4!=24種編碼方式,再根據DNA的堿基互補規則,會有8種組合方式符合互補規則[11-13],如表1所示.

表1 DNA編碼規則Table 1 DNA coding rules
根據編碼規則1進行編碼組合,灰度值200二進制表示為11001000;若根據編碼規則4,其可以解碼成一個新的像素值147,可二進制表示為10010011. 因此,根據不同的編碼規則,可將灰度值解碼成不同的像素值. 在圖像加密時可將8 bit像素值轉化為2 bit的DNA序列進行運算. DNA序列的加減法運算是源于二進制數據的加減法運算,若采用第一種編碼方式對DNA進行加減運算,會產生如表2 和表3所示的結果.

表2 DNA加法運算Table 2 DNA addition

表3 DNA減法運算Table 3 DNA subtraction
8種不同的編碼方式會產生8種不同的運算規則,在進行加密時通常會利用參數來進行選擇8種編碼方式的一種或者是幾種混疊在一起進行加密,以達到擴散的目的.
帳篷映射是一種簡單且相對穩定的混沌映射[4],其表達式如下:
(2)
式中,μ∈(0,1),z(n)∈(0,1),n=1,2,…. 系統達到混沌狀態,與Logistic映射相比,基于混沌映射的系統具有良好的相關性且產生的隨機值分布更均勻[4],故本文的混沌部分選取帳篷映射實現.
為解決壓縮感知后產生的小數和負數導致的DNA編碼過程復雜且精度不夠問題,本文采用后稀疏化對圖像進行壓縮感知處理,即在解密過程中對密文圖像和測量矩陣稀疏化后調用OMP重構算法進行重構,再做逆稀疏化得到重構圖像.

圖2 基于CS與DNA編碼的圖像加密方案Fig.2 Image encryption scheme based on CS and DNA coding
(1)將大小為M×N的原始圖像I轉換為大小為N×N的矩陣(若M>N,將其分組表示成兩個N×N的圖像;反之,則將其補成N×N的圖像);
(2)調整產生測量矩陣算法中的參數(矩陣的行數M與列數N),產生一個適當的測量矩陣A;
(3)隨機選取一種編碼規則,將壓縮后的二維矩陣Y轉化為M行N列16 bit的二進制二維矩陣Y1;
(4)將Y1拆分為8個M行N列2 bit的二進制二維矩陣,并將8個矩陣分別轉化為8個1行M×N列2 bit的二進制序列,然后將 8個序列合并成一個M行8×N列2 bit的二進制矩陣Y2;
(5)利用帳篷映射產生一個1行8×M×N列2 bit的二進制序列(產生序列時參數可調)并將其轉換為M行8×N列的二維矩陣Z1,利用DNA編碼規則對矩陣Y2和Z1進行DNA配對加法/減法運算得到DNA擴散后的矩陣Z2;
(6)選取一種不同于步驟(3)的編碼規則,對矩陣Z2進行二次編碼,拆分轉置并進行進制轉換,得到新的M行N列的二維矩陣Z3即為加密后的矩陣.
(1)選取與加密過程對應的編碼規則對密文圖像做逆二次編碼,并拆分為8個M行N列2 bit的二進制二維矩陣,將8個矩陣先轉置再合并為一個M行8×N列2 bit的二進制矩陣Y′2;
(2)將Y′2與帳篷映射產生的矩陣Z1進行DNA配對減法/加法運算;
(3)對逆規則后的矩陣做逆編碼處理并合并矩陣做十進制轉換得到DNA解密后的矩陣Y′1;
(4)對矩陣Y′1和測量矩陣A做稀疏化處理并作為輸入調用OMP重構算法;
(5)對重構后的矩陣做逆稀疏化處理得到重構圖像.
為方便分析和對比,本文選取傳統的基于CS的圖像加密方案和基于DNA編碼的圖像加密方案用作對比實驗,采用256×256的三類灰度圖像(人物、動物、景物)作為實驗明文圖像,以MATMAB R2013b作為實驗仿真平臺對算法進行驗證. 在圖3中,A∈R200×256,A中d(稀疏度)=160,帳篷映射z(0)=0.85,μ=0.3.

圖3 混合加密的加密解密效果示意圖Fig.3 Schematic diagram of the encryption and decryption effects of mixed encryption
從圖3可以看出,本文所用加密算法對不同種類圖像(人物、動物、景物)的加密和解密沒有影響,圖像加密后完全類似于噪聲,視覺無法辨認,隱藏了原始信息. 加密后的圖像在外界無干擾的情況下可完全恢復原始圖像.
一般地,用峰值信噪比(peak signal to noise ratio,PSNR)通過量化的方法來衡量恢復的圖像品質. PSNR值是原圖像與被處理圖像之間的均方誤差相對于(2n-1)2的對數值,單位為dB:
(3)
式中,Pmax為圖像的最大像素值;I為原始圖像;I′為重構圖像;VMSE為I和I′的均方差. PSNR值高于40 dB,說明圖像重構質量非常接近原圖像;在30~40 dB,表示圖像失真但可接受;在20~30 dB,表示圖像重構質量差;低于20 dB,表示圖像不可接受. 從表4數據看,兩種單獨加密方案重構圖像的PSNR值均在30~40 dB,混合加密方案重構圖像PSNR值均高于40 dB,可知混合加密方案重構效果較好,重構圖像非常接近原圖像.

表4 重構圖像的PSNR值Table 4 PSNR values of reconstructed images
在圖像加密方案中,要求產生的密文圖像具有良好的統計特性. 相關性是衡量密文圖像抵抗統計學攻擊的標準,好的加密效果要求相鄰像素點的相關性盡可能地低. 相關性系數定義如下:
(4)
式中,K為隨機抽取的K對相鄰像素點,本實驗K=1 000;xi和yi是隨機選擇的相鄰像素值. 表5提供了原始圖像在3個方向上的相關性系數,表6、表7和表8分別提供了3種密碼方案的密文圖像在3個方向上的相關性系數. 數據表明,混合加密方案的密文圖像在3個方向上的相關性均較低,即密文圖像具有良好的統計特性.

表5 原始圖像相關性Table 5 Correlation of original images

表6 密文圖像對角線相關性Table 6 Diagonal correlation of ciphertext images

表7 密文圖像水平相關性Table 7 Horizontal correlation of ciphertext images

表8 密文圖像垂直相關性Table 8 Vertical correlation of ciphertext images
方案的抗猜測攻擊性是指攻擊者猜測的密鑰與真實密鑰存在一定的誤差,即密鑰的敏感性. 本文的抗攻擊性分析分為3個不同的條件進行:第一組將密鑰1(測量矩陣)中的系數d進行細微改變,由原來的d=160改為d=159來重構圖像,其他因素不變;第二組將密鑰2(帳篷映射產生的序列)中的初值由原來的z(0)=0.85改為z(0)=0.850 000 000 001來重構圖像,其他因素不變;第三組將第一組和第二組的組合聯立,即密鑰1和密鑰2同時改變,其他因素不變.
本文在分析時結合主觀的肉眼觀察和客觀的PSNR值來區分差距,如圖4所示,微調密鑰后的重構圖像與原始圖像差別極大. 由表9中的數據可知,第一組的PSNR值均低于20dB,說明重構圖像效果極差,已不能接受;第二組和第三組的PSNR值相差極小,且均小于第一組的PSNR值,說明圖像重構的效果更差. 實驗數據表明,本文的密鑰1和密鑰2均具有較好的敏感性,文中的加密算法能夠較好地抵抗來自密鑰的敏感性攻擊,即加密算法的抗猜測攻擊性強.

圖4 不同類型圖像的加密解密效果示意圖Fig.4 Schematic diagram of the encryption and decryption effects of different types of images

表9 3組實驗PSNR值Table 9 The PSNR of three experiments
本文基于壓縮感知理論與DNA編碼運算規則,提出了一種圖像加密方案,先對圖像進行后稀疏化的壓縮感知處理,再將壓縮后的矩陣轉換并拆分為多個2 bit二進制矩陣,使用DNA編碼運算規則和二次編碼實現對多個二進制矩陣的單獨加密,從而達到對圖像的像素擴散. 實驗結果表明,提出的加密方案重構效果較好,且能夠抵抗一些常見的攻擊.