设灰度图像的大小为M×N,系统(2.1-8)和(2.2-1)同步时刻t0后产生的序列为S=(xj,yj,zj),采用典型的基于置乱—扩散的图像加密框架,具体的图像加密过程包括以下两个主要步骤:
(1)像素位置置乱
置乱阶段采用二维标准映射方案,取两个参数rx=abs(fix(zj))和ry=abs(fix(zj+f)),其中,fix()为取整函数,f为正整数,表示rx和ry的取值间隔。基于参数rx和ry,按公式(6.3-2)进行位置置乱。
其中,(xi,yi)和(xi+1,yi+1)分别为图像像素置乱前和像素置乱后的位置。
(2)像素值替换
在扩散阶段,可以通过简单可逆运算改变图像的像素值,完成像素替代操作。常见的像素替代方法是逐像素点“异或”,即随机序列与置乱后的图像数据相异或。这种“异或”加密法运算速度快,实现简单,但如果不与置乱算法相结合,将无法抵御选择明文攻击和已知明文攻击。这里,进行像素值替换时使用像素的位置信息,首先,取两个替换参数
其中,round()为四舍五入求值函数,l为正整数,l的最大值取决于计算机的精度,在当前主流的64位计算机环境下,l的取值范围为1≤l≤14。10lxj-round(10lxj)的取值范围为[-0.5,0.5],因此,参数c和d的取值范围为[0,500]。经过公式(6.3-3)处理后的参数c和d具有更好的随机性,值的分布更加均匀。(www.xing528.com)
基于替换参数c和d,像素值替换按公式(6.3-4)进行。
其中,p和v分别为替换前和替换后的像素值,(xi,yi)为像素的位置信息,L为像素的灰度级。进行像素值替换时使用像素的位置信息,这能进一步提高加密的安全性。
具体的加密算法描述见算法6.2。
密文图像的解密过程与加密过程类似,是加密过程的逆过程。解密过程需要先恢复每个像素的像素值,对位于(xi,yi)位置的像素,当密文图像的像素值为v时,其原始图像的像素值为
其中,替换参数c和d仍然采用公式(6.3-3)进行计算。每个像素都恢复像素值后,需要将每个像素恢复到原来的位置,使用公式(6.3-2)的反操作
其中,rx和ry值的计算方法与公式(6.3-2)中参数相同,为了避免恢复的像素位置为负值,在计算yi和xi时需要分别加上2N和2M。经过像素值的恢复和像素位置的还原,我们可以将密文图像解密得到原始图像。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。