毕业答辩论文基于Matlab的光学图像加密解密技术样本.doc
《毕业答辩论文基于Matlab的光学图像加密解密技术样本.doc》由会员分享,可在线阅读,更多相关《毕业答辩论文基于Matlab的光学图像加密解密技术样本.doc(35页珍藏版)》请在咨信网上搜索。
毕业答辩论文基于Matlab的光学图像加密解密技术 本科毕业论文 题 目:基于Matlab的光学图像 加密解密技术 院 (部): 理学院 专 业: 光信息科学与技术 班 级: 光信122 姓 名: 韩硕 学 号: 指导教师: 王惠临 完成日期: 2016年6月4日 目 录 摘 要 IV ABSTRACT V 1前 言 1 选题背景及意义 1 Matlab软件介绍 1 Matlab的主要特点 2 本文结构安排 3 2基于Matlab进行图形图像处理基础 4 Matlab中图形图像的分类 4 索引图像 4 灰度图像 4 RGB图像 4 二值图像 4 Matlab常用的图形图像处理函数(命令) 4 3图形图像的加密解密技术 6 图形图像加密传输理论框图以及图形图像加密特点 6 置乱加密技术 7 随机打乱各层的行或列 7 像素点随机打乱 12 像素点RGB值的放大 14 灰度变换置乱 16 基于混沌的图像加密解密技术 17 混沌加密原理 17 用Matlab的实现基于混沌的图像置乱加密算法 18 基于秘密分割加密解密技术 20 秘密分割加密算法的原理 20 20 4结 论 24 总结 24 展望 24 谢 辞 26 参考文献 27 摘 要 社会在进步,时代在发展,计算机技术在飞速发展,互联网技术也在日益进步,各种迹象都表明着我们已经进入了一个信息大爆炸的时代。人们每天通过互联网获取大量的数字图像的信息,然而在信息的传送中,未经加密的原始的数据非常容易遭受非法途径的截取并被恶意更改。因此,互联网时代如何确保图像信息安全传送越来越受到人们的重视。基于此,也提出了不少图形加密解密的算法。本文基于Matlab语言的编程环境,对图像的加密和解密的技术进行了相关验证性的研究。论文的主要工作有: 一、对Matlab编程语言环境进行了简要介绍,并对基于Matlab语言环境中,图形图像的格式及其变换处理的功能实现进行了深入分析。 二、基于Matlab语言编程,实现了随机打乱各层的行或列、像素点随机打乱、像素点RGB值缩放、灰度变换置乱等加密解密算法,并对加密算法进行了总结分析。 三、基于Maltab语言编程,实现了基于混沌的图像加密解密和基于秘密分割加密解密算法,并对其进行了总结分析。 关键词:信息安全;加密解密;Matlab Matlab-based Optical Image Encryption and Decryption Technology ABSTRACT Social progress, era in the development of computer technology in the rapid development of Internet technology is increasingly progressive, all indications are that we have entered with an information explosion era. every day get a lot of information on digital images over the Internet, but in the transmission of information in unencrypted raw data is very vulnerable interception of illegal means and malicious changes. Therefore, how the Internet era of information security to ensure the image transfer more and more people's attention. Based on this, it made a lot of graphics encryption and decryption algorithms. Based on Matlab programming environment, technology for encrypting and decrypting images were studied related confirmatory. The main work of this thesis are: First, the Matlab programming language environment is briefly introduced, and based on Matlab language environment, the format and function transformation processing graphic images to achieve in-depth analysis. Second, based on Matlab language programming, random layers disrupted row or column of pixels randomly disrupted, pixel RGB value scales, and other gray-scale transformation scrambling encryption and decryption algorithms, and encryption algorithms analyzed. Third, based on Maltab language programming, decryption and encryption and decryption algorithm based on segmentation secret, and it was analyzed based on chaotic image encryption. Key Words: Information security; encryption and decryption; Matlab 1前 言 选题背景及意义 随着科学技术的不断进步,网络化的时代慢慢来临,互联网开始走入家家户户,并且开始与人们的生活密不可分。互联网带领我们进入信息大爆炸的时代,每天生活中面对的信息越来越多,并且信息阅读的方式也随着发生变化。图像作为一种更加形象直观的方式也越来越受到人们的重视,图像比单纯的文字更加准确和形象。随着越来越多的图像在互联网络中传播并且逐渐成为人们获取信息的主要途径之一,对于信息安全的考虑下,就需要对发送的图片进行加密,来保护自身的利益,使信息不是那么容易被别人截获。比如在非面对面医疗中(如网上医院,远程医疗等等),病号的病例等图形信息需要在加密后才可以在公共信道中传输;国家军事上那些军用设施的图纸,以及各种军事图像都需要在加密的基础上确保安全的情况下才能传输。然后,图像加解密技术应运而生。 图像加解密起源初期的经典加密理论,它的作用是是遮挡图形自身本来的信息,让不法分子或不相关的人员,在收到加密后的消息后不能从中得到原本图像的信息,而接收方,就可以使用提前预定好的的密钥和解密方法,顺利地把接收到的加密后图像信息解密出来[1]-[2]。本文使用Matlab语言编程环境对图形图像的信息打乱变换等方式进行加密。 Matlab软件介绍 Matlab软件是在20世纪70年代,由美国墨西哥大学计算机科学系教授编写的,最初Matlab软件是为了学生计算方便免费给大学里的学生使用,得到了广大学生的认可。到了1984年的时候,通过Math Works公司,开发者继续对Matlab语言进行开发,把Matlab语言的使用推向了市场。Matlab拥有很强大的数据处理能力,并且Matlab处理数据的效率非常高。Math Work公司通过不断的开发和研究,不断提高Matlab在数值运算、文字处理、数据图像处理等方面的市场竞争力,最终在开发人员的不断努力下,Matlab软件终于成为在市场中使用率最高的语言软件之一[3]。 Matlab软件不同于其他的语言环境,它拥有着自己独特的特点和优势,现在Matlab语言被人们叫做第四时代的计算机编程语言。Matlab这种语言的特点是编程效率非常高,数值计算速度比较快,用户使用起来相对方便,具有良好的交互能力,并且在图形图像处理方面占有很大的优势。 Matlab语言主要的特点 Matlab语言最大的特点就是方便和快捷,这也是本文要使用Matlab实现图形图像加密解密的原因。 就和第三时代的计算机编程语言让人们脱离对着计算机硬件操作这种不方便的操作方式一样,Matlab语言让大家可以简单快捷的进行编程。Matlab语言具有大量的函数命令可以让程序员简单的调用,直接跳过了复杂的反复编程。Matlab这种语言主要的特点有下面几点: (1)编程效率很高 Matlab是高级计算语言,它主要面对的是科学与工程等方面的计算,能通过使用数字形式的语言来对程序进行编写,这种编写方式和我们在纸上运算公式的思维方式更接近,运用Matlab编程就像是在草稿纸上计算式子和解答题目,所以,就简单的称Matlab语言是草稿纸上的科学算法语言[3]。因为它很容易写,所以程序设计效率高,易于学习,易于理解。所以人们即使没有高级语言编辑能力,也可以快速掌握Matlab使用方法,从而完成对图形图像的加密解密。 (2)使用方便 Matlab编程是一个简单快捷的编程语言,它简单、方便,编写程序函数很多,方便测试哪里出错。M文件编译器使用起来方便快捷,省去了重复编码和编译链接的时间。即使输入的代码存在错误,计算机上也会快速的给出出错代码的位置,方便修改。 (3)扩充能力较强,具有良好的交互性能 在比较高的版本的Matlab软件中函数命令具有很多种,我们在运算相对较复杂的计算处理的时候能够直接调用过来直接运用,而且Matlab软见是通过M文件的格式保存函数库的,所有自建函数也能当成Matlab的库函数调用。还可以使用其他语言中编写好的命令,例如在进行图形图像的加密解密过程中,可以将源代码存在M文件编译器里面,在对不同的图像加密过程中直接在M文件编译器里面做出相应的修改就可以了。 (4)语句相对简单,但有丰富的内含 Matlab语言是由函数命令这种最简单但是也最重要的形式构成的,每个函数由函数名称、输入输出变量组成。对于同一个函数,输入变量不同执行的命令也就不相同。基于这些,会使Matlab库中函数命令更丰富,还可以大程度的缩小占用计算机的资源,这些让我们在运用Matlab书写的M文件的时候简单、快捷。丰富的函数命令,在进行图形图像的加密解密过程中不存在障碍。 (5)高效方便的矩阵和数组运算 Matlab软件中可以方便的进行矩阵、数组、逻辑和算数运算,而且在进行数组间的运算的时候直接套用相应的运算符就可以。这是其他高级语言所不能比的。因此我们使用Matlab来计算图形图像的加密解密过程会更加的简单方便。 (6)方便快捷并且强大的绘图功能 Matlab软件具有很强大的绘图能力,可以简单快捷的制作图表和显示图像。这也使得对图形图像的加密解密处理事半功倍。 本文结构安排 文章主要由4个章节组成,主要安排和内容如下所示: 第一章,前言。主要介绍了选题背景和意义,简要描述了Matlab语言的起源、发展和主要特点。 第二章,基于Matlab进行处理图形处理的基础。主要介绍了在Matlab语言中图形的不同类型和在Matlab语言中使用频率较大的图形处理的编程函数命令。 第三章,图形图像的加密解密技术。主要介绍了图形图像加密传输理论框图以及图形图像加密特点,详细介绍了置乱加密、混沌加密和秘密分割加密的原理及用Matlab实现的方法,并对其做了总结分析。 第四章,结语。主要是对全文的总结,还介绍了对未来图形图像加密解密技术的展望。 2基于Matlab进行图形图像处理基础 Matlab中图形图像的分类 在Matlab软件中中,图像是由矩阵的形式显示出来,位置信息由数据矩阵显示,颜色信息由颜色矩阵显示。Matlab中有四种几本图像类型:灰度图像、真彩(RGB)图像、索引色图像、二值图像。 索引图像 只需要两个简单的矩阵就组成了索引图像,这两种不同的矩阵就是颜色矩阵映射和数据矩阵。数据矩阵显示图像的像素位置,并且映射出相应的颜色矩阵。颜色映射矩阵是一个三列*若干行的矩阵,其中的每一列都代表着红(R)、蓝(B)、绿(G)三种颜色值,矩阵中的值的范围在[0 1]之间。 灰度图像 灰度图像在Matlab中显示为一个数据矩阵,矩阵中的值都表示这幅图像相应位置上的灰度值范围。一般时候,灰度图像保存的时候不会有颜色映射矩阵。 在Matlab中读入灰度图像的时候,需要调用函数imagese(X,[0 1])。Imagese函数中[0 1]代表灰度值范围。 RGB图像 真彩图像就是RGB图像,在Matlab中读入后是一个m*n*3的三层数据矩阵。矩阵中每个值定义了每一个像素的RGB颜色值。 RGB图像是一个三层的数据矩阵,每一层分别代表着红、绿、蓝三种颜色,矩阵中前两维代表着像素的位置,第三维代表了每个像素的颜色数据。 二值图像 二值图像类似于灰度图像,也是只包含一个数据矩阵,矩阵中每一个像素,只包含0或1两个值,每个值代表黑、白两种颜色。 Matlab常用的图形图像处理函数(命令) 1、图像的读入 在Matlab软件中读入一幅图像,就会使用到imread这个函数,其格式为A=imread('A',jpg)。其中A是这幅图像的文件名,jpg是这幅图像的文件类型,文件类型支持好多中图形格式,不仅仅局限于jpg格式。 2、图像的显示 在Matlab中显示图像主要有image和imshow两个函数,image函数主要属于图像缩放函数,而imshow函数命令较为强大,对于灰度图像、真彩(RGB)图像、索引色图像、二值图像都可以显示。 3、矩阵的翻转和转置 (1)A1=A'%矩阵转置,即共轭转置,A2=A.'%数组转置,即非共轭转置。 (2)A3=fliplr(A)%将矩阵A左右翻转,A4=flipud(A)%将矩阵A上下翻转。 4、查看图像信息 (1)A=size(m)%size函数可以显示图像的尺寸,A为向量。 (2)iminfo('文件名')%iminfo函数可以显示图像的更多信息。 5、图像的储存 A=imwrite('A',jpg)%通过imwrite函数可以将图像保存为文件,其中A为文件名。 6、生成随机数 (1)均匀分布r=rand(size)。 (2)正态分布r=randn(size)。 7、离散余弦变换 D=dct2(A,m,n)。 8、矩阵的基本算术运算 (1)Matlab的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。 (2)点运算符有.*、./、.\和.^。 3图形图像的加密解密技术 图形图像加密传输理论框图以及图形图像加密特点 攻击者 信道 加密算法 图像 解密算法 图像 解密密钥 加密密钥 安全信道 密钥K 图3-1 图形图像加密传输的理论框图 图像加密有着和文字信息不同的独特特点:如数据量庞大,冗余度高[4],像素间相关性强等等。图形图像加密不同于传统文本加密的特殊点如下: (1)图像信息不同于文本,一幅图像往往具有庞大的数据量,这样在加密后,会存在一个庞大的加密文本,不仅会造成传输方面的困难,而且还回造成保密性不高,这种加密后的图像信息在被攻击者截获后,不法分子可以通过这庞大的数据信息来进行密码分析,增加了破解出密码的可能性。冗余量高使得相邻像素点灰度值差别小,甚至具有相同的灰度值,容易被攻击破解[5]。 (2)与传统文本信息加密不同,图像的加密具有数据量庞大的特点,一幅图像在读入Matlab后显示为矩阵的形式,并且这个矩阵量非常庞大。计算机在对这些庞大的矩阵进行相关计算的时候就会占用更多的资源,这对计算机的硬件有着更高的要求。 (3)图像学阐述了一副图像在水平、竖直、对角线方向上相邻的16个像素内都存在相关性。将一幅图像进行放大后我们可以发现,相邻的像素点之间存在着一定的近似,相关性较强,我们在快速进行变换加密的时候就会因此而使得加密效果变差,在很大程度上变换后的图像中,相邻像素点与变换前类似[6]-[7]。 (4)图像可以存在一定的失真度。图像在进行加密的过程中会丢失一定的像素值,在进行传输的过程中也会丢失一部分,这些都会造成图像的失真。只要将图像的失真控制在人眼能够分辨出来的基础上就可以。并且在大部分情况下,人眼甚至可以接受一定程度上的失真。 一般来说,我们使用的普通的图像信息的价值不是特别大,没有必要运用特别复杂的加密算法。除非是军事应用等特殊领域的图像。基于以上图像加密的特点,我们需要找到一种最合适的图像加密方案。下面简要介绍几种常用的图形图像加密解密技术。 置乱加密技术 置乱加密技术的思想可以说是在古罗马时期就存在了,当时古罗马皇帝恺撒聪明的想出的一种保护战争中命令顺利传输的方式,就是将需要传达的命令,将其中的某几个字母移动位置,将命令转化成敌人看不懂的乱码,在一定程度上达到了保护战中命令的安全。 随着随着计算机科技和互联网技术的快速进步,信息的安全传输就变得越来越重要。对图形图像进行安全传输和保密存储的技术有很多,其中主要手段之一就包含图形图像置乱加密技术。它主要的原理就是利用相关的知识,对一幅图像中像素点的位置或者颜色灰度值进行打乱,把原有的图像信息置乱成非法人员看不懂的信息,通过这种方式来达到迷惑不法分子的目的。对于图像信息的加密传输来说,为了保密程度更高,一般会使用密钥来进行加解密。真正的接收方会收到这个密钥,并运用相同的加密算法对加密后的图像进行解密,这一过程又称去乱[8]。 到现在为止,图形图像置乱加密的方法已经发展处很多种类,本文简单列举了四种置乱加密的技术。这些加密技术针对不同的图像有着很好的加密保护作用。由于置乱加密不仅可以用于图像信息的保密,同时也在图像信息隐藏、图像信息分存、数字水印技术[9]-[10]等基础性工作中起到很大的作用,因此,置乱加密算法的优点和缺点也直接影响到其他处理的结果。 随机打乱各层的行或列 随机打乱各层的行或列这种图像加密方法运算步骤少,简单快捷,运算速度快,适合于信息含量较大的图像,因为信息量大的图像重复率较低,加密效果较好。缺点是对于一些特殊的图像加密效果极低。 通过imread函数将一副图像信息读入到计算机Matlab软件中,图像信息在Matlab中显示为数据矩阵的形式,将读入的矩阵保存在A中,假设矩阵A是一个m*n*3的3层数据矩阵。Randsample这个函数能够生成随机的数据变量,用此函数产生一个与图像矩阵A的行数m相等的整数随机数列并返回到r中。通过这样的变换,便能够把原来的图像矩阵的行向量位置顺序随机打乱,把打乱后的数据矩阵信息保存在B中,就完成了把图像信息加密的目的。用find函数找出向量r内从1到m的元素的位置并返回到向量f。至此就可以将打乱的图像还原[11]。 基于Matlab实现打乱各层的行 首先清空Matlab中函数命令。 clear 然后引入图像。 A=imread('C:\Users\Administrator\Desktop\毕业论文相关\'); s=size(A); 用randsample函数产生一个与图像矩阵A的行数m相等的整数随机数列并返回到r中,这样就可以打乱矩阵中的行向量的位置顺序。 r=randsample(s(1),s(1)); B=A(r,:,:); 过程逆推,完成解密。 t=1;j=1;f=1:r; while t<=length(r) f(j)=find(r==t); t=t+1; j=j+1; end f; C=B(f,:,:); subplot(1,2,1);imshow(B); title('加密','fontsize',15); subplot(1,2,2);imshow(C); title('解密','fontsize',15); 图3-2 原图 图3-3加密后 图3-4 解密后 图3-5 原图 图3-6加密后 图3-7解密后 通过Matlab将两幅不同的图像进行加密,对比加密后的图像可以发现,像图3-2这种信息量较大的图像使用这种方法加密更为合适,不仅程序简单快捷,运算速度较快,而且还可以保证一定的加密效果。但是对于图3-5这种特殊类型的图像来说,信息含量较少,图像的各行之间重复率较高,加密后的效果不明显,甚至可以直接猜测出加密前原有图像的信息,所以说随机打乱图像各层中的行这种加密技术不适用这种特殊类型的图像的加密。 基于Matlab实现打乱各层的列 基于Matlab实现打乱各层的列这种操作方法类似于打乱各行的加密方法。 clear A=imread('C:\Users\Administrator\Desktop\毕业论文相关\'); s=size(A); i=randsample(s(2),s(2)); B=A(:,i,:); t=1;j=1;f=1:i; while t<=length(i) f(j)=find(i==t); t=t+1; j=j+1; end f; C=B(:,f,:); subplot(1,2,1);imshow(B); title('加密','fontsize',15); subplot(1,2,2);imshow(C); title('解密','fontsize',15); 程序运行结果显示如下: 图3-8 原图 图3-9加密后 图3-10解密后 图3-11 原图 图3-12加密后 图3-13 解密后 通过对比可以发现,随机打乱图像各层中的列这种加密方式原理类似于行打乱加密,只是将图像中列向量的位置顺序进行了打乱。同样通过对两幅不同类型加密后的效果进行对比分析可以发现,这种加密方式适用于信息含量较大的图像的加密,而对于信息含量少,在图像的列向量中信息重复率很高的图像信息就不适合这种加密方式了。 基于Matlab实现打乱各层的行和列 打乱各层的行和列这种加密方式类似于打乱各行与列的叠加,相对而言代码稍多一点,但是其加密效果比上述两种加密方式都要好,因为是将图像中的行和列向量的位置顺序都被打乱,可以极大程度上隐藏图像原有的信息。因此,该方法加密效果很好,但方法简单,容易被攻击破解,不适合重要图像的加密。 Matlab实现代码如下: clear A=imread('C:\Users\Administrator\Desktop\毕业论文相关\'); s=size(A); i=randsample(s(1),s(1)); B=A(i,:,:); t=1;j=1;f=1:i; while t<=length(i) f(j)=find(i==t); t=t+1; j=j+1; end i1=randsample(s(2),s(2)); C=B(:,i1,:); t1=1;j1=1;f1=1:i1; while t1<=length(i1) f1(j1)=find(i1==t1); t1=t1+1; j1=j1+1; end RGB=C(:,f1,:); D=RGB (f,:,:); subplot(1,2,1);imshow(C); title('加密','fontsize',15); subplot(1,2,2);imshow(D); title('解密','fontsize',15); 图3-14 原图 图3-15加密后 图3-16解密后 对比三种机密方式我们可以发现,随机打乱各层中的行和随机打乱各层中的列这种加密方式相对简单,加密程度较低,但是其加密简单,运算速度快,可以适用于信息含量较多、像素重复率较低的图像加密。而随机打乱各层中的行和列这种加密技术结合了行打乱和列打乱两种加密技术,加密效果较好,可以适用于大部分的图像,并且这种加密方式相对而言比较简单,速度快,但是它的缺点是保密性不高,在受到不法分子的攻击后,容易被破解,不适用于一些比较重要的图像加密。 像素点随机打乱 像素,又称画素,为图像显示的基本单位。每一个像素点都存在一个特定的颜色值,可采三原色显示。像素点随机打乱算法就是把一幅图像中像素点的位置进行随机打乱。这种图像的加密算法的加密后效果非常好,在图像的加密过程中使用随机产生的数列更是提高了保密性,但是这种加密技术也存在缺点,就是图像的元素一般特别多,这就使得加密速度特别慢,对计算机要求较高[12]-[15]。 用Matlab中的imread函数将图像信息读入到计算机中Matlab软件中,图像信息在Matlab中显示为一个m*n*3的三层数据矩阵。用randsample函数可以产生随机生成的数值,用此函数产生一个值为从1到m*n*3的行向量并返回到r中。这样就可以将原图像数据矩阵的所有像素点位置信息随机打乱,把打乱后的数据矩阵保存到B中,再使用reshape函数把B中的所有元素重置为新的m*n*3的矩阵并返回到C中,就完成了对一幅图像信息的加密过程。用find函数找出向量r内从1到m的元素的位置并返回到向量f。至此就可以将打乱的图像还原。 基于Matlab实现像素点随机打乱 clear A=imread('C:\Users\Administrator\Desktop\毕业论文相关\'); s=size(A); %获取维数 n=s(1)*s(2)*s(3); r=randsample(n,n); % B=A(r); C=reshape(B,s(1),s(2),s(3));%调整RGBS与RGB维数相同 t=1;j=1; f=1:n; while t<=length(r) f(j)=find(r==t); t=t+1; j=j+1; end RGBE=B(f); RGBEE=reshape(RGBE,s(1),s(2),s(3)); subplot(1,2,1);imshow(C); title('加密后','fontsize',20); subplot(1,2,2);imshow(RGBEE); title('解密后','fontsize',20); 图3-17 原图 图3-18加密后 图3-19 解密后 图3-20 原图 图3-21加密后 图3-22 解密后 如图3-18和图3-21所见,这种加密方法加密后的图像根本上不能分辨出原有图像的信息,可以极大程度上保全信息的安全,几乎适用于所有的图像,但是这种加密技术也有缺点,现在互联网中传输的图片信息大部分上是分辨率较高的真彩图像,数据量大,像素点较多,所以在Matlab中运算量极大,一些大型图片运算时间太长,会占用计算机的大量资源。 像素点RGB值的放大 图像中每个像素都有相应的颜色值,我们将像素点上的颜色值进行放大,并相互重合叠加覆盖,隐藏图像原有的信息,达到加密的效果。放大的倍数越大,加密后的图像越不容易分辨出图像原有的信息,但是因为它太简单,容易被破解,保密性不高[16]。 通过imread函数把图像信息读入到计算机并保存为矩阵A,假设A是一个m*n*3的三层的数据矩阵。通过rand函数可以产生一个m*n*3层数据矩阵,这个矩阵是由随机数列组成,然后将随机矩阵返回到r中暂存,再返回时可以数乘一个数值改变矩阵放大倍数。用矩阵的点运算,通过点乘、点除,可得到加密解密图像。 基于Matlab实现像素点RGB值的放大 Matlab实现代码如下: clear RGB=imread('C:\Users\Administrator\Desktop\毕业论文相关\'); s=size(RGB); r=rand(s(1),s(2),s(3))*5000; RGBD=im2double(RGB); RGBS=RGBD.*r; RGBE=RGBS./r; subplot(1,2,1);imshow(RGBS);title('加密后','fontsize',20); subplot(1,2,2);imshow(RGBE);title('解密后','fontsize',20); 图3-23 原图 图3-24加密后 图3-25 解密后 图3-26 原图 图3-27加密后 图3-28 解密后 通过对比两幅信息含量不同的图像加密后的效果我们发现,信息含量较少的图像加密效果较差,如图3-27所示,我们可以依稀分辨出原本图像中的信息。对于信息含量较大的图像来说,加密效果就比较明显,如图3-24所示,图像经过加密后,完全隐藏了原有的信息,达到了加密的效果。这种加密技术的缺点是加密算法比较简单,在被不法分子截取后,容易被破解。 灰度变换置乱 灰度变换置乱这种图像加密技术和像素点随机打乱加密技术不同,灰度置乱加密技术[17]是对图像的灰度值进行打乱的图像加密技术。图像中的灰度值或色彩值,也可以隐藏原有的信息。为了使加密算法具有更强大的保密程度,在密码学中具有很多加密算法,我们可以引用其中额一些具有优势的加密方法对图形中的灰度值信息进行打乱加密。这种加密技术给人们开拓出一种新思路,对图像的加密技术也具有传统文本信息不能比的优势,不仅仅可以对图像中像素点的各自的位置信息进行打乱处理,像素的颜色信息也能够通过置乱等方式进行处理。本文主要是把图像转换为灰度图像,运用二维坐标的方式对图像进行加密研究。 基于Matlab实现灰度置乱 Matlab实现代码如下 I=imread('C:\Users\Administrator\Desktop\毕业论文相关\'); A=rgb2gray(I); %读取C盘相应位置中的图片,并且转化为灰度图像。 subplot(1,3,1); %最终显示图像为一行三列,原始图像保存在第一个位置。 imshow(A); %显示转化为灰度后的图像。 title('原图') %在显示的图像下面加上标题“原图”。 Gadd=fix(255*rand(255,255,3));%产生一个随机矩阵进行置乱。 for m=1:255 %for函数运算。 for n=1:255 A1(m,n)=*A(m,n)+*Gadd(m,n); end end subplot(1,3,2); %将图像保存在第二个位置。 imshow(A1); %显示加密后的图像。 title('加密后') %将图像标题显示为“加密后”。 for m=1:256 for n=1:256 %for函数运算。 A2(m,n)=(A1(m,n)*Gadd(m,n))./; %反向运算,对图像进行还原。 end end subplot(1,3,3) %将图像显示在第三个位置。 imshow(A2); %显示解密后的图像 title('解密后'); %将图像标题显示为“加密后”。 图3-29 原图 图3-30 加密后 图3-31解密后 灰度变换置乱这种加密方式可以极大程度上隐藏原图中的信息,如图3-30所示,加密后的图像完全分辨不出原有的信息。这种加密方式的缺点是在解密的过程中容易丢失原图的颜色信息,会造成颜色上的失真。灰度变换置乱这种加密方式有着独特的优点,特别是适用于一些非彩色图像的加密研究。 基于混沌置乱的图形加解密技术 在现阶段的密码加密技术中,存在着一种基于混沌序列的加密方式,可以用来进行对图像的加密解密。混沌的加密方法就是把一幅图像中的所有信息转化为矩阵序列,通过混沌信号覆盖叠加或调制来对图像序列进行加密的。 混沌加密原理 混沌加密的原理[11]就是在发送端把需要发送的图像序列信息,叠加覆盖上一层按照特定的方式进行重新排列后的混沌序列,这样重新排列后的信息进行传输的时候,在公共信道上的信号会以一种随机噪声的特点传输,这样的信号在网络中大量存在,攻击者不能确定这是属于加密信息还是无用信息,降低了加密后的图像被攻击的可能性,这样在最大程度上保存了图像信息的保密传输的性能。接收方接收到加密后的信息后,使用提前预定好的方式重新排列混沌序列,并将其从加密序列中去除掉,在经过一定程度上的运算,恢复图像原始的图像序列信息,从而显示出原始的图像信息[17]。 基于混沌置乱的图形加解密算法原理示意图如下所示: 混沌序列 重排列 重排列 混沌序列 原始图像 序列 加密图像 序列 解密图像 用Matlab的实现基于混沌的图像置乱加密算法 Matlab实现代码如下[18]: clear all; t0 = clock; %测试程序运行时间。 A=imread('C:\Users\Administrator\Desktop\毕业论文相关\'); A1=rgb2gray(A); %将图像转化为灰度图像。 A1=medfilt2(A1,[3 3]); %对图像进行处理。 figure; imshow(A1); %显示转化后的图像。 title('灰度图像'); %将图像标题表示为“灰度图像”。 A1=double(A1); [ca1,cb1,cc1,cd1]=dwt2(A1,''); figure(3); subplot(2 3 1); imshow(ca1,[]); subplot(2 3 2); imshow(cb1); subplot(2 3 3); imshow(cc1); subplot(2 3 4); imshow(cd1),; [Q,W]=size(ca1); e=hundung- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业 答辩 论文 基于 Matlab 光学 图像 加密 解密 技术 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文