双幅数字图象加密的实值编码就是待将加密的两幅数字图象扩大一倍,然后与一个随机相位掩膜一起通过光学透镜作傅立叶变换,取其实部作为编码图象。
一、双幅数字图象加密的实值编码原理
利用全息记录的方法解码,即已编码的图象和随机相位掩膜的傅立叶变换相加通过光学透镜作傅立叶反变换,记录反变换的光强分布,再通过非线性变换或灰度变换的方法叮以恢复原图象。该加密编码方法简单,可以同时对两幅图象编码,而且得到实值的编码图象,便于数字图象的记录、存储与输出。
二、数字图象的实值加密方法
1、实值加密算法
待加密的原图像f0(x,y)是一个灰度图像,f0(x,y)的取值范围是[0,n],先将f0(x,y)转换为纯相位图象f(x,y)=exp[iπf0(x,y)/n]。通过下图所示的光学系统加密可以实现数字图象加密和解密。
a图是加密的编码过程,其中r(x,y)编码键是一个随机的纯相位掩膜,r(x,y)=exp[iπr0(9x,y)/n],r(x,y)的取值是取值范围是〔0,1〕。带随机纯相位掩膜r(x,y)的纯相位图象f(x,y),即0(x,y),在一束相干光的照射下,经过光学透镜L1作傅立叶变换,在透镜的后焦面得到o(x,y)的傅立叶变换0(u,v)。
0(x,y)=f(x,y)r(x,y)
将(2)式的实部口Re 0(u,v)作为已编码图象,则加密后的图象是一个实值图象。
解密的过程如图所示,对加密后的图象Re 0(u,v)作全息记录,即编码图象Re 0(u,v)的解码键R0(u,v)相加作傅立叶反变换R(u,v),得到h'(x,y),记录光强分布,得到|h'(x,y)|2。R(u,v)是编码键r(x,y)的傅立叶变换,即R(u,v)=FFT[r(x,y)]
H'(u,v)=Re[0(u,v)]+R(u,v) _ _(3)
h'(x,y)=1/2[0(x,y)+0'(-x,-y0]+r(x,y) _ (4)
若忽略图象0'(-x,-y)的第一行和第一列,其为图象0(x,y)旋转180°的图象。
2、双幅图象的编码方法
为了使5式中的第5、6项不影响译码的结果,我们将待编码图象扩大到原来的4倍。实际上同时对两幅图象编码,只需要将编码范围扩大到原来的2倍,就可以实现实值编码。
两幅原图象f1(x,y),f2(x,y)都是灰度图象,且它们的取值范围都[0,n]。与之相应的纯相位图象分别是exp[iπf1(x,y)/n]和exp[iπf2(x,y)/n],两幅纯相位图象都扩大一倍,则待编码的图象表示f(x,y)。
由于式12矩阵的上半部分别是原图象f1(x,y),f2(x,y)的非线性函数,经过非线性变换或者图象灰度变换可以解出两幅原图象。
为了加快解码速渡,也可以先作非线性变换,对式12的图象编码,则可以直接译码得到原图象。
若对式13的图象编码,则可以直接译码得到原图。
通过双幅数字图象加密的实值编码将待加密的两幅图象扩大一倍,加密后得到的是实值编码图象解码后可以准确地恢复出原图。
小知识之实值编码
一种用于纯相位图象加密的实值编码方法,待编码的纯相位图象与一个随机相位掩膜一起作傅立叶变换,取其实部作为编码图象。