圖像頻域加密算法

計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展和數(shù)字信息的多樣化對(duì)信息保密技術(shù)提出了新的要求,人們?cè)谝延械募用芩惴ǖ幕A(chǔ)上開(kāi)始著手研究新的加密方法以滿足不同類(lèi)型數(shù)據(jù)的保密要求,針對(duì)圖像文件的特點(diǎn)(包括靜態(tài)圖像和MEPC動(dòng)態(tài)圖像),我們提出了一種圖像頻域加密算法,與傳統(tǒng)加密算法不同的是該算法只是在圖像的頻域有選擇地進(jìn)行加密,而不是對(duì)圖像文件進(jìn)行全盤(pán)加密。

一、傳統(tǒng)加密算法的局限性

利用傳統(tǒng)的加密方法對(duì)文件加密時(shí),不需要事先區(qū)分其格式或形式,對(duì)文件的全部數(shù)據(jù)進(jìn)行加密,包括文件的附加信息,這是加密技術(shù)的一大優(yōu)點(diǎn),然而這個(gè)“優(yōu)點(diǎn)”卻逐漸成為加密技術(shù)的一個(gè)弊端。在今天人們需要保密的信息量越來(lái)越龐大,以MEPG格式的視頻數(shù)據(jù)為例,一部幾十分鐘的影片的視頻數(shù)據(jù)就能達(dá)到幾百兆,如果用傳統(tǒng)的加密算法來(lái)對(duì)這樣數(shù)據(jù)文件加密,顯然是不太現(xiàn)實(shí)。為了實(shí)現(xiàn)高效并且可靠的加密算法,有人將對(duì)稱(chēng)加密算法(如:DES加密算法、IDEA加密算法)和非對(duì)稱(chēng)加密算法(如:RSA加密算法)結(jié)合了起來(lái),提出了混合加密算法。由于綜合了兩種加密體制的優(yōu)點(diǎn),所以與以前的加密算法相比,寂寞效率和安全性的確進(jìn)步了很多。但是混合加密算法沒(méi)有改變傳統(tǒng)的加密方式,對(duì)加密的信息不加區(qū)分,仍然是全盤(pán)加密。很顯然如果不改變傳統(tǒng)的加密方式,是很難實(shí)現(xiàn)高效的加密算法的。

二、圖像頻域加密算法

1、頻域加密算法的實(shí)現(xiàn)原理

頻域是相對(duì)于圖像的空域而言的,一般的可以利用離散余弦變換( DCT)、快速傅立葉變換(FFT)以及小波(WaVelet)變換等變換方法法來(lái)實(shí)現(xiàn)圖像空域和頻域之刪的轉(zhuǎn)換。其中離散余弦
變換可與最佳變換K-L變換相媲美。并且它的計(jì)算復(fù)雜度適中,具有可分離特性,義有快速算法等特點(diǎn),所以在數(shù)字多媒體信息(如:語(yǔ)音、靜態(tài)圖像和視頻)的壓縮編碼技術(shù)中有著廣泛
的應(yīng)用,國(guó)際靜態(tài)圖像壓縮標(biāo)準(zhǔn)(JEPG)和視頻壓縮標(biāo)準(zhǔn)(MEPG)等都采用了DCT離散余弦變換來(lái)實(shí)現(xiàn)圖像的空域一頻域之間的轉(zhuǎn)換的。

DCT變換公式如下:

DCT變換(也稱(chēng)前向DCT變換,記為FDCT):

圖像頻域加密算法

DCT逆變換(記為IDCT):

圖像頻域加密算法

其中:

圖像頻域加密算法

F(x,y)代表圖像數(shù)據(jù),DCT(i,J)代表DCT系數(shù),N取值為8或16。

利用IDCT變換進(jìn)行圖像變換時(shí),需要將圖像的空域數(shù)據(jù)分割成一條列的N×N數(shù)據(jù)子塊進(jìn)行處理。以N=8為例,一組8×8的圖像空域數(shù)據(jù)矩陣(見(jiàn)圖1)經(jīng)過(guò)DCT變換后得到8×8的頻域數(shù)據(jù)矩陣(也稱(chēng)為DCT系數(shù)矩陣)。見(jiàn)圖2。

圖像頻域加密算法

如圖2所示,在DCT系數(shù)矩陣中,數(shù)值較大的系數(shù)只是集中在少數(shù)當(dāng)中,并且分布在低頻區(qū)內(nèi)。也就是矩陣的左上角部分,這些系數(shù)包含了圖像的絕大部分的信息。矩陣左上角數(shù)值最大的DCT系數(shù)(圖2中為172)稱(chēng)為DC系數(shù),其余63個(gè)DCT系數(shù)稱(chēng)為AC系數(shù)。DC系數(shù)是DCT系數(shù)矩陣中能量最高的部分,它是影響圖像最終顯示效果的主要因素,所以在圖像處理時(shí),對(duì)DC系數(shù)的處理必須要比AC系數(shù)精確,否則會(huì)導(dǎo)致圖像的失真(見(jiàn)圖3(b)),甚至不能正常顯示(圖3(c))。

圖像頻域加密算法

對(duì)此筆者進(jìn)行一系列的驗(yàn)證實(shí)驗(yàn),對(duì)一幅圖像頻域數(shù)據(jù)的DC系數(shù)作破壞性的處理,結(jié)果見(jiàn)圖3。其中圖3(a)是原圖,而圖3(b)和圖3(c)是DC系數(shù)遭到不同程度破壞的圖像。由此可見(jiàn),DC系數(shù)直接決定了圖像的顯示效果,該頻域加密算法正是基于這一實(shí)驗(yàn)結(jié)果,其加密的原理很簡(jiǎn)單:在頻域內(nèi)對(duì)圖像頻域數(shù)據(jù)的DC系數(shù)進(jìn)行加密,而其它的AC系數(shù)和文件附加信息不作任何加密處理。由于DC系數(shù)經(jīng)過(guò)加密之后,能量值得到了徹底的改變,兇此導(dǎo)致圖像不能正常顯示。

下文就靜態(tài)圖像和動(dòng)態(tài)圖像具體來(lái)討論頻域加密算法的實(shí)現(xiàn)。

2、靜態(tài)圖像的實(shí)現(xiàn)算法

靜態(tài)圖像文件一般主要由三個(gè)部分組成:文件頭、圖像數(shù)據(jù)、調(diào)色板,對(duì)于特定的圖像格式的文件,文件頭的長(zhǎng)度一般是固定的,它包含了圖像解碼所必須的信息,如圖像格式的標(biāo)識(shí)、
圖像的大小等等。調(diào)色板主要負(fù)責(zé)圖像的顏色的顯示。文件頭和調(diào)色板塒于圖像的解碼十分的重要,如果這些數(shù)據(jù)受到了破壞,那么圖像將無(wú)法正常顯示。傳統(tǒng)的加密方式由于對(duì)圖像文
件的全部數(shù)據(jù)進(jìn)行加密,包括文件頭和調(diào)色板,所以加密后的圖像文件是無(wú)法打開(kāi)的,也不能用圖像瀏覽軟件進(jìn)行瀏覽。

采用該頻域加密算法對(duì)圖像文件加密時(shí),不對(duì)文件的文件頭和調(diào)色板加密,而是將兩者直接拷貝到加密文件中去。圖像的實(shí)際數(shù)據(jù)經(jīng)過(guò)DCT變換后,僅僅加密DC系數(shù)。文件加密示意圖如下:

圖像頻域加密算法

由于沒(méi)有對(duì)圖像文件的文件頭和調(diào)色板加密,所以經(jīng)過(guò)加密后的圖像文件仍然能夠打開(kāi)或者可以用圖像瀏覽軟件測(cè)覽,但是圖像已經(jīng)面目全非(圖3(c),無(wú)法識(shí)別圖像的內(nèi)容。由此可見(jiàn)頻域加密算法最大的優(yōu)點(diǎn)是只要加密少量的數(shù)據(jù)。

值得一提的是,對(duì)于JPG格式的圖像文件,采用頻域加密則具有最佳的加密效率。因?yàn)镴PG圖像是按照J(rèn)EPG壓縮標(biāo)準(zhǔn)壓縮過(guò)的,文件中存放的圖像數(shù)據(jù)本身就是經(jīng)過(guò)熵編碼的頻域數(shù)據(jù),因此不需要空域一頻域的特?fù)Q,只要對(duì)之進(jìn)行相應(yīng)的熵解碼即可進(jìn)行加密。

3、動(dòng)態(tài)圖像的實(shí)現(xiàn)算法

動(dòng)態(tài)圖像的加密算法,筆者是針對(duì)MPG格式的視頻圖像來(lái)實(shí)現(xiàn)的。MPG視頻文件是采用MEPG視頻壓縮標(biāo)準(zhǔn)處理后的數(shù)據(jù)文件,為了提高壓縮比,MEPG同時(shí)使用了幀內(nèi)圖像數(shù)據(jù)壓縮和幀間圖像數(shù)據(jù)壓縮技術(shù)。幀內(nèi)壓縮算法與JFPG壓縮算法大致相同,采用基于DCT的變換編碼技術(shù),用以減少空域冗余信息。幀間壓縮算法采用預(yù)測(cè)法和插補(bǔ)法,主要減少時(shí)間軸方向的冗余信息。

MEPG在顯示圖像時(shí),采用了三種類(lèi)型的圖像:幀內(nèi)圖(ln-trapictures.I)(前向)預(yù)測(cè)圖(Predicted Pisiures,P)和插補(bǔ)圖,即雙向預(yù)測(cè)圖(Bidirectional Prediction.B),其中幀內(nèi)圖為非預(yù)測(cè)圖。在進(jìn)行幀間預(yù)測(cè)編碼時(shí),要用到先前和過(guò)去的圖(幀內(nèi)圖或預(yù)測(cè)圖),當(dāng)前的預(yù)測(cè)圖通常又作為后面的預(yù)測(cè)圖的參考圖;雙向預(yù)測(cè)圖在預(yù)測(cè)時(shí)需要先前和后續(xù)的信息。幀內(nèi)圖和預(yù)測(cè)圖都是它的參考圖。另外雙向預(yù)測(cè)圖不能作為其它圖的預(yù)測(cè)參考圖。MEPC中這這三種類(lèi)型的圖像的組織結(jié)構(gòu)是十分靈活的,它們可由應(yīng)用規(guī)定的參數(shù)決定。圖5的圖例是在沿時(shí)間軸
方向的排列中,每8幀圖像內(nèi),有一副幀內(nèi)圖(I),一副預(yù)測(cè)圖(P),6副雙向預(yù)測(cè)圖(B)。(B)圖處于(I)圖和(P)之間。

圖像頻域加密算法

圖像頻域加密算法

不難發(fā)現(xiàn)在MEPG的三類(lèi)圖像中,幀內(nèi)圖(I)對(duì)動(dòng)態(tài)圖像的顯示效果起到了決定性的作用。幀內(nèi)圖是MEPG視頻顯示的基本圖,無(wú)論是預(yù)測(cè)圖,還是雙向預(yù)測(cè)圖都要以它為參照?qǐng)D,如果幀內(nèi)網(wǎng)小能正常顯示,幀間預(yù)測(cè)就失去了正確的參照?qǐng)D,那么后繼的預(yù)測(cè)圖和雙向預(yù)測(cè)圖也就不能正常的顯示。根據(jù)這個(gè)原理,在對(duì)MEPG動(dòng)態(tài)圖像進(jìn)行加密時(shí),只要對(duì)幀內(nèi)圖進(jìn)行加密即可。

由于MEPG標(biāo)準(zhǔn)對(duì)幀內(nèi)圖的處理與JEPG標(biāo)準(zhǔn)的處理方法足類(lèi)似的,所以對(duì)于幀內(nèi)圖的頻域加密方法同上面的方法一樣,僅對(duì)幀內(nèi)圖的頻域數(shù)據(jù)的DC系數(shù)進(jìn)行加密。

4、圖像頻域加密算法優(yōu)缺點(diǎn)分析

與傳統(tǒng)的加密方式相比,該文的頻域加密算法具有一定的優(yōu)越性,但也有不足之處:

(1)由于頻域加密算法僅僅對(duì)圖像頻域數(shù)據(jù)的DC系數(shù)進(jìn)行加密,所以加密效率是大大提高了。但足只有在對(duì)JEPG和MFPC等采用頻域方法處理的圖像進(jìn)行加密時(shí)才能顯示出這個(gè)優(yōu)點(diǎn),如果加密其它格式的圖像,就必須首先用DCT頻域變換將圖像的空域數(shù)據(jù)轉(zhuǎn)換到領(lǐng)域上去,這使得算法的效率大打折扣。

(2)因?yàn)轭l城加密算法僅僅加密少量的圖像數(shù)據(jù),所以與傳統(tǒng)的家am算法相比,頻域加密箅法的加密強(qiáng)度有所降低。

(3)由于圖像文件的文件頭和相關(guān)的附加信息保留不變,所以經(jīng)過(guò)頻域加密后的圖像文件能夠進(jìn)行瀏覽或者播放。這個(gè)特點(diǎn)所帶來(lái)的益處是顯然的,經(jīng)過(guò)頻域加密的圖像容易造成“沒(méi)有加密”的假象,逃過(guò)惡意的破壞。而傳統(tǒng)的加密算法對(duì)文件全盤(pán)加密,無(wú)法打開(kāi)加密的文件,但這反而會(huì)引起一些人的“興趣”,對(duì)某些人來(lái)說(shuō),解密很具有“挑戰(zhàn)性”。

三、圖像頻域加密算法的相關(guān)應(yīng)用

結(jié)合頻域加密算法,可以設(shè)計(jì)相應(yīng)的MEPC視頻播放器,與現(xiàn)有的播放器不同的是,這種播放器不僅能夠播放正常的MFPG文件,還能播放被頻域加密后MEPC文件。其實(shí)其原理很簡(jiǎn)單,僅僅在現(xiàn)有的MEPG播放器的的基礎(chǔ)之上作了少許改進(jìn)(圖6)。

圖像頻域加密算法

播放器的解碼流程中加入了DC系數(shù)的解密模塊。加密圖像數(shù)據(jù)在解碼前,首先經(jīng)過(guò)解密模塊的解密,由于僅僅對(duì)DC系數(shù)進(jìn)行處理,所以對(duì)解碼效率的影響不會(huì)很大,這點(diǎn)是傳統(tǒng)的加密算法做不到的。采用改進(jìn)的MEPC視頻搔放器播放MEPC視頻時(shí),默認(rèn)狀態(tài)與一般的播放器一樣,直接對(duì)視頻數(shù)據(jù)進(jìn)行解碼;而播放加密的視頻文件時(shí),無(wú)需事先對(duì)文件進(jìn)行解密,只要進(jìn)行相關(guān)的設(shè)置(如輸入解密密鑰等等)即可播放出正常的圖像。這樣一來(lái),加醬的MEPG視頻文件始終處于加密狀態(tài),有效地降低了盜版的可能,因?yàn)榧词沟玫揭曨l文件,如果沒(méi)有解密密鑰的話,是無(wú)法正常播放的。當(dāng)然不排除持有解密密鑰的用戶盜版的可能,這不是加密所能解決的問(wèn)題,需要其它的輔助技術(shù),甚至是法律手段。

小知識(shí)之頻域

頻域frequency domain 是描述信號(hào)在頻率方面特性時(shí)用到的一種坐標(biāo)系。對(duì)任何一個(gè)事物的描述都需要從多個(gè)方面進(jìn)行,每一方面的描述僅為我們認(rèn)識(shí)這個(gè)事物提供部分的信息。