《信息論、編碼及應(yīng)用》課件第7章_第1頁
《信息論、編碼及應(yīng)用》課件第7章_第2頁
《信息論、編碼及應(yīng)用》課件第7章_第3頁
《信息論、編碼及應(yīng)用》課件第7章_第4頁
《信息論、編碼及應(yīng)用》課件第7章_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章數(shù)字圖像加密7.1混沌映射與密碼學(xué)的聯(lián)系7.2混沌分組密碼的構(gòu)造方法7.3基于二維可逆映射的圖像分組加密方案7.4圖像分組加密程序

7.1混沌映射與密碼學(xué)的聯(lián)系

Shannon在他的經(jīng)典論文中指出:好的加密系統(tǒng)應(yīng)具有對密鑰的敏感性,以及能夠?qū)⒚魑闹脕y并改變其統(tǒng)計(jì)特性,而這正與混沌的混迭(mixing)特性相一致。其實(shí),混沌映射和加密系統(tǒng)二者之間存在著許多相似之處,其中主要體現(xiàn)在以下幾個(gè)方面:

(1)混沌的拓?fù)鋫鬟f與混迭特性對應(yīng)密碼的擴(kuò)散(diffusion)與混淆特性(confusion)。

(2)混沌對參數(shù)的敏感性對應(yīng)著密碼對密鑰的敏感性。

(3)混沌映射通過多輪的迭代獲得了指數(shù)分離的軌道,而傳統(tǒng)的加密系統(tǒng)則通過多輪的置亂(permutation)與替換(substitution)將明文打亂。然而,混沌與密碼學(xué)之間仍然有著很大的不同,最為重要的是,混沌是定義在連續(xù)的閉集上的,而密碼學(xué)的操作只限于有限域。

混沌映射與密碼學(xué)兩者之間更深層次的聯(lián)系還有待于作進(jìn)一步的研究。

盡管如此,我們?nèi)匀荒軌蚶没煦绲奶匦詠碓O(shè)計(jì)序列密碼或分組密碼,特別是對分組密碼來說,利用混沌的拓?fù)鋫鬟f性來快速地置亂和擴(kuò)散明文數(shù)據(jù),可以達(dá)到改變明文統(tǒng)計(jì)特性的目的。這一點(diǎn)對多媒體數(shù)據(jù)的加密尤其重要。因?yàn)閷τ谡Z音、圖像以及視頻這些多媒體信息來說,由于其固有的大數(shù)據(jù)量和高冗余性,傳統(tǒng)的對稱和非對稱密碼對它們并不太合適。為解決多媒體加密問題,人們已經(jīng)提出了許多新的加密方案,其中比較典型的是一類稱為部分加密的算法,但這些算法只是減少了加密的數(shù)據(jù),在加密算法上依然使用的是傳統(tǒng)的DES等方法,因此是以犧牲加密強(qiáng)度來換取加密速度的。近年來,人們嘗試采用混沌的方法構(gòu)造快速的加密算法,如采用Cat映射構(gòu)造二維可逆圖像加密方案等,這些方法給我們提供了一個(gè)新的思路,很有參考價(jià)值。7.1.1從分組密碼的定義比較密碼變換與混沌映射的關(guān)系

分組密碼是一種滿足下面條件的映射E:Fm2×SK→Fm2,對每個(gè)k∈SK,E(·,k)是從Fm2到Fm2的一個(gè)置換。

在上述定義中,E(·,k)是密鑰為k的一個(gè)加密函數(shù),其逆為密鑰為k的解密函數(shù),記為D(·,k)。分組密碼要求能夠在密鑰的控制下,從一個(gè)足夠大且足夠安全的置換中選擇出一個(gè)置換,使得由它構(gòu)成的密碼系統(tǒng)能夠做到:

(1)對每一個(gè)密鑰k∈SK,存在加密變換E(·,k)∈E和對應(yīng)的解密變換D(·,k)∈D,使得對于每一個(gè)明文p∈Fm2,唯一解密條件D(E(·,k),k)=p能夠得到滿足;

(2)變換E(·,k)和D(·,k)對密鑰k是敏感的,若密鑰存在很小的差異,即|k1-k2|<<ε且k1≠k2,則有|c1-c2|=|E(p,k1)-E(p,k2)|>M,這表明密文會(huì)有很大的不同;

(3)已知密文c在密鑰k未知的情況下,求取明文p是困難的,并且已知c=E(p,k)和p=D(c,k)求出密鑰k是困難的。

另一方面,混沌映射具有如下特性:

(1)混沌映射是定義在相空間I上的一個(gè)確定性的自映射f:I→I,具有復(fù)雜的動(dòng)力學(xué)特性;

(2)混沌映射對初值具有極端的敏感性,即存在δ>0,使得對任意的ε>0和任意的x∈V,在x的ε鄰域內(nèi)存在y,以及存在自然數(shù)n,滿足d(fn(x),fn(y))>δ;

(3)混沌映射具有拓?fù)鋫鬟f性,即對于I上的任一對開集X和Y,存在k>0,使得fk(X)∩Y≠φ。

混沌的這些特性與密碼變換的特性是一致的,如表7-1所示。密碼變換和混沌映射的聯(lián)系還可以從計(jì)算復(fù)雜性的角度來看。密碼系統(tǒng)的基本問題之一就是其安全性。也就是說,利用有限的計(jì)算資源,在有限的時(shí)間內(nèi),一個(gè)問題是單向的,不可解。例如,在密碼學(xué)中廣泛使用的陷門函數(shù)就是一種單向函數(shù);再如,偽隨機(jī)數(shù)發(fā)生器和分組密碼算法也具有這種單向特性。在傳統(tǒng)密碼學(xué)中,這種單向函數(shù)的構(gòu)造一般都是利用一些數(shù)論中的難題,如大整數(shù)分解問題、離散對數(shù)問題等來實(shí)現(xiàn)的。

而一些混沌系統(tǒng),當(dāng)數(shù)字化后也構(gòu)成單向函數(shù)。我們可以看一個(gè)簡單的例子,即考慮定義在區(qū)間(0,1)上的移位映射(即模運(yùn)算)

xn+1=axn(mod1)

(7-1)式中,a為正整數(shù),0<x0<1。當(dāng)a>1時(shí),該映射的Lyapunov指數(shù)為lna>0,且模運(yùn)算使迭代序列有界,故該映射是混沌的。但如果將式(7-1)數(shù)字化后,可得如下映射形式:

xn+1=axn(modN)

(7-2)

式中,a為大于1的正整數(shù),并且x0、xn和N都為整數(shù)。

比較式(7-1)和式(7-2)可知,對于式(7-1)來說,對所有的a值,該項(xiàng)映射是不可逆的;但對于式(7-2)來說,有兩種情況:第一種情況是a和N互質(zhì)(即互素,滿足gcd(a,N)=1,其中g(shù)cd表示最大公約數(shù),它是GreatestCommonDivisor的縮寫),則映射在[0,N-1]上是可逆的;第二種情況是a和N非互質(zhì),即不滿足gcd(a,N)=1,那么,映射在[0,N-1]上是不可逆的。另一方面,式(7-2)所描述的映射也可以看成是一個(gè)離散對數(shù)問題。令x0=1,然后將其代入式(7-2),進(jìn)行n輪迭代后,得(7-3)對于離散對數(shù)問題就是已知xn和a,求解指數(shù)n(這是一個(gè)難題)。這個(gè)問題用動(dòng)態(tài)系統(tǒng)來解釋就是:從某個(gè)初始值x0出發(fā),在給定軌道上的某個(gè)點(diǎn)xn時(shí),求取其迭代次數(shù)n。7.1.2從分組密碼的設(shè)計(jì)原理比較密碼變換與混沌映射的關(guān)系

分組密碼的設(shè)計(jì)就是找到一種算法,該算法能在密鑰的控制下從足夠大的置換子集中迅速找到一個(gè)置換,用來對當(dāng)前輸入的明文進(jìn)行加密變換。要使這樣的加密變換足夠安全,需要很好地利用混淆和擴(kuò)散原則。

所謂擴(kuò)散原則,是指所設(shè)計(jì)的密碼應(yīng)使得密鑰的每一位數(shù)字影響密文的許多位數(shù)字,以防止對密鑰進(jìn)行逐段破譯,并且明文的每一位數(shù)字也應(yīng)該影響密文的許多位數(shù)字,以便隱藏明文數(shù)字的統(tǒng)計(jì)特性。所謂混淆原則,是指所設(shè)計(jì)的密碼應(yīng)該使得密鑰和明文以及密文之間的依賴關(guān)系變得相當(dāng)復(fù)雜,以至于這種依賴關(guān)系對密碼分析者來說無法利用。上面兩個(gè)著名原則最早是由Shannon提出的,他在1949年著的經(jīng)典論文《保密的通信理論》中還指出:“好的混合變換通常是兩個(gè)簡單的非可交換運(yùn)算的乘積。比如Hopf已經(jīng)證明,做餡餅皮的生面團(tuán)可以通過下面一系列的操作進(jìn)行混合:面團(tuán)首先被揉搓成一個(gè)扁面皮,然后將它折疊,再搓揉,再折疊,如此往復(fù)。一個(gè)混合變換中的函數(shù)應(yīng)該是復(fù)雜的,它的所有變量都應(yīng)敏感,對任何一個(gè)變量來說,一個(gè)很小的變化都應(yīng)引起輸出的顯著不同?!盨hannon在上面提及的這種在有限區(qū)域內(nèi)進(jìn)行反復(fù)折疊、拉伸變換正是混沌映射的典型表現(xiàn)。例如,貓映射(即Cat映射,由于用的是貓的圖像,故稱為“貓映射”)方程為(7-4)上式表示在單位正方形內(nèi)不斷地進(jìn)行線性拉伸,然后通過取模來進(jìn)行折疊,從而呈現(xiàn)一種復(fù)雜的混沌行為,如圖7-1所示。顯然,當(dāng)xn=1,yn=1時(shí),xn+1=2,yn+1=3,將圖中的e點(diǎn)拉伸到圖中的a點(diǎn),從而將原來左下角的正方形經(jīng)過一次貓映射后拉伸為abcdefa所包圍的圖形,然后再保面積折疊放回來。在式(7-4)中,滿足0<xn,yn<1(n=0,1,2,…),即xn、yn都是實(shí)數(shù)。Shannon還指出,好的加密系統(tǒng)應(yīng)具有對密鑰的敏感性,以及能夠?qū)⒚魑某浞值刂脕y并改變其統(tǒng)計(jì)特性,而這正好與混沌的混迭特性、對初始條件和參數(shù)的敏感性相一致。圖7-1貓映射的幾何解釋由于混沌具有拓?fù)鋫鬟f性,因而具有混迭特性。所謂映射f具有混迭特性,是指任何一個(gè)非零測度初始集合在映射f的作用下,在演化過程中將擴(kuò)散到整個(gè)相空間。這一點(diǎn)和分組密碼設(shè)計(jì)中要求的擴(kuò)散作用相對應(yīng)。如果考慮將明文空間作為映射的一個(gè)初始區(qū)域,那么混沌的混迭特性意味著可以將明文的任意一位擴(kuò)散到整個(gè)密文的每一位上。

混迭的系統(tǒng)還有一個(gè)有用的性質(zhì),即在一個(gè)具有混迭特性的動(dòng)態(tài)系統(tǒng)中,任何初始非均勻分布的集合都將趨于均勻分布。由此,若采用具有混迭特性的系統(tǒng)來加密,當(dāng)?shù)呌跓o窮大時(shí),由于密文的分布已經(jīng)不同于初始的明文分布,因此,密文的統(tǒng)計(jì)特性不會(huì)依賴于明文。這一點(diǎn)正好符合分組密碼設(shè)計(jì)的混淆原則。7.1.3從分組密碼的整體結(jié)構(gòu)比較密碼變換與混沌映射的關(guān)系

為了使分組密碼具有足夠的安全性且容易實(shí)現(xiàn),在分組密碼的設(shè)計(jì)中常常使用一種被稱為Feistel網(wǎng)絡(luò)的結(jié)構(gòu)。該結(jié)構(gòu)是由H.Feistel發(fā)明的,并且已經(jīng)在很多分組密碼系統(tǒng)中廣泛使用,如DES等。

對一個(gè)分組長度為2n比特的r輪Feistel密碼,它的加密過程如圖7-2所示,具體過程如下:

(1)將明文P分成為左、右兩個(gè)部分,分別記為L0和R0。

(2)進(jìn)行r輪完全相等的運(yùn)算,計(jì)算規(guī)則為(7-5)

(3)輸出密文C,即將式(7-5)寫成迭代形式,得(7-6)將上式與混沌中的Henon映射相比較:(7-7)式中,fa(x2(i))為某種帶參數(shù)a的非線性函數(shù),如fa(x2(i))=1-a[x2(i)]2。當(dāng)a=1.4,b=0.3時(shí)該系統(tǒng)是混沌的??梢园l(fā)現(xiàn),式(7-6)和式(7-7)在形式上有驚人的相似之處,對于分組密碼的整體結(jié)構(gòu),也可以采用某種相似的混沌映射。圖7-2Feistel分組密碼結(jié)構(gòu)

7.2混沌分組密碼的構(gòu)造方法

7.2.1混沌映射數(shù)字化帶來的性能下降

根據(jù)混沌的定義,從理論上講,一個(gè)定義在連續(xù)域上的混沌映射的周期點(diǎn)測度為零。也就是說,一個(gè)周期軌道上任意小的鄰域內(nèi)都會(huì)存在非周期軌道。這一點(diǎn)說明,若任意選擇相空間中的某個(gè)值作為初始值迭代,得到周期軌道的概率接近于零,一般情況下得到的都是非周期的混沌軌道。而將這個(gè)連續(xù)的混沌映射數(shù)字化后,情形就不一樣了。

下面首先定義有限域上的迭代映射。定義7-1

令Xd為一個(gè)有限集合,F(xiàn)d為一個(gè)定義在Xd上的自映射,F(xiàn)d:Xd→Xd,則

xn+1=F(xn),xn∈Xd,n=0,1,2,…

稱為有限域上的迭代映射。

數(shù)字混沌映射可以采用下面的定義。

定義7-2

設(shè)F為一個(gè)定義在連續(xù)相空間X上的混沌映射,則按下面數(shù)字化方法所獲得的有限域上的迭代映射Fd稱為數(shù)字混沌映射:取一個(gè)有限分割β={C0,C1,…,Cm-1}覆蓋整個(gè)相空間X,將F:X→X用Fd:Xd→Xd代替,此處Xd={0,1,…,m-1}。需要說明的是,關(guān)于數(shù)字混沌映射,目前并沒有一個(gè)公認(rèn)的定義,下面將數(shù)字化后的混沌映射稱為數(shù)字混沌。

從本質(zhì)上講,用計(jì)算機(jī)仿真以及用DSP和FPGA生成混沌的結(jié)果,由于有限精度效應(yīng)的原因,所生成的混沌不是真正意義上的混沌,而是數(shù)字混沌。

嚴(yán)格地說,混沌映射數(shù)字化以后獲得的映射不再是混沌的,一個(gè)明顯的標(biāo)志就是,該映射的軌道全為周期軌道??梢杂靡莆挥成浜拓堄成錇槔齺碚f明。

原始的移位映射定義為式(7-1),數(shù)字化后的映射為式(7-2)。映射式(7-2)為周期映射,其周期最大值為N-1。原始的貓映射定義為式(7-4),將其數(shù)字化后,得到如下映射:(7-8)式中,a、b、N為正整數(shù)。所謂數(shù)字化,是指xn、yn(n=0,1,2,…)都為正整數(shù)而不是任意實(shí)數(shù)的情形。因此,當(dāng)a、b、N均為正整數(shù)時(shí),若初始值x0、y0也為正整數(shù),則xn、yn(n=0,1,2,…)也都為正整數(shù),此時(shí)的貓映射為周期映射;若初始值x0、y0不是正整數(shù),而是任意實(shí)數(shù),則xn、yn(n=0,1,2,…)也都不是正整數(shù)而是任意實(shí)數(shù),此時(shí)的貓映射為混沌映射。注意貓映射為保面積映射,即滿足對于保面積映射,除式(7-8)給出的矩陣形式外,還有以下四種矩陣形式都滿足保面積映射,即當(dāng)然,還有其它一些形式,只需滿足保面積的條件即可,故可適當(dāng)選取其中的一種形式來作為貓映射。在下面的仿真中,我們選取第一種形式作為貓映射的標(biāo)準(zhǔn)形式。利用式(7-8)所示的貓映射,可對圖像中各個(gè)像素的位置進(jìn)行置亂,從而達(dá)到數(shù)字加密的目的,下面舉兩個(gè)例子加以說明。例7-1

在式(7-8)中,選取a=319,b=413,N=512。設(shè)原始圖像如圖7-3(a)所示;經(jīng)過3輪置亂后,得加密圖像如圖

7-3(b)所示,解密后的圖像如圖7-3(c)所示。

例7-2

貓映射的周期性。在式(7-8)中,選取a=40,b=8,N=124。

設(shè)原始圖像如圖7-4(a)所示;第1輪置亂后,得加密圖像如圖7-4(b)所示;經(jīng)過第14輪加密后,得加密圖像如圖7-4(c)所示;經(jīng)過第20輪加密后,得加密后的圖像如圖7-4(d)所示。由此可見,經(jīng)過第20輪加密后,圖像又恢復(fù)了原樣。圖7-3基于貓映射的數(shù)字圖像加密與解密圖7-4貓映射的周期性7.2.2混沌映射的選擇

一般來說,用于加密的混沌映射應(yīng)符合以下三個(gè)條件:

(1)具有良好的混迭特性;

(2)為魯棒混沌或者至少是結(jié)構(gòu)穩(wěn)定的混沌映射;

(3)具有較大的參數(shù)集。

其中,所謂的魯棒混沌或者結(jié)構(gòu)穩(wěn)定的混沌映射是指參數(shù)在具有小擾動(dòng)的情況下所獲得的混沌映射具有拓?fù)涞葍r(jià)性。例如,Logistic映射就不是一個(gè)魯棒混沌映射,因?yàn)楫?dāng)進(jìn)入混沌區(qū)時(shí),混沌區(qū)域中會(huì)出現(xiàn)稠密的周期窗口。雖然從Lyapunov指數(shù)和混沌映射的分布均勻性角度可以給出一些定量的描述,但是,目前尚沒有公認(rèn)的指標(biāo)可以用來定量地評價(jià)混沌映射用于密碼系統(tǒng)的程度。研究表明,滿足下面條件的混沌映射比較適合于用來構(gòu)造分組密碼。

(1)混沌映射的Lyapunov指數(shù)盡可能大。

Lyapunov指數(shù)是一個(gè)動(dòng)態(tài)系統(tǒng)對初始條件敏感性強(qiáng)弱程度的定量刻畫。對于一個(gè)一維系統(tǒng),可以按下式來計(jì)算:(7-9)一個(gè)混沌映射的最大Lyapunov指數(shù)大于0,并且Lyapunov指數(shù)越大,該映射對初始值越敏感,也就越適合用于加密系統(tǒng)。

(2)混沌映射具有均勻的概率分布。對于一個(gè)離散混沌映射F:X→X,其迭代軌跡在相空間會(huì)呈現(xiàn)出一定的分布。由于混沌映射具有拓?fù)鋫鬟f性,故具有遍歷特性(也就是說,在混沌系統(tǒng)中,拓?fù)涞膫鬟f性會(huì)導(dǎo)致遍歷性),即混沌軌跡會(huì)落到X中的每一點(diǎn)的小鄰域。例如,對于Logistic映射來說,它在區(qū)間(0,1)上的分布為但這并不是均勻分布,并且在兩端具有奇異性。

在實(shí)際應(yīng)用中,可以用MATLAB中的直方圖指令來計(jì)算混沌映射的直方圖,以此求得混沌映射的概率分布,從而可以直觀地看出該混沌映射是否具有均勻的概率分布。例如,對于Logistic映射來說,可求得其直方圖的結(jié)果如圖7-5所示。圖7-5Logistic映射的直方圖

(3)混沌映射的控制參數(shù)要多,且參數(shù)空間要大。對于混沌密碼系統(tǒng),參數(shù)往往用作密鑰,因此,控制參數(shù)多就意味著密鑰多,參數(shù)空間大才能保證密鑰空間大,這樣的密碼系統(tǒng)的保密性能才高。

(4)可逆的一一映射對分組密鑰具有優(yōu)越性。因?yàn)橐蠓纸M密碼能共用加密/解密器,所以,密碼變換應(yīng)該在密鑰的控制下可逆,并且明文和密文的大小一致。在分組密碼設(shè)計(jì)中,通常采用置亂和替換的方法,而一一映射可以保證置亂變換是一一對應(yīng)的。目前,還沒有公認(rèn)的混沌分組密碼設(shè)計(jì)的一般理論和方法。主要設(shè)計(jì)步驟可概括如下:

①選擇一個(gè)混沌映射。要求所選擇的混沌映射具有良好的混迭特性、較大的參數(shù)空間以及穩(wěn)定的結(jié)構(gòu)。

②引入加密參數(shù)。也就是選擇哪些參數(shù)可以用作密鑰,參數(shù)范圍是什么,以及如何選擇參數(shù)保證映射是混沌的。

③離散化混沌映射。將原始的連續(xù)映射離散化,在這一過程中,須保證數(shù)字混沌映射能保持原混沌的混沌特性,并檢查數(shù)字化后的映射的周期性。

④密鑰的分配。合理地將混沌映射的控制參數(shù)與密鑰對應(yīng)起來,保證獲得足夠大的密鑰空間。⑤密碼分析。一般是利用盡可能存在的密碼攻擊方法對系統(tǒng)的安全性進(jìn)行測試。但即使通過了已知的密碼攻擊方法,仍不能保證該密碼系統(tǒng)是絕對安全的。

上面敘述的法則是一個(gè)一般化的方法,在具休設(shè)計(jì)時(shí),還有很多要考慮的因素,下面將結(jié)合具體的圖像混沌加密算法來做較為詳細(xì)的闡述。

7.3基于二維可逆映射的圖像分組加密方案

7.3.1已有圖像加密算法回顧

已有圖像加密方法可以分為兩類:一類是在壓縮域內(nèi)對已壓縮的數(shù)據(jù)流進(jìn)行加密;另一類是對原始數(shù)據(jù)進(jìn)行加密。盡管Shannon指出,為了消除數(shù)據(jù)之間的統(tǒng)計(jì)信賴性,數(shù)據(jù)應(yīng)該先壓縮再加密,然而,由于各種數(shù)據(jù)壓縮算法的不同,帶來圖像數(shù)據(jù)存儲(chǔ)格式不一,壓縮過的數(shù)據(jù)再經(jīng)過加密后無法為一般的圖像軟件所識別,也無法對密文圖像進(jìn)行格式轉(zhuǎn)換,從而給數(shù)據(jù)的使用帶來不便。而若先加密再壓縮,則因?yàn)榧用苓^的數(shù)據(jù)其相關(guān)性已被破壞,很難獲得高的壓縮率;同時(shí),由于當(dāng)前的許多圖像壓縮算法是有損的,壓縮加密過的數(shù)據(jù)會(huì)帶來解密錯(cuò)誤,因此,具體采用哪種方法要根據(jù)實(shí)際需要而定。為了加快加密速度,同時(shí)考慮到圖像數(shù)據(jù)的特點(diǎn),對圖像的加密算法分為全加密和部分加密兩類。部分加密又稱為選擇加密,就是只選擇圖像數(shù)據(jù)中的一部分來進(jìn)行加密。這種加密思想的出發(fā)點(diǎn)在于,圖像數(shù)據(jù)的各個(gè)分量對圖像質(zhì)量或圖像保密來說并不同等重要。例如,對于圖像的DCT變換來說,大部分能量都集中在少部分的低頻和直流系數(shù)上,因此加密少部分重要的數(shù)據(jù)就可以實(shí)現(xiàn)對整幅圖像的安全保護(hù)。很多圖像和視頻序列的加密就采用了部分加密的算法。對于一個(gè)512×512的圖像,通過部分加密,只有13%~27%的四叉樹壓縮輸出數(shù)據(jù)需要被加密。對SPIHT壓縮算法來說,被加密的數(shù)據(jù)低于2%。為適應(yīng)當(dāng)前的圖像和視頻編碼格式,很多加密方案集中于DCT變換系數(shù)的修改上。這些方案或者修改DCT直流系數(shù),或者改變DCT系數(shù)的符號位。對MPEG編碼來說,目前也有只加密1幀DCT變換系數(shù)和加密運(yùn)動(dòng)矢量的算法。對DCT系數(shù)圖像部分加密,雖然可以提高加密速度,也可以和現(xiàn)有圖像壓縮標(biāo)準(zhǔn)結(jié)合,以及不改變圖像的格式,但是它有一些難以克服的缺點(diǎn)。另外,人們已發(fā)現(xiàn)重要的DCT系數(shù)并不完全是對知覺和感覺都重要的系數(shù)。換句話說,部分加密DCT系數(shù)并不能完全加密圖像的可理解性。這是因?yàn)镈CT變換并不和人眼視覺系統(tǒng)的特性相一致,它只是做到了能量的集中。從這一點(diǎn)上來說,小波變換具有其優(yōu)越性。為克服在變換域中加密數(shù)據(jù)帶來的數(shù)據(jù)膨脹和可壓縮性降低的缺陷,某些研究者也考慮在圖像壓縮的同時(shí)進(jìn)行加密,提出了一類將壓縮和加密結(jié)合的方法。實(shí)際上,從Shannon信息論的角度來看,壓縮數(shù)據(jù)也可看成是某種加密,因?yàn)槎叨际窃诮档蛿?shù)據(jù)的相關(guān)性,使最終數(shù)據(jù)相互之間統(tǒng)計(jì)獨(dú)立。

在混沌圖像加密方面,已采用了貓映射等構(gòu)造了二維圖像加密方案,例如,將貓映射離散化,利用離散化后的映射對像素的位置進(jìn)行置亂,然后再對像素的灰度值進(jìn)行擴(kuò)散。交替進(jìn)行這種擴(kuò)散和置亂操作,便可達(dá)到圖像快速加密之目的。7.3.2一類基于二維可逆混沌映射的圖像分組加密方案

基于混沌的圖像分組加密就是利用混沌模型對圖像進(jìn)行某種置換,使得置換后的圖像與原始圖像存在視覺差異。對圖像進(jìn)行的加密置換要交替地使用置亂和擴(kuò)散機(jī)制。置亂是對圖像的像素坐標(biāo)進(jìn)行變換,而擴(kuò)散則是對圖像像素值進(jìn)行混迭。操作的目的是使得加密后的圖像的統(tǒng)計(jì)特性變得均勻,并且密文圖像和明文圖像之間的依賴關(guān)系變得復(fù)雜。

對像素值的擴(kuò)散有三種方法,現(xiàn)歸納如下:

第一種方法為混沌序列加密。這種方法是由一個(gè)確定的混沌模型產(chǎn)生具有足夠長的混沌序列{c1,c2,…,cm},并將該序列映射為圖像像素值域上的序列{p1,p2,…,pm},然后將序列{p1,p2,…,pm}與像素值進(jìn)行某種相關(guān)運(yùn)算,如異或運(yùn)算等。第二種方法是將一幅圖像分成若干個(gè)小塊,將圖像的像素值代入一個(gè)混沌映射進(jìn)行迭代,以此來改變每個(gè)像素的數(shù)值大小。圖像的像素值是表征該像素的顏色、亮度等信息的整數(shù),它可以是顏色分量,也可以是亮度信息,或者顏色索引。

第三種方法是一種構(gòu)造替換表的方式。設(shè)像素值的取值空間為P={0,1,2,…,255},采用一個(gè)一維的混沌系統(tǒng)進(jìn)行迭代,獲得一個(gè)混沌序列C={c1,c2,…,cm},然后對這個(gè)混沌序列進(jìn)行數(shù)字化,使得ci∈[0,255],再將序列C中重復(fù)的數(shù)據(jù)剔除,最后P和C便構(gòu)成一個(gè)像素值的替換表。這種類似于傳統(tǒng)分組密碼中S盒的構(gòu)造,具有很好的擴(kuò)散效應(yīng)。但其不足之處是沒有混淆作用,故常常需要結(jié)合某些異或、取模等操作,以達(dá)到擴(kuò)散的目的。像素坐標(biāo)變換的實(shí)現(xiàn)可以有多種方法。在此采用一種簡捷有效的算法,即采用二維可逆混沌映射,如前面提及的貓映射等,該映射可以將圖像中的每個(gè)像素的原始坐標(biāo)(x,y)映射到新坐標(biāo)(x′,y′),從而得到加密圖像。圖像的解密則是利用混沌映射的逆映射,最終將新坐標(biāo)(x′,y′)映射到原始坐標(biāo)(x,y)。

這類可逆的二維混沌映射目前研究得并不多,但采用它們進(jìn)行坐標(biāo)置亂具有很多優(yōu)點(diǎn),主要有以下幾個(gè)方面:

(1)由于該類映射是一一映射,故明文圖像和密文圖像之間存在著一一對應(yīng)的關(guān)系,避免了坐標(biāo)位置的沖突。

(2)數(shù)字化后的混沌映射具有周期性,而周期的長短一般和初始值的選取是相關(guān)的,但對于可逆混沌映射來說,周期的大小只和參數(shù)有關(guān),而與初始值無關(guān)。

(3)采用二維混沌映射具有大的密鑰空間,且這類混沌映射是結(jié)構(gòu)穩(wěn)定的。

(4)采用這類二維混沌映射對圖像置亂的速度很快。

(5)像素變換位置對應(yīng)表的構(gòu)造簡單,通過矩陣運(yùn)算即可實(shí)現(xiàn)。下面以貓映射為例,詳細(xì)分析基于二維混沌映射的圖像加密方法。7.3.3混沌貓映射

為敘述方便,將混沌貓映射重寫如下:(7-10)式中,矩陣A的數(shù)學(xué)表達(dá)式為因detA=1,故貓映射是保面積的一一映射。此外,由于貓映射為線性取模系統(tǒng),因此計(jì)算該映射的Lyapunov指數(shù)相對比較容易。為此,首先應(yīng)計(jì)算A的特征值,即整理后,得

λ2-3λ+1=0

計(jì)算得特征值的結(jié)果為故原點(diǎn)為鞍點(diǎn)。最后,得對應(yīng)的Lyapunov指數(shù)為λ1=ln(r1)>0,λ2=ln(r2)<0,可知該映射具有一個(gè)正的Lyapunov指數(shù),因而該映射是混沌的。該映射的幾何解釋如圖7-6所示。一幅圖像在貓映射的作用下,先進(jìn)行線性拉伸,然后通過取模運(yùn)算進(jìn)行折疊,如此循環(huán)往復(fù),最終達(dá)到混迭的目的。圖7-6貓映射對圖像的拉伸與折疊變換作用7.3.4貓映射的離散化

將貓映射用于加密,需要先對它進(jìn)行預(yù)處理。

(1)引入加密參數(shù)。加密參數(shù)的引入可以通過改變矩陣A的元素來獲得??紤]如下一般形式的貓映射:(7-11)式中,a、b為正整數(shù)。因detAd=1,故該映射仍為保面積映射,并具有正的Lyapunov指數(shù)。

(2)將貓映射擴(kuò)展到N×N并離散化(即數(shù)字化),得(7-12)該映射仍然是一一映射。在沒有數(shù)字化的情況下,x0、y0可取任意實(shí)數(shù)。所謂數(shù)字化,是指限制x0、y0只取正整數(shù)的情形,由于x0、y0均為正整數(shù),又因a、b、N均為正整數(shù),故所有的迭代值xn、yn(n=1,2,…)也為正整數(shù)。

容易證明,式(7-12)的參數(shù)a、b以N為周期,即式中,k1、k2為正整數(shù)。由此,要求a、b都為小于N的正整數(shù)。7.3.5基于混沌貓映射的圖像加密方法

1.置亂變換

在所構(gòu)造的加密算法中,置亂操作是將像素的位置置亂,采用式(7-12)所定義的數(shù)字化的貓映射來做置亂變換。

例7-3

試用式(7-12)所定義的數(shù)字化的貓映射來進(jìn)行置亂變換所得的結(jié)果。已知參數(shù)為a=319,b=413,N=512,經(jīng)過7輪加密后,得數(shù)值仿真結(jié)果如圖7-7所示。由圖可知,單純的位置置亂并不能改變原始圖像的統(tǒng)計(jì)特性,即置亂前與置亂后的圖像的統(tǒng)計(jì)特性完全相同。圖7-7置亂加密不改變圖像的統(tǒng)計(jì)特性

2.擴(kuò)散變換

從上面的例7-3我們可以得出一個(gè)重要的結(jié)論:單純采用像素置亂不會(huì)改變圖像的統(tǒng)計(jì)直方圖(統(tǒng)計(jì)特性),因此,攻擊者會(huì)利用直方圖(統(tǒng)計(jì)特性)進(jìn)行統(tǒng)計(jì)攻擊。為此,需引入像素值的擴(kuò)散變換,進(jìn)一步使密文的直方圖變得比較均勻。

圖像擴(kuò)散操作可以這樣進(jìn)行。設(shè)原始圖像為f,將之分解成2×2的小方塊,對每個(gè)方塊中的四個(gè)像素值f(2i,2j),f(2i+1,2j),f(2i,2j+1),f(2i+1,2j+1)運(yùn)用如下變換:

X′=TX

(7-13)

式中

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

X'=[f'(2i,2j)f'(2i,2j+1)f'(2i+1,2j)f'(2i+1,2j+1)]T

在式(7-13)中,T為變換矩陣,其選取原則是保證它也是保面積的,即滿足detT=1,這樣,以保證逆映射存在并且是一對一的。例如,可以取(7-14)例7-4

試用式(7-13)和式(7-14)對圖像進(jìn)行擴(kuò)散變換。

解仿真結(jié)果如圖7-8所示。其中圖(a)為原始圖像,圖(b)為原始圖像的統(tǒng)計(jì)特性,圖(c)為加密1輪后的加密圖像,圖(d)為其對應(yīng)的統(tǒng)計(jì)特性;圖(e)為加密4輪后的加密圖像,圖(f)為其對應(yīng)的統(tǒng)計(jì)特性??芍?jīng)過4輪加密后,統(tǒng)計(jì)分布趨于均勻分布。圖7-8擴(kuò)散變換改變圖像的統(tǒng)計(jì)特性

3.置亂變換與擴(kuò)散變換相結(jié)合

利用置亂變換與擴(kuò)散變換的結(jié)合,并進(jìn)行多輪變換,可獲得更好的加密效果,完整的算法過程如下。

1)加密算法

加密算法過程如下:

(1)設(shè)置加密密鑰,即貓映射的參數(shù)a、b以及加密輪數(shù)k。

(2)將圖像分成為m個(gè)整數(shù)塊,不足的部分填充為0,使之滿足為整數(shù)塊。

(3)利用貓映射對圖像像素的位置進(jìn)行置亂變換。

(4)在每一次的置亂變換后,接著進(jìn)行一次擴(kuò)散變換。

(5)轉(zhuǎn)到步驟(3),將上面的(3)、(4)步循環(huán)做k輪。

2)解密算法

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

(1)設(shè)置解密密鑰,即貓映射的參數(shù)a、b以及加密輪數(shù)k與加密密鑰完全相同。

(2)將圖像分成為m個(gè)整數(shù)塊,不足的部分填充為0,使之滿足為整數(shù)塊。

(3)進(jìn)行一次反擴(kuò)散變換,即運(yùn)用反擴(kuò)散的公式:(7-15)

(4)進(jìn)行一次反擴(kuò)散變換后,接著進(jìn)行反置亂變換,即運(yùn)用反置亂變換公式:(7-16)式中

(5)轉(zhuǎn)到步驟(3),將上面的(3)、(4)步循環(huán)做k輪。例7-5

根據(jù)公式(7-12)~(7-16),運(yùn)用置亂變換和擴(kuò)散變換相結(jié)合的方法,對圖像進(jìn)行加密和解密。仿真結(jié)果如圖7-9和圖7-10所示。

解在圖7-9中,圖(a)為原始圖像,圖(b)為原始圖像的直方圖,圖(c)為先后進(jìn)行置亂變換和擴(kuò)散變換后加密1輪的加密圖像,圖(d)為加密圖像的直方圖,圖(e)為先后進(jìn)行反擴(kuò)散變換和反置亂變換后解密1輪的解密圖像。圖7-9置亂變換與擴(kuò)散變換相結(jié)合1輪的圖像加密和解密在圖7-10中,圖(a)為原始圖像,圖(b)為原始圖像的直方圖,圖(c)為先后進(jìn)行置亂變換和擴(kuò)散變換后加密4輪的加密圖像,圖(d)為加密圖像的直方圖,圖(e)為先后進(jìn)行反擴(kuò)散變換和反置亂變換后解密4輪的解密圖像。圖7-10置亂變換與擴(kuò)散變換相結(jié)合4輪的圖像加密和解密7.3.6安全性能分析

貓映射的安全性分析主要基于以下四個(gè)方面,下面分別論述。

1.密鑰空間分析

根據(jù)式(7-12),有貓映射的密鑰參數(shù)有3個(gè),它們是參數(shù)a、b和加密輪數(shù)k。由于數(shù)字化后的貓映射的參數(shù)a、b、N都為正整數(shù),并且滿足a、b<N,故參數(shù)a、b滿足1≤a≤N-1,1≤b≤N-1,亦即參數(shù)a有N-1種選擇,參數(shù)b也有N-1種選擇。如果只進(jìn)行1輪加密,即k=1,則密鑰空間KS為參數(shù)a的N-1種選擇和參數(shù)b的N-1種選擇的乘積,得密鑰空間的大小為

KS=(N-1)(N-1)=(N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論