?

利用混沌Arnold映射的改進圖像加密方法

2019-08-02 09:57魏志軍林國璋
中國電子科學研究院學報 2019年4期
關鍵詞:明文直方圖解密

魏志軍,林國璋

(1.北京理工大學珠海學院,廣東 珠海 519088;2.北京理工大學,北京 100081)

0 引 言

近些年,信息安全獲得了巨大的發展?;煦缦到y[1]在信息安全領域應用非常廣泛。其主要原因是混沌系統具有較好的隨機特性[2],且對參數和初值具有不可預測性。如果觀察者能夠掌握足夠多的初始條件,那么系統的行為是可以預測的,沒有這些信息時,系統表現出隨機性。隨機行為可以用來誘導明文圖像中的混亂和擴散[3],從而使數據所有者在不安全的通信信道中安全地傳遞信息。因此,基于混沌系統的圖像加密逐漸成為研究熱點[4]。

已經有很多相關研究,如文獻[5]在移位變換的基礎上,修改了高級加密標準(Advanced Encryption Standard, AES),采用濾波器組密碼來檢查圖像加密的安全性。該方法在抵御攻擊方面表現較好,且統計性能也表現較好。

文獻[6]討論了基于分塊的轉換方法,其圖像分為多個塊,在進行加密處理前將這些分塊進行轉換。該方法的主要優勢是在加密和解密過程中重新生成原始圖像,而不會丟失信息。模擬結果表明該方法具有良好的混亂性和擴散性,以及大的密鑰空間。

文獻[7]提出的混沌圖像加密方法使用了仿射模塊映射,置換過程中利用兩個仿射模塊映射[8],以達到置亂圖像像素位置的目標。其擴散過程采用了另外兩個仿射模塊映射。

文獻[9]提出了使用彩色映射和在bit級翻轉空間混沌(Spatial Chaos at Bit Level Flipping, SCBLP)。該方法使用邏輯混沌序列以打亂圖像像素的位置,接著將其轉換為紅、綠、藍的二進制矩陣分量。該方法的缺點是加密復雜度較高,難以獲得足夠大的密鑰空間來抵御普通攻擊。

本文加密系統使用混沌Arnold映射和改進的獨立成分分析(ICA)的混合矩陣形式,是一種簡單高效的方法。主要工作總結如下:1)通過插入任意維度的圖像,從混沌ACM中生成混合矩陣,使用混合矩陣和源圖像實施混合過程;2)使用ICA方法對圖像解密,即聯合近似特征矩陣對角化JADE方法。

1 提出的加密系統

1.1 Arnold映射(ACM)

根據Arnold變換,被轉換的原始圖像像素是隨機的。然而,如果迭代次數足夠多,最終可以重現原始圖像。這一迭代次數即被稱作Arnold周期。該周期取決于圖像大小,即圖像的大小不同,Arnold周期也不相同[10]。

(1)

式(1)被用于轉換圖像的每一個像素坐標,當所有坐標均被轉換,則該圖像變為一個置亂圖像。在迭代的某一個步驟,如果得出的圖像達到預期目標(密鑰),即為得到置亂圖像。圖像的解密依賴于轉換周期,即需要進行的迭代數目= Arnold周期—密鑰[10]。

1.2 獨立成分分析(ICA)

獨立成分分析[11](Independent Component Analysis, ICA)一般定義為觀測到的多變量數據的生成模型。該數據通常作為一個樣本大數據庫給出。在此模型中,數據變量被定義為一些隱藏未知變量的線性或非線性的混合,且混合系統同樣未知。假定非高斯潛在變量彼此相互獨立,即觀測數據的獨立成分[12]。

基本線性模型將不可見的源圖像與觀測圖像相聯系:

x(t)=As(t)

(2)

式中:s(t)=[s1(t),…,sm(t)]T是一個m×1列向量,采集于源圖像,相似向量x(t)采集觀測到的信號,A為未知混合系數的n×m矩陣,n≥m,t為時間指數。該模型的混合矩陣包含固定元素,并且沒有噪聲。

為了從觀測混合圖像中恢復原始源圖像,本文使用一個簡單的線性分離系統:

y(t)=Bx(t)

(3)

式中:y(t)=[y1(t),…,ym(t)]T為一個估計的s(t),B為一個n×n(假設n=m)分離矩陣,如圖1所示,這是一個線性分離系統,將不可見的源圖像與觀測圖像相聯系。其中,觀測數據x(t),估計源圖像y(t)。

圖1 混合和分離部分圖示

在ICA的使用中,有兩種不同的方法,離線處理和在線方法。本文關注于使用JADE方法的批處理方法,通過以下兩個階段,以一種常見的方法批處理ICA方法[13]:

(1) 去相關化。本階段目的是將輸入信號的協方差矩陣進行對角化,通過計算樣本協方差矩陣完成,給出觀測輸出的二階統計量,即通過特征分解對矩陣進行計算。

(2) 旋轉。本階段降低了高階統計量的度量,這將確保非高斯輸出信號盡可能的統計獨立。很顯然,此階段可以通過一個旋轉酉矩陣進行,以提供較高階的獨立性。并且尋找一個旋轉矩陣,由對角化特征矩陣從白化數據的四階累計量中獲得。本階段的輸出為獨立成分。

去相關性和旋轉取決于非高斯信號的測量,對于高斯信號,較高階統計已經為零,通過ICA方法不能得到有意義的分離。對于非高斯隨機信號,其含義是不僅信號應該不相關,而且較高階的交叉統計應為零[14]。

1.3 加密與解密

本文提出的系統有兩個階段,首先使用混沌函數和Arnold映射加密,然后使用JADE方法恢復原始圖像,其中JADE主要用于離線批處理。

加密方法的步驟如下:

步驟1:首先假設高為M,寬為N的原圖像I為一維向量P,長度L=M×N,向量中元素大小為1比特位。

步驟3:在所提方法中,一般丟棄公式(4)和公式(5)在計算過程中的前δr次迭代。該變量中循環變量為r,其取值可能性為r=1,2,3,…,R。經驗表明,δr的取值范圍為(300,600)。通常來說,該區間的上界增加了總的密鑰取值范圍,也就是說,加密和解密的時間增加了。

xi+1=λ1xi(1-xi),i≥0

(4)

yi+1=λ2yi(1-yi),i≥0

(5)

式中,xi+1和yi+1為狀態值,i=1,2,...;λ1和λ2為確定映射混沌行為的參數,且作為加密系統密鑰的一部分。x0和y0為0到1之間的初始化種子,通過迭代式(2)和式(3),xi+1和yi+1的值介于0和1之間。公式(4)用于交換像素位置,公式(5)用于修改像素強度值。

步驟4:這里首先使用循環變量i處理向量P,范i的取值范圍是(1,L-2)。接著,從向量中提取元素,與下式的第2項異或運算。

(6)

步驟5:公式(3)的值投影到區間[2,255],接著將投影值與V1異或運算,獲得結果值為V2:

(7)

以上工作是獲得擴散過程的必需過程,一般情況下,為了獲得加密圖像均衡化的結果,迭代數次即可。本文進行異或運算,使得隨機性更大,獲得的像素灰度值變化較大,達到了混沌變化的效果。

步驟6:異或運算獲得的比特位如下:

V3=V2⊕Pr[i-1]

(8)

(9)

上述兩個步驟的目的是增加明文的敏感性,使得方法對已知明文攻擊和選擇明文攻擊具有較好的抵御特性。

步驟8:為了使以上步驟生效,進行如下操作:

(10)

步驟9:獲得混合矩陣A,應用公式(1)為圖像加密。

解密方法的步驟主要是應用JADE方法,總結如下:

2 實驗結果與分析

本文提出的加密系統采用Dell Laptop平臺,Windows7操作系統,處理器為酷睿2雙核,2 GB內存,采用MATLAB2011b編程。

2.1 直方圖分析

直方圖分析是一個非常重要的特征,直方圖可以表現圖像中灰度值的頻率分布。一個安全加密方法生成的圖像應該具有均勻的直方圖,這樣可以提高抵抗統計分析的能力。本文分析了一些明文圖像的直方圖以及其加密圖像?!胞惸取?、“攝影師”、“船”、“機場”的明文圖像及其直方圖如圖2所示?!胞惸取?、“攝影師”、“船”、“機場”的加密圖像及其直方圖如圖3所示。從中可以發現,加密圖像的直方圖幾乎是均勻一致的,并與普通圖像的直方圖完全不同。因此,本文提出的方法可以抵抗任何的統計攻擊。

圖2 明文圖像及其直方圖

圖3 加密圖像及其直方圖

2.2 對比度分析

圖像的對比度可被定義為一個圖像中亮部和暗部間的亮度差分。事實上,對比度表示一個圖像中的亮度分布。在視覺上,對比度被解釋為圖像亮度直方圖的擴散。對比度如下式:

(11)

式中,p(i,j)是灰度共生矩陣的數目。采用本文方法和其他方法加密圖像的對比度結果如表1所示,由表1可知,本文方法的對比度在大多數情況下均表現出高于其他方法的對比度,其平均對比度也較高?;谠摻Y果,可以得出結論:本文方法在加密圖像中生成隨機性的有效性較高。與其他方法相比,所提方法具有更高的對比度,而文獻[5,7]中提出的方法的對比度值大致相同。

表1 本文方法與同類方法的對比度比較

2.3 信息熵分析

信息熵是圖像加密的重要評估標準[15]。信息熵的具體定義如下:

(12)

式中,p(xi)表示像素xi的出現概率,像素總數量為K。理想狀態下,熵的理論值為8,這種情況下,必須滿足像素出現的概率相等。一般信息熵越高表示圖像的信息量越大,反之越少。加密圖像的信息熵分析如表2所示,由表2可知所有加密圖像后的熵值接近8,所提加密方法平均熵值為7.997,與其他文獻方法相比,在大多數情況下,本文方法熵值更高,平均熵值也較高,因此,所提加密方法在抵御熵攻擊性能方面更高。

表2 加密圖像的信息熵分析

2.4 客觀質量量化度量

部分實驗結果如表3所示,為了給出客觀質量評估模型的性能的量化度量,本文采用性能評估標準有:信號失真比(SDR)、結構相似度指數(SSIM)和峰值信噪比(PSNR),其定義如下:

SDR評估分離信號的質量。SDR值越高,則信號越好。SDR以分貝(dB)為單位,其計算公式如下:

(13)

結構相似度(Structural Similarity, SSIM)指數是一種度量兩個圖像之間的相似性的方法,體現了目標結構的重要信息,其取值范圍在0和1之間,只有兩個圖像完全相同的情況下,其值才為1。在尺寸為N×N的兩個窗口x和y間的定義如下:

(14)

峰值信噪比(Peak Signal to Noise Ratio, PSNR)可以表征圖像的優劣,PSNR值越高,則圖像質量越好,即獲得的解密圖像結果越好。

(15)

(16)

式中:I(x,y)為原始圖像,I′(x,y)為估計圖像,圖像尺寸大小為M×N。

本文采用了不同的圖片和不同的尺寸,有128×128和512×512兩種尺寸??梢钥闯霰疚姆椒M足一般性要求,加密的密碼性良好。一些圖像實例如圖4所示,可以看出加密部分和解密圖像,解密出來的圖像基本保持了大部分圖像信息。在加密過程紅,為了達到混沌變化的效果,使得隨機性更大,一般將彩色圖像轉化為灰度圖像進行異或運算,解密獲得的圖像也是灰度圖像。因此,圖4的第1行和第2行彩色圖像解密的結果為灰度圖像。

圖4 本文方法的測試樣本

表3 本文方法的評估結果

圖像尺寸圖像編號PSNRSDRSSIM128×1281.40.815514.4710.86422.39.01381.47800.48503.37.87413.93660.24544.40.44555.45440.6080512×5121.39.20452.60920.63562.41.26193.43200.61083.40.59123.91580.69074.39.30793.39560.2165

2.5 計算復雜度分析

為了更進一步研究,本文使用像素數變化率(Number of Pixel Change Rate, NPCR)[16]、統一的平均改變強度(Unified Average Change Intensity,UACI)[16]、相關的加密吞吐量(ET,單位:MBps)和循環次數(NC)作為評估標準。

NCPR和UACI可測試明文圖像上一個比特位改變的影響,定義如下:

(17)

(18)

式中,C1和C2表示兩幅加密圖像。W表示加密圖像的寬,H表示加密圖像的高。C1(i,j)和表示加密圖像C1在(i,j)處的像素灰度值(有可能是彩色),C2(i,j)表示加密圖像C2在(i,j)的像素灰度值(有可能是彩色)。性能評估結果如表4所示。由于不同方法所運行的硬件和軟件平臺具有一定差異,因此比較直接比較運行時間可能不是很準確,因此在相近的軟硬件配置下比較運行時間,或者直接比較循環數量是較為切實可行的性能比較方法。由表4可知,所提方法的NC循環數量最小,運行效率最高,比文獻[5,7]快了近三倍。

表4 利用ET和NC比較一些方法的性能

3 結 語

本文通過獨立成分分析和混沌Arnold映射矩陣相結合,提出了一種加密系統,實驗結果表明本文方法取得了較好的加密效果,從直方圖分析、對比度分析和信息熵分析可以看出本文方法可以成功抵御熵攻擊和統計攻擊等,從加密和解密的效果看,完全滿足加密方法的密碼性要求。未來本文將詳細研究ACM發生器矩陣的強度,并在加密和解密過程中分析其影響。

猜你喜歡
明文直方圖解密
符合差分隱私的流數據統計直方圖發布
炫詞解密
解密“一包三改”
基于FPGA的直方圖均衡圖像增強算法設計及實現
炫詞解密
用直方圖控制畫面影調
奇怪的處罰
中考頻數分布直方圖題型展示
奇怪的處罰
奇怪的處罰
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合