资源描述:
《信息隐藏(隐写术)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
信息隐藏(隐写术)主讲教师:余艳玮ywyu@ustc.edu.cn
1复习•隐写术的基本原理–概念–系统模型–性能指标–与数字水印技术的比较–常用工具–应用2022-6-162
21信息隐藏概述2隐写术的基本原理3隐写术4隐写分析技术2022-6-163
3•隐写术–空域隐写术•原始类图像隐写术–基于文件格式的隐写术–替换技术:位平面、颜色通道»LSB–基于关系的技术•有限调色板图像隐写术–变换域隐写术•JPEG图像隐写术2022-6-164
4•选择工作域•如何选择隐藏位置?•如何修改图像以嵌入水印2022-6-165
53.1原始类图像隐写术基于文件格式的隐写术替换技术:位平面、颜色通道LSB基于关系的技术对亮度分量修改对颜色分量修改2022-6-166
6(3)基于关系的技术•利用像素间的关系•块内或块间的统计特征量•利用邻域像素与中心像素间的关系•关系:–大小–逻辑–奇偶性2022-6-167
71。利用奇偶校验位的方法•把载体划分成几个不相重叠的区域,在一个载体区域中存储一比特信息•嵌入:选择L(m)个不重叠区域,计算出每一区域i的所有最低比特的奇偶校验1011010110位bi(i=1,2,…,m)。区域i隐藏一个信10101010100101000101息比特bi。若bi与mi不同,那么就改变1011011010该区域i中某个像素的最低比特,从而1010010101使得bi=mi。•提取:用同样的方法划分载体区域,计算出奇偶校验位,构成秘密信息2022-6-168
82。二值图像中的信息隐藏•二值图像:由黑白象素的分布构成图像–例如:传真、文字识别等•怎样隐藏?–利用图像区域中黑色象素的个数对秘密信息进行编码–利用游程编码对秘密信息进行编码–利用图像分块中黑色点总个数的奇偶代表秘密信息0或12022-6-169
9二值图像中的信息隐藏(方法1)•嵌入–把一个二值图像分成L(m)个矩形图像区域B,如果其i中黑色象素的个数大于一半,则表示嵌入0;如果白色象素的个数大于一半,则表示嵌入1–当需要嵌入的比特与所选区域的黑白象素的比例不一致时,为了达到希望的象素关系,则需要修改一些象素的颜色–修改应遵循一定的规则,原则是不引起感观察觉–修改应在黑白区域的边缘进行2022-6-1610
10•需注意的细节–应考虑有一定的冗余度。确定有效区域–确定两个阈值R150%和R050%,以及一个健壮性参数。–隐藏0时,该块的黑色象素的个数应属于[R1,R1];隐藏1时,该块的黑色象素的个数应属于[R0,R0]–如果为了适应所嵌入的比特,目标块必须修改太多的象素,就把该块设为无效–标识无效块:将无效块中的象素进行少量的修改,使得其中黑色象素的百分比大于R13,或者小于R03R03[R0,R0][R1,R1]R1300.512022-6-1611
11•提取–判断每一个图像块黑色象素的百分比,如果大于R13,或者小于R03,则跳过这样的无效块–如果在[R1,R1]或者[R0,R0]的范围内,则正确提取出秘密信息0或12022-6-1612
12•应用–工程图纸,地图等•需注意的问题–在边缘处修改(如何标识边缘?)2022-6-1613
13二值图像中的信息隐藏(方法2)•另一种方法:利用游程编码的方法•例a0a1a2a3a4编码:,,,,012342022-6-1614
14•嵌入:修改二值图像的游程长度–如果秘密信息位是0,则修改该游程长度为偶数;如果为1,则修改游程长度为奇数;如果秘密信息的取值与游程长度的奇偶性相匹配,则不改变游程长度•提取–根据游程长度的奇偶性提取出秘密信息2022-6-1615
15例:游程修改嵌入法游程的奇偶代表游程秘密信息1或0为5+0110||游程为62022-6-1616
16二值图像中的信息隐藏(方法3)例:分块嵌入法8*8小块内黑17个色点总个数的黑点奇偶代表秘密+信息0或10110||18个黑点2022-6-1617
17二值图像中的信息隐藏(其他)•文字特征修改法–计算每个笔画的平均宽度–改变笔画粗细嵌入秘密信息•文本行、文本字符移位法:文本微调算法–行间距移位–字间距移位2022-6-1618
183.2有限调色板图像隐写术•根据信息嵌入位置的不同,可将调色板图象的密写分为两类:–基于调色板的密写–基于图象内容的密写2022-6-1619
19有限调色板图像格式和存储表示•基于调色板的图像使用特定颜色空间的一个颜色子集为图像上色,它包括两个部分:调色板和实际的图像数据。实际的图像数据保存每个像素的调色板索引而非颜色值。•有限调色板类图像中最常用的有GIF(GraphicsInterchangeFormat)图像和索引类BMP图像。–修改调色板–改变图像数据2022-6-1620
203.2.1基于调色板的密写•调色板图象的调色板中最多可包含256种颜色•(1)通过调整调色板中颜色序列嵌入信息•GifShuffle软件利用不同的颜色排列顺序,最多可在调色板中隐藏log2(256!)比特。•优点:不会修改图像•缺点:–非常脆弱,重新存储会丢失其中隐藏的秘密信息(许多图像处理软件会按照颜色值对调色板排序)。–此外,该算法在一幅GIF图像中最多可嵌入log2(256!)/8=210字节的信息,所以信息容量有限;–并且调色板中“无序”的颜色序列很容易引起怀疑。–Fridrich指出许多软件生成的调色板是按照亮度、使用频率等要素排列,GifShuffle将调色板中颜色打乱会使其毫无隐蔽性可言。•(2)在调色板颜色的LSB(最不重要位)中嵌入信息。该类算法实现的信息隐藏容量更为有限(至多3X256位),因此应用较少。2022-6-1621
213.2.2基于图象内容的密写•基于象素内容的密写将调色板中所有颜色分为2个子集,部分颜色代表信息0,其余颜色代表信息1。若象素本身颜色所代表的数据与待嵌信息相同,则不改变象素颜色;反之将其改变为相似的替代颜色以使其代表其它信息。•现有方法的不同点在于:如何分配颜色所对应的0、1,使颜色改变时造成的失真最小,即寻找一种最佳的替代颜色分配方案。2022-6-1622
22•减少颜色深度再扩展•利用调色板重排序的颜色索引值隐藏信息•利用颜色奇偶位隐藏信息2022-6-1623
23减少颜色深度再扩展•S-Tools采用“减少颜色深度再扩展”的方法在图像数据中嵌入信息。•嵌入:–首先,将256色折叠到128色;–然后加入128色中每种颜色的紧邻颜色(改变彩色图像中蓝色信道的LSB位,或者灰度图像中亮度的LSB位),从而将这128色扩展为256色;–最后,用两个紧邻颜色的奇偶位分别代表隐藏信息中的“0”或“1”二进制位,将信息隐藏到GIF图像中随机选择像素的蓝色分量的LSB位。•提取:只需要抽取出蓝色分量的LSB位。•性能:–通过这种方式,每个像素最多可嵌入一个信息位。–类似的算法容易产生颜色聚集现象,即形成一些颜色块而引起攻击者的怀疑。•如果希望每个像素最多嵌入三个信息位,则需要将256色折叠为32色。2022-6-1624
24利用调色板重排序的颜色索引值•EzStego的信息嵌入机制是该方法的体现。•1)对调色板中颜色按照两种颜色间的空间距离排序;•设原调色板为序列L0,排序后调色板为序列L1。初始阶段,L0包含所有颜色,L1为“空”。EzStego中的排序过程分为如下4个步骤:–①从L0中取出索引值为“0”的颜色c0作为起始点,计算c0到L0中剩余颜色ci的距离,组成一个大小为256的一维数组D。设每种颜色是RGB三维颜色空间中一点,则D中元素di,即c0到ci的距离可表示为:di=(r0-ri)^2+(g0-gi)^2+(b0-bi)^2。–②从D中取出最大距离di,并将di对应的颜色ci从L0中删除;然后将ci插入L1中某个位置,使遍历L1中所有颜色点的路径长度最短。–③对L0中剩余颜色cj执行如下操作:计算cj同ci之间的距离d’,如果d’小于dj(将ci插入L1前,L1中所有颜色同cj之间的最小距离是dj),则以d’值取代dj的原值。–④重复步骤②和③,直到D为“空”(或L0为“空”)。•2)使用排序后颜色序列中位置紧邻的两个颜色的索引值“奇偶位”表示隐藏信息中二进制位的“0”和“1”;从而“秘密”信息被嵌入到顺序选择的GIF图像的索引值中。2022-6-1625
25EZsteg-调色板排序2022-6-1626
26EZsteg-嵌入函数2022-6-1627
27EZsteg的特点•优点:不改变调色板中的颜色值,并且没有增加图像的信息长度•缺点:该算法对调色板中所有颜色保证了整体最优,却忽视了局部最优的情况,即没有保证索引值的奇偶位相对的两个颜色在调色板颜色序列中的空间位置最近。2022-6-1628
28利用颜色奇偶位隐藏信息•OPA(OptimalParityAssignment)最佳奇偶分配法•保证局部最优。•J.Fridrieh,D.Rui.SecureSteganographicMethodsforPaletteImages[J].InformationHiding,LectureNotesinComPuterSeience,1768,Springer-Verlag,Newyork,2000,pp:47-60.2022-6-1629
29同时修改调色板和图象内容•一些调色板图象密写算法同时改变了调色板和象素内容,以求进一步减小密写失真。•早期GIF密写软件stegoDos、s-Tools等,将真彩色图象首先量化成调色板图象后,将调色板中颜色复制一份,每种颜色在调色板中都会出现2次,这两种颜色互为替代颜色,分别代表0和1。2022-6-1630
30小结•空域的方法–把信息隐藏在载体的最不重要部分–隐藏的信息量大–容易被噪声掩盖,有损压缩后丢失•能否隐藏在载体的最重要部分?2022-6-1631
31Thankyou!