欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    毕业论文—基于Matlab的光学图像加密解密技术.doc

    • 资源ID:3675       资源大小:2.88MB        全文页数:32页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文—基于Matlab的光学图像加密解密技术.doc

    1、本科毕业论文题 目:基于Matlab的光学图像加密解密技术院 (部): 理学院专 业: 光信息科学与技术班 级: 光信122姓 名: 学 号: 20121212082指导教师: .临完成日期: 2016年6月4日山东建筑大学毕业论文目 录摘 要IVABSTRACTV1前 言11.1 选题背景及意义11.2 Matlab软件介绍11.3 Matlab的主要特点21.4 本文结构安排32基于MATLAB进行图形图像处理基础42.1 Matlab中图形图像的分类42.1.1 索引图像42.1.2 灰度图像42.1.3 RGB图像42.1.4 二值图像42.2 Matlab常用的图形图像处理函数(命令

    2、)43图形图像的加密解密技术63.1 图形图像加密传输理论框图以及图形图像加密特点63.2 置乱加密技术73.2.1 随机打乱各层的行或列73.2.2 像素点随机打乱123.2.3 像素点RGB值的放大143.2.4 灰度变换置乱163.3 基于混沌的图像加密解密技术173.3.1 混沌加密原理173.3.2 用Matlab的实现基于混沌的图像置乱加密算法183.4 基于秘密分割加密解密技术203.4.1 秘密分割加密算法的原理203.4.2秘密分割加密算法的Matlab实现204结 论244.1 总结244.2 展望24谢 辞26参考文献27摘 要社会在进步,时代在发展,计算机技术在飞速发展

    3、,互联网技术也在日益进步,各种迹象都表明着我们已经进入了一个信息大爆炸的时代。人们每天通过互联网获取大量的数字图像的信息,然而在信息的传送中,未经加密的原始的数据非常容易遭受非法途径的截取并被恶意更改。因此,互联网时代如何确保图像信息安全传送越来越受到人们的重视。基于此,也提出了不少图形加密解密的算法.本文基于Matlab语言的编程环境,对图像的加密和解密的技术进行了相关验证性的研究。论文的主要工作有:一、对Matlab编程语言环境进行了简要介绍,并对基于Matlab语言环境中,图形图像的格式及其变换处理的功能实现进行了深入分析。二、基于Matlab语言编程,实现了随机打乱各层的行或列、像素点

    4、随机打乱、像素点RGB值缩放、灰度变换置乱等加密解密算法,并对加密算法进行了总结分析。三、基于Maltab语言编程,实现了基于混沌的图像加密解密和基于秘密分割加密解密算法,并对其进行了总结分析。关键词:信息安全;加密解密;MatlabMatlab-based Optical Image Encryption and Decryption TechnologyABSTRACTSocial progress, era in the development of computer technology in the rapid development of Internet technology i

    5、s 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 maliciou

    6、s changes. Therefore, how the Internet era of information security to ensure the image transfer more and more peoples 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 wer

    7、e 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 l

    8、anguage 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 encrypt

    9、ion and decryption algorithm based on segmentation secret, and it was analyzed based on chaotic image encryption.Key Words: Information security; encryption and decryption; MatlabV山东建筑大学毕业论文 1前 言1.1 选题背景及意义随着科学技术的不断进步,网络化的时代慢慢来临,互联网开始走入家家户户,并且开始与人们的生活密不可分。互联网带领我们进入信息大爆炸的时代,每天生活中面对的信息越来越多,并且信息阅读的方式也随

    10、着发生变化。图像作为一种更加形象直观的方式也越来越受到人们的重视,图像比单纯的文字更加准确和形象。随着越来越多的图像在互联网络中传播并且逐渐成为人们获取信息的主要途径之一,对于信息安全的考虑下,就需要对发送的图片进行加密,来保护自身的利益,使信息不是那么容易被别人截获。比如在非面对面医疗中(如网上医院,远程医疗等等),病号的病例等图形信息需要在加密后才可以在公共信道中传输;国家军事上那些军用设施的图纸,以及各种军事图像都需要在加密的基础上确保安全的情况下才能传输。然后,图像加解密技术应运而生。图像加解密起源初期的经典加密理论,它的作用是是遮挡图形自身本来的信息,让不法分子或不相关的人员,在收到

    11、加密后的消息后不能从中得到原本图像的信息,而接收方,就可以使用提前预定好的的密钥和解密方法,顺利地把接收到的加密后图像信息解密出来12。本文使用Matlab语言编程环境对图形图像的信息打乱变换等方式进行加密.1。2 Matlab软件介绍Matlab软件是在20世纪70年代,由美国墨西哥大学计算机科学系教授编写的,最初Matlab软件是为了学生计算方便免费给大学里的学生使用,得到了广大学生的认可。到了1984年的时候,通过Math Works公司,开发者继续对Matlab语言进行开发,把Matlab语言的使用推向了市场。Matlab拥有很强大的数据处理能力,并且Matlab处理数据的效率非常高。

    12、Math Work公司通过不断的开发和研究,不断提高Matlab在数值运算、文字处理、数据图像处理等方面的市场竞争力,最终在开发人员的不断努力下,Matlab软件终于成为在市场中使用率最高的语言软件之一3。Matlab软件不同于其他的语言环境,它拥有着自己独特的特点和优势,现在Matlab语言被人们叫做第四时代的计算机编程语言。Matlab这种语言的特点是编程效率非常高,数值计算速度比较快,用户使用起来相对方便,具有良好的交互能力,并且在图形图像处理方面占有很大的优势。 1.3 Matlab语言主要的特点Matlab语言最大的特点就是方便和快捷,这也是本文要使用Matlab实现图形图像加密解密

    13、的原因。就和第三时代的计算机编程语言让人们脱离对着计算机硬件操作这种不方便的操作方式一样,Matlab语言让大家可以简单快捷的进行编程。Matlab语言具有大量的函数命令可以让程序员简单的调用,直接跳过了复杂的反复编程。Matlab这种语言主要的特点有下面几点:(1)编程效率很高Matlab是高级计算语言,它主要面对的是科学与工程等方面的计算,能通过使用数字形式的语言来对程序进行编写,这种编写方式和我们在纸上运算公式的思维方式更接近,运用Matlab编程就像是在草稿纸上计算式子和解答题目,所以,就简单的称Matlab语言是草稿纸上的科学算法语言3。因为它很容易写,所以程序设计效率高,易于学习,

    14、易于理解。所以人们即使没有高级语言编辑能力,也可以快速掌握Matlab使用方法,从而完成对图形图像的加密解密。(2)使用方便Matlab编程是一个简单快捷的编程语言,它简单、方便,编写程序函数很多,方便测试哪里出错。M文件编译器使用起来方便快捷,省去了重复编码和编译链接的时间。即使输入的代码存在错误,计算机上也会快速的给出出错代码的位置,方便修改。(3)扩充能力较强,具有良好的交互性能在比较高的版本的Matlab软件中函数命令具有很多种,我们在运算相对较复杂的计算处理的时候能够直接调用过来直接运用,而且Matlab软见是通过M文件的格式保存函数库的,所有自建函数也能当成Matlab的库函数调用

    15、。还可以使用其他语言中编写好的命令,例如在进行图形图像的加密解密过程中,可以将源代码存在M文件编译器里面,在对不同的图像加密过程中直接在M文件编译器里面做出相应的修改就可以了。(4)语句相对简单,但有丰富的内含Matlab语言是由函数命令这种最简单但是也最重要的形式构成的,每个函数由函数名称、输入输出变量组成。对于同一个函数,输入变量不同执行的命令也就不相同。基于这些,会使Matlab库中函数命令更丰富,还可以大程度的缩小占用计算机的资源,这些让我们在运用Matlab书写的M文件的时候简单、快捷。丰富的函数命令,在进行图形图像的加密解密过程中不存在障碍。(5)高效方便的矩阵和数组运算Matla

    16、b软件中可以方便的进行矩阵、数组、逻辑和算数运算,而且在进行数组间的运算的时候直接套用相应的运算符就可以.这是其他高级语言所不能比的。因此我们使用Matlab来计算图形图像的加密解密过程会更加的简单方便。(6)方便快捷并且强大的绘图功能Matlab软件具有很强大的绘图能力,可以简单快捷的制作图表和显示图像。这也使得对图形图像的加密解密处理事半功倍。1.4 本文结构安排文章主要由4个章节组成,主要安排和内容如下所示:第一章,前言.主要介绍了选题背景和意义,简要描述了Matlab语言的起源、发展和主要特点。第二章,基于Matlab进行处理图形处理的基础.主要介绍了在Matlab语言中图形的不同类型

    17、和在Matlab语言中使用频率较大的图形处理的编程函数命令。第三章,图形图像的加密解密技术。主要介绍了图形图像加密传输理论框图以及图形图像加密特点,详细介绍了置乱加密、混沌加密和秘密分割加密的原理及用Matlab实现的方法,并对其做了总结分析.第四章,结语。主要是对全文的总结,还介绍了对未来图形图像加密解密技术的展望.2基于Matlab进行图形图像处理基础2.1 Matlab中图形图像的分类在Matlab软件中中,图像是由矩阵的形式显示出来,位置信息由数据矩阵显示,颜色信息由颜色矩阵显示。Matlab中有四种几本图像类型:灰度图像、真彩(RGB)图像、索引色图像、二值图像。2。1。1 索引图像

    18、只需要两个简单的矩阵就组成了索引图像,这两种不同的矩阵就是颜色矩阵映射和数据矩阵.数据矩阵显示图像的像素位置,并且映射出相应的颜色矩阵。颜色映射矩阵是一个三列*若干行的矩阵,其中的每一列都代表着红(R)、蓝(B)、绿(G)三种颜色值,矩阵中的值的范围在0 1之间.2。1.2 灰度图像灰度图像在Matlab中显示为一个数据矩阵,矩阵中的值都表示这幅图像相应位置上的灰度值范围。一般时候,灰度图像保存的时候不会有颜色映射矩阵。在Matlab中读入灰度图像的时候,需要调用函数imagese(X,0 1)。Imagese函数中0 1代表灰度值范围。2。1.3 RGB图像真彩图像就是RGB图像,在Matl

    19、ab中读入后是一个mn3的三层数据矩阵。矩阵中每个值定义了每一个像素的RGB颜色值。RGB图像是一个三层的数据矩阵,每一层分别代表着红、绿、蓝三种颜色,矩阵中前两维代表着像素的位置,第三维代表了每个像素的颜色数据。2。1。4 二值图像二值图像类似于灰度图像,也是只包含一个数据矩阵,矩阵中每一个像素,只包含0或1两个值,每个值代表黑、白两种颜色。2.2 Matlab常用的图形图像处理函数(命令)1、图像的读入在Matlab软件中读入一幅图像,就会使用到imread这个函数,其格式为A=imread(A,jpg)。其中A是这幅图像的文件名,jpg是这幅图像的文件类型,文件类型支持好多中图形格式,不

    20、仅仅局限于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(

    21、A,jpg)%通过imwrite函数可以将图像保存为文件,其中A为文件名。6、生成随机数(1)均匀分布r=rand(size)。(2)正态分布r=randn(size)。7、离散余弦变换D=dct2(A,m,n)。 8、矩阵的基本算术运算(1)Matlab的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方).(2)点运算符有.*、。/、.和。3图形图像的加密解密技术3。1 图形图像加密传输理论框图以及图形图像加密特点攻击者信道加密算法图像解密算法图像 解密密钥加密密钥 安全信道 密钥K图31 图形图像加密传输的理论框图图像加密有着和文字信息不同的独特特点:如数据量庞大,冗

    22、余度高4,像素间相关性强等等。图形图像加密不同于传统文本加密的特殊点如下:(1)图像信息不同于文本,一幅图像往往具有庞大的数据量,这样在加密后,会存在一个庞大的加密文本,不仅会造成传输方面的困难,而且还回造成保密性不高,这种加密后的图像信息在被攻击者截获后,不法分子可以通过这庞大的数据信息来进行密码分析,增加了破解出密码的可能性.冗余量高使得相邻像素点灰度值差别小,甚至具有相同的灰度值,容易被攻击破解5.(2)与传统文本信息加密不同,图像的加密具有数据量庞大的特点,一幅图像在读入Matlab后显示为矩阵的形式,并且这个矩阵量非常庞大。计算机在对这些庞大的矩阵进行相关计算的时候就会占用更多的资源

    23、,这对计算机的硬件有着更高的要求。(3)图像学阐述了一副图像在水平、竖直、对角线方向上相邻的16个像素内都存在相关性。将一幅图像进行放大后我们可以发现,相邻的像素点之间存在着一定的近似,相关性较强,我们在快速进行变换加密的时候就会因此而使得加密效果变差,在很大程度上变换后的图像中,相邻像素点与变换前类似67.(4)图像可以存在一定的失真度。图像在进行加密的过程中会丢失一定的像素值,在进行传输的过程中也会丢失一部分,这些都会造成图像的失真。只要将图像的失真控制在人眼能够分辨出来的基础上就可以。并且在大部分情况下,人眼甚至可以接受一定程度上的失真。一般来说,我们使用的普通的图像信息的价值不是特别大

    24、,没有必要运用特别复杂的加密算法。除非是军事应用等特殊领域的图像.基于以上图像加密的特点,我们需要找到一种最合适的图像加密方案。下面简要介绍几种常用的图形图像加密解密技术。3。2 置乱加密技术置乱加密技术的思想可以说是在古罗马时期就存在了,当时古罗马皇帝恺撒聪明的想出的一种保护战争中命令顺利传输的方式,就是将需要传达的命令,将其中的某几个字母移动位置,将命令转化成敌人看不懂的乱码,在一定程度上达到了保护战中命令的安全。随着随着计算机科技和互联网技术的快速进步,信息的安全传输就变得越来越重要。对图形图像进行安全传输和保密存储的技术有很多,其中主要手段之一就包含图形图像置乱加密技术。它主要的原理就

    25、是利用相关的知识,对一幅图像中像素点的位置或者颜色灰度值进行打乱,把原有的图像信息置乱成非法人员看不懂的信息,通过这种方式来达到迷惑不法分子的目的。对于图像信息的加密传输来说,为了保密程度更高,一般会使用密钥来进行加解密。真正的接收方会收到这个密钥,并运用相同的加密算法对加密后的图像进行解密,这一过程又称去乱8。到现在为止,图形图像置乱加密的方法已经发展处很多种类,本文简单列举了四种置乱加密的技术.这些加密技术针对不同的图像有着很好的加密保护作用.由于置乱加密不仅可以用于图像信息的保密,同时也在图像信息隐藏、图像信息分存、数字水印技术9-10等基础性工作中起到很大的作用,因此,置乱加密算法的优

    26、点和缺点也直接影响到其他处理的结果。3。2。1 随机打乱各层的行或列随机打乱各层的行或列这种图像加密方法运算步骤少,简单快捷,运算速度快,适合于信息含量较大的图像,因为信息量大的图像重复率较低,加密效果较好。缺点是对于一些特殊的图像加密效果极低。通过imread函数将一副图像信息读入到计算机Matlab软件中,图像信息在Matlab中显示为数据矩阵的形式,将读入的矩阵保存在A中,假设矩阵A是一个m*n3的3层数据矩阵。Randsample这个函数能够生成随机的数据变量,用此函数产生一个与图像矩阵A的行数m相等的整数随机数列并返回到r中.通过这样的变换,便能够把原来的图像矩阵的行向量位置顺序随机

    27、打乱,把打乱后的数据矩阵信息保存在B中,就完成了把图像信息加密的目的。用find函数找出向量r内从1到m的元素的位置并返回到向量f。至此就可以将打乱的图像还原11。3.2.1.1 基于Matlab实现打乱各层的行首先清空Matlab中函数命令。clear 然后引入图像.A=imread(C:UsersAdministratorDesktop毕业论文相关tank.jpg); s=size(A); 用randsample函数产生一个与图像矩阵A的行数m相等的整数随机数列并返回到r中,这样就可以打乱矩阵中的行向量的位置顺序。r=randsample(s(1),s(1)); B=A(r,:,:); 过

    28、程逆推,完成解密。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); 图32 原图 图3-3加密后 图34 解密后 图3-5 原图 图36加密后 图3-7解密后通过Matlab将两幅不同的图像进行加密,对比加密后的图像可以发现,像图32这种信息量较大的图像使用这种方法加密更为合适,不仅程序简单

    29、快捷,运算速度较快,而且还可以保证一定的加密效果。但是对于图35这种特殊类型的图像来说,信息含量较少,图像的各行之间重复率较高,加密后的效果不明显,甚至可以直接猜测出加密前原有图像的信息,所以说随机打乱图像各层中的行这种加密技术不适用这种特殊类型的图像的加密.3。2.1。2 基于Matlab实现打乱各层的列基于Matlab实现打乱各层的列这种操作方法类似于打乱各行的加密方法。clear A=imread(C:UsersAdministratorDesktop毕业论文相关tank。jpg); s=size(A); i=randsample(s(2),s(2); B=A(:,i,:); t=1;j

    30、=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 原图 图39加密后 图310解密后 图311 原图 图3-12加密后 图3-13 解密后 通过对比可以发现,随机打乱图像各层中的列这种加密方式原理类似于行打乱加密,只是将图像中列向量的位置顺序进行了打乱.同样通过对两幅不同类型加密后的效果进行对比分析可以发现,这种加密方式适用于信息含量较大的图像的加密,而对于信息含量少,在图像的列向量中信息重复率很高的图像信息就不适合这种加密方式了.3。2。1。3 基于Matlab实现打乱各层的行和列打乱各层的行


    注意事项

    本文(毕业论文—基于Matlab的光学图像加密解密技术.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开