淺析基于矩陣變換 /像素置換的圖像加密技術(shù)

靜止圖像可以看做是平面區(qū)域上的二元連續(xù)函數(shù):
Z =f(x,y) ,0≤ x≤ Lx;0≤ y≤ Ly
對(duì)區(qū)域中任意的點(diǎn) (x,y) ,則 f(x,y)代表圖像在這一點(diǎn)的灰度值 ,與圖像在這一點(diǎn)的亮度相對(duì)應(yīng) 。并且圖像的亮度值是有限的 ,因而函數(shù) Z=f(x,y)也是有界的 。在圖像數(shù)字化之后 ,Z=f(x,y)則相應(yīng)于一個(gè)矩陣 ,矩陣的元素所在的行與列就是圖像顯示在計(jì)算機(jī)屏幕上諸像素點(diǎn)的坐標(biāo) ,元素的數(shù)值就是該像素的灰度 。矩陣的初等變換可以將一幅圖像變換成另一種圖像 ,但它的缺點(diǎn)是像素置亂作用較差 ,因而保密性不高 。圖像加密主要采用以下幾種方法 。

基于矩陣變換 /像素置換的圖像加密技術(shù)

1、Arnold變換
設(shè)像素的坐標(biāo) x,y∈ S={ 0 ,1 ,2 ,… ,N - 1 } ,Arnold變換為x′y′=1 11 2xy (mod N ) ,x,y∈ S。
記變換中的矩陣為 A,反復(fù)進(jìn)行這一變換 ,則有迭代公式 :
Qn+1 ij =AQnij(mod N ) ,n =0 ,1 ,2… ,
其中 :Q0ij∈ S,Qnij=(i,j) T 為迭代第 n步時(shí)點(diǎn)的位置 。

Arnold變換可以看做是裁剪和拼接的過(guò)程 。通過(guò)這一過(guò)程將離散化的數(shù)字圖像矩陣 S中的點(diǎn)重新排列 。由于離散數(shù)字圖像是有限點(diǎn)集 ,這種反復(fù)變換的結(jié)果 ,在開(kāi)始階段 S中像素點(diǎn)的位置變化會(huì)出現(xiàn)相當(dāng)程度的混亂 ,但由于動(dòng)力系統(tǒng)固有的特性 ,在迭代進(jìn)行到一定步數(shù)時(shí)會(huì)恢復(fù)到原來(lái)的位置 ,即變換具有龐加萊回復(fù)性 。這樣 ,只要知道加密算法 ,按照密文空間的任意一個(gè)狀態(tài)來(lái)進(jìn)行迭代 ,都會(huì)在有限步內(nèi)恢復(fù)出明文 。這種攻擊對(duì)于現(xiàn)代的計(jì)算機(jī)來(lái)說(shuō)其計(jì)算時(shí)間是很短的 ,因而其保密性不高 。

2、按幻方做圖像像素置亂變換
假設(shè)數(shù)字圖像相應(yīng)于 n階數(shù)字矩陣 B,對(duì)取定的 n階幻方 An× n,將 B與 A按行列做一一對(duì)應(yīng) 。把A中的元素 1移到元素 2的位置 ,將元素 2移到 3的位置等等 ,依此規(guī)律進(jìn)行 ,并把第 n2元素移到 1 。經(jīng)過(guò)這樣的置換后 ,矩陣 A變成了矩陣 A1 ,記為 A1=EA,對(duì) A1 來(lái)說(shuō)可以重復(fù)上述過(guò)程 ,得 A2 =EA1… ,這便是一系列的置換 。經(jīng)過(guò) n2步 ,則 An2 =A。對(duì)于數(shù)字圖像矩陣 B,注意它與矩陣 A元素之間的對(duì)應(yīng)關(guān)系 ,隨 A轉(zhuǎn)換為 A1 而把 B中對(duì)應(yīng)像素的灰度值做相應(yīng)的移置 ,產(chǎn)生對(duì)應(yīng)的數(shù)字圖像矩陣 B1 ,記為 EB=B1 。一般地 ,有 Em B=Bm。經(jīng)過(guò)這種對(duì)圖像像素的置換 ,打亂了像素在圖像中的排列位置 ,從而達(dá)到加密的目的 。這種變換實(shí)質(zhì)上是矩陣的初等變換 ,并且由于幻方矩陣是一有限維矩陣 ,經(jīng)過(guò) n2 次置換 ,又會(huì)回到原來(lái)的位置 ,因而也可以用 (1 )所述的方法加以破譯 ,因而其加密效果也是不好的 。但若能把初等矩陣變換轉(zhuǎn)化為某種非線性變換則有可能增強(qiáng)置亂效果 ,再結(jié)合其它的現(xiàn)代密碼學(xué)的一些成熟的加密算法 ,如 DES,RSA等則可以增加算法的保密性 。

基于置亂技術(shù)的圖像加密技術(shù)總體上來(lái)說(shuō)可以等效為對(duì)圖像矩陣進(jìn)行有限步的初等矩陣變換 ,從而打亂圖像像素的排列位置 。但初等矩陣變換是一線性變換 ,其保密性不高 。而且基于 Arnold變換的加密算法和基于幻方的加密算法是不能公開(kāi)的 ,這是因?yàn)樗募用芩惴ê兔荑€沒(méi)有有效地分開(kāi) ,這和現(xiàn)代密碼體制的要求是不相容的 ,即它不符合 Kerckhoffs準(zhǔn)則 ,屬于古典密碼體制的范疇 。在實(shí)際應(yīng)用中應(yīng)該加以適當(dāng)?shù)母倪M(jìn) ,一是使這類加密算法的保密性提高 ;二是要使這類加密算法符合 Kerckhoffs準(zhǔn)則 ,適應(yīng)現(xiàn)代密碼學(xué)的要求 。另外 ,基于 Arnold變換的圖像加密算法還有其動(dòng)力學(xué)系統(tǒng)的龐加萊回復(fù)特性 ,而幻方矩陣也是由有限域上的元素所組成的 ,因而都容易受到唯密文迭代攻擊 ,因而從根本上來(lái)說(shuō)這類算法是不能公開(kāi)的 。從加密算法不能公開(kāi)、秘密不是完全寓于密鑰這一點(diǎn)來(lái)看 ,這類加密算法是屬于被淘汰之列的 ,除非它們能和其它加密算法有效地結(jié)合 ,從而符合現(xiàn)代加密體制的規(guī)范 。