魏志軍,林國(guó)璋
(1.北京理工大學(xué)珠海學(xué)院,廣東 珠海 519088;2.北京理工大學(xué),北京 100081)
近些年,信息安全獲得了巨大的發(fā)展。混沌系統(tǒng)[1]在信息安全領(lǐng)域應(yīng)用非常廣泛。其主要原因是混沌系統(tǒng)具有較好的隨機(jī)特性[2],且對(duì)參數(shù)和初值具有不可預(yù)測(cè)性。如果觀察者能夠掌握足夠多的初始條件,那么系統(tǒng)的行為是可以預(yù)測(cè)的,沒(méi)有這些信息時(shí),系統(tǒng)表現(xiàn)出隨機(jī)性。隨機(jī)行為可以用來(lái)誘導(dǎo)明文圖像中的混亂和擴(kuò)散[3],從而使數(shù)據(jù)所有者在不安全的通信信道中安全地傳遞信息。因此,基于混沌系統(tǒng)的圖像加密逐漸成為研究熱點(diǎn)[4]。
已經(jīng)有很多相關(guān)研究,如文獻(xiàn)[5]在移位變換的基礎(chǔ)上,修改了高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard, AES),采用濾波器組密碼來(lái)檢查圖像加密的安全性。該方法在抵御攻擊方面表現(xiàn)較好,且統(tǒng)計(jì)性能也表現(xiàn)較好。
文獻(xiàn)[6]討論了基于分塊的轉(zhuǎn)換方法,其圖像分為多個(gè)塊,在進(jìn)行加密處理前將這些分塊進(jìn)行轉(zhuǎn)換。該方法的主要優(yōu)勢(shì)是在加密和解密過(guò)程中重新生成原始圖像,而不會(huì)丟失信息。模擬結(jié)果表明該方法具有良好的混亂性和擴(kuò)散性,以及大的密鑰空間。
文獻(xiàn)[7]提出的混沌圖像加密方法使用了仿射模塊映射,置換過(guò)程中利用兩個(gè)仿射模塊映射[8],以達(dá)到置亂圖像像素位置的目標(biāo)。其擴(kuò)散過(guò)程采用了另外兩個(gè)仿射模塊映射。
文獻(xiàn)[9]提出了使用彩色映射和在bit級(jí)翻轉(zhuǎn)空間混沌(Spatial Chaos at Bit Level Flipping, SCBLP)。該方法使用邏輯混沌序列以打亂圖像像素的位置,接著將其轉(zhuǎn)換為紅、綠、藍(lán)的二進(jìn)制矩陣分量。該方法的缺點(diǎn)是加密復(fù)雜度較高,難以獲得足夠大的密鑰空間來(lái)抵御普通攻擊。
本文加密系統(tǒng)使用混沌Arnold映射和改進(jìn)的獨(dú)立成分分析(ICA)的混合矩陣形式,是一種簡(jiǎn)單高效的方法。主要工作總結(jié)如下:1)通過(guò)插入任意維度的圖像,從混沌ACM中生成混合矩陣,使用混合矩陣和源圖像實(shí)施混合過(guò)程;2)使用ICA方法對(duì)圖像解密,即聯(lián)合近似特征矩陣對(duì)角化JADE方法。
根據(jù)Arnold變換,被轉(zhuǎn)換的原始圖像像素是隨機(jī)的。然而,如果迭代次數(shù)足夠多,最終可以重現(xiàn)原始圖像。這一迭代次數(shù)即被稱(chēng)作Arnold周期。該周期取決于圖像大小,即圖像的大小不同,Arnold周期也不相同[10]。
(1)
式(1)被用于轉(zhuǎn)換圖像的每一個(gè)像素坐標(biāo),當(dāng)所有坐標(biāo)均被轉(zhuǎn)換,則該圖像變?yōu)橐粋€(gè)置亂圖像。在迭代的某一個(gè)步驟,如果得出的圖像達(dá)到預(yù)期目標(biāo)(密鑰),即為得到置亂圖像。圖像的解密依賴(lài)于轉(zhuǎn)換周期,即需要進(jìn)行的迭代數(shù)目= Arnold周期—密鑰[10]。
獨(dú)立成分分析[11](Independent Component Analysis, ICA)一般定義為觀測(cè)到的多變量數(shù)據(jù)的生成模型。該數(shù)據(jù)通常作為一個(gè)樣本大數(shù)據(jù)庫(kù)給出。在此模型中,數(shù)據(jù)變量被定義為一些隱藏未知變量的線(xiàn)性或非線(xiàn)性的混合,且混合系統(tǒng)同樣未知。假定非高斯?jié)撛谧兞勘舜讼嗷オ?dú)立,即觀測(cè)數(shù)據(jù)的獨(dú)立成分[12]。
基本線(xiàn)性模型將不可見(jiàn)的源圖像與觀測(cè)圖像相聯(lián)系:
x(t)=As(t)
(2)
式中:s(t)=[s1(t),…,sm(t)]T是一個(gè)m×1列向量,采集于源圖像,相似向量x(t)采集觀測(cè)到的信號(hào),A為未知混合系數(shù)的n×m矩陣,n≥m,t為時(shí)間指數(shù)。該模型的混合矩陣包含固定元素,并且沒(méi)有噪聲。
為了從觀測(cè)混合圖像中恢復(fù)原始源圖像,本文使用一個(gè)簡(jiǎn)單的線(xiàn)性分離系統(tǒng):
y(t)=Bx(t)
(3)
式中:y(t)=[y1(t),…,ym(t)]T為一個(gè)估計(jì)的s(t),B為一個(gè)n×n(假設(shè)n=m)分離矩陣,如圖1所示,這是一個(gè)線(xiàn)性分離系統(tǒng),將不可見(jiàn)的源圖像與觀測(cè)圖像相聯(lián)系。其中,觀測(cè)數(shù)據(jù)x(t),估計(jì)源圖像y(t)。
圖1 混合和分離部分圖示
在ICA的使用中,有兩種不同的方法,離線(xiàn)處理和在線(xiàn)方法。本文關(guān)注于使用JADE方法的批處理方法,通過(guò)以下兩個(gè)階段,以一種常見(jiàn)的方法批處理ICA方法[13]:
(1) 去相關(guān)化。本階段目的是將輸入信號(hào)的協(xié)方差矩陣進(jìn)行對(duì)角化,通過(guò)計(jì)算樣本協(xié)方差矩陣完成,給出觀測(cè)輸出的二階統(tǒng)計(jì)量,即通過(guò)特征分解對(duì)矩陣進(jìn)行計(jì)算。
(2) 旋轉(zhuǎn)。本階段降低了高階統(tǒng)計(jì)量的度量,這將確保非高斯輸出信號(hào)盡可能的統(tǒng)計(jì)獨(dú)立。很顯然,此階段可以通過(guò)一個(gè)旋轉(zhuǎn)酉矩陣進(jìn)行,以提供較高階的獨(dú)立性。并且尋找一個(gè)旋轉(zhuǎn)矩陣,由對(duì)角化特征矩陣從白化數(shù)據(jù)的四階累計(jì)量中獲得。本階段的輸出為獨(dú)立成分。
去相關(guān)性和旋轉(zhuǎn)取決于非高斯信號(hào)的測(cè)量,對(duì)于高斯信號(hào),較高階統(tǒng)計(jì)已經(jīng)為零,通過(guò)ICA方法不能得到有意義的分離。對(duì)于非高斯隨機(jī)信號(hào),其含義是不僅信號(hào)應(yīng)該不相關(guān),而且較高階的交叉統(tǒng)計(jì)應(yīng)為零[14]。
本文提出的系統(tǒng)有兩個(gè)階段,首先使用混沌函數(shù)和Arnold映射加密,然后使用JADE方法恢復(fù)原始圖像,其中JADE主要用于離線(xiàn)批處理。
加密方法的步驟如下:
步驟1:首先假設(shè)高為M,寬為N的原圖像I為一維向量P,長(zhǎng)度L=M×N,向量中元素大小為1比特位。
步驟3:在所提方法中,一般丟棄公式(4)和公式(5)在計(jì)算過(guò)程中的前δr次迭代。該變量中循環(huán)變量為r,其取值可能性為r=1,2,3,…,R。經(jīng)驗(yàn)表明,δr的取值范圍為(300,600)。通常來(lái)說(shuō),該區(qū)間的上界增加了總的密鑰取值范圍,也就是說(shuō),加密和解密的時(shí)間增加了。
xi+1=λ1xi(1-xi),i≥0
(4)
yi+1=λ2yi(1-yi),i≥0
(5)
式中,xi+1和yi+1為狀態(tài)值,i=1,2,...;λ1和λ2為確定映射混沌行為的參數(shù),且作為加密系統(tǒng)密鑰的一部分。x0和y0為0到1之間的初始化種子,通過(guò)迭代式(2)和式(3),xi+1和yi+1的值介于0和1之間。公式(4)用于交換像素位置,公式(5)用于修改像素強(qiáng)度值。
步驟4:這里首先使用循環(huán)變量i處理向量P,范i的取值范圍是(1,L-2)。接著,從向量中提取元素,與下式的第2項(xiàng)異或運(yùn)算。
(6)
步驟5:公式(3)的值投影到區(qū)間[2,255],接著將投影值與V1異或運(yùn)算,獲得結(jié)果值為V2:
(7)
以上工作是獲得擴(kuò)散過(guò)程的必需過(guò)程,一般情況下,為了獲得加密圖像均衡化的結(jié)果,迭代數(shù)次即可。本文進(jìn)行異或運(yùn)算,使得隨機(jī)性更大,獲得的像素灰度值變化較大,達(dá)到了混沌變化的效果。
步驟6:異或運(yùn)算獲得的比特位如下:
V3=V2⊕Pr[i-1]
(8)
(9)
上述兩個(gè)步驟的目的是增加明文的敏感性,使得方法對(duì)已知明文攻擊和選擇明文攻擊具有較好的抵御特性。
步驟8:為了使以上步驟生效,進(jìn)行如下操作:
(10)
步驟9:獲得混合矩陣A,應(yīng)用公式(1)為圖像加密。
解密方法的步驟主要是應(yīng)用JADE方法,總結(jié)如下:
本文提出的加密系統(tǒng)采用Dell Laptop平臺(tái),Windows7操作系統(tǒng),處理器為酷睿2雙核,2 GB內(nèi)存,采用MATLAB2011b編程。
直方圖分析是一個(gè)非常重要的特征,直方圖可以表現(xiàn)圖像中灰度值的頻率分布。一個(gè)安全加密方法生成的圖像應(yīng)該具有均勻的直方圖,這樣可以提高抵抗統(tǒng)計(jì)分析的能力。本文分析了一些明文圖像的直方圖以及其加密圖像。“麗娜”、“攝影師”、“船”、“機(jī)場(chǎng)”的明文圖像及其直方圖如圖2所示?!胞惸取?、“攝影師”、“船”、“機(jī)場(chǎng)”的加密圖像及其直方圖如圖3所示。從中可以發(fā)現(xiàn),加密圖像的直方圖幾乎是均勻一致的,并與普通圖像的直方圖完全不同。因此,本文提出的方法可以抵抗任何的統(tǒng)計(jì)攻擊。
圖2 明文圖像及其直方圖
圖3 加密圖像及其直方圖
圖像的對(duì)比度可被定義為一個(gè)圖像中亮部和暗部間的亮度差分。事實(shí)上,對(duì)比度表示一個(gè)圖像中的亮度分布。在視覺(jué)上,對(duì)比度被解釋為圖像亮度直方圖的擴(kuò)散。對(duì)比度如下式:
(11)
式中,p(i,j)是灰度共生矩陣的數(shù)目。采用本文方法和其他方法加密圖像的對(duì)比度結(jié)果如表1所示,由表1可知,本文方法的對(duì)比度在大多數(shù)情況下均表現(xiàn)出高于其他方法的對(duì)比度,其平均對(duì)比度也較高?;谠摻Y(jié)果,可以得出結(jié)論:本文方法在加密圖像中生成隨機(jī)性的有效性較高。與其他方法相比,所提方法具有更高的對(duì)比度,而文獻(xiàn)[5,7]中提出的方法的對(duì)比度值大致相同。
表1 本文方法與同類(lèi)方法的對(duì)比度比較
信息熵是圖像加密的重要評(píng)估標(biāo)準(zhǔn)[15]。信息熵的具體定義如下:
(12)
式中,p(xi)表示像素xi的出現(xiàn)概率,像素總數(shù)量為K。理想狀態(tài)下,熵的理論值為8,這種情況下,必須滿(mǎn)足像素出現(xiàn)的概率相等。一般信息熵越高表示圖像的信息量越大,反之越少。加密圖像的信息熵分析如表2所示,由表2可知所有加密圖像后的熵值接近8,所提加密方法平均熵值為7.997,與其他文獻(xiàn)方法相比,在大多數(shù)情況下,本文方法熵值更高,平均熵值也較高,因此,所提加密方法在抵御熵攻擊性能方面更高。
表2 加密圖像的信息熵分析
部分實(shí)驗(yàn)結(jié)果如表3所示,為了給出客觀質(zhì)量評(píng)估模型的性能的量化度量,本文采用性能評(píng)估標(biāo)準(zhǔn)有:信號(hào)失真比(SDR)、結(jié)構(gòu)相似度指數(shù)(SSIM)和峰值信噪比(PSNR),其定義如下:
SDR評(píng)估分離信號(hào)的質(zhì)量。SDR值越高,則信號(hào)越好。SDR以分貝(dB)為單位,其計(jì)算公式如下:
(13)
結(jié)構(gòu)相似度(Structural Similarity, SSIM)指數(shù)是一種度量?jī)蓚€(gè)圖像之間的相似性的方法,體現(xiàn)了目標(biāo)結(jié)構(gòu)的重要信息,其取值范圍在0和1之間,只有兩個(gè)圖像完全相同的情況下,其值才為1。在尺寸為N×N的兩個(gè)窗口x和y間的定義如下:
(14)
峰值信噪比(Peak Signal to Noise Ratio, PSNR)可以表征圖像的優(yōu)劣,PSNR值越高,則圖像質(zhì)量越好,即獲得的解密圖像結(jié)果越好。
(15)
(16)
式中:I(x,y)為原始圖像,I′(x,y)為估計(jì)圖像,圖像尺寸大小為M×N。
本文采用了不同的圖片和不同的尺寸,有128×128和512×512兩種尺寸??梢钥闯霰疚姆椒M(mǎn)足一般性要求,加密的密碼性良好。一些圖像實(shí)例如圖4所示,可以看出加密部分和解密圖像,解密出來(lái)的圖像基本保持了大部分圖像信息。在加密過(guò)程紅,為了達(dá)到混沌變化的效果,使得隨機(jī)性更大,一般將彩色圖像轉(zhuǎn)化為灰度圖像進(jìn)行異或運(yùn)算,解密獲得的圖像也是灰度圖像。因此,圖4的第1行和第2行彩色圖像解密的結(jié)果為灰度圖像。
圖4 本文方法的測(cè)試樣本
表3 本文方法的評(píng)估結(jié)果
圖像尺寸圖像編號(hào)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
為了更進(jìn)一步研究,本文使用像素?cái)?shù)變化率(Number of Pixel Change Rate, NPCR)[16]、統(tǒng)一的平均改變強(qiáng)度(Unified Average Change Intensity,UACI)[16]、相關(guān)的加密吞吐量(ET,單位:MBps)和循環(huán)次數(shù)(NC)作為評(píng)估標(biāo)準(zhǔn)。
NCPR和UACI可測(cè)試明文圖像上一個(gè)比特位改變的影響,定義如下:
(17)
(18)
式中,C1和C2表示兩幅加密圖像。W表示加密圖像的寬,H表示加密圖像的高。C1(i,j)和表示加密圖像C1在(i,j)處的像素灰度值(有可能是彩色),C2(i,j)表示加密圖像C2在(i,j)的像素灰度值(有可能是彩色)。性能評(píng)估結(jié)果如表4所示。由于不同方法所運(yùn)行的硬件和軟件平臺(tái)具有一定差異,因此比較直接比較運(yùn)行時(shí)間可能不是很準(zhǔn)確,因此在相近的軟硬件配置下比較運(yùn)行時(shí)間,或者直接比較循環(huán)數(shù)量是較為切實(shí)可行的性能比較方法。由表4可知,所提方法的NC循環(huán)數(shù)量最小,運(yùn)行效率最高,比文獻(xiàn)[5,7]快了近三倍。
表4 利用ET和NC比較一些方法的性能
本文通過(guò)獨(dú)立成分分析和混沌Arnold映射矩陣相結(jié)合,提出了一種加密系統(tǒng),實(shí)驗(yàn)結(jié)果表明本文方法取得了較好的加密效果,從直方圖分析、對(duì)比度分析和信息熵分析可以看出本文方法可以成功抵御熵攻擊和統(tǒng)計(jì)攻擊等,從加密和解密的效果看,完全滿(mǎn)足加密方法的密碼性要求。未來(lái)本文將詳細(xì)研究ACM發(fā)生器矩陣的強(qiáng)度,并在加密和解密過(guò)程中分析其影響。