基于有效位的图像信息隐藏技术.docx
《基于有效位的图像信息隐藏技术.docx》由会员分享,可在线阅读,更多相关《基于有效位的图像信息隐藏技术.docx(27页珍藏版)》请在冰豆网上搜索。
![基于有效位的图像信息隐藏技术.docx](https://file1.bdocx.com/fileroot1/2023-1/6/18be6ffc-f1b5-402c-938e-fe4a941c061d/18be6ffc-f1b5-402c-938e-fe4a941c061d1.gif)
基于有效位的图像信息隐藏技术
目录
摘要2
Abstract3
绪论4
第一章、信息隐藏概述5
第一节、信息隐藏基本概念5
第二节、信息隐藏的研究内容和分类6
第二章、信息隐藏相关知识8
第一节、隐写系统基本模型8
第二节、图像置乱变换9
第三节、差错控制编码12
第三章、基于最低有效位的图像信息隐藏技术15
第一节、信息隐藏技术的基本原理15
第二节、实现信息隐藏的流程17
第三节、实验结果18
第四章、信息隐藏方法的特点以及改进22
第一节、信息隐藏方法的技术特点22
第二节、嵌入位置问题22
第三节、对抗压缩的图像信息隐藏方法24
第五章、总结26
参考文献28
摘要
信息隐藏是一门新兴学科,是各国研究者所关注和研究的热点。
其原理是利用载体中存在的冗余信息来隐藏秘密对象,以实现保密通信或者实现数字签名和认证。
隐写术是信息隐藏的一个重要分支,时空域的隐写术算法简单,应用方便。
本论文依据图像的视觉冗余特性研究时域的基于最低有效位的隐写方法。
文章首先讨论了图像的置乱变换、差错控制编码等预处理方法,然后给出基于最低有效位的隐写方法的算法和流程,并且通过编程实现。
最后进一步研究了数据嵌入的位置问题,并讨论了一种能对抗压缩的变换域信息隐藏方法。
实验结果表明,该方法简单有效,能对抗被动攻击者,并能够实现无损恢复。
关键词信息隐藏隐写术时域
Abstract
Information-Hidingisanewdisciplineandreceivesverymuchattentionfromtheresearchcommunity.Itistoembedprivatemessagesinseeminglyinnocuouscovermessagesmakinguseoftheredundancyinformation.Steganographyisanimportantpartofinformation-hiding,andtimedomaintechniquesaresimpleandeasytouse.
Thispaperpresentsasteganographictechniquemakinguseofsomelastbitsofanimage’spixelbytesbasedonthevisualredundancyoftheimage.Firstly,thepaperintroducessomepretreatmentmethodstothehidingimageincludingconfusiontransformationandfaultcontrolencoding.Secondly,itgivesoutthealgorithmandexperimentflowofthemethod.Intheendofthepaperwefurtherresearchthepositionofthedatatobeembeddedanddiscussatransformdomaintechniquetoconquercompressionattack.Theresultsindicatethatthemethodissimpleandeffective.Withthemethodwecannotonlywithstandpassiveattacksbutcanalsogetbackthedatawithoutloss.
KeyWordsInformation-HidingSteganographyTimedomaintransformation
绪论
信息隐藏作为一门新兴学科,是与密码术、多媒体技术、计算机网络紧密相关的交叉学科,在版权保护,保密通信等领域都具有广泛的应用价值。
特别是在网络技术和多媒体技术迅速发展的今天,人们可以充分利用多媒体中存在的冗余信息作为隐藏消息的掩体信息,并将隐写信息通过计算机互联网络发送出去,使得信息隐藏的研究更具现实意义。
隐写术作为信息隐藏的一个重要分支,已成为人们日益关心的—个课题,同时也已开发出了大量向图像或音频文件中嵌入隐藏信息的程序。
目前还不存在一套系统的理论来阐述隐写术在理论上的可行性和局限性,大多数隐写技术的研究仍然处于实验阶段,各种隐写程序的安全性能问题还有待实验的检验。
本论文对时域的基于最低有效位的隐写方法进行了研究。
首先对图像进行置乱变换、差错控制编码等预处理,然后给出基于最低有效位的隐写方法的算法和流程,参照实验结果讨论了该方法应该注意和改进的地方,最后根据实际需要阐述了该方法的局限性,同时简单介绍了一种变换域的信息隐藏方法。
本文共分五章,各章的主要内容如下:
【第一章】介绍信息隐藏的概念以及研究的内容。
【第二章】讨论隐写系统基本模型以及图像的预处理。
【第三章】采用基于最低有效位的图像信息隐藏技术具体实现信息隐藏,并分析实验结果。
【第四章】对该方法进行改进和完善,并简单介绍能对抗压缩的变换域的信息隐藏方法。
【第五章】总结了本文所完成的工作,指出不足之处,并给出进一步研究的建议和方向。
第一章
信息隐藏概述
第一节信息隐藏基本概念
一、信息隐藏的定义
信息隐藏技术(InformationHiding),是利用载体信息中具有随机特性的冗余部分,将重要信息嵌入载体信息之中,使其不被他人发现。
在实际应用当中,随着网络技术和多媒体技术的迅速发展,存在冗余信息的载体非常丰富,这一点也在客观上增强了信息隐藏技术的可行性。
一般情况下,人们对于信息的保密往往求助于密码术,而计算机软硬件技术的发展使得密码破译能力越来越强,这迫使人们对加密算法的强度提出越来越高的要求。
在许多领域,密码术的应用已经越来越显现出它的局限性。
由于密码术是利用随机性来对抗密码攻击的,而密文的随机性同时也暴露了消息的重要性,即使密码的强度足以使得攻击者无法破解出明文,但攻击者可以有足够的手段来对其进行破坏,从而使得消息无法被接收。
密文容易引起攻击者注意是密码术的一个显著弱点。
对于某些应用来说,仅仅对信息的内容加以保密是不够的。
这样,对信息存在本身或信息存在位置的保密——信息隐藏技术就日显重要。
二、信息隐藏与密码术的比较
与密码术相比较,二者具有相似的作用,即为消息传递双方提供机密性、完整性、可鉴别的解决方案。
一般的理解,密码术是保密记录,而信息隐藏是隐蔽记录。
为达到各自的目的,密码术的实质是通过对明文的各种变化,使得生成的密文不为局外人所理解,而信息隐藏则是通过将信息隐藏在其他消息之中.使得未授权者无法发觉它的存在。
由于密码术是以公开的方式传递密文,而不隐蔽秘密信息本身的存在,这使得被传送的消息很容易引起攻击者的注意,从而发起对密文的破译和对消息传递双方的攻击。
而大多数信息隐藏技术则是以一种秘密的方式传递明文,这是因为隐蔽了消息的存在,对消息内容隐蔽的要求就减少了。
但在实际应用中.为了不改变掩体信息的统计特性或者增强信息的保密程度,通常也需要对隐藏信息进行某些预处理,而这种预处理通常包括采用某种加密算法。
这种通过把信息存在本身隐藏起来的技术使得攻击者无从获得秘密信息的位置,与密码术是互为补充的关系,两者结合起来可以使得信息的保密程度大大增加。
第二节信息隐藏的研究内容和分类
一、信息隐藏的研究内容
目前信息隐藏是各国研究者所关注和研究的热点,涉及多方面的研究,应用广泛。
比较有代表性的例子包括出于某种利益的隐蔽通信,保护作者合法权益的版权标记技术,以及军事上所需的低截获概率通信等,于是就产生了隐写术、数字水印、操作系统中隐通道、密码协议中阈下通道以及低截获概率通信等技术。
大量文献表明,信息隐藏的研究内容集中于以下几个方面:
1、版权标记技术
近年由于计算机网络和多媒体技术的迅速发展,越来越多的文学和艺术工作者将自己的作品以数字形式进行存储和传输。
然而,数字作品的便利性与不安全性是并存的,它可以低成本、高速度地被复制和传播,使得盗版者能利用这些条件进行侵权活动,因而,需要采取多种手段对数字作品进行保护、对侵权者进行惩罚。
向数字作品中加入不易察觉但可以鉴别的版权标记是进行数字作品版权保护的一种有效技术手段,这种技术被称为版权标记技术,属于信息隐藏领域。
2、计算机隐通道
计算机系统中存在的安全漏洞也可以被用来秘密传输信息,这一技术被称为计算机系统中的隐通道技术。
计算机系统的进程通信中有大量的数据流存在,在对可信计算机平台的评估中,无论是存储隐通道还是时域隐通道,隐通道是不可能被完全阻断的。
要保证安全,就不可避免地要降低系统的带宽,因此必须折中考虑降低带宽对系统性能的影响。
3、低截获概率通信
低截获概率通信的研究现在已成为现代通信的重大课题,尤其在军事领域。
20世纪50年代中期开始研究的扩频通信技术就是一种无线低截获概率通信。
它将待传送的信息数据进行伪随机编码调制,实现频谱扩展后再传输,接收端则采用同样的编码进行解调获取信息。
扩频通信把原本集中于较窄频段的待传送信息展宽到较宽频带,并可以在很低的信噪比下传送信息。
因此,在不知道伪随机编码的情况下,截获低功率谱密度的扩频通信信息将是一件很困难的事情。
4、隐写术
隐写术(steganography)是信息隐藏技术的一个重要分支,可以在很多领域得到应用。
在计算机领域应用隐写术的基本原理是利用信息中普遍存在的冗余性向其中嵌入秘密信息,从而达到隐蔽重要信息存在的目的。
利用隐写技术将加密后的信息隐藏在无关紧要的信息中保存起来或发送出去,可以避免引起其他人的注意,是一种更为安全有效的信息保密方式。
例如对于一幅256灰度等级(8bit)的灰度图像,各像素最低几位的随机变化并不会造成人眼视觉上的差异,我们可以将有用数据嵌入到图像像素字节的最低几位中传送,这样就可以起到隐蔽通信的作用。
本文介绍的方法正是基于该原理。
二、信息隐藏方法的分类
根据数据嵌入技术的不同可将信息隐藏分为时域数据隐藏和变换域数据隐藏。
时域隐藏就是指将待嵌入信息嵌入掩体对象的时间域或空间域中,如对于一幅数字图像作品可以对像素值进行变换加以隐藏信息。
变换域隐藏就是指将信息嵌入数字作品的变换域中,比较常见的变换技术有离散傅立叶变换、离散余弦变换(DCT)、哈达马变换、KL变换、小波变换、分形变换等。
对于信息隐藏目前还没有通用的方法或技术,不同的信息隐藏方法有其不同的性能和特点,针对不同的应用有不同的效果,因此在考虑采用那种信息隐藏方法时要看具体的情况与要求。
一般来说,频域隐藏方法稳健性良好,能够对抗多种攻击;而时域隐藏方法简单有效,信息隐藏量大。
第二章
信息隐藏相关知识
第一节隐写系统的基本模型
隐写术是将加密后的有效信息隐藏在无关紧要的信息中保存起来或发送出去,以避免引起其他人的注意,达到隐匿信息存在的目的。
其内容涉及信息论、密码术、编码技术、数字信号处理等多学科。
隐写术的基本模型如下图:
图2.1隐写术的基本模型
1、嵌入对象:
希望被秘密保存的信息,也就是需要被隐藏在其他载体之中的对象。
为了方便信息的嵌入,或者增强隐藏信息的抗攻击能力,而对嵌入对象在嵌入之前进行一定处理,称为嵌入对象的预处理。
2、掩体对象:
用于隐蔽嵌入对象的非保密载体。
3、隐藏对象:
将嵌入对象通过嵌入过程使其隐藏在掩体对象之中所得到的结果。
其中,掩体对象可以是掩体文本、掩体图像或掩体音频等,对应的隐藏对象也可以是隐藏文本、隐藏图像或隐藏音频等。
4、嵌入算法:
将嵌入对象添加到掩体对象中得到隐藏对象的过程被称为信息的嵌入,嵌入过程中所使用的算法称为嵌入算法。
5、提取算法:
信息嵌入的逆过程,即从隐藏对象中重新获得嵌入对象的过程称为信息的提取,也称为信息的恢复。
在提取过程中所使用的算法称为提取算法。
信息的提取如果不需要原始掩体对象的参与,则称为盲提取。
执行嵌入过程或提取过程的组织或个人分别被称为嵌入者或提取者。
6、隐藏分析者:
信息隐藏所要对抗的对象,主要任务是监测或者干扰信息隐藏,通常在隐藏对象传输的信道上进行操作。
隐藏分析者的目标主要有以下几点:
(1).检测是否存在隐藏对象;
(2).查明嵌入对象;
(3).向第三方证明存在被嵌入的消息,甚至指出是什么消息;
(4).以不对隐藏对象作大的改动为前提,从隐藏对象中删除嵌入对象,以达到截断通讯的目的;
(5).阻塞,即删除所有可能被嵌入对象而不考虑掩体对象。
其中前三个目标通常可由被动观察实现.后两个目标通常由主动干扰实现。
我们称前者为被动攻击,后者为主动攻击。
相应的攻击者分别被称为被动攻击者和主动攻击者。
在监视通信的过程中,被动看守者的目标是在检测到未经许可的通信时向系统外的某些进程发送报警信号,而主动看守者则试图删除通信中所包含的全部隐蔽信息,二者存在有关键性的区别,使用的手段也不尽相同。
本文主要考虑被动看守者。
第二节图像的置乱变换
数字化后的图像可以看作一个矩形区域上的二元离散函数
,
一个像素点对应于矩形的一个元素。
对该矩形的元素进行线性或者非线性的变换之后,图像看起来将显得凌乱。
如果作为嵌入对象的图像经过多次变换之后看起来纯粹像噪声,那么,被动看守者即使知道嵌入算法并提取出嵌入数据,也会把它当成噪声而忽略,从而加强了信息的隐蔽能力。
下面介绍几种基本的置乱变换方法:
一、Arnold变换
对于像素的坐标,x,y=0,1,2,…N-1,作如下变换:
(2-1)
其中
即将原来位于
的像素点移至
处。
反复进行这一变换,可以得到迭代程序:
(2-2)
为原图像点的位置,
为迭代第n步时点的位置。
Arnold变换具有周期性,即经过一定步骤的迭代之后,图像将恢复原样。
下面是以256*256像素的256色灰度图像lena为例,经过各步迭代之后得到的部分结果:
图2.2lena原图图2.3单步Arnold变换结果
图2.476步Arnold变换结果图2.5185步Arnold变换结果
经过192次Arnold变换之后,图像恢复成lena原图。
也就是说,对于256*256的图像,其Arnold变换周期为192。
因此,我们可以选取使得噪声效果比较好的变换次数作为预处理时的Arnold变换次数,如76,而以192-76=116作为图像恢复时的Arnold变换次数。
文献[7]给出了Arnold周期性变换的实验结果。
其中,N=100,128,256,512是可以直接使用的。
二、基于幻方的图像置乱变换
对于矩阵A,
若满足如下条件:
(2-3)
即矩阵A的各行、各列、各对角线上的元素的和相等,并且有集合
,则称矩阵A为标准幻方。
设嵌入对象是n*n的像素矩阵B,我们可以将B与A各元素一一对应,然后将处于A中元素1位置的像素移至元素2位置处,将处于A中元素2位置的像素移至元素3位置处,以此类推,最后将
处的像素移至1处。
例如,对于三阶幻方:
矩阵A经过一次幻方变换后结果如下:
幻方变换同样具有周期性,其变换周期就是
。
利用幻方进行置乱变换最大的困难就是寻找和图像大小匹配的幻方,而且当n比较大时,图像恢复时所要进行的变换步骤大大增加,但是变换的周期有确定规律。
另外,还可以利用FASS(space—filling,selfavoiding,simpleandselfsimilar)曲线,Gray代码,IFS模型,Tangram算法等方法实现图像的置乱变换。
参文献[6]。
第三节差错控制编码
在数据嵌入和提取的过程中,有可能产生低概率随机性的错误;在数据传输的过程中,也可能会引入噪声;而主动看守者一旦发觉有隐藏的数据,更会主动的引入随机噪声,以达到破坏嵌入数据的目的。
为了检查或者纠正被更改的数据,可以对置乱后的数据进行差错控制编码。
下面介绍几种差错控制编码方法。
一、奇偶校验码
假设奇偶监督码的码字表示为:
,则:
偶校验码:
(即偶数个1)(2-4)
奇校验码:
(即奇数个1)(2-5)
这种码的最小码距为2,只能检1个错。
但是编码效率比较高。
对于嵌入图像,为了提高奇偶校验码对突发错误的检测能力,可以考虑用二维奇偶校验码。
将若干奇偶校验码排成若干行,然后对每列进行奇偶校验,放在最后一行。
由于突发错误是成串发生的,经过这样的处理后错误被分散了。
实际上这种方法是将突发错误尽可能分散成随机错误,然后用其它编码方式来纠正随机的错误。
二、循环码
循环码是(n,k)线性分组码的一种。
如果将码组
的码多项式定义为
,则(n,k)循环码可以完全由其码长n和生成多项式g(D)构成。
(n,k)循环码的生成多项式g(D)一定是一个能除尽
的n-k阶多项式,即
(2-6)
反之,如果g(D)是一个n-k次多项式,且能除尽
,则此g(D)一定能生成一个(n,k)循环码。
阶数低于n并能被g(D)除尽的一组多项式就构成一个(n,k)循环码。
也就是说,阶数小于n且能被g(D)除尽的每个多项式都是循环码的许用码组。
若循环码的生成多项式具有如下形式:
,(2-7)
这里t为纠错个数,
为最小多项式,LCM表示取最小公倍式,则由此生成的循环码称之为BCH码,其最小码距dmin≥2t+1,能纠t个错误。
BCH的码长为n=
或
的因子。
码长为n=
的BCH码称为本原BCH码。
码长为
因子的BCH码称为非本原BCH码。
对于纠t个错误的本原BCH码,其生成多项式为
,其最小码距dmin=2t+1。
纠正单个错误的本原BCH码就是循环汉明码。
实际对图像数据进行编码时,通常采用(7,4)循环码。
设其生成多项式
,则阶数低于7且能被g(D)除尽的多项式为,
其中
。
这样可以得到该循环码的全部16个许用码组。
三、卷积码
卷积码编码器的一般结构形式如下图所示。
图2.6卷积码编码器结构
它包括:
一个由N段组成的输入移位寄存器,每段有k个,共Nk个寄存器;一组n个模2和相加器,一个由n级组成的输出移位寄存器。
对应于每段k个比特的输入序列,输出n个比特。
由图2.6可以看到,n个输出比特不仅与当前的k个输入信息有关,还与前(N-1)k个信息有关。
通常将N称为约束长度,把卷积码记为:
(n,k,N)。
卷积码的纠错性能随N的增加而增大,而差错率随N的增加而指数下降。
在编码器复杂性相同的情况下,卷积码的性能优于循环码。
但卷积码没有分组码那样严密的数学分析手段,目前大多是通过计算机进行好码的搜索。
卷积码的描述方法有两类:
图解法和解析表示。
图解法包括:
树图、状态图、网格图。
解析法包括:
矩阵形式、生成多项式形式。
卷积码的译码方法有维特比译码,序贯译码等。
具体内容请参阅参考资料[3]。
四、交织编码
在实际信息隐藏和隐藏对象的传输中常常存在突发性错误。
突发错误一般是一个错误序列。
纠正突发的错误通常采用交织编码。
交织编码的基本思路是,将i个能纠t个错的分组码(n,k)中的码元比特排列成i行n列的方阵。
然后对每列再进行纠检错编码。
通常把码组数i称为交织度,理论上交织度i越大,抗突发错误的能力就越强,但是要求译码器的暂存区就越大,而且译码延时也相应加大。
因此,实际应用中会根据掩体对象、嵌入对象大小和系统的延时要求选取合适的i。
本章小结
本章主要介绍了信息隐藏的概念、研究内容和分类,讨论了与信息隐藏相关的图像置乱变换和差错控制编码等图像预处理。
其中,图像置乱变换主要包括Arnold变换和幻方变换,差错控制编码主要包括奇偶校验码,循环码,卷积码,以及交织编码等。
第三章基于最低有效位的图像信息隐藏技术
第一节信息隐藏技术的基本原理
考虑以一幅256色(8bit)灰度图像A(
)作为掩体对象,嵌入对象可以是任何一种数据,这里以另外一幅256色灰度图像B(
)为例。
要利用A的冗余信息来隐藏B,一定要有
。
当然这是在要求B不经过压缩而被隐藏的情况下所需的条件。
基于最低有效位的图像信息隐藏技术,实际上是利用图像的视觉冗余。
对于灰度图像,人眼不能分辨全部256个灰度等级,4个左右灰度等级的差异人眼是不能区别的。
而当对比度比较小时,人眼的分辨能力更差。
我们先看看8bit数据的最后几位对图像的影响。
下面四幅图是将lena图像各像素的最后几位分别提取出来并转换成二值图像所得到的结果:
图3.1lena原图图3.2低位第二位
图3.3低位第三位图3.4低位第四位
可以看到,数据的低位第二位看起来像噪声,在视觉上与原图像没有相关性,到低位第四位才能看出与原图的联系。
换一个角度考察,与上面的分析相对应,下面是将图像lena各像素最后几位数据分别经过随机化之后得到的结果:
图3.5随机化最低一位图3.6随机化最低两位
图3.7随机化最低三位图3.8随机化最低四位
图3.5:
将各字节最后一位加入随机噪声的结果;
图3.6:
将各字节最后两位加入随机噪声的结果;
图3.7:
将各字节最后三位加入随机噪声的结果;
图3.8:
将各字节最后四位加入随机噪声的结果。
可以看到如果改变每个像素8bit中的最后两位甚至三位,人眼都是分辨不出有什么区别的。
这样我们就可以将嵌入对象的数据存放到这几位中,从而达到隐藏信息的目的。
第二节实现信息隐藏的流程
利用最低有效位的信息隐藏的流程图如下:
图3.9最低有效位信息隐藏流程图
一、嵌入对象的预处理
利用最低有效位的图像信息隐藏算法的优点是设计简单,容易实现,但是也正因为这样,使得即使是初学者也很容易将嵌入的数据提取出来。
虽然我们只考虑被动看守者,但是如果能利用图像的置乱变换得到噪声效果,那么,即使看守者提取出了嵌入的数据,如果他不知道置乱变换的方法和密钥,他可能会把嵌入数据当作噪声而忽略,从而加强了数据的隐蔽性,同时这种方法并不会增加需要嵌入的数据量。
如果嵌入对象B需要严格保密,要求即使数据被破坏也不能被隐藏分析者恢复出来,那么还可以对嵌入对象进行加密,数据加密与信息隐藏是互为补充的关系。
如第二章所述,在数据嵌入和提取的过程中,有可能产生低概率随机性的错误;在数据传输的过程中,也可能被引入噪声。
如果我们对数据完整性要求比较高,需要无损失地恢复嵌入对象,则需要对置乱后的数据进行差错控制编码,以便检查或者纠正被更改的数据。
至于采用何种差错控制编码方法,则需要考虑实际的应用。
具体来说,如果需要隐藏的数据比较多,对信息隐藏率的要求比较高,可以采用奇偶校验码;当掩体对象冗余信息足够大,信息隐藏率要求不高,同时需要一定的纠错能力,则可以采用循环码或卷积码。
二、嵌入位数的确定
利用最低有效位的图像信息隐藏算法最大的优点是在掩体对象相同的情况下隐藏的信息量大,即使只利用每Bit的最后两位,也可以达到1/4的隐藏率。
当然,隐藏的位数越少,图像的改变越小,则隐藏的信息被发现的概率就越小。
因此,在掩体对象足够大的情况下,使用的位数越少越好。
我们可以根据掩体对象A和嵌入对象B的大小比例来确定嵌入的位数。
确定嵌入位数的算法如下:
令
,