MATLAB图像加密解密系统

MATLAB图像加密解密系统

  1. 课题背景


近十年来,随着信息网络技术的飞速发展,多媒体技术在各领域的应用可谓是日新月异。数字图像无疑已经成为互联网的主要交互对象之一。数字图像在军事系统、政府机构、医疗系统、国防系统和金融系统等重要机构中得到了广泛应用,这也意味着图像在传输的过程中存在着巨大的安全隐患。若在传输的时候被第三方恶意的拦截、随意篡改、非法拷贝、任意传播,后果将会很严重。所以数字图像的安全传输问题,受到了大众的普遍重视。因此信息安全已成为人们关心的焦点,也是当今的研究热点和难点。 为了实现数字图像保密,实际操作中一般先将二维图像转换成一维数据,再采用传统加密算法进行加密。与普通的文本信息不同,图像和视频具有时间性、空间性、视觉可感知性,还可进行有损压缩,这些特性使得为图像设计更加高效、安全的加密算法成为可能。

二、 研究背景

近十年来,随着信息网络技术的飞速发展,多媒体技术在各领域的应用可谓是日新月异。数字图像无疑已经成为互联网的主要交互对象之一。数字图像在军事系统、政府机构、医疗系统、国防系统和金融系统等重要机构中得到了广泛应用,这也意味着图像在传输的过程中存在着巨大的安全隐患。若在传输的时候被第三方恶意的拦截、随意篡改、非法拷贝、任意传播,后果将会很严重。所以数字图像的安全传输问题,受到了大众的普遍重视。因此信息安全已成为人们关心的焦点,也是当今的研究热点和难点。

  多媒体数据,特别是数字图像,比传统的文字承载着更大更丰富的信息量,因而成为人类社会在信息利用方面的重要手段,尤其是在医学领域和军事领域。图像的安全需求主要包括三个方面:(1)保密性:预防第三方非法获取图像信息。(2)完整性:预防在储存或传输的过程中被破坏、丢失和篡改。(3)版权保护:辨别图像真伪,并提供有效的法律依据。为了保护数字图像的安全交互,就需要很可靠的图像加密技术。为了实现数字图像保密,实际操作中一般先将二维图像转换成一维数据,再采用传统加密算法进行加密。与普通的文本信息不同,图像和视频具有时间性、空间性、视觉可感知性,还可进行有损压缩,这些特性使得为图像设计更加高效、安全的加密算法成为可能。图像加密算法已经取得了丰富的研究成果,人们已经设计出了众多的图像加密算法。



三、实验结果以及仿真分析

1 基于像素点置乱图像加密/解密的实验结果及分析

以大小为256*256的灰度图lenna.bmp为例,采用图4-1所示的流程图对其进行像素值置乱,原图如4-3所示:


MATLAB图像加密解密系统_第1张图片


图4-3原始图像

第一步:产生如下2个Logistic混沌序列,关键语句如下:


for i=1:1:M*N-1 %产生2个Logistic混沌序列

x1(i+1)=u1*x1(i)*(1-x1(i));

x2(i+1)=u2*x2(i)*(1-x2(i));

end

for i=1:1:M*N %改造2个Logistic,得到两个y序列

y1(i)=(1/3.1415926)*asin(sqrt(x1(i)));

y2(i)=(1/3.1415926)*asin(sqrt(x2(i)));

end

所产生的混沌序列如图4-4所示:


MATLAB图像加密解密系统_第2张图片


图4-4 Logistic混沌序列


第二步:对像素点灰度值与Logistic混沌序列进行二进制位异或操作,得到加密后的图像。像素值加密后的图像如4-5所示:

MATLAB图像加密解密系统_第3张图片


图4-5加密图像


第三步:对加密图像的像素点灰度值与产生的混沌序列进行异或操作,得到解密后的图像,效果图如4-6所示:

MATLAB图像加密解密系统_第4张图片


图4-6还原图像

很明显,只经过像素值置乱的加密图像图4-4仍然具有一些原图像的细节信息,加密效果不是特别很好。


4.3.2基于像素位置置乱图像加密/解密的实验结果及分析

以大小为256*256的灰度图像小鸟.bmp为例,以图4-2所示的像素位置置乱流程图对其进行像素位置置乱,原图如4-7所示:

MATLAB图像加密解密系统_第5张图片


图4-7原始图像


第一步:输入初值,利用Logistic映射产生混沌序列,关键语句如下:

for n=1:m1+n1-1

x(1)=s;

q=h;

x(n+1)=q*x(n)*(1- x(n));

end


所产生的混沌序列如图4-8所示:



MATLAB图像加密解密系统_第6张图片


图4-8混沌序列


第二步:对输入的图像,将每行的像素循环左移到该行另一位置,每列像素循环下移到该列另一位置,保持像素值不变,得到加密后的图像。如图4-9所示:

MATLAB图像加密解密系统_第7张图片

图4-9位置加密


第三步:对加密后的图像,将每行像素循环右移到该行另一位置,每列像素循环上移到该列另一位置,保持像素值不变,得到解密后的图像。如图4-10所示:


MATLAB图像加密解密系统_第8张图片


图4-10位置解密


对比分析图4-5像素加密和图4-9位置加密可知,基于像素位置的置乱能够破坏原数字图像的有序性,达到置乱的目的。但是也存在一个缺陷,就是无论经过多么复杂的变换,只改变了数字图像像素位置,而数字图像矩阵中的元素即图像像素的灰度值和Alpha值没有改变,因此图像的灰度直方图不会发生变化。攻击者可能通过像素比较的方法加以破解。因而像素位置置乱与像素值置乱相结合成为发展的必然。不但对数字图像的像素位置进行置换,而且对其像素值也进行变换,从而改变数字图像的直方图,使安全性进一步提高。


4.3.3结合像素点与位置的双重置乱分析

以大小为256*256的灰度图像猴子.bmp为例,先以图4-1所示的像素值置乱流程图对其进行像素置置乱,然后用图4-2所示的像素位置置乱流程图对已经过像素值置乱的图像进行像素位置置乱,效果图如下4-11所示:



MATLAB图像加密解密系统_第9张图片

MATLAB图像加密解密系统_第10张图片


图4-11(a)原始图像 图4-11(b)像素值置乱图像


MATLAB图像加密解密系统_第11张图片

MATLAB图像加密解密系统_第12张图片


图4-11(c) 位置加密置乱图像 图4-11(d)双重加密置乱图像

图4-11加密效果比较

由图4-11可以得出,只经过像素位置置乱加密的图像4-11(c)效果比较好,图像像素点分布比较均匀。而只经过像素值置换的加密图像图4-11(b)仍然具有一些原图像的细节信息,加密效果不是很好。然而经过像素位置与像素值双重置换加密的图像4-11(d)的图像像素分布均匀,已经覆盖了原图像的人物轮廓,无法得出原图像的细节信息,其加密效果是最优的。

前面已经从加密效果这个方面分析了像素点置乱加密、像素位置置乱加密以及双重置乱加密,下面以直方图对比效果来分析,图4-11所对应的直方图如图4-12所示:


MATLAB图像加密解密系统_第13张图片

MATLAB图像加密解密系统_第14张图片

图4-12(a)原始图像直方图 图4-12(b)像素值置乱直方图



MATLAB图像加密解密系统_第15张图片

MATLAB图像加密解密系统_第16张图片


图4-12(c)位置置乱直方图 图4-12(d)双重置乱直方图

图4-12直方图对比效果

由图4-12可知:基于混沌的数字图像像素位置的加密技术只是置换数字图像的像素点的位置,而像素值并不置换,从而数字图像的直方图不会改变,因而所得密图直方图与原数字图像的直方图相同;而基于混沌的数字图像的像素值加密技术虽然将像素值进行置换,改变了数字图像的直方图,但是像素位置没有置换,因此加密效果不太理想;然而基于混沌的数字图像像素位置与像素值双重置换加密算法既置换像素位置,又置换像素值,从而加密密图的直方图与原图像的直方图是不同的,而且加密后的直方图分布非常均匀,从而加密效果更优。

四、 总结

由于数字图像生动形象,故在很多重要领域得到了广泛的应用。数字图像的安全传输问题越来越受到重视。数字图像加密技术是数字图像信息安全的一种有效保护措施,目前已经产生了许多的图像加密算法。 本文主的第一章主要介绍了图像加密算法研究的背景、内容以及方法。第二章重点了解了数字图像的基本知识,包括图像定义、图像常用存储格式以及图像压缩及编码,还有图像加密算法的性能要求和几类算法:基于矩阵变换的图像加密技术、基于秘密分割与秘密共享的图像加密技术、基于现代密码体制的图像加密技术和基于混沌的图像加密技术。第三章重点介绍了基于混沌的图像加密技术,就混沌的理论、定义、特征以及选择做了详细的介绍。此外,对几种常见混沌系统的研究方法也有说明。在现在已有的理论基础上,重点分析了几个典型的混沌系统:即Hemon映射、Lorenz系统和猫映射。第四章就基于Logistic映射的图像加密的理论、模型、加密解密的具体方案以及仿真结果做了具体的讲解。

你可能感兴趣的:(计算机视觉,机器学习,算法,人工智能,python)