数字图像加密算法之图像融合技术加密

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像加密算法之图像融合技术加密

随着宽带网的发展,图像数据开始在网上流行,基于有些图像数据的敏感性,因而图像数据的保护越来越受到关注。图像融合技术是利用图像灰度值进行插值融合的新技术,利用该技术可实现对灰度图像的融合。我们在图像融合技术的基础上,结合混沌序列的伪随机特性,给出了一种基于混沌序列的图像文件加密技术,同时,结合给出的图像文件加密效果的评价标准,通过实验验证了该方法是一种高效、稳定的图像文件加密技术。

二、图像融合技术

基于图形( Graphics)的融合技术主要是应用线性插值技术进行不同图形之间的融合过渡。对于图像(Image)的融合可以将图形的融合技术应用于图像的处理上,但由于图像的复杂程度远大于图形,所以应用这些技术时,算法效率很低,而且,一般只能得到近似计算。

从构成图像的像素角度考虑,基于图像的像素灰度值,可以在两幅同等大小的图像之间进行线性插值,实现对两幅图像的快速融合,具体方法是:对两幅同样大小的图像进行插值融合,记原图像为F,目标图像为D,插值结果图像为E,两幅图像上对应像素(i,j)的灰度值分别记为F(i,j)和O(i,j),其中F(i,j)为原图像在(i,j)处的像素灰度值,O(i,j)为目标图像在(i,j)处的像素灰度值。插值的方程为:

根据以上公式计算出的E(i,j)即为插值结果图像在(i,j)处的灰度值,当v的值从0变化到l 时,相应的结果图像从原图像F变化到目标图像O。图1即是根据以上方法进行融合的结果,经过实验比较发现,当v的值等于1时,得到的结果图像即为目标图像。

二、图像文件加密技术

在利用混沌序列进行图像文件加密的算法中,基于加密算法安全性的要求,一般多采用类似于密码学中的Feistel型结构,通过循环迭代的加密,逐步增加加密图像的混乱程度,从而实现对图像的加密。通过图1图像融合的图例可以发现,在图像融合的中间过程,结果图像具有一定程度的混乱。根据这一结果,结合混沌序列良好的伪随机性,可以将这种方法应用于图像文件加密,具体方法是:取两幅同样大小的图像,其中需要加密的图像称为原图像Image,另一幅图像称为密铜图像Kinrage,根据图像大小生成的混沌序列记为:{ai,j},i=1,2,…,M,j=1,2,…,N,其中M×N是图像的大小.对混沌序列进行归一化处理,利用混沌序列对两幅图像进行融合,融合过程为:

则得到具有一定混乱度的倒像Enimage,根据加密的需要进行迭代加密,则得到最终的加密图像文件。结合传统的图像融合算法,给出直接应用图像融合技术的数宁图像加密算法如下:

图像加密算法1:基于图像融合的图像加密算法

Step1:输入密钥图像Kinrage和原图像Image,同时给出混沌序列的初始值ao。Step2:根据图像生成相应的混沌序列,对混沌序列的值进行归一化处理,使其满足:

Step3:利用混沌序列{ai}对两幅图像进行融合加密,得到Enimage。

Step4:定义Enimage为新的原图像,Image为新的密钥剧像,返回Step2。直到迭代加密过程完成。

以上图像加密算法中,每一次循环加密可采用不同的混沌序列,也可采用相唰的混沌序列,密钥定义为密钥图像和混沌序列的初始值。

利用图像加密算法1加密图像文件的图例如下图2,其中混沌序列为Logistic映射:0。

通过图2可以看出,利用图像加密算法1加密的效果很不理想,分析原因,主要有以下几点:一、在图像文件加密过程中所应用的混沌序列进行了归一化,这与图像融合技术保持一致,但在加密过程中,这造成Enimage(i,j)必然介于Image(i,j)与Kimage(i,j)的灰度值之间,不管迭代多少次,这样的限制条件都无法改变。

二、利用密钥图像作为整个加密系统的部分密钥,这样就造成密钥所占空间过大1,传输的成本相应增加,从而影响到算法的实际使用。基于以上分析,我们给出改进的基于图像融合技术的数字图像加密算法。

在改进的图像加密算法中,设需加密图像为Image,大小为M×N,根据图像生成混沌序列

记为:

{ai,j},i=1,2,…,M,j=1,2,…,N,对该混沌序列进行简单的离散化如下:

A(i,j)= round(ai,j×256)

如果将矩阵A看成是图像的灰度矩阵,则可由混沌序列生成一幅灰度图像Kimage,作为即将加密的密钥图像,现在,根据加密需要生成融合过程的混沌序列{bi,j},i=1,2,…,M,j=1,2,…,N,进行计算:

在以上融合计算中,在插值系数bi,j前乘2的原因有以下两点:

一、可以使结果图像的灰度值范围不受限制条件的约束;

二、在计算机中,乘2的计算效率很高,保证不影响算法的效率。

图像加密算法2:改进的基于图像融合的图像加密算法

Stcp1:输入原图像Image,同时给出混沌序列的初始值ao和b0。

Step2:根据ao生成混沌序列{ai,j},i=1,2,…,M,j=1,2,…,N,离散化后得到密钥图像kimage的灰度矩阵。

Step3:生成相应的混沌序列{bi,j},i=1,2,…,M,j=1,2,…,N。

Step4:利用混沌序列{bi,j}对Image和Kimage进行融合加密,得到加密图像Enimage;Step5:定义Enimage为新的原图像,Image为新的密钥图像,返回Step2。直到迭代加

密过程完成。

图像文件解密过程为图像文件加密的逆过程,根据捅值公式(3)分析可知,在得到相同的混沌序列的前提下,相应的解密过程为:

其中,当bi,j时,则Image(i, j)=Kimoge(i,j)。可以发现,公式(3)和公式(4)除了插值的系数不同外,在形式上是一样的,说明解密过程也是一种插值过程,所以根据公式(4),参考算法2,可以得到相应的解密算法。

三、图像加密算法性能分析

基于融合技术的图像加密算法,安全性依赖于所用混沌序列的安全性,从公式(3)可知,当Kimage(i,j)和bi,j都不可知。通过Eniurage(i, j)直接解出Image(i,j)是不可能的,而当图像较大时,相应生成的密钥图像灰度矩阵也会很大,采用穷举法进行破解也是困难的,其时间复杂度为O(M×N×256)。

同时,由于图像文件加密过程是在像素灰度值之例进行插值计算,所以除了要生成密钥图像灰度矩阼以外,其余的混沌序列不需要进行相应的离散化处理,这样,可以保证图像加密算法具有较高的效率。

四、图像加密算法图例

图3是采用真实图像作为密钥图像的加密效果图。图4是采用混沌序列生成图像作为密钥图像的加密效果图,通过图4可以看出,加密效果随着迭代次数的增加是稳定的。具体的加密

相关文档
最新文档