諶貽會



摘要:針對彩色圖像的加密,本文使用混沌映射首先對彩色圖像進行隨機分塊,并對每個子圖像的紅、綠和藍這三個像素層使用Arnold變換和不同的密匙進行加密操作,其次把經過了Arnold變換處理后的這三層加密像素疊加起來,構成每子圖像的加密圖像。實驗結果說明,這種方法無需進行迭代計算,因此它的時間復雜度相對較低,運行速度較快,而且由于密鑰空間得到了擴大,使得其加密強度較高。
關鍵詞:彩色圖像;加密算法;混沌映射;Arnold變換
中圖分類號:TP309.7 文獻標識碼:A 文章編號:1007-9416(2019)06-0135-03
0 引言
隨著多媒體技術特別是彩色圖像在人們日常生活中的廣泛使用,在給人們帶來便利的同時也引發了一些安全問題,這主要是圖像數據的存儲和傳輸的安全問題。圖像的加密技術已成為可以保障圖像信息安全的一個重要方面。一些傳統的數據加密技術對圖像數據的加密而言并不完全適用,因此需要研究針對圖像數據的加密方法。
混沌系統具有一些獨特的性質,例如,對初始值和參數的敏感性,白噪聲的統計特性與遍歷性。混沌系統的吸引子的位數是分數維的,它具有非常復雜的分形結構和不可預測性。因此,使用混沌系統產生的混沌序列具有較好的隨機性和密碼學特性,在圖像加密中進行使用,可設計出具有較好性能的加密算法[1,2]。在基于混沌的圖像加密方法的早期研究中,主要是使用一些性能較好的低維混沌系統,由于此時的混沌結構較為簡單并且參數少,因此相應的加密算法的密鑰空間比較小,易被攻破。由于高維混沌系統擁有更大的參數空間和復雜的結構,因此近年來高維混沌系統被應用到圖像的加密中,使得加密算法的密鑰空間得到了擴大[3-5],密鑰的生成方法也更復雜化,從而提高了密鑰的敏感度。
本文使用混沌映射Skew tent來對彩色圖像進行分塊,之后使用Arnold變換對圖像的像素進行操作,實現了彩色圖像的加密,具有加密強度較高,時間復雜度相對較低,運行速度快等特點。
1 Arnold變換
對一幅圖像進行數字化處理后所得到的是一個二維離散的數字矩陣,該矩陣中的每個元素代表了圖像的相關信息。Arnold變換的數學表達式如下:
其中,N是圖像的大小,即圖像是一幅大小為N×N的圖像。當對一幅圖像進行Arnold變換時,(x,y)和(x′,y′)分別表示一個像素點在變換前和變換后的位置坐標。mod表示求余運算,它的目的是保證圖像的數據矩陣在進行變換后仍然落在原先的圖像區域內。參數a,b,c和d滿足的條件是:|ad-bc|=1,例如,a=b=c=1,d=2。
當對一幅圖像進行了Arnold變換時,就按照如上公式對圖像中的像素點位置進行移動,結果就能得到一個與原圖像相比混亂無章的圖像。一般地,為了達到較滿意的效果,通常需要對一幅圖像進行很多次的Arnold變換。
2 加密的過程
在下面我們對彩色圖像進行加密時將使用如下的混沌映射Skew tent,它的定義如下:
其中,μ是控制參數,x0∈[0,1]是混純系統的初始狀態。對于一個任意的μ值,公式F(x)的分段線性映射都有一個正的Lyapunov指數,因此該系統總是混純的。對初值x0,可以通過計算F(x0)來得到x1。類似地,通過使用公式F(x)執行迭代運算,就可以得到一個混純序列xk,k=0,1,2,……。
加密的過程為:讀取將要進行加密的彩色圖像,然后提取這張圖像的R、G、B這三個像素層;針對不同的像素層,將設置不同的加密密匙Key來提高加密的安全性,這里的加密密匙Key是指Arnold變換中所使用的參數a,b,c和d,可表示為:Key=(a,b,c,d),即使用不同的密匙對不同的像素層即R,G,和B層進行Arnold變換,這里R、G、B分別代表的是紅色(Red)、綠色(Green)和藍色(Blue);這樣經過變換之后就可以得到三個二維的數字矩陣,將這三個大小相同的數字矩陣疊加起來就得到一個新的二維數字矩陣,該矩陣就是加密后的數字圖像。具體的實現步驟如下:
算法1
步1:讀取一副彩色圖像,將它轉換為矩陣,從而獲得預處理圖像。設預處理圖像是一幅大小為N×N的圖像。
步2:使用混沌映射Skewtent隨機生成一個正整數n。
步3:把預處理圖像分塊成M個子圖像,這里M的取值為2n。對每一個子圖像,進行如下的步4,步5和步6。
步4:對一個子圖像,提取它的R,G,B這三層像素,并把它們各自轉化為一個二維矩陣,共得到三個這種矩陣。
步5:設計三個不同的密匙KeyR,KeyG和KeyB,并使用它們分別對各層像素矩陣進行Arnold變換處理。
步6:把進行Arnold變換處理后的這三層加密像素疊加起來,構成原子圖像的加密圖像。
步7:對M個子圖像都進行了如上的處理之后,把這M個子圖像的加密圖像組合到一起,構成預處理圖像的加密圖像。
在算法1的第2步中使用混沌映射Skew tent時所生成的數不一定是整數,這時需要對公式F(x)的值取整。在第3步中對密匙的取值,可以根據預處理圖像的特點來選取,也可以任意選取,例如,對R,G和B這三層像素所對應的二維矩陣,分別選取各自的密匙KeyR,KeyG和KeyB為:keyR=(7,2,17,5),keyG=(1,2,2,5),keyB=(3,5,4,7)。在第5步中,對每一個子圖像都設計對應的不相同的密匙KeyR,KeyG和KeyB,這樣可以進一步增加加密的強度。
對經過使用算法1的加密圖像進行解密,其過程是算法1的逆過程,即首先分別提取加密圖像的R,G和B這三層經過加密的像素層,然后分別使用加密時所用的密匙對各個像素層進行Arnold逆變換,這樣就可以還原得到原圖像的各層像素,最后再把這三個像素層疊加起來就可以完整的還原并得到原圖像。
3 實驗結果
對算法1,我們在處理器為3.0GHz的微型計算機上通過MATLAB編程進行了實現,并對一些彩色圖像進行了實驗。圖1使對256*256的測試圖像的實驗結果。圖1(a)是lena圖像,圖1(b)是使用算法1對lena圖像進行加密后的圖像,圖1(c)是對圖1(b)進行解密還原后的原圖像。
圖1(d),圖1(e)和圖1(f)分別是對圖1(a)所提取的R層像素,G層像素和B層像素等的圖像。圖1(g),圖1(h)和圖1(i)分別是對圖1(d),圖1(e)和圖1(f)進行加密后的圖像。
圖2(a)是Baboon圖像,圖2(b)是使用算法1對Baboon圖像進行加密后的圖像,圖2(c)是對圖2(b)進行解密還原后的原圖像。圖3(a)是Peppers圖像,圖3(b)是使用算法1對Peppers圖像進行加密后的圖像,圖3(c)是對圖3(b)進行解密還原后的原圖像。
這些實驗結果說明,本文的算法1具有良好的加密效果。由于在加密過程中所設置的參數較多,對圖像進行了分塊,并且對各個子圖像的R,G,B這三層像素采用了各自的密匙進行加密,因此這就大大增加了加密的強度,致使非法份子在僥幸竊取到傳輸的加密圖像時也難以得知原圖像的內容。此外,由于該算法無需進行迭代計算,因此它的時間復雜度相對較低,運行速度較快,而且對加密的圖片規格大小無限制要求,這也說明該算法具有較好的適用性。
4 結語
由于混沌系統所產生的混沌序列具有良好的密碼學特征,因此在圖像的加密過程中使用混沌序列可以提高加密算法的強度與效率。本文使用混沌映射Skew tent來對彩色圖像進行隨機分塊,并使用Arnold變換對圖像的像素進行處理,實現了對彩色圖像的加密,可以取得良好的加密效果。
參考文獻
[1] 洪媛,徐寧,涂興華.基于Logistic混沌的圖像實值加密[J].量子電子學報,2018,35(2):149-155.
[2] 陳艷浩,劉中艷,周麗宴.基于差異混合掩碼與混沌Gyrator變換的光學圖像加密算[J].電子與信息學報,2019,41(4):888-895.
[3] 王琳娟,張小英,郝稱意. 基于Arnold置亂和混沌加密的小波域數字水印算法[J].信息技術,2018,42(11):49-53.
[4] 李琳,孔留勇.一種基于混沌的新型圖像加密算法[J].系統仿真學報,2018,30(3):954-961.
[5] 黃迎久,杜永興,石煒.基于新的組合混沌映射的圖像加密算法[J].微電子學與計算機,2019,36(5):47-52.
Research on Color Image Encryption Algorithms Based on Chaotic Random Blocking and Arnold Transform
CHEN Yi-hui
(College of Continuing Education, Chengdu University,Chengdu Sichuan? 610106)
Abstract:In order to encrypt the color image, this paper uses chaotic mapping to block the color image randomly at first, and encrypts the red, green and blue pixel layers of each sub-image using Arnold transform and different keys. Secondly, the three layers of encrypted pixels after Arnold transform are superimposed to form the encrypted image of each sub-image. The experimental results show that this method does not need iterative computation, so its time complexity is relatively low and its running speed is faster. Moreover, because the key space is expanded, the encryption intensity is higher.
Key words:Color image;encryption algorithms;chaotic mapping;Arnold transform.