比特重組的彩色圖像加密算法

通常的彩色圖像加密算法未能充分考慮RGB各顏色分量之間的內在聯(lián)系,抵抗統(tǒng)計分析能力不強。為進一步增強圖像置亂程度與加密安全性,在結合混沌置亂的基礎上,我們提出了一種新的彩色圖像加密算法。

一、logistic混沌映射系統(tǒng)

混沌是一種非線性無規(guī)則的運動,是在確定性非線性系統(tǒng)中不需附加任何隨機因素也可出現(xiàn)的一種內在隨機性,因此其偽隨機行為能夠準確再生。如一維logistic映射從數(shù)學形式上來看是一個非常簡單的混沌映射,該類系統(tǒng)具有極其復雜的動力學行為,其數(shù)學表達式如下:

1

當μ∈[3.56994567,...,4],xk∈(0,1)時,logistic映射呈現(xiàn)混沌態(tài)。

混沌系統(tǒng)的這些特性與密碼學要求的擴散、置亂和隨機特性相吻合,在保密通信領域的應用非常廣泛。但部分圖像加密方案采用了一維混沌系統(tǒng),因此其安全性不高,由于二維logistic映射具有一維logistic映射簡單的形式,又具有多維混沌系統(tǒng)多參數(shù)、行為復雜的特點,本文利用二維logistic映射進行圖像加密處理。二維Iogistic映射的動力學方程如下:

1

其動力學行為是由其中的參數(shù)μ、λ1、λ2、γ來控制的,通常取μ=4。當λ1=0.9、λ2=0.9、γ=0.1時,經(jīng)過計算得到二維logistic系統(tǒng)處于混沌狀態(tài)。

二、彩色圖像加密算法

為充分擾亂彩色圖像RGB分量的相關性,本文提出一種基于二維混沌映射與比特隨機重組的彩色圖像加密算法。算法首先將RGB分量視為一個整體,以將彩色圖像轉換成一擴展的灰度圖像,然后利用二維logistic映射優(yōu)良的偽隨機特性與行為高復雜性,對彩色圖像進行位置置亂,并結合比特異或與隨機重組進行像素擴散。

1、基于二維logistic映射的像素位置置亂

基于2D logisitc映射的彩色圖像位置置亂過程描述如下:

步驟1讀人大小為m×n的彩色圖像I。

步驟2初始化logistic映射控制參數(shù):μ=4。當λ1=0.9、λ2=0.9、γ=0.1,并初始迭代映射:ko =300,給定密鑰key1={x0,Yo},其中x0、Yo為混沌映射的兩個初始值。

步驟3以密鑰key,為初始值,由式(2)迭代映射m×n十ko次,生成優(yōu)×n+ko對混沌序列值,舍棄ko對值,得到mXn對的混沌序列值,并將其分別存儲于大小為辨×n的一維數(shù)組P和Q中。

步驟4對P和Q中的元素做如下運算:

1

得到兩個整數(shù)數(shù)組P'、Q'。

步驟5通過對數(shù)組P’、Q',進行排序以生成兩個長度為m×n的一維偽隨機序列P"、q'',其元素值取[o,m×n一1]內不等的整數(shù)。

步驟6對一維隨機序列P"、q''中的各元素P"(k)、q''(k)實施式(4)所示的變換,并將其映射為大小為m×紙的二維置亂矩陣X、y。

1

式中,符號"/”表示求商運算,x(i,j)、y(i,j)分別為二維置亂矩陣X、y的元素。

步驟7利用置亂矩陣X、y對圖像J進行位置置亂,得到置亂圖像數(shù)據(jù)I'。

2、結合比特異或與隨機重組的像素值變換

圖像置亂破壞了圖像原像素的相鄰像素點的相關性,但是像素點的灰度值并沒有改變,即圖像直方圖并沒有改變。為降低RGB各分量間的相關性,進一步利用異或操作與10-gisuc混沌映射對置亂后的擴展的圖像數(shù)據(jù)I'進行灰度變換,以提高加密效果,具體由以下幾個步驟構成。

步驟1 對置亂圖像,各像素RGB分量進行以下異或操作,得到異或后各像素的R'G'B'分量。

1

步驟2將異或后RGB分量組裝成一個24比特的整體,于是彩色圖像被擴展為一幅24比特的擴展灰度圖像。

步驟3給定密鑰key2,以key2為初始值,利用式(1)生成混沌序列S,且其元素值取[O,23]內不等的整數(shù)。

步驟4利用混沌序列S對擴展灰度圖像各24比特像素值進行隨機置亂,再將置亂后的24比特像素依次重新組裝成新的RGB分量。

步驟5重復以上步驟,直到所有像素處理完畢,即得到加密彩色圖像I''。

3、解密算法

解密過程是加密過程的逆過程,只需給定相同的混沌系統(tǒng)密鑰即可,主要由以下幾步完成。

步驟1給定與加密過程相同的密鑰key1、key2,與加密過程相同,由密鑰keyi生成置亂矩陣X、y。

步驟2由置亂矩陣X、y對加密彩色圖像I'進行像素位置逆置亂,得中間圖像i。

步驟3對中間圖像I的各R'G'B'分量實施如式(6)所示的異或操作,并將其組裝成一個24比特的整體,得到擴展的24比特擴展灰度圖像。

1

步驟5重復以上步驟,直到所有像素處理完畢,即得到解密彩色圖像I。

三、仿真實驗與性能分析

實驗中選取大量大小為256×256的RGB彩色圖像進行測試,圖1以peppers圖像為例給出了算法加密效果圖,給出了加密前后的圖像直方圖,加密后圖像的灰度直方圖變化較大,其灰度分布比較平坦,同時人眼從加密圖像(見圖1(b))中也難以察覺出原始圖像的任何信息,這說明加密圖像有較好的視覺加密效果。

1

1、密鑰空間分析

—個良好的加密方案應有足夠大的密鑰空間以挫敗窮舉攻擊。本文基于彩色圖加密算法中以二維logistic混沌系統(tǒng)的初始值ke1和一維logistic混沌初始值key2為密鑰,若精度為10 -16,則該加密算法密鑰空間可達1048,密鑰空間足夠大,可以有效阻止各種暴力攻擊試圖。

2、密鑰敏感性分析

以圖l(b)的加密圖像為例,圖2給出了密鑰微小變化時的解密仿真實驗結果,其中圖2(a)和圖2(b)分別是密鑰key1和key2最后一位有效數(shù)字不同時的解密圖像。由圖2可見,即使密鑰keyi和keyz有微小的變化,也會生成完全不同的加密圖像。由此可知,該加密算法中任何一個密鑰即使存在很細小的改變,也不能正確解密圖像,這正是logistic混沌系統(tǒng)對初值的敏感性所致。

1

3、相鄰像素相關性

以lena圖像為例,從原圖像和加密圖像中分別隨機選取2000對相鄰像素,計算其相關性,測試對比,實驗結果如表1所列。從表1中可以發(fā)現(xiàn),原始明文圖像相鄰像索的相關性很強,而加密圖像相鄰像素相關性很低,幾近于0。

1

小知識之Logistic函數(shù)

Logistic函數(shù)或Logistic曲線是一種常見的S形函數(shù),它是皮埃爾·弗朗索瓦·韋呂勒在1844或1845年在研究它與人口增長的關系時命名的。