基于位擴展的灰度圖像混沌加密算法

傳統(tǒng)的基于Logistic混沌序列的加密算法一無法加密較為復雜且能夠記錄更多內(nèi)容的灰度圖像,針對這一問題,我們提出了一種基于映射序列位擴展的灰度圖像混沌加密算法。

一、基于位擴展的灰度圖像混沌加密算法

1、 Logistic混沌序列及其對二值圖像文件的加密

Logistic混沌映射是一類非常簡單卻被廣泛研究的動力系統(tǒng),定義如下:Xn+1 =μXn(1一xn),Xn∈ (0,1)。

通過簡單的變換,Logistic映射可以在(-1,1)區(qū)間定義:Xn+1=1 - λx2,λ∈(0,2)。

實驗證明,當λ =1. 401 15時,動力系統(tǒng)進入混沌狀態(tài),在λ=2的滿射條件下由映射所得到的混沌序列可能充滿整個定義域(-1,1),此時的迭代公式為:

Xn+1=1-2xn2。

通過其密度函數(shù)可以得到Logistic映射產(chǎn)生的混沌序列的統(tǒng)計特性,結果表明動力系統(tǒng)進入混沌狀態(tài)以后,產(chǎn)生的混沌序列具有均值為零,δ- like自相關以及互相關為零的類似白噪聲的統(tǒng)計特性和傳統(tǒng)的源于經(jīng)典加密理論的圖像文件加密方式相比,利用混沌序列加密圖像的優(yōu)勢在于:

①密鑰空間大,混沌系統(tǒng)一般定義在實數(shù)空間上,并且產(chǎn)生的序列對初始值十分敏感,因此系統(tǒng)參數(shù)或者初始條件的微小差別就會引起混沌序列的巨大變化;

②混沌序列的產(chǎn)生比較方便,運算復雜度低、速度快,并且具有自相關強、互相關弱的優(yōu)良的隨機性,非常適合作為水印嵌人到載體文件中;

③實施簡單,在空域上替換圖像的像素值即可;

④魯棒性好,由于只對像素值進行簡單的替換,因而對噪聲攻擊、銳化處理等具有較好的魯棒性。

但是,根據(jù)Logistic序列的特性不難看出,雖然其在加密圖像時安全性好、魯棒性高且易于實現(xiàn),但是最大的不足在于傳統(tǒng)的基于Logistic混沌序列的算法只能通過簡單的象素替換加密二值圖,卻無法應用于灰度圖像的加密,顯然具有256級顏色的灰度圖像比二值圖像利用價值更大。據(jù)此,本文提出了一種基于映射序列位擴展的灰度圖像混沌加密算法。

2、基于位擴展的灰度圖像混沌加密算法基本思想

灰度圖像的每個像素可由8位二進制表示,其包含的信息量比相同分辨率的二值圖像豐富,利用灰度圖像有利于我們構建數(shù)字水印系統(tǒng)時嵌入更多的版權保護信息。進而從理論上分析如果能夠利用性能優(yōu)良的混沌序列去加密灰度圖像,應該能夠在取得良好的置亂效果和一定加密效率的前提下保證算法的安全性。

本文在充分研究了原有的二值圖像加密算法的基礎上,結合混沌序列的特性提出了一種基于位擴展的灰度圖像加密算法,算法基本思想是通過混沌迭代公式生成一組實數(shù),由規(guī)則轉(zhuǎn)化成二進制數(shù)組,這個數(shù)組的個數(shù)為灰度圖像大小的8倍,即讓每個像素點值對應8個二迸制數(shù)。依次將8個二進制數(shù)與灰度圖像每個像素點值的二迸制形式逐位比較運算,得到=組新的二進制數(shù),將產(chǎn)生結果8個一組形成十進制數(shù)據(jù),即為置亂后的圖像灰度值。

3、基于位擴展的灰度圖像混沌加密算法描述

設灰度水印圖像為形,大小為M×N×256,則位擴展灰度圖像加密算法的步驟描述如下:

1)設定參數(shù)λ和x0,由迭代公式Xn+1=1- λx2(n≥O)生成序列{x1,x2, …,xl},其中l(wèi)>M×N×8。將前面的若干位舍去,從中間某一位開始選定長度為M×N×8的實數(shù)序列記為S,則序列中每個元素為si;

2)將S二值化,得到一個M×N×8位二值序列P={Po,P1,…,PM×N×8-1},二值化規(guī)則為:

基于位擴展的灰度圖像混沌加密算法

3)由于灰度圖像的每個象素值的范圍在0到255之間,可表示為8位二進制數(shù)。將灰度水印圖像形表示成二進制數(shù)組Q,每個元素qj(j={O,1,…,M×N一1})是8位二進制數(shù);

4)將二值序列P中的第8×j位到第8×j+7位的8個二進制位組成數(shù)據(jù)tj,將tj與灰度圖像二進制表示的元素qj中的每一位按公式基于位擴展的灰度圖像混沌加密算法生成加密后的二進制元素,并將之轉(zhuǎn)換成一個十迸制數(shù)w'j,以上j∈{O,1,…,M×N-1}。

5)從而得到一個十進制序列,最后將新的十進制序列按行展開成一個大小為M×N的二維矩陣即可得到置亂后的灰度圖像,步驟1中的λ、x0作為加密密鑰key1、key2。

4、基于位擴展的灰度圖像混沌加密算法實現(xiàn)

采用VC++6.O編寫算法實現(xiàn)的代碼,具體流程如圖1所示。通過實驗,發(fā)現(xiàn)一次混沌置亂在原始圖像較復雜的情況下仍會留下圖像的細微輪廓,可用不同的兩組密鑰將上述算法執(zhí)行兩次,以達到更好的效果。

基于位擴展的灰度圖像混沌加密算法

在實際算法中,第2組密鑰由第1組密鑰key1和key2自動形成:key1=keyl1+0.01,key2 =key2 +0.001。解密的過程同加密時進行的操作基本相同,解密時只需首先由正確的密鑰生成第2組密鑰,用第2組密鑰先解密1次,再用原密鑰解密1次,即可恢復出水印圖像。

二、實驗結果分析

1、置亂效果

本文實驗所用計算機處理器主頻為'1.8 GHz,內(nèi)存為512 MBo,使用尺寸為256 x256的灰度圖像進行置亂,基于位擴展的混沌置亂算法的密鑰設定為λ=1. 952,xo=0.143;Arnold置亂算法的密鑰設定為14 。原圖和置亂后的結果如圖2所示,可以看出,文中提出的置亂算法具有較好的置亂效果。

基于位擴展的灰度圖像混沌加密算法

2、耗時測試

實驗的目的是驗證位擴展混沌算法的實效性。Arnold算法在圖像尺寸為128×128、256×256、512 ×512的周期依次為96、192、384,分別設定置亂密鑰為50、100、200;位擴展混沌算法的密鑰統(tǒng)一設定為λ=1. 952,x0=0.143,則結果如表1、表2所示,精確到毫秒級。

基于位擴展的灰度圖像混沌加密算法

實驗表明:基于位擴展的灰度圖像混沌加密算法在實效性上優(yōu)于Amold算法,圖像越大優(yōu)勢越明顯。

對于顏色信息更多的彩色圖像來說,應用位擴展算法進行加密從理論上分析同樣是可行的,只需將擴展的位數(shù)由8位增加到24位。新的加密算法能夠廣泛應用于信息安全領域,特別是數(shù)字水印系統(tǒng)中對水印圖像的預處理階段,亦可用于其他領域的圖像文件加密,且加密算法具有較高的安全性和魯棒性。

小知識之位擴展

存儲信息一般是存儲在存儲器(ROM、RAM)上的 。在實際應用中,經(jīng)常出現(xiàn)一片ROM或RAM芯片不能滿足對存儲器容量需求的情況,這就需要用若干片ROM或RAM組合起來形成一個存儲容量更大的存儲器。而組合方式有字擴展和位擴展兩種。
把用位數(shù)較少的多片存儲器(ROM或RAM)組合成位數(shù)更多的存儲器的擴展方法。位擴展只是擴展的位數(shù)。