Matlab期中作业标题:基于matlab的信息隐藏代码实现姓名:********班级:********学号:********-1-目录摘要-----------------------------------------------------------------------------------------------------------------2-前言-----------------------------------------------------------------------------------------------------------------2-一、图像隐藏技术的研究现状----------------------------------------------------------------------------2-二、实现图像隐藏的主要算法----------------------------------------------------------------------------4-三、基于行列变换的图像置乱与反置乱算法-----------------------------------------------------------4-3.1图像置乱算法--------------------------------------------------------------------------------------------4-3.2图像反置乱算法-----------------------------------------------------------------------------------------5-四、基于m序列的图像加密与解密算法-----------------------------------------------------------------5-五、相关程序代码及运行结果----------------------------------------------------------------------------5-5.1源代码-----------------------------------------------------------------------------------------------------5-5.2运行结果--------------------------------------------------------------------------------------------------7-六、参考文献-------------------------------------------------------------------------------------------------8-七、总结-------------------------------------------------------------------------------------------------------8--2-摘要【摘要】近几年来,国际上提出一种新的关于信息安全的概念——信息隐藏技术。所谓信息隐藏是利用多媒体信息普遍存在的冗余特性,将秘密信息隐藏到一般的非秘密数字媒体文件(如图像、声音、文档文件,通常称之为掩护媒体)中,从而不让对手发觉的一种方法。隐藏的动作称为嵌入,掩护媒体经嵌入信息后称为伪装媒体。信息隐藏的本质是:利用人眼(或人耳)是一个不太灵敏的检测器,将信息本身的存在性隐藏起来,使人察觉不到有信息隐藏在媒体之中。由于人对视觉的不敏感性及图像文件本身的数据量很大,因此,图像文件是信息隐藏很好的载体。【关键字】信息安全信息隐藏图像文件载体前言现代信息隐藏技术自上个世纪九十年代中期出现以来,已经成为数字通信、信息安全和版权保护领域的重要研究课题,并得到了越来越广泛的应用。目前利用数字图像作为隐秘信息的载体已经成为主要的信息隐藏技术之一,其基本原理是利用人体感觉器官对数字图像的感觉冗余,将被隐藏的图像数据嵌入在某种载体图像中,嵌入后隐秘图像与原始的载体图像几乎没有任何视觉上的差别,很难被观察者和监视系统发现,从而可以保证机密信息传输的安全性。可以预见,信息隐藏技术将是今后相当一段时间内的重要的隐蔽通信方式。但是信息隐藏技术的发展也带来了一定的负面效果,据美国媒体透露,已经发现恐怖组织利用隐藏在图像中的信息传递联络情报,甚至将计算机病毒隐藏在载体图像中进行传输,这些都对国家安全和社会稳定产生了很大的威胁。因此,研究对图像中可能存在的各种隐藏信息进行有效检测的方法已经迫在眉睫,因而基于图像的信息隐藏检测技术也就成为目前信息安全领域的重要研究课题。一、图像隐藏技术的研究现状目前,图像信息隐藏技术可以分为空域法和频域法两大类。空域法中使用最广泛和普遍的技术是像素最低比特位置换技术,即LSB技术,它是用隐藏信息比特位替换掉载体图像中最不重要的部分,如像素点灰度值或颜色值的低比特位,从而达到信息隐藏的目的。这一方法的主要优点是嵌入算法和提取算法简单,隐藏信息量大和较好的不可见性,缺点是鲁棒性差,对图像的各种操作如压缩、剪切和加噪等都会使隐藏信息遭到破坏。但是即便如此,LSB方法仍然以其高不可见性在隐蔽数据通信中得到了广泛的应用;频率域的图像隐藏算法大多使用扩展频谱通信技术,将图像隐藏在载体图像的不同频率分量上,因而具有更高的鲁棒性和不可见性。事实上,一个有效的信息隐藏算法,无论是空域法还是频域法,都不会改变原始图像的视觉效果,但是却会改变其某种统计特征,包括空间域统计特征和频率域统计特征两种。因而要实现真正意义上的盲检测,必须采用图像统计特征分析的方法。根据检测所采用的统计特征的不同,将图像盲检测算法分为以下三种:(1)基于时空域统计特征分析的盲检测算法-3-目前比较成熟的有Fridrich提出的RQP(RawQuickPair)检测法。这种算法普遍采用的图像统计特征是图像相邻像素点之间的相关性,其理论基础是未嵌入隐藏信息的图像在直方图上相邻的数值(代表灰度、颜色值)之间没有任何明显规律,而隐藏信息后的直方图相邻值之间会出现明显的数值接近的规律,当信息隐藏量较大时,直方图相邻值之间几乎相等,并且这些相邻值只是互相变化而不改变两者之和。至于这些算法所采用的检测模型,目前采用的主要是x2检验法。它是通过直方图上相邻值的理论期望的概率分布(即在嵌入服从均匀分布信息后的相邻值概率分布)和实际概率分布(即载体图像中实际获得的相邻值概率分布)的对比,分析存在的偏差是否大于给定的阈值来判断是否存在隐藏信息。另外,基于空域特征分析的盲检测算法还有AWestfeld等人提出的PoVs(ParisofValues)算法[4],基于稳健性统计特性和脆弱性统计特性的检测方法。这些算法主要特点是一种针对图像本身而不是隐藏算法的检测方法,其优点是适用性广,可以对大多数采用LSB方法隐藏信息的图像进行检测。但是这种算法的缺点是:只能对图像隐藏的可能性给出一个概率分布,检测效果受阈值选取的影响较大,而且当隐藏图像的颜色数超过载体图像本身像素数的50%时很难得到有效的检测效果。另外,空域统计特征属于一阶统计数据,稳定性较差,现在已经有一些隐藏软件如OutGuess已经可以在不改变这种一阶统计数据的情况下隐藏信息。(2)基于频域统计特征分析的盲检测算法目前应用较广的基于频域统计特征分析的盲检测算法是由Farid等人提出来的一种基于高阶统计量的检测模型[5],即小波变换盲检测算法。它主要是针对采用频率方法进行信息隐藏图像的检测。其基本思想是通过对大量图像信息使用QMFs(QuadratureMirrorFilters)进行小波变换分解,用可分离的低通和高通滤波器在图像的各个轴上生成垂直、水平和对角线方向上的子频带。从这些子频带系数中归纳出它们在各方向和数值范围内的均值、方差、熵和斜率等统计数据,在此基础上使用分类器对这些统计数据进行分类,将没有隐藏信息的图像和含有隐藏信息的图像区分开来,从而达到隐藏信息盲检测的目的。这种方法的优点是识别准确率高,缺点是算法较复杂,而且只是针对于图像本身来进行检测,缺乏通用性。美国空军技术学院(AFIT)也从事了高阶统计量方面的研究,在小波变换检测算法的基础上提出了基于计算免疫系统的信息隐藏盲检测算[11],因而也是针对于频率域图像信息隐藏的检测。这种算法的具体做法是:首先建立不含隐藏信息的图像和含有隐藏信息的载体图像数据库,并对库中所有图像进行小波分解得到所需的统计特征数据;其次引入以生物免疫系统为基础发展起来的计算免疫系统技术,将统计数据区分成活跃的本体和禁止或异常活跃的非本体,接着按计算免疫系统方法分类的要求,将统计特征编码成比特串,以随机选取的方式从种群中生成最初的检测器,使整个解空间都能被覆盖到,再以负选择来淘汰与本体发生碰撞的检测器;接着引入遗传算法,按照遗传算法的流程依次反复对特征向量进行随机抽取、杂交、变异、计算适合度值、类聚、自然选择等处理,直到生成成熟的检测器。当形成成熟的检测器后,即可对被检测对象进行快速分类,将含有隐藏信息的图像检测出来,从而实现隐藏信息的盲检测。这种隐藏信息检测算-4-法弥补了小波变换检测算法的不足,通用性强,检测速度快,具有较好的应用前景。另外,NielsProvos和PeterHoneyman等人提出了一种专门针对JPEG图像的信息隐藏盲检测算法[9,12],它采用的检测算法也是x2检验法,只不过检测的统计特征不再是时空域的像素灰度或颜色值分布,而是频率域的DCT系数的分布。该检测算法实现简单,具有很高的灵敏性,甚至可以检测到单个像素的改变,而且对于嵌入信息量较大的图像,还可以估计出嵌入信息的长度。目前该算法能够检测出多种JPEG隐藏软件隐藏的图像,如JSteg,JPhide,OutGuess等。(3)基于空域和频域统计特征分析的盲检测算法目前能够同时利用图像的空域和频域统计特征进行盲检测的算法主要有两种,一种是LinGS和LieWN提出的同时适用于时空域和频率域的图像信息盲检测算法,其主要实现过程是:在时空域,它定义了一个描述相邻像素点之间灰度连续性和光滑性的特征量,成为梯度能量,当隐藏信息嵌入后会增加梯度能量;在频率域,定义了一个描述DCT系数的拉普拉斯分布,以描述频域图像的状态。根据以上两个统计特征量的改变判断出是否存在隐藏图像。这种算法可以在保证误报率较低的情况下,达到90%的正确检测率,缺点是特征量的选取要经过经验选择。另一种是YsmailAvcyba等人提出的一种基于图像质量统计分析的检测算法,他首先总结出空域和频域范围内的26个共6大类的图像质量指标,然后根据这些指标所描述的图像统计特征进行分析,从而检测隐藏信息是否存在。上述两种方法同时对图像的空域和频域统计检测,稳定性强,具有较高的检测精度,因而也是未来盲检测技术发展的主要方向。二、实现图像隐藏的主要算法实现图像隐藏的算法主要有空间域算法和变换域算法两种。变换域方法,如DCT(离散余弦变换)域、DWT(小波变换)域等利用某种数学变换,将图像用变换域表示,通过改变图像的某些变换域系数加入待隐藏的信息,然后再利用反变换来生成隐藏有秘密信息的图像,具有较强的不可见性和稳健性,隐藏信息量小,实现难度较大。空问域算法是使用最不重要的比特位和噪声控制来把秘密图像嵌入到载体图像中去,抗攻击力较弱,但隐藏信息量大,且容易实现。文中运用Matlab实现了基于空域LSB(LeastSignificantBit)的灰度图像隐藏与提取系统。图像隐藏系统由置乱模块、加密模块和嵌入模块组成。置乱模块采用基于行列置换的置乱算法,经过多次迭代处理,将原始图像变换为灰度均衡的灰度图像,迭代的次数作为密钥一加密模块借鉴通信系统中常用的伪随机序列加密的方法,运