一種保持非負(fù)整數(shù)值的圖像加密算法

近年來(lái),互聯(lián)網(wǎng)技術(shù)飛速發(fā)展,在網(wǎng)絡(luò)上傳送音頻、視頻和圖像等多媒體信息的需求也日益增多,與此同時(shí),人們對(duì)互聯(lián)網(wǎng)信息傳送過(guò)程中的安全性和保密性要求也越來(lái)越高.加密方法是對(duì)信息進(jìn)行編碼和解碼的方法,對(duì)圖像信息的加密方法可以分為三大類:

1)把圖像當(dāng)作普通的二進(jìn)制文件來(lái)進(jìn)行加密,這種加密方法可以使用包括DES、AES等傳統(tǒng)的密碼學(xué)算法來(lái)進(jìn)行。但這種方法沒(méi)有考慮到圖像信息的特征,加密圖像信息的微小失真會(huì)導(dǎo)致解密失敗;

2)用圖像處理技術(shù)的加密方法。其中又包括時(shí)域加密和頻域加密2個(gè)子類:

①時(shí)域加密,典型方法是利用混沌系統(tǒng)來(lái)對(duì)圖像進(jìn)行像素置亂以及灰度置亂;

②頻域加密,主要是采用分?jǐn)?shù)階傅里葉變換(Fractional Fourier Transform,F(xiàn)RFT)來(lái)對(duì)圖像進(jìn)行加密,因?yàn)镕RFT的變換階數(shù)可以作為圖像加密的密鑰,但該方法的加密結(jié)果是復(fù)數(shù);

3)利用光學(xué)信息處理技術(shù)進(jìn)行加密,指的是利用光學(xué)加密理論來(lái)進(jìn)行數(shù)字圖像加密處理。例如利用雙隨機(jī)相位的方法(Double Random Phase Encryption,DRPE)來(lái)加密圖像,但該方法的加密結(jié)果也為復(fù)數(shù),不利于圖像的存儲(chǔ)及傳輸,因而該加密方法主要在光學(xué)圖像加密的計(jì)算機(jī)仿真時(shí)應(yīng)用。

有不少學(xué)者研究如何建立一種實(shí)值圖像加密方法,從而可以減少加密圖像的信息熵,現(xiàn)階段主要有三種實(shí)值加密方法:

1)將加密圖像的存儲(chǔ)空間擴(kuò)大,但是需要存儲(chǔ)及傳輸?shù)臄?shù)據(jù)量也對(duì)應(yīng)增大,因此這種方法的效率不高;

2)利用希爾伯特變換,將圖像壓縮成二分之一的頻域圖像來(lái)進(jìn)行處理,最后再把圖像還原到實(shí)數(shù)域;

3)基于保持實(shí)值的分?jǐn)?shù)階傅里葉變換來(lái)進(jìn)行圖像加密,上述三種方法的加密結(jié)果都是在一個(gè)很大區(qū)間內(nèi)分布的正數(shù)和負(fù)數(shù)的集合矩陣,不利于保存成數(shù)字圖像。

本文提出了一種能夠使雙隨機(jī)相位圖像文件加密方法的密文圖像保持為非負(fù)整數(shù)值的變換——重構(gòu)變換?;谥貥?gòu)變換的雙隨機(jī)相位圖像加密方法可以實(shí)現(xiàn)聯(lián)合圖像壓縮和加密的效果。本文首先介紹圖像重構(gòu)變換的實(shí)現(xiàn)方法,并對(duì)其算法復(fù)雜度進(jìn)行分析。之后,介紹重構(gòu)變換在雙隨機(jī)相位圖像文件加密方法中的應(yīng)用,也即是實(shí)現(xiàn)了一種基于變換域的數(shù)字圖像文件加密方法。最后,對(duì)保持非負(fù)整數(shù)值的雙隨機(jī)相位圖像加密方法進(jìn)行了實(shí)驗(yàn)分析,實(shí)驗(yàn)結(jié)果表明本文加密方法可以減少密文圖像的信息熵和數(shù)據(jù)量并保持密文圖像的安全性,且具有較大的密鑰空間,密文
圖像對(duì)于高斯噪音干擾和椒鹽噪音干擾具有較強(qiáng)的魯棒性。

一、重構(gòu)變換

1、加密算法引入

重構(gòu)變換包括預(yù)處理和頻譜搬移兩個(gè)過(guò)程,對(duì)于一幅具有256級(jí)灰度的圖像,預(yù)處理的步驟可以記為以下兩步:

Step1:設(shè)原圖像h(x1,y1)的大小為M×N,將h(x1,y1)按上下對(duì)半的方式拆開(kāi)為:

一種保持非負(fù)整數(shù)值的圖像加密算法

Step2:將h(x1,y1)。。當(dāng)成圖像的實(shí)部,h(x1,y1)down當(dāng)成虛部,構(gòu)造一幅M/2×N的復(fù)數(shù)圖像,從而減少圖像的運(yùn)算空間。

一種保持非負(fù)整數(shù)值的圖像加密算法

式中k稱為縮放因子,當(dāng)k∈[3,4]時(shí),解密的圖像能夠獲得較高的恢復(fù)質(zhì)量??s放因子的作用是,減少密文圖像的值域區(qū)間。

在經(jīng)過(guò)預(yù)處理之后,復(fù)數(shù)圖像H(x2,y2)可以進(jìn)行傳統(tǒng)的加密運(yùn)算。為了使運(yùn)算結(jié)果轉(zhuǎn)化為256級(jí)灰度值,在復(fù)數(shù)域的加密運(yùn)算之后需要進(jìn)行頻譜搬移,其步驟如下:

Step1:假設(shè)經(jīng)過(guò)復(fù)數(shù)域處理之后的圖像是大小為M/2×N的G(x2,y2),分別提取其實(shí)部和虛部,即:

一種保持非負(fù)整數(shù)值的圖像加密算法

Step2:將圖像拼接成為M×N的256級(jí)灰度圖像h2(x1,y1)。

一種保持非負(fù)整數(shù)值的圖像加密算法

式中,[]表示取整,d稱為搬移系數(shù),當(dāng)縮放因子是不同時(shí),它會(huì)對(duì)應(yīng)有不同的最優(yōu)值。

圖像重構(gòu)變換的特點(diǎn)體現(xiàn)在以下幾個(gè)方面:

1)通過(guò)疊加的方式將整數(shù)圖像壓縮成一半大小的復(fù)數(shù)圖像,從而能縮小后續(xù)運(yùn)算的計(jì)算空間;

2)縮放因子是的引入,使密文圖像的值控制在[-128 128]之間,最后通過(guò)矗參量將密文圖像值域移到[0 255];

3)頻譜搬移過(guò)程中,取整這一步驟會(huì)使重建的圖像產(chǎn)生微小失真,但這些失真可以減少密文圖像所需要保存的數(shù)據(jù)量,在加密的同時(shí)實(shí)現(xiàn)了壓縮的效果;

4)縮放因子和搬移系數(shù)對(duì)應(yīng)不同的圖像會(huì)有不同的聯(lián)合最優(yōu)值,在實(shí)驗(yàn)分析中我們將對(duì)其進(jìn)行探討。

2、加密算法復(fù)雜度分析

在重構(gòu)變換中,預(yù)處理需要進(jìn)行M/2×N次的加法運(yùn)算,頻譜搬移需要(M/2×N+M×N)次的加法運(yùn)算,因此重構(gòu)變換的運(yùn)算復(fù)雜度只有0(2M×N),由上述分析可知本算法的運(yùn)算復(fù)雜度很低。

二、數(shù)字圖像的雙隨機(jī)相位加密方法

光學(xué)信息處理方法能夠?qū)崿F(xiàn)高速的并行處理、抗干擾能力強(qiáng)以及光速運(yùn)算等優(yōu)點(diǎn).在光學(xué)圖像加密方法中,雙隨機(jī)相位加密應(yīng)用最為廣泛,然而,該加密方法在數(shù)字圖像加密中并不可行,因?yàn)樗鼜?fù)數(shù)的加密結(jié)果包含了太多冗余信息.如果給合本文所提出的重構(gòu)變換,那么光學(xué)加密理論中的雙隨機(jī)相位加密方法則能應(yīng)用于數(shù)字圖像文件加密。

光學(xué)圖像的雙隨機(jī)相位加密過(guò)程如圖1所示。

一種保持非負(fù)整數(shù)值的圖像加密算法

設(shè)原始圖像為H(x2,y2),r(x2,y2),R(x2,y2)是隨機(jī)相位掩膜,r(x2,y2)=exp (i2兀r0(x2,y2)),R(x2,y2)=exp(i2πRo(x2,y2)),r0(x2,y2)和R(x2,y2)都是取值范圍在(0,1)的隨機(jī)數(shù)。H(x2,y2)是加密之后的復(fù)數(shù)圖像。

將重構(gòu)變換應(yīng)用到雙隨機(jī)相位加密方案中,則光學(xué)加密系統(tǒng)的加密流程如圖2所示。其中加密步驟為:

一種保持非負(fù)整數(shù)值的圖像加密算法

Step1:對(duì)于一幅M×N灰度圖像H(x1,y1),通過(guò)圖像重構(gòu)變換中的預(yù)處理變換成等×N的復(fù)數(shù)圖像H(X2,y2)。

Step2:用雙隨機(jī)相位方法將H(x2,y2)加密成G(X2,y2),雙隨機(jī)相位加密后的圖像G(X2,y2)可以表示為:

Step3:將圖像G(X2,y2)通過(guò)頻譜搬移轉(zhuǎn)換成為M×N的H(x1,y1),其中H(x1,y1)是在O至255之間的非負(fù)整數(shù).因此,H(x1,y1)易于保存為數(shù)字圖像并且在網(wǎng)絡(luò)上傳輸非常方便。

解密步驟是加密步驟的逆過(guò)程,因?yàn)橹貥?gòu)變換只是一些線性變換,所以本文所提出的保持非負(fù)整數(shù)雙隨機(jī)相位圖像加密方案的光學(xué)實(shí)現(xiàn)在理論上也是可行的。

三、實(shí)驗(yàn)結(jié)果

為了驗(yàn)證重構(gòu)變換算法的效率,我們?cè)贛ATLAB7.O環(huán)境下使用Lena圖像及hill圖像,對(duì)基于重構(gòu)變換的雙隨機(jī)相位圖像加密方法進(jìn)行分析,所使用圖像灰度級(jí)別為256,大小是256×256。

1、加密圖像的信息熵

為了衡量加密前后圖像包含的信息量是否有變化,這里引入信息熵來(lái)進(jìn)行度量.設(shè)圖像矩陣的大小為M×N,矩陣的信息熵可寫(xiě)為:

一種保持非負(fù)整數(shù)值的圖像加密算法

式中0和255分別為該灰度圖像像素的最大值和最小值,P(i)是數(shù)值為i的元素在矩陣中出現(xiàn)的概率?;谛畔㈧?,傳輸數(shù)據(jù)的總比特?cái)?shù)可以寫(xiě)為:

一種保持非負(fù)整數(shù)值的圖像加密算法

注意到式(7)對(duì)灰度圖像的信息熵求解是針對(duì)整型值來(lái)說(shuō)的,若圖像是復(fù)數(shù)圖像或非整型值圖像,則需要通過(guò)分段統(tǒng)計(jì)的辦法來(lái)計(jì)算信息熵,為了體現(xiàn)本文所提方案的特點(diǎn),在表1中引入了其它典型的加密方案在密文圖像的信息熵方面的表現(xiàn)性能,以進(jìn)行比較。其中,雙隨機(jī)相位加密圖像方法中保持密文實(shí)值的代表,利于混沌系統(tǒng)來(lái)對(duì)圖像進(jìn)行位置亂的加密方法,將圖像的置亂和擴(kuò)散操作聯(lián)合起來(lái)的混沌加密方法。

一種保持非負(fù)整數(shù)值的圖像加密算法

對(duì)于一幅具有256級(jí)灰度的整型值圖像來(lái)說(shuō),其最大信息熵是log228=8。在表1中,這種0方法計(jì)算所得信息熵大于8,是因?yàn)槠涿芪膱D像是非整數(shù)圖像,信息熵計(jì)算采用2560個(gè)分段近似計(jì)算:統(tǒng)計(jì)像素值在每一段的出現(xiàn)頻率,再計(jì)算其信息熵。又因其密文圖像大小是原文的4倍,該方法需要傳輸?shù)臄?shù)據(jù)量非常大。

在表1中,后兩種的方法都是利用混沌系統(tǒng)來(lái)加密圖像的方法,這類方法能使密文圖像具有趨于8的信息熵,但其劣勢(shì)在于不易于圖像壓縮方法相結(jié)合。因?yàn)楹玫幕煦缂用芊椒ǘ紩?huì)具有較好的雪崩效應(yīng)(一個(gè)原始圖像像素位的改變會(huì)導(dǎo)致密文圖像大部分像素位的改變)。由此,如果再將這些加密方法的密文圖像進(jìn)行有損壓縮(比如變換編碼,小波編碼),則由壓縮之后的圖像無(wú)法恢復(fù)出原始圖像。

本文方法的加密圖像具有比原始圖像更小的信息熵,實(shí)現(xiàn)了圖像壓縮與加密的聯(lián)合。本文方法信息熵降低的原因是在進(jìn)行重構(gòu)變換的過(guò)程中,式(4)的取整運(yùn)算丟棄了小數(shù)部分的信息,從圖3(c)可以看到,本文方法的解密圖像與原文圖像的差別是人眼難以區(qū)分的。另外,從圖3(d)可以看出,本文加密方法所減少的信息熵對(duì)應(yīng)著解密圖像的小部分輪廓信息丟失。

一種保持非負(fù)整數(shù)值的圖像加密算法

2、縮放因子k及搬移系數(shù)d的最優(yōu)值

為了評(píng)估本方法恢復(fù)的圖像質(zhì)量,我們使用峰值信噪比(Peak Signal Noise Ratio,PSNR),這一參量來(lái)進(jìn)行測(cè)量。PSNR的定義式為:

一種保持非負(fù)整數(shù)值的圖像加密算法

其中I(m,n)是原始圖像的灰度值,I'(m,n)是恢復(fù)圖像的灰度值,兩幅圖像的大小都為M×N,D'是圖像灰度級(jí)別的最大值。

為了測(cè)量縮放因子k對(duì)加密效果的影響,我們先將搬移系數(shù)d固定為常量,將忍設(shè)置為在[2.55.5]內(nèi)的自變量,對(duì)應(yīng)的PSNR值為因變量,加密效果如圖4所示。

一種保持非負(fù)整數(shù)值的圖像加密算法

在圖4當(dāng)中,Lena圖像對(duì)應(yīng)的最優(yōu)k值是3.2,hill圖像對(duì)應(yīng)的最優(yōu)忍值是3.7。當(dāng)是在[3 4]內(nèi)取值時(shí),恢復(fù)圖像與原圖像的峰值信噪比都大于40 dB,這時(shí)恢復(fù)圖像與原圖像的差別是人眼難以分別的,因而使用重構(gòu)變換的方法來(lái)改良雙隨機(jī)相位加密具有實(shí)用性.如果將式(4)里面取整這一運(yùn)算步驟去除,從加密結(jié)果就能夠無(wú)失真地恢復(fù)原圖,但是加密的非整數(shù)圖像無(wú)法保存成位圖文件,在另一方面,當(dāng)縮放因子k越大,本文方案所加密圖像的信息熵越小,其對(duì)原始圖像的有損壓縮率也就越高。

同理,為了測(cè)量搬移系數(shù)矗對(duì)加密效果的影響,我們可以將k固定為最優(yōu)值區(qū)間內(nèi)的3.5,然后以d在[113 143]區(qū)間內(nèi)作為自變量,觀察其加密所對(duì)應(yīng)的PSNR值變化,變化效果如圖5所示。

一種保持非負(fù)整數(shù)值的圖像加密算法

在圖5中,當(dāng)d取128時(shí),Lena圖像對(duì)應(yīng)有最大的PSNR值,當(dāng)d取134時(shí),Hill圖像對(duì)應(yīng)有最大的PSNR值。從圖5可以看出,Hill圖像對(duì)搬移系數(shù)的變化較Lena圖像敏感,原因是,式(4)的取整運(yùn)算對(duì)于信息熵更小的圖像影響更大。

對(duì)于一幅特定圖像來(lái)說(shuō),如何求解k和d的聯(lián)合最優(yōu)值是一個(gè)求解二維多峰函數(shù)的全局最優(yōu)值問(wèn)題,可以采用群智能優(yōu)化算法來(lái)進(jìn)行快速求解(比如人工蜂群算法)。然而,如果在加密圖像之前都采用優(yōu)化算法來(lái)求出其聯(lián)合最優(yōu)值,則不能保證加密方案的實(shí)時(shí)性。由于當(dāng)是在[3 4]內(nèi)取值,d在[125135]內(nèi)取值時(shí),解密圖像都能取得40 dB以上的峰值信噪比,因此,我們可以確立一個(gè)“聯(lián)合最優(yōu)區(qū)間”的概念,當(dāng)忌和矗在聯(lián)合最優(yōu)區(qū)間內(nèi)取值時(shí)(d∈[3,4],d∈[125,135]),解密圖像的微小失真是人眼不可見(jiàn)的。這種在聯(lián)合最優(yōu)區(qū)間內(nèi)取值的方法可擬實(shí)現(xiàn)對(duì)不同圖像的快速、高效加密。

為了對(duì)本方法的安全性進(jìn)行驗(yàn)證,將縮放因子k和d移系數(shù)d在最優(yōu)區(qū)間內(nèi)分別取3.5和128,然后考察本文加密方法的密鑰空間,以及對(duì)其進(jìn)行統(tǒng)計(jì)分析。

(1)密鑰空間分析

圖像加密算法的密鑰空間一般要足夠大,從而能夠抵抗窮舉攻擊。對(duì)于本文提出的加密算法,其密鑰空間分析如下:隨機(jī)相位板的每一個(gè)密鑰位在MATLAB7.0上執(zhí)行時(shí)都是雙準(zhǔn)確度實(shí)數(shù),假設(shè)輸入圖像的大小為M×N,則本文方法對(duì)應(yīng)的密鑰空間為2×1015XMXN,假設(shè)嘗試一次可能解所需的時(shí)間是1秒,則窮舉一幅256×256密文圖像所需要的時(shí)間特別長(zhǎng),可見(jiàn)該密鑰空間是足夠大的。

(2)柱狀圖分析

加密前后的柱狀圖如圖6所示。從上圖可以看出,加密之后圖像的像素值近似于正態(tài)分布。本方法加密的任何圖像都是這種近似正態(tài)的分布,因此這種分布的安全性不比均勻分布的安全性低。

一種保持非負(fù)整數(shù)值的圖像加密算法

(3)鄰域像素相關(guān)性分析

分別從水平、垂直、對(duì)角三個(gè)方向來(lái)分析加密之后圖像的相關(guān)性。為了提高計(jì)算效率,我們隨機(jī)選取4000對(duì)像素點(diǎn)進(jìn)行分析,其中計(jì)算像素相關(guān)性的公式為:

一種保持非負(fù)整數(shù)值的圖像加密算法

式中x和y分別表示圖像中隨機(jī)選出的像素對(duì)的兩個(gè)灰度值,rxy為圖像的像素相關(guān)性。從表2可以看到,原始Lena圖像在3個(gè)方向的像素相關(guān)性都非常高,而加密之后的像素相關(guān)性都是負(fù)數(shù),從而表明改進(jìn)的雙隨機(jī)相位圖像加密方案安全性高。圖7為圖像垂直方向的像素相關(guān)性。

一種保持非負(fù)整數(shù)值的圖像加密算法

 

一種保持非負(fù)整數(shù)值的圖像加密算法

4、抗干擾性能

用圖像處理的辦法來(lái)加密圖像的一個(gè)顯著優(yōu)點(diǎn)就是這種方法能抵抗一定的加性噪音干擾。對(duì)Lena圖像應(yīng)用本文方法進(jìn)行加密,再對(duì)密文圖像分別加上0. 001 dB的高斯噪音和0.001 dB的椒鹽噪音,如圖8(a),(c)所示。對(duì)于被噪音污染之后的圖像,它們解密后的圖像分別如圖8(b),(d)所示,解密的圖像基本都能分辨出人的輪廓和相貌特征。因此本文方法對(duì)高斯黲音及椒鹽噪音干擾具有一定的抵抗能力。

一種保持非負(fù)整數(shù)值的圖像加密算法

小知識(shí)之時(shí)域

時(shí)域是一個(gè)數(shù)學(xué)或物理詞匯,表示以時(shí)間為軸線,以時(shí)間為標(biāo)尺為基準(zhǔn)。