陳樹彬
(韓山師范學(xué)院,廣東 潮州 521000)
hssycsb@vip.163.com
圖像是信息交流的重要載體,大數(shù)據(jù)時代中圖像的產(chǎn)生數(shù)量呈幾何倍增長,圖像的使用范圍越來越廣,而日益多發(fā)的網(wǎng)絡(luò)安全事件引發(fā)了學(xué)者對圖像傳輸安全的關(guān)注,這使得對海量圖像進行加密的重要性日益凸顯。作為20 世紀(jì)的重要發(fā)現(xiàn)之一,混沌系統(tǒng)由于其自身的不確定性、偽隨機性以及對初始加密參數(shù)的敏感性等特點,具備了應(yīng)用于圖像加密的天然條件。1979 年,F(xiàn)RIDRICH第一次將混沌系統(tǒng)應(yīng)用到了圖像加密中,由此開啟了混沌加密在圖像加密領(lǐng)域的研究。CHEN等在二維混沌Cat映射的基礎(chǔ)上將之推廣到三維,形成了一個基于對稱圖像的加密方案,該算法是先以Cat映射對原圖像像素進行置亂,再將明文圖像與密文圖像之間的關(guān)系進行打亂。HUA等則是用兩層混沌映射產(chǎn)生混沌序列來設(shè)計圖像加密算法,取得更為理想的加密效果。之后PAK利用Logistic、Sine和Chebyshev映射,先是對明文圖像利用混沌生成序列進行置亂,再進行擴散操作,并將得到的密文循環(huán)左移。
針對各種混沌加密算法在圖像加密領(lǐng)域的應(yīng)用,其算法的安全性、魯棒性等性能的好壞是衡量算法可行性的重要特征,下面將給出幾個定量對圖像加密系統(tǒng)的安全性能進行分析和測試的指標(biāo)。
混沌加密在圖像加密上的應(yīng)用能夠使得在獲取加密圖像后,直接感受為毫無意義的偽隨機圖像,且通過任何手段均提取不到任何有關(guān)明文的信息;攻擊者利用各種密碼分析方法均仍難以得到任何有效的信息?;煦缦到y(tǒng)加解密圖像流程圖如圖1所示,混沌圖像加密方法通常將混沌系統(tǒng)作為偽隨機序列發(fā)生器,生成的偽隨機序列作為密鑰序列與明文進行加密運算從而得到隨機的密文。研究表明,借助混沌系統(tǒng)產(chǎn)生密鑰序列在安全性和簡便性等方面都有較好的表現(xiàn)。
圖1 混沌系統(tǒng)加解密圖像流程圖Fig.1 Flow chart of chaotic system encryption and decryption image
對混沌圖像加密算法的安全性以及魯棒性等方面進行綜合評價,是考查一個加密算法是否適應(yīng)于實際應(yīng)用的重要過程。因此,算法評價也是一個重要的研究內(nèi)容,以下將分別就算法各方面性能定量指標(biāo)進行詳細(xì)說明。
圖像是安全性分析的一個重要工具,其橫坐標(biāo)表示樣本數(shù)據(jù),縱坐標(biāo)是相應(yīng)樣本出現(xiàn)的個數(shù),通過加密的圖像直方圖若呈現(xiàn)較為均衡的狀態(tài),則說明其對原始圖像的像素關(guān)聯(lián)置亂效果較好,也能對統(tǒng)計攻擊進行抵御。衡量混沌加密算法的好壞可以對加密前后的圖像直方圖進行對比,要使加密后的圖像未保留明文的任何信息,則其直方圖應(yīng)呈均勻分布,說明該算法是一個較好的加密算法,因為很難從密文中得到明文的相關(guān)信息,從而實現(xiàn)了理想的加密效果。為了更加科學(xué)客觀地反映加密圖像的直方圖是否均勻分布,我們引入如式(1)的加密圖像信息熵來定量表示:
這個熵值的最佳理論值為8。
加密的過程,其實也是密鑰生成的過程。差分攻擊是一種常見的攻擊手段,攻擊者通過對獲取的明文圖像差別來獲取密鑰。如果密鑰信息的微小改動,能引起加密信息的巨大變化,則說明此加密算法對密鑰極為敏感,我們稱其為加密算法的密鑰敏感性,那此算法就能應(yīng)對差分攻擊。我們將通過對密鑰的細(xì)小改動,再用改動后的密鑰去解密改動前加密的密文,從解密的效果上去衡量加密算法對密鑰的敏感性,敏感性越強,則說明算法安全性越高。
Logistic映射又被稱為蟲口映射,是混沌映射中一種較為常用的映射算法,利用其對初值的敏感性可生成數(shù)量多、相關(guān)性小、類隨機的混沌序列。Logistic映射對初始值極為敏感,其規(guī)律性、遍歷性和復(fù)雜的不可預(yù)測行為,使得它在信息加密領(lǐng)域被廣泛關(guān)注。同時,Logistic混沌映射在空氣動力系統(tǒng)和混沌等復(fù)雜系統(tǒng)上的研究也被廣泛關(guān)注。下面我們將以混沌圖像加密算法中的Logisitc映射加密算法為例,針對上面的四個指標(biāo)分別測試其算法性能。Logistic混沌系統(tǒng)由式(8)給出:
圖2 Logistic映射圖Fig.2 Logistic mapping
Logistic映射的混沌加密、解密設(shè)計流程如圖3所示,其通過Logistic迭代的方式得到一組隨機序列,再利用這個序列生成密鑰,用于對圖像進行加密。下面是對流程的簡單描述:
圖3 Logistic映射的混沌加密、解密流程Fig.3 Chaotic encryption and decryption process of logistic mapping
(1)先是給定一個適當(dāng)?shù)某跏贾?,利用Logistic映射方程,經(jīng)過數(shù)次迭代后得出一個隨機序列;
(2)利用生成的隨機序列形成密鑰信息序列,與需要加密的明文信息(原圖像)序列進行異或運算,得到密文信息(加密圖像)序列;
(3)以上面相同的密鑰信息序列,將其與密文信息序列一起來做異或運算,就解密出圖像的明文。
下面我們以一幅256×256的圖像test.gif(圖4)為例,以MATLAB作為開發(fā)平臺,對圖像進行加密,得出加密圖像(圖5)并逐個指標(biāo)對照測試。
圖4 原圖像Fig.4 Original image
圖5 加密圖像Fig.5 Encrypted image
針對測試圖像加密前后的直方圖分別如圖6和圖7所示。
圖6 原圖像直方圖Fig.6 Histogram of original image
圖7 加密圖像直方圖Fig.7 Histogram of encrypted image
根據(jù)式(1)計算出加密后的圖像直方圖信息熵得出:
我們可以看到計算出來的信息熵非常接近理論值8,說明加密后的圖像直方圖呈現(xiàn)均勻狀態(tài),因此攻擊者很難從密文中獲得明文的任何信息。
根據(jù)式(3),我們可以計算出
從這個值我們可以看出混沌加密算法對圖像的置亂效果非常好。攻擊者幾乎無法從加密信息中獲取任何信源信息。
通過平均互信息這個參量我們可以從信息學(xué)的角度量化出能夠從密文得出明文的信息量。這個值說明圖像加密效果較好,密文中關(guān)于明文的信息已所剩無幾。
為了測試加密算法對密鑰的敏感性,我們對密鑰進行細(xì)微的調(diào)整,分別用密鑰K1(0.1,0.2)和K2(0.1000001,0.2)進行加密得出加密圖像C1(圖8)和C2(圖9),再分別用K2對C1進行解密,用K1對C2進行解密,得到圖10和圖11。
圖8 加密圖像C1Fig.8 Encrypted image C1
圖9 加密圖像C2Fig.9 Encrypted image C2
圖10 K2對C1解密圖Fig.10 Decryption diagram of K2 for C1
圖11 K1對C2解密圖Fig.11 Decryption diagram of K1 for C2
實驗結(jié)果表明此混沌圖像加密算法對密鑰是非常敏感的,兩個密鑰即使只有細(xì)微的差別,也不能相應(yīng)地對對方的加密圖像進行解密,可以看到互相解密效果非常差,明文圖像的任何信息幾近無法得出。說明這個混沌加密算法對密鑰具有非常強的敏感性。
本文首先對相關(guān)混沌圖像加密算法的發(fā)展進程進行綜述,然后提出了衡量加密算法安全性及魯棒性等特征的四個定量指標(biāo),分別為加密前后圖像直方圖比較、信息熵計算、圖像變化度、平均互信息分析及密鑰敏感性等,用以對算法性能進行綜合比較分析,并通過Logisitc映射生成一組偽隨機序列生成密鑰,再使用這個密鑰對相關(guān)實驗圖像進行混沌加密,使用MATLAB軟件作為實驗工具,對加密圖像算法以四個加密算法安全性能衡量的指標(biāo)進行分析。結(jié)果表明,加密前后的直方圖計算出來的信息熵相當(dāng)接近理想值,圖像的變化度也較大,平均互信息值較小且密鑰敏感性較高,說明相關(guān)圖像加密算法具有很好的安全性和魯棒性,也能夠應(yīng)對各種攻擊手段的攻擊。