基于Z字形編碼的數(shù)字圖像加密

為了保護(hù)有價(jià)值的數(shù)字圖像信息,提高信息的安全性,通過(guò)分析圖像中每一個(gè)像素點(diǎn)的排列關(guān)系,我們提出了一種基于Z字形編碼的數(shù)字圖像加密算法。下面我將為大家介紹一下這種數(shù)字圖像加密方法。

一、基于Z字形編碼的數(shù)字圖像加密

JPEG利用人的視覺(jué)系統(tǒng)特性,去掉或減少那些對(duì)眼睛不敏感的數(shù)據(jù)。廣泛應(yīng)用于灰度和彩色圖像的壓縮,而Z字形編碼是JEPG壓縮編碼算法的計(jì)算步驟之一。

首先對(duì)圖像進(jìn)行離散余弦變換(DCT),隨著水平方向和垂直方向頻率值的增加,其量化系數(shù)變?yōu)榱愕臋C(jī)會(huì)越來(lái)越大。為了利用這一特性,可將這些二維系數(shù)按照從DC系數(shù)開(kāi)始到最高階空間頻率系數(shù)的順序重新編排為一維系數(shù),通過(guò)使用Z字形編碼方法實(shí)現(xiàn)這種編排,即在8×8像素塊中沿著空間頻率增加的方向呈“Z”字形來(lái)回移動(dòng)的過(guò)程。下圖(a)為DCT量化后輸出的矩陣系數(shù)。使用Z字形編排模式,可以產(chǎn)生一個(gè)如圖(b)所示的一維系數(shù)。

基于Z字形編碼的數(shù)字圖像加密

這樣就把一個(gè)8×8的矩陣變成一個(gè)1×64的矢量。重新編排后又可以得到新的矩陣。對(duì)下圖進(jìn)行Z字形編碼重新編排后又可以得到新的8×8矩陣。因?yàn)閆字形編碼即zigzag變換是一一對(duì)應(yīng)的,所以每一次變換都對(duì)應(yīng)一種狀態(tài),而矩陣是由有限個(gè)點(diǎn)組成的,所以經(jīng)過(guò)有限次變換后,一定又可以回到原來(lái)的狀態(tài),即這種變換具有周期性。

基于Z字形編碼的數(shù)字圖像加密

定義1:zigzag變換的周期為經(jīng)過(guò)一系列變換回來(lái)原來(lái)狀態(tài)的最小整數(shù)次數(shù)。

定理1:zigzag變換具有周期性。

證明:假設(shè)zigzag變換不具有周期性。

即:從初始狀態(tài)T0經(jīng)N0次變換后第一次達(dá)到狀態(tài)T1,又經(jīng)N1次變?yōu)闋顟B(tài)T1,這樣重復(fù)下去,每經(jīng)N1次變化后到達(dá)一次T1,無(wú)法回復(fù)到0狀態(tài),即:T0…T1…T1…。

當(dāng)N0>N1時(shí):顯然第N0-1和第N0+N1-1次狀態(tài)相同,第N0-2和N0+N1-2次狀態(tài)相同,依次類(lèi)推可得:第N0-N1和第N0+N1-N1=N0次狀態(tài)相同。即:經(jīng)過(guò)N0-N1次就第一次達(dá)到狀態(tài)T1,此為矛盾。故變換具有周期性。

當(dāng)N0=N1時(shí):N0-N1=0,即:T0和狀態(tài)T1相同,故周期為N0。

當(dāng)N0<N1時(shí):第N0-N1和第N0+N1-1次狀態(tài)相同,第N0-N2和N0+N1-2次狀態(tài)相同,依次類(lèi)推可得:第N0-N0=N0和第N0+N1-N0=N1次狀態(tài)相同。即:經(jīng)過(guò)N1次后就可以達(dá)到狀態(tài)T0,故周期為N1。

綜上所述可見(jiàn):zigzag變換具有周期性。

定理2對(duì)于維矩陣,從位置來(lái)考慮,zigzag變換的周期滿(mǎn)足:T≤(N2-4)!

證明:由于維矩陣有N2個(gè)元素,除去1,2,N2-1和N2,4個(gè)不動(dòng)點(diǎn)外共有N2 -4個(gè)元素,而這N2 -4個(gè)元素的全排列為N2 -4!,即共有N2 -4!種不同的狀態(tài),故zigzag變換的周期滿(mǎn)足:T≤N2 -4!

顯然這只是一個(gè)粗略的估計(jì),和正交拉丁方,騎士巡游等加密方法的周期一樣,zigzag變換的周期也有待進(jìn)一步研究。

二、用Z字形編碼對(duì)圖像進(jìn)行加密

對(duì)數(shù)字圖像文件加密時(shí),可以采取兩種方式。一種是直接對(duì)圖像進(jìn)行加密,如圖所示。

基于Z字形編碼的數(shù)字圖像加密

第二種方法是將圖像分成小塊后,對(duì)每個(gè)小塊進(jìn)行加密。下圖為將原圖分成16×16的小塊后利用zigzag變換對(duì)圖像進(jìn)行加密的結(jié)果。

基于Z字形編碼的數(shù)字圖像加密

從加密效果上來(lái)看,由于先分塊后加密的加密方法是基于局部加密的,所以還能看出來(lái)原來(lái)圖像的部分信息,而直接對(duì)整個(gè)圖像進(jìn)行加密的方法是對(duì)整個(gè)圖像進(jìn)行加密,加密效果要比先分塊后加密的加密方法好。

對(duì)于先分塊后加密的加密方法,由于每個(gè)小塊的維數(shù)小、周期短所以可以利用變換的周期性對(duì)加密圖像進(jìn)行解密。而直接對(duì)整個(gè)圖像進(jìn)行加密的方法,由于圖像維數(shù)大周期長(zhǎng)所以可以利用zigzag變換的反變換解密。

小知識(shí)之DCT

離散余弦變換(Discrete Cosine Transform,簡(jiǎn)稱(chēng)DCT變換)是一種與傅立葉變換緊密相關(guān)的數(shù)學(xué)運(yùn)算。在傅立葉級(jí)數(shù)展開(kāi)式中,如果被展開(kāi)的函數(shù)是實(shí)偶函數(shù),那么其傅立葉級(jí)數(shù)中只包含余弦項(xiàng),再將其離散化可導(dǎo)出余弦變換,因此稱(chēng)之為離散余弦變換。