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

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

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

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

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

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

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

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

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

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

證明:假設zigzag變換不具有周期性。

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

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

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

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

綜上所述可見:zigzag變換具有周期性。

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

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

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

二、用Z字形編碼對圖像進行加密

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

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

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

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

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

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

小知識之DCT

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