時域圖像加密算法
在象因特網(wǎng)這樣的開放網(wǎng)絡(luò)中,數(shù)據(jù)加密被廣泛使用以保證信息的安全性。每一類數(shù)據(jù)都有其固有的特點。因此,應(yīng)該使用不同的加密技術(shù)保護保密數(shù)據(jù)防止非授權(quán)使用。對于文本數(shù)據(jù),有許多可以使用的加密算法。然而,適用文本數(shù)據(jù)的算法不一定適用于圖像數(shù)據(jù)。圖像有其固有的特點如:
(1)數(shù)據(jù)量大;
(2)鄰域像素間具有很強的相關(guān)性,任何指定像素值能合理的從鄰域像素值中推測等。
目前,根據(jù)圖像自身特點,有許多加密算法被提出。從變換域角度來看分為時域加密和頻域加密。本文主要研究高度保真圖像,如醫(yī)療圖像等,對于圖像變換到頻域進行一定處理再反變換到時域這種變換域的加密方法使圖像存在一定的損失,因為病變部位突變較大,頻率較高,頻域變換會使一部分高頻分量丟失,當(dāng)解密時,解密圖片將存在一定的失真,導(dǎo)致失去原有圖像的含義。故本文加密方法只研究時域算法,滿足高保真圖像的需求。
一、相關(guān)時域圖像加密系統(tǒng)
目前,時域加密比較先進的是非線性的混沌加密,該算法使用正規(guī)語言產(chǎn)生掃描模式,并且通過對二維存儲空間的不同訪問方式來產(chǎn)生非常大的掃描路徑曲線。通過對掃描模式的像素位置改變和灰度值的替代相結(jié)合,共同完成圖像加密算法。如應(yīng)用復(fù)合混沌系統(tǒng)即對圖像像素位置進行置亂又對圖像像素值進行擾亂的圖像加密系統(tǒng)。如一種新的基于超混沌序列的數(shù)字圖像加密算法。首先應(yīng)用Hyperhcnon映射產(chǎn)生混沌序列,用此混沌序列對圖像做預(yù)處理加密,接著應(yīng)用Kawakami映射產(chǎn)生混沌序列,對預(yù)處理后圖像的行和列分別做改進的魔方置亂。屬于先加密后置亂。如基于密文和輸出混合反饋的混沌圖像加密算法。利用密文擾動混沌系統(tǒng)的初始值。這種加密算法屬于單一圖像加密,但每次都改變混沌初始值。另外,還有大量的文獻給出了時域的圖像加密算法。通過總結(jié)這些文獻可以得出,時域混沌加密主要有三種形式,單一置亂像素位置,單一改變像素值,以及混和加密。
如目前已經(jīng)證明單一置亂加密方式可以破解,而單一變換像素值加密沒能消除圖像固有的相關(guān)性。故本文提出時域內(nèi)分塊置亂和具有后效性的混沌混合圖像加密方式。
二、全新混合時域混沌加密系統(tǒng)
1、基于混沌理論的圖像分塊重排算法
圖像是由基本單元像素組成,像素在圖像空間按某種規(guī)律排列,相互之間有一定聯(lián)系。常用的像素鄰域有3種:4鄰域、對角鄰域、8鄰域。
根據(jù)像素鄰域的三種關(guān)系,可分別測試兩個水平相鄰像素的相關(guān)性,兩個垂直相鄰像素的相關(guān)性,兩個對角相鄰像素的相關(guān)性。
相鄰像素的相關(guān)性算法:以水平相關(guān)性為例,從圖像中隨機選擇1000對兩個水平鄰接像素,運用下面公式計算每一對相鄰像素的相關(guān)系數(shù)。
![]()
x,y圖像中兩個鄰接像素灰度值,在數(shù)值計算中下面的離散公式被使用:

以大小為256x256的8位灰度Lenna圖像為例見圖1。

其水平(垂直,對角)相鄰像素的相關(guān)性見表l第二列。統(tǒng)計數(shù)據(jù)表明,原始Lenna圖像相關(guān)性很強,這意味著很容易從相鄰像素推出任一給定像素。為消除相關(guān)性,根據(jù)香農(nóng)擴散理論,我們提出了如下置亂算法。
(1)載入明文圖像;
(2)獲得明文圖像的長度和高度;
(3)輸入混沌密鑰和分塊大小,產(chǎn)生分塊圖像置亂順序索引;
(4)獲得分塊之后的水平塊數(shù)和垂直塊數(shù),計算總塊數(shù);
(5)基于混沌置亂序,重排分塊圖像;
(6)結(jié)束重排圖像。
以大小為256x256的8位灰度Lenna圖像為例見圖1,圖2為把原始圖像劃分成每塊2×2的分塊圖像,然后經(jīng)過混沌置亂后的結(jié)果。置亂后其水平(垂直,對角)相鄰像素的相關(guān)性見表1第三列。圖3為把原始圖像劃分成為每塊8×8的分塊圖像,然后經(jīng)過混沌置亂后的結(jié)果。置亂后其水平(垂直,對角)相鄰像素的相關(guān)性見表1第四列。


統(tǒng)計數(shù)據(jù)表明,通過重排極大地減少了像素之間的相關(guān)性。分塊越小,相關(guān)性越弱。圖像2x2分塊置亂運行時間為0.06s,8x8分塊置亂運行時間為0.04s,從運行效率來看,完全符合實際需要,可以很好地在工程中使用。但是目前已經(jīng)給出證明,單一混沌置亂是可破解的。并且指出,為增強安全性,置亂之后必須進行混沌加密操作。
2、具有后效性的混沌加密算法
(1)加密算法
1)打開一個文件并過濾頭信息;
2)從文件中以字節(jié)為單位讀圖片數(shù)據(jù)及I(k);
3)根據(jù)選擇的混沌方程(如logistic方程),依據(jù)密鑰生成混沌序列隴),并量化獲得一個比特,循環(huán)8次,組合為一個字節(jié)φ(k);
4)根據(jù)如下公式進行加密計算:
![]()
獲得密文字節(jié)e,k={1,2,…};
(5)將g寫到一個新文件中;
(6)重復(fù)(2)到(5)直到文件結(jié)束。
說明:φ(k)混沌方程產(chǎn)生量化組合的字節(jié),I(k)圖片的一個字節(jié),C(k)當(dāng)前字節(jié)的密文。其中C(O)為隨機種子,為密鑰的一部分。N圖像色彩的級數(shù),本文為灰度圖像256級。
混沌后效性的體現(xiàn)在第(4)步的加密公式中:當(dāng)前字節(jié)I(k)的密文形成不僅與當(dāng)前φ(k)混沌密鑰相關(guān),而且還與前一字節(jié)的密文緊密聯(lián)系。這樣攻擊者很難破譯。
(2)解密算法
第(4)步根據(jù)如下公式進行解密計算:
![]()
其他步驟同加密算法。
以大小為256x256的8位灰度Lenna圖像圖1為例,其中圖4為僅僅使用具有后效性的混沌加密算法得到的圖像。圖5為圖像2x2分塊后混沌置亂并且采用具有后效性加密算法的圖像加密結(jié)果,即
混合加密結(jié)果。其中圖6為圖像8×8分塊混沌置亂混合加密結(jié)果。

從表2信息熵統(tǒng)計表可以看出,圖像經(jīng)過混合加密后,信息熵顯著提高,分塊越小,信息熵略有提高但不顯著。

三、安全性分析
加密圖像的安全性是一個重要問題,下面將從統(tǒng)計攻擊和差分攻擊兩方面來分析本文提出的加密算法抗擊外界攻擊能力。
1、統(tǒng)計分析
統(tǒng)計分析包括直方圖分析和相鄰像素點的相關(guān)性分析。本文采用相鄰像素點的相關(guān)性分析檢測算法抗統(tǒng)計攻擊能力。
原始圖像和加密圖像相關(guān)性分析見表3,由表可知,原始圖像相鄰像素相關(guān)系數(shù)接近1,加密圖像相鄰像素相關(guān)系數(shù)接近0。經(jīng)加密,圖像相鄰像素間相關(guān)度很低。說明攻擊者很難通過統(tǒng)計攻擊方法解析加密圖像。

2、差分分析
差分分析指攻擊者將獲取的已加密圖像任意改變一個像素值,得到一幅新的圖像,然后對該圖像進行加密,觀察變換結(jié)果。通過這種方式,有可能找到明文和密文有意義的關(guān)系,如果已加密圖像微小變化能造成密文巨大變化,則差分攻擊無效并且無實際意義。
像素個數(shù)變化率(NPCR)和整體平均變化密度(UACD是衡量抗擊差分攻擊的兩大指標(biāo)。前者描述兩幅加密圖像對應(yīng)位置像素值不同的個數(shù)比率,后者描述不同像素值差異程度。計算結(jié)果如表4。
表4說明隨著加密次數(shù)的增加,NPCR和UACI的值呈上升趨勢。因而,加密算法能有效抗擊外界差分攻擊。

通過對比不同分塊大小的相關(guān)性得出,分塊越小,相關(guān)性越低。但分塊大小對信息熵的提高并不顯著。應(yīng)用者可從實際出發(fā)選擇合適分塊大小的混沌置亂算法。
小知識之時域
域表示范圍,時域是一個數(shù)學(xué)或物理詞匯,表示以時間為軸線,以時間為標(biāo)尺為基準(zhǔn)。










