基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密

基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密首先對(duì)圖像進(jìn)行小波分解:再對(duì)分解結(jié)果進(jìn)行第一次隨機(jī)置亂。這一置亂有兩種方案:第一種是直接對(duì)每一分量圖像分別進(jìn)行置亂,第二種是對(duì)由所有分量圖像拼接而成的圖像進(jìn)行置亂,置亂后再分割成與原分量位置與大小一致的分量圖像;然后對(duì)這些分量圖像進(jìn)行小波重構(gòu),并對(duì)重構(gòu)結(jié)果再次進(jìn)行隨機(jī)置亂,得雙重隨機(jī)置亂加密圖像。

一、數(shù)字圖像的多分辨率小波分解和重構(gòu)

小波變換的結(jié)果是將圖像從高尺度向低尺度進(jìn)行了多分辨率分解。對(duì)圖像的二級(jí)小波分解示意圖見(jiàn)圖1。小波分解的結(jié)果是將圖像分解成了子圖像的集合。在第一級(jí)小波分解時(shí),原始圖像被分解為一個(gè)低頻子圖像LL1(對(duì)應(yīng)原圖像在低分辨率上的一個(gè)近似)和三個(gè)高頻子圖像HL1,LHi和HHi(分別對(duì)應(yīng)水平方向、垂直方向和對(duì)角方向的細(xì)節(jié))的集合。在第二級(jí)小波分解時(shí),低頻子圖像LL1被繼續(xù)分解為更低分辨率的一個(gè)低頻子圖像LL2和三個(gè)高頻子圖像HL2,LH2和HH2的集合,而原來(lái)第一級(jí)分解得到的三個(gè)高頻子圖像不變。

基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密

上述分解過(guò)程可以如式(1)那樣繼續(xù)下去,式中的“→"代表小波分解,即第f級(jí)分解的低頻子圖像LLi可以進(jìn)行第i+1級(jí)分解得到更低尺度的四個(gè)子圖像LLi+1,HLi+1,LHi+1和HHi+1,這樣就得到越來(lái)越多的低尺度子圖像。

基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密

圖像的小波重構(gòu)正好是式(1)和圖1的相反方向,即用低尺度的子圖像,逐級(jí)通過(guò)小波逆變換重構(gòu)出一幅高尺度的圖像,直至得到與原圖像大小相同的重構(gòu)圖像。

二、隨機(jī)置亂和去亂

1、圖像隨機(jī)置亂

隨機(jī)置亂就是在圖像中通過(guò)隨機(jī)選出的兩個(gè)像素進(jìn)行交換,經(jīng)過(guò)一定數(shù)量的交換后,達(dá)到置亂的目的。首先將表示大小為MxN的數(shù)字圖像的二維數(shù)組X按列掃描轉(zhuǎn)換為一維向量n這樣就將圖像中的二維位置轉(zhuǎn)變?yōu)橐痪S數(shù)組中的下標(biāo),交換圖像中的兩個(gè)像素就變成了交換一維向量y中的兩個(gè)元數(shù)。為了實(shí)現(xiàn)一維向量y的隨機(jī)置亂,需用一具有均勻分布的隨機(jī)自然數(shù)產(chǎn)生器選擇一對(duì)不同的種予來(lái)生成兩組與I,等長(zhǎng)(長(zhǎng)度為Mxt0的隨機(jī)數(shù)組Rs和RD,并由它們的元素值來(lái)決定I,中的哪兩個(gè)位置的元素相互交換。由于Rs和RD都是均勻分布的隨機(jī)序列,且兩組序列是由不同的種子得到的,相關(guān)性很小,因此置亂后的,必定具有隨機(jī)特性和均勻分布特性,從而獲得較為理想的置亂效果。

2、圖像隨機(jī)去亂

由于交換規(guī)則是可逆的,因此只要去亂與置亂時(shí)的隨機(jī)序列Rs和RD保持相同,再次置亂就能達(dá)到去亂的目的。

三、雙重置亂和去亂

1、第一次置亂

圖像經(jīng)小波變換后,在小波域?qū)π〔ㄗ儞Q系數(shù)矩陣(即子圖像)進(jìn)行隨機(jī)置亂,是屬于第一次置亂。本次置亂有2種方案:

方案1:對(duì)如圖1和式(1)所示的所有分解子圖像分別選擇一對(duì)不同的種子進(jìn)行隨機(jī)置亂。

方案2:先象式(l)和圖1所排列的那樣逐級(jí)將四幅低尺度子圖像直接拼接(而不是逆變換)為一幅高尺度子圖像,直至與原始圖像大小~樣的圖像W,然后再選擇一對(duì)不同的種子對(duì)這幅圖像進(jìn)行隨機(jī)置亂。然后,將經(jīng)置亂后的圖像再按拼接時(shí)的反方向分割為各低尺度子圖像。

小波重構(gòu)后的圖像視覺(jué)效果主要取決于低頻子圖像。由于方案1是低頻子圖像的內(nèi)部置亂,其平均亮度和灰度直方圖沒(méi)有改變,因此小波重構(gòu)后圖像的平均亮度和灰度直方圖與原始圖像比較差別不大。方案2是將所有高、低頻子圖像拼接在~起整體置亂后再分割的。置亂后分割得到的低頻子圖像與原先圖像已大大不同了,由于其中混入了許多低亮度的高頻系數(shù),使其亮度大大降低,灰度直方圖也完全改變。因此,小波重構(gòu)后圖像的平均亮度和灰度直方圖與原始圖像比較差別很大,置亂效果更好。

2、第二次置亂

為了提高算法的效率,圖像在小波域只進(jìn)行一次隨機(jī)置亂,經(jīng)逆變換后圖像的灰度分布可能會(huì)不夠均勻,因此有必要對(duì)其再進(jìn)行一次空間域的隨機(jī)置亂。這樣置亂后圖像的灰度分布就顯得很均勻了。這一次置亂屬于第二次置亂。

3、置亂的安全性

由于置亂和去亂中的隨機(jī)數(shù)產(chǎn)生時(shí)用到種子,故本方法是一個(gè)基于密鑰的加密方法。由于種子選擇可以是任意值,因此從理論上講,由幾對(duì)不同種子組成的密鑰空間為無(wú)窮大(具體實(shí)現(xiàn)時(shí)只受制于偽隨機(jī)序列產(chǎn)生的模型和這些參數(shù)所選用的數(shù)據(jù)類(lèi)型的字節(jié)長(zhǎng)度),可見(jiàn)算法的安全性非常高。

4、隨機(jī)置亂和去亂步驟

置亂步驟

Step 1給定產(chǎn)生隨機(jī)序列的種子和小波分解級(jí)數(shù)N;

Step 2按圖l和式(1)對(duì)原始灰度圖像進(jìn)行N級(jí)小波分解,并選擇小波域置亂方案;

Step 3若選方案1,轉(zhuǎn)Step7;

Step 4按式(1)和圖l的排列將4幅低尺度子圖像直接拼接為一幅高尺度子圖像,直至一幅與原圖像大小相同的大圖像W;

Step 5按2.1節(jié)的方法對(duì)w進(jìn)行隨機(jī)置亂;

Step 6按拼接時(shí)的逆向?qū)⒅脕y后的w分割為各低尺度子圖像;轉(zhuǎn)Step10;

Step 7j=1;

Step 8按前面的方法對(duì)第j級(jí)小波分解的每一子圖像(當(dāng)j=N時(shí),子圖像有4幅,其余均為3幅)分別進(jìn)行隨機(jī)置亂;

Step 9j→j+1;若j≤N,轉(zhuǎn)到Step 8;

Step 10按式(l)和圖1的逆向?qū)Ω骷?jí)子圖像進(jìn)行小波重構(gòu),直至重構(gòu)出一幅與原圖像大小相同的圖像;

Step 11按前面的方法對(duì)小波重構(gòu)圖像進(jìn)行隨機(jī)置亂,得雙重置亂后的加密圖像。

去亂步驟

Step 1給定與置亂步驟相同的產(chǎn)生隨機(jī)序列的種子和小波分解級(jí)數(shù)N;

Step 2按前面的方法對(duì)加密圖像進(jìn)行隨機(jī)置亂;

Step 3按圖1和式(1)對(duì)Step 2所得圖像進(jìn)行N級(jí)小波分解,并選擇與置亂算法相同的小波域置亂方案;

Step 4若選方案1,轉(zhuǎn)Step8;

Step 5按式(l)和圖1的排列將四幅低尺度子圖像直接拼接為~幅高尺度予圖像,直至一幅與原圖像大小相同的大圖像W;

Step 6按上節(jié)的方法對(duì)w進(jìn)行隨機(jī)置亂;

Step 7按拼接時(shí)的逆向?qū)⒅脕y后的形分割為各低尺度子圖像;轉(zhuǎn)Step 11;

Step 8j=2N;

Step 9按前面的方法對(duì)第j級(jí)小波分解的每一子圖像(當(dāng)j=N時(shí),子圖像有4幅,其余均為3幅)分別進(jìn)行隨機(jī)置亂;

Step 10j→i-1;若j>0,轉(zhuǎn)至Step 9;

Step 11按式(1)和圖1的逆向?qū)Ω骷?jí)子圖像進(jìn)行小波重構(gòu),得到去亂后的圖像。

四、實(shí)驗(yàn)結(jié)果分析與比較

實(shí)驗(yàn)時(shí)用MATLAB編程仿真,選用上述兩種方案對(duì)如圖2(a)所示的Cameraman圖像進(jìn)行雙重隨機(jī)置亂加密處理,結(jié)果如圖2(f)和2(i)所示。圖2(b)是圖2(a)的一級(jí)小波分解結(jié)果:圖2(d)是方案1的第一次置亂,結(jié)果由小波逆變換重構(gòu)出圖2(e);圖2 (f)是方案1對(duì)圖2(e)的第二次置亂結(jié)果。圖2(g)是方案2的第一次置亂,結(jié)果由小波逆變換重構(gòu)出圖2 (h),圖2(i)是方案2對(duì)圖2(h)的第二次置亂結(jié)果。顯然,兩種方案的置亂效果均具均勻特性,視覺(jué)效果比較理想。但方案1的置亂結(jié)果的平均亮度更接近原圖像,而方案2的置亂結(jié)果的平均亮度則明顯比原圖像暗,更不具原圖像的特征,置亂效果更佳。圖2(c)則是本方法去亂后的結(jié)果,與圖2 (a)原始圖像比較沒(méi)有損失任何信息。

基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密

圖像的置亂效果可以在一定程度上用其灰度直方圖來(lái)反映:灰度直方圖變化越大,置亂效果就越好。對(duì)圖2 (a)、2(D和2(i)分別進(jìn)行灰度直方圖統(tǒng)計(jì),得如圖3的3個(gè)直方圖。顯然,方案1的直方圖更像原圖像;而方案2的直方圖則與原圖像完全不同,且均勻性較好,可見(jiàn)后者的置亂效果更好。實(shí)驗(yàn)結(jié)果印證了前述的理論分析。

基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密

圖像的置亂程度還可以通過(guò)置亂度來(lái)定量評(píng)價(jià)。根據(jù)置亂度評(píng)價(jià)方法,一幅數(shù)字圖像,被置亂變換T變到另一幅圖像的置亂度被定義為:

基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密

其中H和H(k)分別為整個(gè)圖像的信息熵和第七個(gè)分塊圖像的信息熵,μ(k)為第忌個(gè)分塊中互為相鄰像素差值的平均值。顯然,用式(2)評(píng)價(jià)的置亂度越大效果越好,其理想值為1。

用式(2)分別對(duì)方案2在不同級(jí)數(shù)小波分解情況下的1次(只選小波域置亂)和2次置亂結(jié)果進(jìn)行置亂度計(jì)算,結(jié)果如表1所示:當(dāng)小波分解級(jí)數(shù)相同時(shí),進(jìn)行2次置亂的置亂度明顯比只進(jìn)行1次置亂要好;當(dāng)小波分解的級(jí)數(shù)不大于4時(shí),1次和2次置亂的置亂度都是遞增的,當(dāng)小波分解級(jí)數(shù)再增大時(shí),盡管1次置亂的置亂度還在緩慢增大,但2次置亂的置亂度卻開(kāi)始緩慢減小,可見(jiàn)方案2的最佳置亂結(jié)果出現(xiàn)在小波分解級(jí)數(shù)為4時(shí)。

基于小波變換的數(shù)字圖像雙重隨機(jī)置亂加密

實(shí)踐證明,本算法的兩種方案均能取得較好的視覺(jué)置亂效果。方案2將小波域的高低頻分量隨機(jī)打亂了,因此小波重構(gòu)后的圖像具有較好的灰度值改變,灰度直方圖與原圖像相比產(chǎn)生了根本性的變化,且灰度分布較均勻,因此方案2的置亂效果更佳。方案2在小波分解級(jí)數(shù)為4時(shí),置亂效果達(dá)到最佳。本加密算法只需執(zhí)行1次就能達(dá)到較理想的置亂效果,效率和安全性較高,且算法簡(jiǎn)單,易于實(shí)現(xiàn)。

小知識(shí)之置亂

所謂“置亂”,就是將圖像的信息次序打亂,將a像素移動(dòng)到b像素的位置上,b像素移動(dòng)到c像素的位置上……使其變換成雜亂無(wú)章難以辨認(rèn)的圖像。