貓映射(Arnold變換)的簡單說明


原文地址:http://www.jiamisoft.com/blog/index.php/7249-erzhituxiangjiamisuanfaarnold.html

Arnold變換

Arnold變換是V.J.Arnold在遍歷理論的研究中提出的一種變換,原意為catmapping,俗稱貓臉變換。Arnold變換直觀、簡單、具有周期性,使用非常方便。Arnold變換的原理是先作x軸方向的錯切變換,再作y軸方向的錯切變換,最后的模運算相當於切割回填操作,其變換示意圖如圖4所示。

二值圖像加密算法之Arnold變換加密

Arnold變換的置亂效果圖如圖5所示。

二值圖像加密算法之Arnold變換加密

當對圖像進行Arnold變換時,就是把圖像的各個像素點位置按照下列公式進行移動,

二值圖像加密算法之Arnold變換加密

從而得到一個相對原圖像比較混亂的圖像。對圖像每進行一次Arnold變換,就相當於對該圖像進行了一次置亂,一般來說這一過程需要反復進行多次才能達到令人滿意的效果。利用Arnold變換對圖像進行置亂后,使原本有意義的圖像變成了像白噪聲一樣無意義的圖像,從而實現了信息的初步隱藏。同時置亂次數可以作為水印系統的密鑰,從而進一步增強系統的安全性和保密性。

Arnold變換也是具有周期性的。F.J.Dyson和H.Falk在分析離散Arnold變換的周期性時,給出了這樣的結論:對於任意的N>2,Arnold變換的周期L≤N2/2。這是迄今為止最好的結果。計算Arnold周期的方法,對於給定的自然數N>2,下式的Arnold變換周期M是使得它成立的最小自然數n。

二值圖像加密算法之Arnold變換加密

例如,尺寸為32×32的二值水印圖像,根據文相關結論,大小為32×32的二值圖像置亂迭代6次置亂度最大。所以N=32,對水印置亂的次數k=6(k可作為密鑰),可以算出N=32時,周期M=24。因此,如果開始對水印置亂了6次,那么在提取水印后還要再對水印置亂24 -6—18次才能得到原來的水印圖像,如圖6所示。

二值圖像加密算法之Arnold變換加密

圖像的大小與Arnold變換的周期的關系,如表1所示。

二值圖像加密算法之Arnold變換加密

Arnold反變換

如前所述,Arnold變換是具有周期性的,反復使用Arnold變換,可以在某一時刻恢復原始圖像。但是Arnold變換的周期性與圖像的大小有關,如果我們利用它的周期性來達到恢復原圖的目的,勢必要花費很長時間。然而在實際應用中,應該盡可能地減少計算時間和計算量,我們希望Arnold變換的周期越短越好,所以在設計數字水印圖像的大小時,我們往往會選擇Arnold變換周期比較小的圖像,而這也在一定程度上限制了圖像的選擇,而且選擇圖像前需要事先計算出它的周期,從而增加了工作量。這個問題可以通過Arnold反變換的方法解決。

Arnofd變換式為:

二值圖像加密算法之Arnold變換加密

假設:

二值圖像加密算法之Arnold變換加密

其中,t1,t2為整數,則:

二值圖像加密算法之Arnold變換加密

則Arnold反變換為:

二值圖像加密算法之Arnold變換加密

用數學歸納法可以證明,當作n次變換時,即:

二值圖像加密算法之Arnold變換加密

時,Arnold反變換為:

二值圖像加密算法之Arnold變換加密

其中,(x,y)是原圖像的像素點,(x’,y’)是變換后圖像的像素點。利用Arnold反變換式可以將水印圖像進行恢復。

由以上可以得出,對一幅置亂m次的圖像進行恢復時,只要恢復后的圖像的置亂次數k滿足0≤k≤m,圖像的恢復都可以通過對置亂圖像作m-k次Arnold反變換得到,顯然當k=0時,反變換后的圖像就是原圖像。

Arnold反變換的方法使Arnold變換置亂圖像的恢復不再需要計算出圖像變換的周期,並且可以恢復到圖像的任意次置亂效果,恢復的效率大大提高了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM