彩色圖像加密算法之單通道RGB分量

為了保證圖像在傳輸過程中的可靠性和安全性,針對傳統(tǒng)多通道加密算法無法實現(xiàn)同步加密、傳輸負(fù)載大等不足,我們提出了一種基于單通道RGB分量的彩色圖像加密算法。

一、單通道RGB分量

1、離散余弦變換(DCT)

離散余弦變換(Discrete Cosine Transform,DCT)是一種類似于離散傅里葉的變換方法,只適用于實數(shù),DCT相當(dāng)于一個長度大概是它2倍的離散傅里葉變換。DCT的特點:圖像經(jīng)DCT變換后,數(shù)值大的頻譜系數(shù)主要集中在DCT系數(shù)比較小的范圍,且其主要分布在頻譜較小的左上角區(qū)域,這說明有用信息有集中區(qū)域,設(shè)一幅圖像的大小為M×N,則DCT定義為:

1

式中,Bp,q稱為矩陣A的DCT系數(shù),m=0, 1, ... , M-1; n=0, 1, ... , N-1; p== 0, 1, ... , M-1,q=o,1,…,N-1; ap,aq分別定義如下:

1

2、離散余弦逆變換

離散余弦逆變換(IDCT)是DCT的一種可逆變換,利用IDCT可獲得與原始圖像相近的重建圖像,重建圖像與原圖像存在一定的差異,但重要的信息都被保存了下來,離散余弦逆變換定義為:

1

式中,Bp,q稱為矩陣A的IDCT系數(shù)。

3、ZigZag置換

ZigZag置換具有實現(xiàn)簡單,時間復(fù)雜度低等優(yōu)點.ZigZag置換首先將掃描到的元素依次存放到—個一維數(shù)組中,然后再將此一維數(shù)組按一定的方式置換為二維矩陣,具體如圖1所示。在數(shù)據(jù)傳輸和加密過程中,ZigZag置換可以描述為:設(shè)明文為一維數(shù)據(jù)C,采用一定的掃描順序和放人順序,得到密文數(shù)據(jù)C',重復(fù)上述過程直到滿足指定的迭代次數(shù)。

1

4、Logistic混沌映射

Logistic混沌映射是一種運算簡單、應(yīng)用廣泛的一維離散時間非線性動力系統(tǒng),可以快速產(chǎn)生混沌序列的時間,簡化密鑰流的產(chǎn)生過程,提高密鑰生成效率。Logistic混沌映射的方程表達如下:

1

其中,xn是系統(tǒng)的狀態(tài)變量;μ∈[O,4]是Logistic混沌映射的分岔參數(shù),圖2分別畫出了x0=0.3,x0=0.8時Logistic映射的倍周期分叉圖,從圖2可知,x0取(0,1)區(qū)間內(nèi)的任意值,Logistic映射均能夠進入混沌狀態(tài)。

1

二、本文彩色圖像加密算法

1、工作原理

本文彩色圖像加密算法的工作原理為:首先提取大小為M×N的明文RGB彩色圖像的RGB 3個分量,并對它們進行離散余弦變換和ZigZag置換,產(chǎn)生復(fù)數(shù)矩陣;然后采用Logistic混沌映射對圖像進行混沌置亂;最后采用混沌掩碼和分?jǐn)?shù)傅里葉變換(Fractional Fourier Transform,F(xiàn)rFT)對復(fù)合圖像進行擴散,得到加密圖像,具體工作流程如圖3所示。

1

2、彩色圖像加密算法的工作步驟

1)設(shè)待加密彩色圖像I大小為M×N,分別提取它的RGB 3個分量)。

2)將彩色圖像I分成多個大小一致的子塊,然后通過離散余弦變換即式(1)對每一個子塊進行變換,得到彩色圖像I的系數(shù)矩陣IR,IG,IB。

3)采用ZigZag置換技術(shù)分別對IR,Ic,五矩陣進行掃描,實現(xiàn)矩陣中元素的置換,產(chǎn)生矩陣HR,HG,HB,并根據(jù)式(6)的迭代方式產(chǎn)生系數(shù)的復(fù)數(shù)矩陣。

1

其中Mi代表第i次迭代的復(fù)數(shù)矩陣;M代表復(fù)數(shù)參量.

4)通過Logistic映射產(chǎn)生隨機序列x=(xl,X2,…,菇擼),并采用該隨機序列對Mi、HB的位置進行置亂,具體如下:

1

5)采用離散余弦逆變換即式(3)對系數(shù)復(fù)合矩陣肱進行重構(gòu),產(chǎn)生第一次復(fù)合圖像I'

6)輸入初始值x0,根據(jù)式(5)產(chǎn)生Logistic混沌的相位掩碼,并結(jié)合分?jǐn)?shù)階傅里葉變換,形成正則函數(shù)LCT:

1

其中,f(x,y)為復(fù)合圖像I';λ為一個常量。

7)根據(jù)相位掩碼和正則函數(shù)LCT對復(fù)合圖像,I'進行擴散,產(chǎn)生最終密文圖像,I'',加密函數(shù)具體如下:

1

三、仿真實驗

1、仿真環(huán)境

為了測試本文彩色圖像加密算法的性能,在Intel酷睿2.85 GHz CPU,4 GRAM,Windows XP操作系統(tǒng)的個人計算機上,采用編程工具Maltab R2012進行仿真實驗,采用標(biāo)準(zhǔn)測試圖像lenna(256×256)作為仿真對象,具體如圖4(a)所示,對其進行4×4大小的不重疊分塊操作。

1

2、算法的實現(xiàn)

首先對圖4(a)中的彩色圖像lenna的RGB 3個彩色分量進行提取,結(jié)果如圖4(b)~(d)所示,然后采用DCT分別對它們進行變換,得到彩色圖像的系數(shù)矩陣如表1所示,最后采用上述步驟得到加密后的圖像。

3、本文算法的性能分析

1)直方圖分析

像素點的分布狀況可通過直方圖進行描述。圖5(a),(b),(c)為原始圖像像素的直方圖,5(d),(e),(f)為本文算法加密后的直方圖.從圖5(a),(b),(c)可知,原始圖像的像素點灰度分布極不均勻,波動范圍比較大,這表明它們的偽隨機性不高,很容易被攻擊和破譯;而從圖5(d),(e),(f)可知,經(jīng)過本文算法加密后的圖像灰度直方圖產(chǎn)生了根本性變化,像素點分布非常均勻,有效掩蓋了原始圖像各像素的分布情況,使攻擊者通過直方圖無法獲取原始圖像信息,擁有較高的抗統(tǒng)計分析攻擊能力。

1

2)魯棒性分析

首先利用算法對Lenna圖像進行加密,然后對加密圖像進行一定程度的剪切,最后對剪切圖像進行解密,結(jié)果如圖6所示,從圖6可知,即使圖像受到50%剪切,解密算法仍然能夠恢復(fù)出原始圖像,說明本文算法可有效抗剪切攻擊,這主要由于本文加密算法可以保證被剪切掉部分具有最大的不相關(guān)性,從而可以很容易地恢復(fù)原始圖像。

1

在加密后圖像中加入均值為0,方差為6的高斯白噪聲.圖7為加入不同程度的高斯白噪聲的加密圖像與解密圖像,其中第1排為加密圖像,第2排為解密圖像。從圖7可知,當(dāng)加密圖像受到不同程度的高斯白噪聲影響時,本文圖像解密算法能基本恢復(fù)出原始圖像,而且基本不會影響圖像整體視覺效果,結(jié)果表明本文加密算法可以抵抗不同程度的高斯白噪聲攻擊,具有較強的魯棒性。

1

小知識之RGB

RGB是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對紅(R)、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍三個通道的顏色,這個標(biāo)準(zhǔn)幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的顏色系統(tǒng)之一。