可變區(qū)間混沌映射在圖像文件加密中的應用

針對圖像等多媒體信息的特點,我們提出一種結合了兩種混沌映射,即基于區(qū)間數(shù)目參數(shù)化的混沌映射與標準映射的數(shù)字圖像加密算法。通過基于區(qū)間數(shù)目參數(shù)化的混沌映射產(chǎn)生混沌實數(shù)序列,將其轉化為加密需要的偽隨機二值序列,然后用該偽隨機序列和標準映射變換進行數(shù)字圖像文件加密。

一、混沌映射的選擇

1、偽隨機序列的生成

為了充分利用分段線性混沌映射的運算速度快的特點,本文采用區(qū)間數(shù)目參數(shù)化的PLCM來產(chǎn)生擬混沌偽隨機序列。同分段區(qū)間PLCM相比較,該混沌映射具有更高的安全性。區(qū)間數(shù)目參數(shù)化PLCM的數(shù)學表達式為:

可變區(qū)間混沌映射在圖像文件加密中的應用

式中:i=0,1,2,....,l-1;μ是控制參數(shù),且μ∈(0,0.5);參數(shù)X∈[0,1];l為區(qū)間數(shù)目選擇參數(shù);映射的分段區(qū)間數(shù)目為4xl。通過對l的選擇,可以選擇分段區(qū)間數(shù)目。

這個映射具有很多產(chǎn)生獨立同分布的偽隨機數(shù)序列方面的密碼學相關優(yōu)良特性。

混沌運動是一類相當特殊的運動形式,它既有確定性的動力機制,又表現(xiàn)為內(nèi)在的隨機性,因而非常適合用于產(chǎn)生偽隨機數(shù)。目前,就如何通過混沌映射產(chǎn)生偽隨機序列這個問題,已經(jīng)有許多的方法被提出來。產(chǎn)生偽隨機變量序列,實數(shù)x的二進制表示形式如下:

可變區(qū)間混沌映射在圖像文件加密中的應用

在這個表示形式中,第i比特可以表示成:

可變區(qū)間混沌映射在圖像文件加密中的應用

此處,θt(x)是一個域值函數(shù),其定義如下:

可變區(qū)間混沌映射在圖像文件加密中的應用

由此,一個獨立同分布的二進制偽隨機序列可變區(qū)間混沌映射在圖像文件加密中的應用就得到了。

2、tandard映射

已經(jīng)有很多的研究人員分別在不同的文獻中提出了用3個二維混沌映射,即標準映射、貓映射和Baker映射,來置亂像素的位置。然而,當用貓映射和Baker映射時存在弱密鑰問題。同時,這兩個映射的密鑰空間也不如標準映射的密鑰空間大。因此,本文將采用標準映射作為像素置亂的混沌映射。另外,在標準映射中,左上角的像素
(s=0,t=0)根本不會被置亂,這樣就會存在一定的安全隱患。所以,本文為了克服這一缺陷,采用隨機掃描一個數(shù)對(rs,rt)來置亂左上角的像素。因此,修改后的標準映射如下:

可變區(qū)間混沌映射在圖像文件加密中的應用

此處,sk,tk和(Sk+1,tk+1)分別是NxN圖像像素的置亂前位置和置亂后位置??刂茀?shù)kc是一個正整數(shù)。

二、基于一維混沌映射網(wǎng)絡的圖像加密方案

本文提出的加密框圖如圖1所示。

可變區(qū)間混沌映射在圖像文件加密中的應用

加密步驟描述如下:

(1)先使用修改后的標準映射(公式(5))對圖像進行像素位置置亂。

(2)按照文中的方法,先用公式(l)產(chǎn)生的擬混沌序列,然后用公式(2)~(4)產(chǎn)生偽隨機序列層。

(3)按如下方式把偽隨機序列轉化為整數(shù)序列φ(k)。

可變區(qū)間混沌映射在圖像文件加密中的應用

(4)按如下方式加密圖像。

可變區(qū)間混沌映射在圖像文件加密中的應用

式中:k-當前處理的第k個像素,P(k)和C(k)分別是其對應的明文像素和密文像素,C(k-l)是前一像素的密文,當k=0時,取秘密初始值C(O)。G表示圖像的灰度級,對于256級的灰度圖像,G=256。

(5)循環(huán)步驟(4),直到整個圖像處理完畢。

為了進一步增強算法的擾亂與擴散性,重復執(zhí)行上述步驟m輪。

(6)由于算法的對稱性,解密過程與上述加密過程類似,解密時只需修改第(4)步,采用如下公式:

可變區(qū)間混沌映射在圖像文件加密中的應用

三、數(shù)值仿真

為了驗證算法的安全性,下面將分別從理論分析和仿真實驗兩個方面來加以證明。實驗中,采用了一個512x512像素的灰度圖像“Tiger”圖。設區(qū)間參數(shù)化非線性混沌映射(1)中的初始值、,控制參數(shù)和區(qū)間選擇參數(shù)分別是xo;0.63687244053129,u=0.32696149531473,l=3,初始數(shù)對以,(rs,rt)取值為(139,218)。實驗結果表明,本文的算法能夠正確地加密文件和解密文件,加密后圖像的灰度直方圖比原始圖像的分布更加均勻。Tiger圖加密與解密實驗如圖2所示。

可變區(qū)間混沌映射在圖像文件加密中的應用

四、安全性與性能分析

1、抗統(tǒng)計攻擊性能測試

由于圖像相鄰像素的相關性,要求密碼系統(tǒng),特別是圖像加密算法,在抗統(tǒng)計攻擊方面應該具有很好的性質。數(shù)值實驗結果表明,加密后圖像的像素灰度分布直方圖分布已經(jīng)相當均勻了(如圖2(e)),并且與明圖的分布直方圖完全不同。此外,還從概率論角度,分別任選10000對水平相鄰、垂直相鄰和對角相鄰的像素按公式(8)和(9)進行了相關性測試。

可變區(qū)間混沌映射在圖像文件加密中的應用

測試結果如圖3和表1所示。

可變區(qū)間混沌映射在圖像文件加密中的應用

此處x和y是兩個相鄰像素的灰度值。可變區(qū)間混沌映射在圖像文件加密中的應用。

實驗結果表明,雖然原始圖像的相鄰像素相關性較大,而通過本文算法加密后,完全破壞了這種相關性。因此,本文提出的密碼系統(tǒng)具有良好的抗統(tǒng)計攻擊特性。

2、密鑰敏感性和明文敏感性測試

通常,一個圖像加密方案,應該是密鑰敏感和明圖敏感的,即:

①密鑰的微小變化,將產(chǎn)生兩個完全不同的加密圖像:

②明文圖像的細微變化,也將得到兩個完全不同的加密圖像。

為了進行敏感性測試,采用如下兩個通用測試指標:

(1)加密圖像的像素變化率CPCR(cipher-image pixel changerate,CPCR)。定義如下:

可變區(qū)間混沌映射在圖像文件加密中的應用

式中:W一圖像的寬度,H一圖像的高度,I(i,j),I’(i,j)——圖像I和I’的第I行第J列的像素灰度值。

(2)一致平均變化強度UACl(unified average changing intensity)。定義如下:

可變區(qū)間混沌映射在圖像文件加密中的應用

UACI主要是用來度量兩個圖像的平均差異強度的。

本文加密算法的密鑰是由方程(1)的控制參數(shù)u和初始值Xo兩部分組成,所以分別從兩個方面來進行敏感性測試:

(1)保持系統(tǒng)的控制參數(shù)H不變,改變系統(tǒng)初始密鑰x0的最后一位,得到xo'=0.63687244053128。然后用密xo'和u加密圖像圖3(a)(當然,也可以改變u來進行測試)。

(2)保持密鑰不變,改變圖2(a)的任意一個點的像素灰度值(可以是最右下角的像素),將其灰度值加1。然后用密鑰x0和甜加密修改后的圖像。測試結果如表2所示。

可變區(qū)間混沌映射在圖像文件加密中的應用
實驗數(shù)據(jù)表明,盡管只對密鑰和明文圖像做了極小的改變(最后1位,即10的-14次方)都產(chǎn)生了很高的CPCR值和UACI值。這表明,本文的加密算法具有一般加密算法的密鑰敏感性和明文敏感性。另外,由于在進行第二種敏感性測試時,改變的是明文圖像的最右下角的像素,由公式(6)可知,如果只進行一輪加密,此時只有最后一個密文像素與原來密文值不同,所以有較小的NPCR和UACI值(如果改變的是比較靠左上角的像素,其NPCR和UACI值也較大)。因此,對于本文提出的圖像加密算法,為了得到較好的算法安全性,要求至少加密兩輪。

小知識之灰度直方圖

灰度直方圖是灰度級的函數(shù),它表示圖像中具有某種灰度級的像素的個數(shù),反映了圖像中某種灰度出現(xiàn)的頻率。
如果將圖像總像素亮度(灰度級別)看成是一個隨機變量,則其分布情況就反映了圖像的統(tǒng)計特性,這可用probability density function (PDF)來刻畫和描述,表現(xiàn)為灰度直方圖。