基于高維廣義貓映射的圖像加密算法

基于高維廣義貓映射的圖像加密算法就是將三維廣義貓映射擴(kuò)展至四維廣義貓映射,通過將圖像的像素坐標(biāo)和灰度值作為廣義貓映射的初始值,映射參數(shù)和迭代次數(shù)作為密鑰實(shí)現(xiàn)圖像文件加密。與常見的低維混沌貓映射加密算法相比,該加密算法具有更大的密鑰空間及更高的加密速度,可作為加密系統(tǒng)的一個(gè)子模塊用于常規(guī)網(wǎng)絡(luò)或中高速無線傳感器網(wǎng)絡(luò)圖像、數(shù)據(jù)塊和視頻的加密傳榆。

一、從二維貓映射比較密碼變換與混沌映射的關(guān)系

貓映射(Cat map)最早是由Arnold引入的,因?yàn)榻?jīng)常用一張貓臉的圖進(jìn)行演示而得名,其方程如下:

基于高維廣義貓映射的圖像加密算法

式中,xn,yn都是實(shí)數(shù)且滿足0<xn,yn<1(n=0,1,2,…)。(xn,yn)的相空間被限制在單位正方形[0,1]×[0,1]內(nèi),貓映射在此正方形內(nèi)不斷地進(jìn)行線性的拉伸(乘以矩陣使xn,yn都變大),然后折疊(通過取模使xn,yn又折回單位正方形內(nèi)),具有Shannon在其經(jīng)典論文《保密通信理論》中指出的一個(gè)好的混合變換應(yīng)具有的“在有限區(qū)域內(nèi)進(jìn)行反復(fù)折疊、拉伸變換的特性”。

將原始的貓映射定義(1)式數(shù)字化,即xn,yn(n=0,1,2,…)均取正整數(shù)而非任意實(shí)數(shù),得到如下二維廣義貓映射:

基于高維廣義貓映射的圖像加密算法

式中a,b,N為正整數(shù)??梢宰C明(2)的參數(shù)a,b以N為周期,故要求a,b∈N。若初始值x0,yo為正整數(shù),則xn,yn(n =O,1,2,…)也均為正整數(shù),數(shù)字化后的貓映射(2)仍然具有貓映射的拉伸和折疊的性質(zhì),故可通過將圖像的像素坐標(biāo)及灰度值作為(2)的初始值進(jìn)行迭代來實(shí)現(xiàn)圖像的加密。對于圖像內(nèi)原來相鄰的兩點(diǎn)如(xn,yn)和(xn,yn+1),其像素坐標(biāo)經(jīng)廣義貓映射迭代幾次后不再相鄰;具有均勻概率分布的貓映射還可以保證經(jīng)過一定次數(shù)的灰度值迭代后,原加密圖的灰度直方圖由具有特定的統(tǒng)計(jì)規(guī)律改變?yōu)槌示鶆蚍植?,從而達(dá)到圖像保密的目的。

二、從二維廣義貓映射到高維廣義貓映射的擴(kuò)展

本節(jié)給出三維廣義貓映射的定義并將其擴(kuò)展至四維廣義貓映射?;谌S到四維的擴(kuò)展模式可以將廣義貓映射擴(kuò)展至更高維如八維,但由于篇幅限制及基于表述簡介的原則,下面以四維廣義貓映射為例說明如何將低維貓映射擴(kuò)展至高維廣義貓映射。

1、三維廣義貓映射

將二維廣義貓映射(2)擴(kuò)展為三維廣義貓映射:

基于高維廣義貓映射的圖像加密算法

 

其中N為正整數(shù),ai,bi(i=x,y,z)∈N且為正整數(shù)。

2、四維廣義貓映射

通過以下4個(gè)映射子變換可以實(shí)現(xiàn)從三維廣義貓映射(3)到四維廣義貓映射的擴(kuò)展。在(x,y,z)三維空間進(jìn)行三維廣義貓映射,同時(shí)令,γn+1=γn由(3)可得:

基于高維廣義貓映射的圖像加密算法

在(x,y,γ)三維空間進(jìn)行三維廣義貓映射,同時(shí)令zn+1=zn,由(3)可得:

基于高維廣義貓映射的圖像加密算法

在(x,z,γ)三維空間進(jìn)行三維廣義貓映射,同時(shí)令yn+1=yn由(3)可得:

基于高維廣義貓映射的圖像加密算法

在(y,z,γ)三維空間進(jìn)行三維廣義貓映射,同時(shí)令xn+1=xn由(3)可得:

基于高維廣義貓映射的圖像加密算法

聯(lián)合(4)~(7)可得四維廣義貓映射為:

基于高維廣義貓映射的圖像加密算法

為計(jì)算及表述簡潔起見,可令各基本參數(shù)ax=ay=az=aγ=bx=by=bz=bγ=1,有:

基于高維廣義貓映射的圖像加密算法

上述各維廣義貓映射均為保面積的,即滿足:

基于高維廣義貓映射的圖像加密算法

3、三類廣義貓映射的基本動(dòng)力學(xué)特征

選擇一個(gè)合適的基本混沌映射系統(tǒng),可以減少加密復(fù)雜度及提高加密速度且不失去良好的安全加密性能。

根據(jù)混沌動(dòng)力學(xué)理論,從刻畫動(dòng)力系統(tǒng)對初始條件敏感性強(qiáng)弱程度的Lyapunov指數(shù)和混沌映射分布的均勻性兩個(gè)方面出發(fā),指出一個(gè)合適的混沌映射系統(tǒng)應(yīng)該具有以下特征:

(1)大的Lyapunov指數(shù)

具有較大Lyapunov指數(shù)的混沌映射對初始值更敏感,也就越適合用于加密系統(tǒng)。

(2)均勻的概率分布

由于混沌映射的拓?fù)鋫鬟f性,一個(gè)離散混沌映射的迭代軌跡會(huì)落在相空間的每一點(diǎn)的小鄰域,但其分布并非一定均勻。具有均勻概率分布的混沌映射可以保證明文經(jīng)過一定次數(shù)的迭代后獲得均勻分布的密文,具有較強(qiáng)的抗統(tǒng)計(jì)攻擊性能。

例如針對Logistic映射的分布在區(qū)域(0,1)兩端呈現(xiàn)奇異性,基于概率原理的變換方法,實(shí)現(xiàn)把Logistic映射產(chǎn)生的非均勻分布隨機(jī)變量轉(zhuǎn)化為均勻分布的隨機(jī)變量,進(jìn)而滿足圖像置亂需要。與Logistic映射相比,即使是二維貓映射也能保證明文只通過一輪的擴(kuò)散變換就可獲得較均勻分布的密文,這是由混沌系統(tǒng)自身的特性所決定。

由三類廣義貓映射的定義式(2)、(3)及(8)可以計(jì)算出當(dāng)各基本參數(shù)均取1時(shí),各類貓映射的特征值及最大Lyapunov指數(shù),如表1所示。由表1可以得到,四維廣義貓映射的最大Lyapunov指數(shù)遠(yuǎn)大于二維或三維貓映射的最大Lyapunov指數(shù),因此從動(dòng)態(tài)系統(tǒng)對初始條件敏感性強(qiáng)弱程度而言,四維廣義貓映射較低維的貓映射更適合加密系統(tǒng)。

基于高維廣義貓映射的圖像加密算法

三、基于四維廣義貓映射的圖像加密算法

置換和替代是加密技術(shù)的兩個(gè)基本構(gòu)造模塊。由于對圖像像素坐標(biāo)進(jìn)行的像素置亂不會(huì)改變圖像的統(tǒng)計(jì)直方圖,為了避免統(tǒng)計(jì)攻擊,通常圖像加密算法會(huì)引人圖像像素值的擴(kuò)散變換使密文的直方圖變得比較均勻,并通過置亂變換與擴(kuò)散變換的組合進(jìn)行多輪的變換,以獲得更好的圖像文件加密效果。

1、圖像擴(kuò)散

欲將四維貓映射應(yīng)用于圖像擴(kuò)散,可將原始圖像分解成2x2的小方塊,對每個(gè)方塊中的四個(gè)像素值f(i,j),f(i+1,j),f(i+1,1)及f(i+1,j+1)運(yùn)用如下變換:

基于高維廣義貓映射的圖像加密算法

式中X=[f(i,j)f(i,j+1)f(i+1,j)f(i +1,j+1)]T為小方塊中四個(gè)像素值組成的向量,X'=[f’(i,j) f'(i,j+1) f'(i+,j) f’(i+1,j+1)]T為經(jīng)擴(kuò)散變換后的像素值向量。

2、加密算法

1)設(shè)置加密密鑰:加密輪數(shù)五,貓映射的參數(shù)ai,bi(i=x,y,z,γ)∈N;

2)利用二維貓映射式(2)對圖像像素的位置進(jìn)行置亂變換;

3)在每一次的置亂變換后根據(jù)式(10)進(jìn)行基于四維貓映射的像素值擴(kuò)散變換;

4)轉(zhuǎn)到步驟2),將加密算法中的2)、3)步循環(huán)做k輪。

3、解密算法

解密算法是加密算法的逆過程,具體過程如下:

1)設(shè)置解密密鑰:即解密輪數(shù)為忌,貓映射的參數(shù)ai,bi(i=x,y,z,γ)∈N與加密時(shí)完全相同;

2)進(jìn)行一次像素值反擴(kuò)散變換,即運(yùn)用反擴(kuò)散的公式:

基于高維廣義貓映射的圖像加密算法

3)在一次反擴(kuò)散變換后進(jìn)行像素位置反置亂變換,即運(yùn)用反置亂變換公式:

基于高維廣義貓映射的圖像加密算法

4)轉(zhuǎn)到步驟2),將解密算法中的2)、3)步循環(huán)做K輪。

圖1給出了對一幅256×256像素經(jīng)典Lena圖像的基于上述加解密算法的加密、解密仿真計(jì)算結(jié)果(k=3)。

基于高維廣義貓映射的圖像加密算法

圖2給出了原始圖像及加密后圖像的灰度直方圖。

基于高維廣義貓映射的圖像加密算法

由圖2可知,經(jīng)三輪加密后的直方圖(b)呈均勻分布,它掩蓋了原始圖像灰度直方圖(a)的分布規(guī)律,用此方法加密后的密文對密鑰的貢獻(xiàn)很小。

4、加密算法速度與安全性分析

僅考慮單輪計(jì)算量時(shí),基于低維和高維的廣義貓映射圖像加密算法速度無實(shí)質(zhì)區(qū)別,兩者所需計(jì)算時(shí)間均取決于原始圖像像素的大小,但高維廣義貓映射具有更大的Lyapunov指數(shù),這使得基于高維廣義貓映射的圖像加密算法只需較少的加密輪數(shù)即可獲得均勻分布的密文,進(jìn)而可獲得更高的加密速度。圖3給出了原始圖像經(jīng)過一輪由(2)式描述的二維廣義貓映射(a,b均取1)及一輪由(9)式描述的四維貓映射擴(kuò)散變換后獲得的圖像灰度直方圖。

從圖3可以看到,在相同加密輪數(shù)時(shí)四維貓映射加密算法較二維貓映射加密算法獲得了更為均勻分布的密文,表明基于高維廣義貓映射的圖像加密算法只需較少的加密輪數(shù)即可獲得均勻分布的密文。

基于高維廣義貓映射的圖像加密算法

Shannon曾指出理論上不可破譯的密碼系統(tǒng)是“一次一密鑰”系統(tǒng),主要闡述了在加密過程中每一個(gè)密鑰僅使用一次的設(shè)想。盡管這種“一次一密鑰”系統(tǒng)只是一種理想的極限情況,在實(shí)際應(yīng)用中很難實(shí)現(xiàn),但在密碼學(xué)領(lǐng)域依然是密碼算法設(shè)計(jì)者應(yīng)遵從的一個(gè)指導(dǎo)思想。常見的基于單參數(shù)的混沌信號(hào)加密,其參數(shù)一般固定不變,不符合Shannon提出“一次一密鑰”加密系統(tǒng)的設(shè)計(jì)理念,也是安全性能得不到保證的原因之一。通過分析該圖像加密算法的有效密鑰量達(dá)不到預(yù)期的目標(biāo),在已知圖像攻擊下是不安全的。

如果將混沌系統(tǒng)中的某一組便于調(diào)節(jié)的參數(shù)視為密鑰,每加密一次就改變這組參數(shù)一次,則符合“一次一密鑰”的設(shè)計(jì)思想。本文提出的高維廣義貓映射圖像加密算法在單獨(dú)應(yīng)用時(shí)雖然較低維貓映射具有更大的密鑰空間,其安全性能并無實(shí)質(zhì)性改善,但可以作為加密系統(tǒng)的一個(gè)子模塊用于對多幀圖像分時(shí)并隨機(jī)地共用某一組切換參數(shù)來實(shí)現(xiàn)圖像或視頻的加密。雖然由于不受限的圖像幀數(shù)將遠(yuǎn)大于有限的可選切換參數(shù)的數(shù)量而不能真正實(shí)現(xiàn)對每一幀圖像的“一次一密鑰”加密,但與固定參數(shù)的混沌視頻圖像文件加密相比,其安全性能將得到很大的提高。

小知識(shí)之Lyapunov指數(shù)

Lyapunov指數(shù)是衡量系統(tǒng)動(dòng)力學(xué)特性的一個(gè)重要定量指標(biāo),它表征了系統(tǒng)在相空間中相鄰軌道間收斂或發(fā)散的平均指數(shù)率。對于系統(tǒng)是否存在動(dòng)力學(xué)混沌,可以從最大Lyapunov指數(shù)是否大于零非常直觀的判斷出來: 一個(gè)正的Lyapunov指數(shù),意味著在系統(tǒng)相空間中,無論初始兩條軌線的間距多么小,其差別都會(huì)隨著時(shí)間的演化而成指數(shù)率的增加以致達(dá)到無法預(yù)測,這就是混沌現(xiàn)象。