猫映射(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变换置乱图像的恢复不再需要计算出图像变换的周期,并且可以恢复到图像的任意次置乱效果,恢复的效率大大提高了。

转载于:https://www.cnblogs.com/LvBaiYang/p/6438431.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值