为了实现单通道双彩色图像的同时加密,首先将两幅待加密的彩色图像转换成索引图像的形式,保留索引图像的颜色映射矩阵,然后仅对数据矩阵采用复数合成、分数傅里叶变换、随机调制实现了双图像的加密。

图像文件加密及解密原理

1、索引图像与三原色图像

三原色图像图像可以分解为红(R)、绿(G)和蓝(B)3个分量,图像的每个像素点都是用这3个分量对应的强度值来描述,如图1a所示,右上角方框中的某个像素的3个分量的强度值分别是69,74和45。因此,一个MxN大小的图像,若利用RGB模型表示,图像矩阵大小就为MxNx3,这不仅大大占用了计算机存储空间,而且分别对3层图像进行加密处理,也会使计算量增大。

索引图像则只由两个矩阵构成,分别是颜色映射矩阵和数据矩阵。颜色映射矩阵是1个mx3的矩阵,m的值取决于调色板的大小(最大为256),颜色映射矩阵每行的3个值分别表示红、绿、蓝3个分量的值。数据矩阵则是1个MxN的2维矩阵。数据矩阵的作用类似于“指针”,指向颜色映射矩阵,如图1b所示,同样也是右上角的1个像素,在数据矩阵中对应“186”,与颜色映射矩阵中的3个数对应。由于整幅图像共用1个颜色矩阵,就不需要再利用一个3维数组来描述图像。比起RGB模型,索引表示大大节省了计算机存储空间。

单通道双彩色图像加密方法

2、加密过程

加密过程的示意图如图2a所示。设待加密的两幅图像分别表示为p和g,将这两幅彩色图像分别转换成像素点数为MxN的数据矩阵p1(x,y)和g1(x,y)以及颜色映射矩阵(M1,M2)。

单通道双彩色图像加密方法

分别对数据矩阵p1(x,y)和g1(x,y)取以r(x,y)为底的对数,r(x,y)为一个2维随机矩阵,其大小为MxN,得到z1(x,y)和z2(x,y),数学上表示为:

单通道双彩色图像加密方法

将z1(x,y)和z2(x,y)以复数的形式合在一起,即z1+iz2,并对这个复数矩阵进行a阶的分数傅里叶变换,将其计算结果Z(u,v)=fa1[1+iz2]a1表示a1分数阶的分数傅里叶变换),乘以随机相位掩膜(p(u,v)=ep[jp(u,v)],其中p(u,v)为取值在-π到π的随机分布,得到E(u,v) =Z(M,n)×p(u,v),最后对E(M,n)进行Ct2阶分数傅里叶变换,得到加密后的图像P(x',y')。

解密方法为加密过程的逆过程,其示意图如图2b所示。首先对加密后的图像P(x',y')进行Ct2阶分数傅里叶变换,再乘以相位掩膜的共轭函数。然后,对P(x',y')进行a1阶分数傅里叶变换,并分离出结果的实部和虚部,得到z1(x,y)和z2(x,y)。通过r(x,y)可以得到数据矩阵p1(x,y)和g1(x,y),这个过程的数学表达式为:

单通道双彩色图像加密方法

最后,p1(x,y)和g1(x,y)与对应的颜色映射矩阵(M1,M2)可以恢复出两幅彩色图像。

为客观评价图像的解密效果,利用均方差(mean square error,MSE)来衡量原图像与解密图像的差异,其表达式为:

单通道双彩色图像加密方法

式中f(i,j)和fd(i,j)分别表示原图像和解密图像在(i,j)处的灰度值,MxN表示图像的尺寸。对于彩色图像,分别计算原图像的R,G,B3个分量与解密图像的R,G,B分量之间的均方差;并取其平均值,即:

单通道双彩色图像加密方法

 

小知识之傅立叶变换

傅立叶变换,表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅立叶变换具有多种不同的变体形式,如连续傅立叶变换和离散傅立叶变换。最初傅立叶分析是作为热过程的解析分析的工具被提出的。