基于仿射變換的數(shù)字圖像置亂加密算法

為了提高圖像置亂后的保密性及提高信息隱藏的抗攻擊能力,使合法的用戶可以更多地自由選擇密鑰,受可逆線性變換整型化思想的啟發(fā),我們提出了一種新的圖像加密算法——基于仿射變換的數(shù)字圖像置亂加密算法。

一、有限整數(shù)域上的擬仿射變換

1、整數(shù)域上的擬仿射變換

為引入整數(shù)域上擬仿射變換的定義,我們先看幾何仿射變換的定義。

定義1、仿射變換的一般形式為:

基于仿射變換的數(shù)字圖像置亂加密算法

為便于與Arnold變換、排列變換、Fibonacci變換對(duì)照,將它寫成矩陣的形式:

基于仿射變換的數(shù)字圖像置亂加密算法

其中a,b,c,d,e,f為實(shí)數(shù).考慮到整數(shù)域上的特殊性(x.y,x’,y ')均為整數(shù)。通常式(1)我們并不能滿足要求,受可逆線性變換整型化思想的啟發(fā),我們將根據(jù)式(1)構(gòu)造出一個(gè)整數(shù)到整數(shù)的變換,且滿足以下要求:

(1)變換是離散點(diǎn)域{(x,y):x,y為整數(shù)}到其自身的單映射;

(2)變換是離散點(diǎn)域{(x,y):x,y為整數(shù)}到其自身的滿映射,即變換是可逆的。

首先介紹整數(shù)提升變換的概念.對(duì)于變換:

基于仿射變換的數(shù)字圖像置亂加密算法

可以構(gòu)造它所對(duì)應(yīng)的整數(shù)變換為:

基于仿射變換的數(shù)字圖像置亂加密算法

其中[x]表示x的整數(shù)部分,加入0.5以實(shí)現(xiàn)舍人,從式(3)可以看出,如果輸入x,y為整數(shù),那么經(jīng)過計(jì)算得到的x’,y’也必定為整數(shù),同時(shí),我們可以得到變換式(3)的逆變換式:

基于仿射變換的數(shù)字圖像置亂加密算法

類似地,對(duì)于如下變換:

基于仿射變換的數(shù)字圖像置亂加密算法

我們可以構(gòu)造它所對(duì)應(yīng)的整數(shù)變換為:

基于仿射變換的數(shù)字圖像置亂加密算法

及式(6)的逆變換式:

基于仿射變換的數(shù)字圖像置亂加密算法

定義2.我們稱式(3),(6)為對(duì)應(yīng)于式(2).(5)的整數(shù)提升變換,式(4),(7)為式(3),(6)的逆整數(shù)提升變換。

容易看出,整數(shù)提升變換的一個(gè)突出性質(zhì)就是可以實(shí)現(xiàn)整數(shù)到整數(shù)的可逆變換.除此之外,整數(shù)提升變換的級(jí)聯(lián)也可以實(shí)現(xiàn)整數(shù)到整數(shù)的可逆變換.對(duì)于式(1)定義的一般仿射變換,當(dāng)滿足△=基于仿射變換的數(shù)字圖像置亂加密算法時(shí),可將式(1),分解如下:

基于仿射變換的數(shù)字圖像置亂加密算法

基于仿射變換的數(shù)字圖像置亂加密算法

由式(8),(9)可知,如對(duì)e,f簡(jiǎn)單舍人取整,其他部分以整數(shù)提升變換實(shí)現(xiàn),則可以在整數(shù)域上實(shí)現(xiàn)式(1)所示之仿射變換,注意:當(dāng)△=-1時(shí),第一次整數(shù)提升變換需作適當(dāng)?shù)男拚串?dāng)式(8)中的ad -bc或式(9)中的ad為-1時(shí),式(3),(4)中第二個(gè)等式的右面需加一負(fù)號(hào);另外,為了減小舍人誤差,可將e,f融人最后一次整數(shù)提升變換中進(jìn)行舍人運(yùn)算。

值得指出的是,由于在各級(jí)整數(shù)提升變換中引入了非線性的舍入運(yùn)算,使得最后得到的結(jié)果不再是傳統(tǒng)意義上的仿射變換,對(duì)此我們引入如下定義:

定義3、對(duì)于式(1)定義的仿射變換,如果滿足基于仿射變換的數(shù)字圖像置亂加密算法,當(dāng)x,y∈x時(shí),將整數(shù)提升變換實(shí)現(xiàn)的形式上的仿射變換稱為整數(shù)域上的擬仿射變換,簡(jiǎn)稱整數(shù)擬仿射變換,整數(shù)擬仿射變換有如下4條性質(zhì):

性質(zhì)1、整數(shù)擬仿射變換的逆變換一定存在;

性質(zhì)2、整數(shù)擬仿射變換的和不一定是整數(shù)擬仿射變換;

性質(zhì)3、整數(shù)擬仿射變換的積仍然是整數(shù)擬仿射變換;

性質(zhì)4、整數(shù)擬仿射變換是整數(shù)域上的一一變換。

在實(shí)際應(yīng)用中,通常對(duì)x,y及x',y’的取值范圍有一定的限制,如限定0≤x,x’<M,0≤y,y'<N,下面介紹有限整數(shù)域上的擬仿射變換的概念及構(gòu)造方法。

2、有限整數(shù)域上的擬仿射變換

定義4、有限整數(shù)域上的擬仿射變換( Quasi-Affine Transformation on Limited Integer Grids,QATLIG),它首先是一個(gè)變換,滿足:

條件1、變換是離散點(diǎn)域{(x,y):0≤x<M,0≤y<N }到其自身的單映射;

條件2、變換是離散點(diǎn)域{(x,y):0≤x<M,0≤y<N}到其自身的滿映射。

其次,它是式(1)在有限整數(shù)域上的一個(gè)實(shí)現(xiàn),即可由式(1)改造而來,顯然,QATLIG和整數(shù)仿射變換有著密切的聯(lián)系,我們首先介紹有限整數(shù)域上的提升變換,在此基礎(chǔ)上給出QATLIG的構(gòu)造方法。

對(duì)于式(2),(5)之線性變換,當(dāng)限定0≤x<M,0≤y<N時(shí),可以構(gòu)造相應(yīng)的有限整數(shù)域上的提升變換如下:

基于仿射變換的數(shù)字圖像置亂加密算法

對(duì)應(yīng)的逆變換為:

基于仿射變換的數(shù)字圖像置亂加密算法

容易看出,有限整數(shù)域上的提升變換的一個(gè)突出性質(zhì)就是可以實(shí)現(xiàn)有限整數(shù)域到有限整數(shù)域的可逆變換.除此之外,有限整數(shù)域上的提升變換的級(jí)聯(lián)也可以實(shí)現(xiàn)有限整數(shù)域到有限整數(shù)域的可逆變換,對(duì)于式(1)定義的一般仿射變換,當(dāng)滿足基于仿射變換的數(shù)字圖像置亂加密算法時(shí),由式(8),(9)可知,如最后一步作如下變換:

基于仿射變換的數(shù)字圖像置亂加密算法

其相應(yīng)的逆變換為:

基于仿射變換的數(shù)字圖像置亂加密算法

其他部分以有限整數(shù)域上的提升變換實(shí)現(xiàn),則可以在有限整數(shù)域上實(shí)現(xiàn)式(1)所示之仿射變換。另外,為了減小舍入誤差,可將e,f融入最后一次有限整數(shù)提升變換中進(jìn)行舍入及取模運(yùn)算,根據(jù)QATLIG的定義及其構(gòu)造方法,不難得到如下4條性質(zhì):

性質(zhì)5、QATLIG的逆變換一定存在。

性質(zhì)6、QATLIG的和不一定是QATLIG。

性質(zhì)7、QATLIG的積仍然是QATLIG。

性質(zhì)8、QATLIG是有限整數(shù)域上的一一變換。

二、 QATLIG在圖像置亂中的應(yīng)用

一幅數(shù)字圖像可用矩陣A={a(i,j)}N×M表示,其中a(i,j)表示圖像在第f行第歹列像素處的灰度值(或RGB分量值)。

數(shù)字圖像的置亂原理是:將原來點(diǎn)(x,y)處像素對(duì)應(yīng)的灰度值或RGB顏色值移動(dòng)到變換后的點(diǎn)(x’,y')處。如果對(duì)一幅數(shù)字圖像迭代地使用QATLIG,即將式(2)左端的(x’,y’)T作為下一次相應(yīng)變換的輸入,則可重復(fù)這個(gè)過程一直做下去。

用第2節(jié)給出的QATLIG,隨機(jī)地選擇其變換系數(shù)(本例中,a= 9.4849113758545604e+002,b=13322919891824768e+004,c=5.7813914782433339e+∞8.d=8.12(J79454L5277645e+004,P=1.615675,5002857162e
+002,f=2.2755882099826667e+∞B),對(duì)Airplane圖像(256×256像素)進(jìn)行置亂的效果如圖1所示。

基于仿射變換的數(shù)字圖像置亂加密算法

從圖1可以看出,QATLIG用于圖像置亂有較好的置亂效果,在經(jīng)過2次迭代置亂變換后,可將原圖像的各種灰度值均勻地分布到圖像區(qū)域中,從而能較好地隱蔽原圖像的信息,為進(jìn)一步進(jìn)行圖像隱藏打下了良好的基礎(chǔ).而對(duì)于其他形式的變換,如Arnold變換,要達(dá)到如此的置亂效果,至少要迭代10次以上。

三、QATLIG應(yīng)用于圖像置亂的周期性

對(duì)數(shù)字圖像A={a(i,j)}N×N,某一置亂變換關(guān)于A的周期T是指使得圖像A經(jīng)一系列變換后回復(fù)到A的最小次數(shù)。

顯然,上述定義除與具體A的大小有關(guān)外,還與A的具體內(nèi)容有關(guān),它并不能完全刻畫出QATLIG的置亂性能,為此引入如下定義。

定義5、對(duì)大小為N×M的數(shù)字圖像A,我們說QATLIG(a.b,c,d,e,f)關(guān)于N×M的周期為T,是指當(dāng)A的任意兩個(gè)像素沒有相同的顏色值時(shí),使得圖像A經(jīng)重復(fù)同一變換后又回復(fù)到A的最小變換次數(shù)為T。

下面以第3節(jié)實(shí)驗(yàn)中所給出的變換參數(shù)定義的QATLIG為例,假定圖像為N×N像素,按定義5求得其周期TNo及Arnold變換的周期TNA如表1所示。

基于仿射變換的數(shù)字圖像置亂加密算法

在第3節(jié)中已經(jīng)指出,從數(shù)據(jù)文件加密的角度看,QATLIG優(yōu)于Arnold變換等幾何變換。另一方面,從信息隱藏的角度考慮,圖像置亂變換作為進(jìn)一步操作的預(yù)處理過程,比如置亂后再進(jìn)行隱藏,Arnold變換在進(jìn)行迭代置亂時(shí),很多時(shí)候有較強(qiáng)的紋理特征,在用Cox的水印方法進(jìn)行隱藏時(shí),為達(dá)到隱藏的目的就必須減小其強(qiáng)度控制參數(shù),但這樣降低了隱蔽倍道的容量。而QATLIG具有這樣的特點(diǎn):容易構(gòu)造出好的QATLIG(如第3節(jié)實(shí)驗(yàn)中所給出的變換參數(shù)),使得圖像置亂后,其各種灰度值均勻分布在圖像所在的區(qū)域({(x,y):0≤x<M,0≤y<N且為整數(shù)}),減少了置亂圖像的紋理特征,從而可以增加隱蔽信道的容量。從信息隱藏的角度考慮,QATLIG也優(yōu)于Arnold等幾何變換。

四、基于仿射變換的數(shù)字圖像置亂加密算法優(yōu)點(diǎn)

(1)能適用于任意大小的圖像,有較大的適用性。

(2)6個(gè)變換參數(shù)中的5個(gè)可以選用隨機(jī)數(shù),另外一個(gè)由約束確定.這大大方便了密鑰的選擇,增加了系統(tǒng)的安全性。

(3)置亂加密算法可以公開,秘密全寓于密鑰中,滿足密碼學(xué)中的Kerckhoffs假設(shè)。對(duì)于其他固定參數(shù)的置亂算法,密鑰只能存在于置亂次數(shù)中,但由于圖像置亂固有的周期性,因此單靠置亂次數(shù)作為密鑰是十分不安全的。

小知識(shí)之仿射變換

在幾何上定義為兩個(gè)向量空間之間的一個(gè)仿射變換或者仿射映射(來自拉丁語,affinis,“和。..相關(guān)”)由一個(gè)線性變換接上一個(gè)平移組成。