1.一种基于混沌随机相位和相干叠加原理的数字图像快速隐藏方法,其特征是按如下步骤进行:
一、图像的隐藏
(1)两幅已知像素大小均为M*N的灰度图像,其中M、N是两个整数,*表示相乘,归一化后的灰度值矩阵分别为X1、X2,由X1变换为X2的密钥组设为(a、b1、R),其中R在隐藏过程中产生;
(2)由密钥参数(a、b1)根据混沌函数bn+1=a·bn·(1-bn)计算得到一非收敛序列b,为保证函数的高度混沌性,参数的范围设为3.9≤a≤4,bn∈[0,1]和n∈[1,M*N],将序列b转换为一相位序列c,其值满足cn=exp(ibn),序列c可按列式构造一大小为M*N的混沌随机相位矩阵C;
(3) 由 X1(x,y) 计算得到一个新的矩阵 α(x,y),计算公式为
其中(x,y)表示矩阵中元素的坐标,接着根据
P(x,y)=C(x,y)·exp[iα(x,y)]计算得到一大小为M*N的矩阵P;
(4) 通 过 X2(x,y) 计算得到一个新的矩阵 β(x,y),计算公式为
并由R(x,y)=P(x,y)·exp[iβ(x,y)]计算得
到矩阵R;
二、图像的复原
(1)由隐藏结果图像X2获取原始图像X1,正确的解密密钥组为(a、b1、R);
(2) 根 据 P(x,y) = R(x,y)·exp[-iβ(x,y)] 计 算 得 到 矩 阵 P,其 中(3)由密钥参数(a、b1)根据混沌函数bn+1=a·bn·(1-bn)计算得到一非收敛序列b,其中参数满足3.9≤a≤4,bn∈[0,1]和n∈[1,M*N],将序列b转换为另一相位序列c,其值满足cn=exp(ibn),序列c可按列式构造一大小为M*N的混沌随机相位矩阵C;
(4)根据相干叠加原理,由混沌随机相位矩阵C和相位矩阵P相叠加获得原图像,即
2
X1(x,y)=|C(x,y)+P(x,y)|。
基于混沌随机相位和相干叠加原理的数字图像隐藏方法\n【技术领域】\n[0001] 本发明涉及一种信息安全技术领域,特别是图像的加密和隐藏方法。\n【背景技术】\n[0002] 随着互联网技术的迅速发展和对大量图像信息传输需求的日益增加,数字图像安全处理技术已变得更加重要,探索和开发图像加密和隐藏技术具有很高的学术和应用价值。而基于光学原理的图像处理技术是图像安全处理领域新的研究热点,目前应用较为广泛的是利用双随机相位编码技术,结合光学傅立叶变换、光学分数傅立叶变换或菲涅耳变换的图像编码方法,其加密结果为接近统计无关的均匀随机噪声。另外也可以通过迭代光学傅立叶变换等方法,将明文加密成另一幅已知图像。由于这些光学加密方法所需硬件成本高,光路复杂,灵活性低以及失真较大,因此在实际应用上受到了很大限制。但基于上述加密原理的数字图像处理技术则没有这些限制,从而大大增加了这些技术的实用性。\n[0003] 利用这些基于光学原理的数字加密方法对图像进行处理之后通常可以得到均匀随机噪声,并且在未知正确解密密钥的情况下攻击者无法通过加密结果获取原图。但这些数字加密的过程通常要经历多次光学传输变换的运算,而且加密结果也为复振幅,不利于数字的打印或显示。而通过采用相位恢复算法,即利用迭代傅里叶算法,可将待加密的数字图像加密成另一幅已知图像(隐藏结果),结果具有欺骗性,从而不容易引起攻击者的注意,避免不必要的攻击。由迭代运算得到的相位分布则可以作为解密密钥。但采用基于相位恢复算法的图像隐藏技术均存在计算量大、信息不能完全复原等缺点。\n【发明内容】\n[0004] 本发明要解决的技术问题是提供基于混沌随机相位和相干叠加原理的图像快速隐藏方法。\n[0005] 解决上述技术问题采用如下技术措施:本基于混沌随机相位和相干叠加原理的图像快速隐藏方法按如下步骤进行:\n[0006] 一、图像的隐藏\n[0007] (1)两幅已知像素大小均为M*N的灰度图像,其中M、N是两个整数,*表示相乘,归一化后的灰度值矩阵分别为X1、X2,由X1变换为X2的密钥组设为(a、b1、R),其中R在隐藏过程中产生;\n[0008] (2)由密钥参数(a、b1)根据混沌函数bn+1=a·bn·(1-bn)计算得到一非收敛序列b,为保证函数的高度混沌性,参数的范围设为3.9≤a≤4,bn∈[0,1]和n∈[1,M*N],将序列b转换为一相位序列c,其值满足cn=exp(ibn),序列c可按列式构造一大小为M*N的混沌随机相位矩阵C;\n[0009] (3)由 X1(x,y) 计算得到一 个新的矩 阵 α(x,y),计 算公式为其中(x,y)表示矩阵中元素的坐标,接着根据\nP(x,y)=C(x,y)·exp[iα(x,y)]计算得到一大小为M*N的矩阵P;\n[0010] (4)通 过 X2(x,y) 计算得到一个新的矩阵 β(x,y),计算公式为并由R(x,y)=P(x,y)·exp[iβ(x,y)]计算得\n到矩阵R;\n[0011] 二、图像的复原\n[0012] (1)由隐藏结果图像X2获取原始图像X1,正确的解密密钥组为(a、b1、R);\n[0013] (2) 根 据 P(x,y)= R(x,y)·exp[-iβ(x,y)] 计 算 得 到 矩 阵 P,其 中[0014] (3)由密钥参数(a,b1)根据混沌函数bn+1=a·bn·(1-bn)计算得到一非收敛序列b,其中参数满足3.9≤a≤4,bn∈[0,1]和n∈[1,M*N],将序列b转换为另一相位序列c,其值满足cn=exp(ibn),序列c可按列式构造一大小为M*N的混沌随机相位矩阵C;\n[0015] (4)根据相干叠加原理,由混沌随机相位矩阵C和相位矩阵P相叠加获得原图像,\n2\n即X1(x,y)=|C(x,y)+P(x,y)|。\n[0016] 本发明的有益效果在于:首先,与大多数基于光学原理的加密方法不同,本发明不包含光学传输变换的运算,加密结果可以是任意与原图像同尺寸的已知图像,更具欺骗性;\n其次,基于混沌随机相位和光学相干原理的数字图像处理方法具有计算简单直接的优点,克服了迭代方法计算量过大的缺点,同时安全性高;最后,本发明所述的图像快速隐藏方法能将大量同尺寸的图像加密成同一幅图像,只需根据不同的密钥组就能还原出对应的不同明文。\n【附图说明】\n[0017] 图1为图像隐藏(密钥组生成)流程图。\n[0018] 图2为原图像复原流程图。\n[0019] 图3用本方法将“Lena”和“Cameraman”两幅图像进行处理,其中原始图像即待隐藏图像为(a)Lena(256×256);作为隐藏结果的图像设为(b)Cameraman(256×256)。\n[0020] 图4隐藏流程中得到的各相位矩阵的实值部分图像:(a)混沌相位矩阵C;(b)相位矩阵P;(c)相位矩阵R。\n[0021] 图5为图像Lena从Cameraman中复原的流程图。\n[0022] 图6三种攻击结果:(a)R、a已知,b1未知;(b)R、b1已知,a未知;(c)a、b1已知,R未知。\n【具体实施方式】\n[0023] 本发明所述方法的具体实施方式如下:\n[0024] 一、图像的隐藏过程(如图1所示)分如下几个步骤:\n[0025] (1)两幅已知像素大小均为M*N的灰度图像,其中M、N是两个整数,*表示相乘,归一化后的灰度值矩阵分别为X1、X2,由X1变换为X2的密钥组设为(a、b1、R),其中R在隐藏过程中产生;\n[0026] (2)由密钥参数(a、b1)根据混沌函数bn+1=a·bn·(1-bn)计算得到一非收敛序列b,为保证函数的高度混沌性,参数的范围设为3.9≤a≤4,bn∈[0,1]和n∈[1,M*N],将序列b转换为一相位序列c,其值满足cn=exp(ibn),序列c可按列式构造一大小为M*N的混沌随机相位矩阵C;\n[0027] (3)由 X1(x,y) 计算得到一 个新的矩 阵 α(x,y),计 算公式为其中(x,y)表示矩阵中元素的坐标,接着根据\nP(x,y)=C(x,y)·exp[iα(x,y)]计算得到一大小为M*N的矩阵P;\n[0028] (4)通 过 X2(x,y) 计算得到一个新的矩阵 β(x,y),计算公式为并由R(x,y)=P(x,y)·exp[iβ(x,y)]计算得\n到矩阵R;\n[0029] 二、图像的复原过程(如图2所示)\n[0030] (1)由隐藏结果图像X2获取原始图像X1,正确的解密密钥组为(a、b1、R);\n[0031] (2) 根 据 P(x,y)= R(x,y)·exp[-iβ(x,y)] 计 算 得 到 矩 阵 P,其 中[0032] (3)由密钥参数(a,b1)根据混沌函数bn+1=a·bn·(1-bn)计算得到一非收敛序列b,其中参数满足3.9≤a≤4,bn∈[0,1]和n∈[1,M*N],将序列b转换为另一相位序列c,其值满足cn=exp(ibn),序列c可按列式构造一大小为M*N的混沌随机相位矩阵C;\n[0033] (4)根据相干叠加原理,由混沌随机相位矩阵C和相位矩阵P相叠加获得原图像,\n2\n即X1(x,y)=|C(x,y)+P(x,y)|。\n[0034] 可见,在本发明提出的方法中,可以通过使用密钥组(a、b1、R)在复原过程中恢复原图,密钥R则是在图像隐藏流程中生成,并且可以表示成:\n[0035] \n[0036] 其中C为混沌随机相位矩阵。从上可以看出密钥R也是一个纯相位矩阵,即R也可以用一纯相位函数表示,则有R(x,y)=exp[iγ(x,y)]。所以,复数矩阵R不仅可以由实值部分和虚值部分两个矩阵来表示,也可以用对应的实数矩阵γ来表示,其中矩阵γ中的各个元素值分别是复数矩阵R中各对应元素的幅角。\n[0037] 下面对本发明中采用的光学相干叠加原理在图像隐藏和复原两个流程中的应用进行具体说明:\n[0038] 假设两块纯相位掩模P1(x,y),P2(x,y)经单位振幅的相干光照射后信息叠加,并用CCD记录叠加结果,得到一振幅图像I(x,y),则存在关系式I(x,y)=\n2\n|P1(x,y)+P2(x,y)|。反之,如果已知P1(x,y)和I(x,y),则通过计算可以得到满足上述相干叠加要求的另一相位板,即P2(x,y)=P1(x,y)·exp[iθ(x,y)],其中取由此,如图1所示,利用已知待隐藏的图像X1(已归\n一化)和一大小相同的混沌随机相位矩阵C,可以运算得到另一相位分布P,其中C,P满\n2\n足相干叠加条件:X1(x,y)=|C(x,y)+P(x,y)|,并有P(x,y)=C(x,y)·exp[iα(x,y)],其中 然后利用P和已选定的另一幅图像,\n即隐藏结果X2(已归一化),通过同样的方法计算得到相位矩阵R,其中R,P满足方\n2\n程:X2(x,y) = |R(x,y)+P(x,y)|,并 有 R(x,y) = P(x,y)·exp[iβ(x,y)],其 中至此,基于混沌随机相位和相干叠加原理,根据待\n加密的图像X1和任意选定的隐藏结果X2得到密钥组(a,b1,R)。\n[0039] 解密复原的过程参照图2,利用已知的隐藏结果X2、密钥R,可以解得相位分布P。\n假设单位振幅的相干光分别照射相位板C和P之后叠加,用CCD探测后记录则得到原图像,数学上表示为|C(x,y)+P(x,y)|2=X1(x,y)。可以看出,本发明能实现图像的完全还原。另外,由于作为隐藏结果的X2可以预先选定,因此在加密大量相同尺寸的不同图像时,均可以选择相同的图像作为隐藏结果。\n[0040] 下面具体分析本发明提出的图像快速隐藏方法的安全性。从\n[0041] \n可以看出,相位矩阵R不仅与图像X2有关,而且和原图X1、混沌矩阵C都直接相关,因此不同的图像在隐藏过程中将会产生不同的矩阵R。攻击者无法在没有原图的情况下直接从隐藏结果X2及混沌矩阵C中直接破译出作为密钥的相位矩阵R,即R本身的安全性极高。假设攻击者已经获知了隐藏和还原两个流程,并且通过某种途径已经获取了密钥组中(a、b1、R)的其中两个,即考虑最糟糕的情况:\n[0042] 一、R已知、C未知(a已知、b1未知),攻击者根据流程图图2得到相位矩阵P,并利用a和一错误的b1按照步骤3得到混沌相位矩阵C,最后依照步骤4得到还原结果。\n[0043] 二、R已知、C未知(b1已知、a未知),攻击者根据流程图图2得到相位矩阵P,并利用b1和一错误的a按照步骤3得到混沌相位矩阵C,最后依照步骤4得到还原结果。\n[0044] 三、C已 知((a、b1)已知 )、R未知,在这种情况下,假定攻击者在还原过程使用一个大小为256×256、在区间[0,1]上具有均匀概率分布\n的随机矩阵rand来代替需还原的矩阵X1,则攻击者使用的R可以表示为\n从而可得\nP(x,y)=C(x,y)·exp[iα′(x,y)],其中 最后依\n照步骤4得到还原结果。\n[0045] 下面结合实施例和附图对本发明的内容进行进一步的解释。\n[0046] 首先,选择大小为256×256的两幅灰度图“Lena”和“Cameraman”,归一化后分别如图3(a)和图3(b)所示。其中Lena为原始图像(待隐藏图像),Cameraman作为隐藏结果的图像。仿真中参数a、b1分别设为3.85和0.241,根据流程图图1,依次可以得到混沌相位矩阵C、相位矩阵P以及相位矩阵R,它们的实值部分的信息分别如图4(a)、4(b)和4(c)所示。根据流程图图2,在使用正确的密钥组(a,b1,R),可以将图像Lena从Cameraman中完全还原。整个还原过程可以用图5来说明。\n[0047] 下面考察本发明的安全性。在上述第一种最糟糕的情况下(R、a已知),若取-7\nb1=0.2410001,即b1的偏差仅为10 ,攻击结果如图6(a)所示。在第二种情况下(R、-7\nb1已知),若取a=0.3900001,即a的偏差也仅为10 ,攻击结果如图6(b)。攻击结果充分表明,即使是在R已知的情况下,在还原过程中使用的参数a、b若与正确值之间有微小的偏差就会导致解密的失败。在第三种情况下((a、b1)已知、R未知),仿真中利用在区间[0,1]上具有均匀概率分布的随机矩阵代替X1,此时流程图图2步骤4的数学\n2\n表达式|C(x,y)+P(x,y)|=X1(x,y)中有P(x,y)=C(x,y)·exp[iα′(x,y)],其中由此得到的图像如图6(3)所示。显然,在缺少正\n确的R的情况下难以恢复出明文。只有在获得完全正确的密钥组的情况下,原图像“Lena”才能得以还原(如图5所示)。