孫鶴鵬,張曉強
(中國礦業大學 信息與控制工程學院,江蘇 徐州 221116)
多圖像加密作為一種新興多媒體安全技術,逐漸引起人們的關注。研究者們已提出一些基于光學信息處理系統的多圖像加密算法[1-5]。如:朱等提出了一種基于小波變換的多圖像加密算法[6];李等提出了一種基于級聯分數階傅里葉變換的多圖像加密算法[7]。然而,這些算法中的大部分都是基于變換域而設計的,并常與圖像壓縮技術結合。因此,解密圖像往往存在一些明顯的失真。唐等提出了一種基于位平面和混沌映射的多圖像加密算法[8]。然而,該算法每次只能加密四幅圖像。
為保障多圖像內容傳輸的安全性,結合混沌理論和DNA計算技術,提出了一種多圖像加密算法。實驗結果和算法分析表明:該算法加密效果良好,安全性高。
(1)DNA編碼
DNA序列由腺嘌呤(A)、鳥嘌呤(G)、胞嘧啶(C)和胸腺嘧啶(T)組成。其中,A與T互補,G與C互補[9]。在二進制中,0和1互補,00和11、10和01也互補,用A、C、G、T編碼00、01、10、11共有24種編碼方案,但只有8種編碼方案滿足DNA堿基間的互補規則,請參見文獻[10]。
通常,灰色圖像的像素值可用8個比特來表示。然而,使用DNA編碼規則,灰色圖像的像素值也可用4個DNA碼來表示。反之,根據給定DNA序列可得出相應的十進制像素值。
(2)DNA運算
DNA序列的加、減法運算是根據二進制系統中的加、減法運算得到的。根據DNA編碼規則1,DNA序列的加、減法運算,請參見文獻[10]。
二維Logistic混沌映射定義為

(1)
式中:r1,r2,s1和s2是用于控制二維Logistic混沌行為的系統參數。當2.75 安全散列算法(secure hash algorithm)既可用于數字簽名標準算法,也可為數據的完整性驗證服務[11]。SHA-256是一種安全散列算法,摘要長度為256比特。為增強明文敏感性,新算法利用SHA-256產生混沌系統的初始值,即使兩幅原始圖像只有一個比特的差別,它們的哈希值也會完全不同[11]。 將k幅原始圖像組合為一幅大圖像,根據組合圖像,利用SHA-256產生256比特哈希值K。以8比特為一個比特塊ki,則K可表示為 K=k1,k2,…,k32 (2) 二維Logistic映射的初始值可表示為 (3) (4) 新算法的加密流程,如圖1所示。首先,分別對k(k> 2)幅原始圖像進行DNA編碼;其次,利用二維Logistic映射產生的混沌序列,將DNA序列在k幅圖像間移動進行置亂;再次,將置亂圖像與二維Logistic映射產生的混沌圖像進行加法運算完成擴散過程;最后,進行DNA解碼,得到加密圖像。其中,二維Logistic映射初始值由2.1節方法產生。具體加密步驟為: 圖1 加密流程 步驟1 將k幅大小為m×n的原始圖像I1,I2,…,Ik組合為一幅大圖像。利用2.1節方法產生二維Logistic映射的初始值x0和y0。 步驟2 利用x0和y0,迭代二維Logistic映射4mn次,產生2個混沌序列X4mn和Y4mn。 步驟3 對I1,I2,…,Ik分別進行DNA編碼,得矩陣I11,I21,…,Ik1。 步驟4 計算 (5) 步驟5 置亂k幅DNA編碼圖像 (6) 式中:i=1,2,…,m和j=1,2,…,4n。 最后,可得置亂矩陣I12,I22,…,Ik2。 步驟6 按照一定規則,從Y4mn選取m×n個元素構成Zmn。計算 (7) 步驟7 對I12,I22,…,Ik2按照下式進行擴散得矩陣I13,I23,…,Ik3 It3(i,j)=It2(i,j)+C(i,j) (8) 式中:t=1,2,…,k,i=1,2,…,m和j=1,2,…,4n。 步驟8 對I13,I23,…,Ik3分別進行DNA解碼,得加密圖像E1,E2,…,Ek。 解密步驟為加密步驟的逆過程。 圖2 原始圖像 圖3 加密圖像 直方圖顯示了一幅圖像中像素值的分布情況,好的加密算法的加密圖像應該有均勻的直方圖。圖4和圖5分別為原始圖像和加密圖像的直方圖。從圖可看出:原始圖像的直方圖和對應加密圖像的直方圖完全不同,加密圖像的直方圖類似噪聲分布,從而掩蓋了原始圖像的統計特征。因此,攻擊者不能從加密圖像中發現有用的統計數據,這表明新算法可有效地抵抗統計攻擊。 圖4 原始圖像的直方圖 圖5 加密圖像的直方圖 根據如式(9),可計算原始圖像和加密圖像中相鄰像素的相關性rx,y (9) (10) (11) 其中,E(x)和D(x)分別為x的期望和方差。 選取圖像中多對相鄰像素,進行相關性分析。圖6為原始圖像Lena及其加密圖像的相關性分析。原始圖像和加密圖像的相關系數,見表1。實驗結果顯示:在原始圖像中,相鄰像素的相關系數均接近1,與此相對,在加密圖像中,相鄰像素的相關系數均趨近0。因此,新算法能夠破壞原始圖像相鄰像素的相關性,從而很好地保護原始圖像內容的安全。 圖6 原始圖像和加密圖像的相關性分析 表1 原始圖像和加密圖像的相關系數 圖7 錯誤解密圖像 像素數目改變率和平均強度變化率是圖像加密學者進行差分攻擊分析的兩個常見指標。兩個指標值越大,表明該加密算法對明文變化越敏感,算法抵制差分攻擊的能力越強。它們定義分別如式(13)和示(14)所示 (12) (13) (14) 其中,I′(i,j)和I″(i,j)分別為原始圖像修改前后對應的加密圖像。 在實驗中,隨機選取原始圖像Lena中的任選一個像素,如I(1,1)=158。為測試新算法抵制差分攻擊的能力,將該像素的像素值改為200。加密圖像的像素數目改變率和平均強度變化率,見表2。從表中數據可看出:即使對原始圖像做出輕微的改動,也會對加密圖像造成巨大的影響。同時,也說明新算法具有良好的抵制差分攻擊的能力。 表2 加密圖像的NPCR和UACI 信息熵能夠反映一幅灰色圖像像素灰度值的分布狀況。如果像素灰度值分布較為水平一致,那么該圖像的信息熵就會較大。一幅理想的隨機圖像,所有灰度級出現的概率完全相等。此時,可計算出信息熵為8。因此,當加密圖像的信息熵越接近8時,說明圖像像素值改變的越充分,加密效果越好[13]。信息熵定義為 (15) 表3 加密圖像的信息熵 在唐算法[8]中,4幅加密圖像被視為PNG圖像的紅、綠、藍和阿爾法分量。因此,該算法每次只能加密4幅原始圖像。然而,新算法每次能加密多幅原始圖像,具體數目根據用戶需求來確定。因此,新算法在加密圖像數目上優于唐算法[8]。 張算法[14]僅置亂了圖像塊位置,沒有進行擴散操作。因此,張算法適用于加密效率要求高,而安全性要求相對不太高的應用場景中[14]。然而,新算法進行了置亂和擴散操作。同時,隨著加密圖像數目的增加,新算法的置亂過程效果會更好,安全性更高。因此,新算法在安全性上優于張算法[14]。 結合DNA和二維Logistic映射,提出了一種多圖像加密算法。該算法每次可加密多幅圖像。與兩種類似算法對比表明:新算法具有一定的優勢。實驗結果和算法分析表明:新算法足以抵抗蠻力、差分、統計和選擇明文等攻擊,安全性高。未來,隨著DNA技術的發展,新算法在加密效率上的優勢將得到充分體現。1.3 安全散列算法
2 加密算法
2.1 混沌映射初始值的產生

2.2 加密步驟





2.3 解密步驟
3 仿真實驗



4 算法分析
4.1 密鑰空間分析

4.2 直方圖分析


4.3 相關性分析


4.4 密鑰敏感性分析


4.5 差分攻擊分析


4.6 信息熵分析


5 與類似算法對比分析
5.1 輸入圖像數目分析
5.2 安全性分析
6 結束語