(精品)基于多M序列与数字图像的信息隐藏研究

上传人:re****.1 文档编号:486330890 上传时间:2023-07-31 格式:DOC 页数:23 大小:339.51KB
返回 下载 相关 举报
(精品)基于多M序列与数字图像的信息隐藏研究_第1页
第1页 / 共23页
(精品)基于多M序列与数字图像的信息隐藏研究_第2页
第2页 / 共23页
(精品)基于多M序列与数字图像的信息隐藏研究_第3页
第3页 / 共23页
(精品)基于多M序列与数字图像的信息隐藏研究_第4页
第4页 / 共23页
(精品)基于多M序列与数字图像的信息隐藏研究_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《(精品)基于多M序列与数字图像的信息隐藏研究》由会员分享,可在线阅读,更多相关《(精品)基于多M序列与数字图像的信息隐藏研究(23页珍藏版)》请在金锄头文库上搜索。

1、基于多序列与数字图像的信息隐藏研究 摘要:本文提出了一种新颖的基于多M序列加密在数字图像中隐藏信息的方法,分析了信息的嵌入与提取模型及实现算法。通过M序列生成的理论分析和计算,设计出M序列加密库,并利用VB实现了Word文档的信息嵌入与提取。关键词本文来自:计算机毕业网 :M序列;信息隐藏;WORD文档;数字图像1引言信息隐藏是信息安全领域一个新兴研究热点,主要研究把特定信息隐藏在数字化信息宿主中的方法。其关键技术是在确保宿主文件格式、质量和大小不变的前提下,将密文保存在该宿主文件中,且能对密文实现无损还原。信息隐藏是利用了某种数据文件(主要是多媒体文件)的冗余性和人类感觉器官分辨信息的能力有

2、限性等特点,将秘密信息嵌入到称为载体的多媒体文件中,得到隐藏载体。由于隐密载体与原载体在感觉上没有区别,不易引人注意,从而容易逃过攻击者的破解。若将加密技术和信息隐藏技术结合使用,对秘密信息加密后再隐藏,则会进一步提高安全性5。本文提出了一种新的基于多M序列加密与数字图像的信息隐藏的方法。数字位图是由许多像素组成的点阵,每一个像素点用若干个二进制位来描述其灰度或颜色;而每个像素点的低位(一般是低四位)对该点灰度或颜色的影响很小,因此改变像素点的低位所引起的图像变化难以发觉。因此,可利用这些低位存储信息实现秘密信息的隐藏。2信息的嵌入与提取模型在图像低位字节中隐藏信息有两种方法,一种是替换法,另

3、一种是异或法。替换法是用隐藏信息替换载体图像像素的某些低位,而提取信息时只要将隐藏信息图像像素的某些低位取出即可。而异或法是用隐藏信息与载体图像像素的某些低位进行异或运算,将结果放入载体图像像素的某些低位中实现隐藏信息,而提取信息时只要将隐藏信息图像像素的某些低位与源图像像素的某些低位异或即可取出。本模型采用替换法在彩色图像像素(RGB)的低4位(d3d2d1d0)中隐藏信息,这样可以不需要源图像就可以提取信息。其隐藏信息的容量接近图像文件大小的四分之一。首先将嵌入信息(word文件)转换成二进制流,然后从M序列加密库中随机选择一条M1序列对嵌入信息进行加密运算,得到经加密处理的二进制数字。再

4、从M序列加密库中随机选择一条M2、M3序列,用M2控制是否嵌入信息,用M3控制嵌入信息(d3d2d1d0)的置乱,从而进一步提高信息的保密性2、3。嵌入与提取模型如图1所示。 3隐藏信息的嵌入与提取算法为了提高传输信息的安全性,除采用隐藏的技术外,还要对传输的信息用M序列进行加密处理。加密和解密的方法是通过模2加运算完成。信息隐藏采用二进制进行嵌入与提取。 3.1M序列的生成M序列是非线性反馈移位寄存器产生的最长的序列,它具有与m序列相类似的随机特性和较好的相关性。一定级数的移存器产生M序列的数目和周期为: 和 。其中r、P、N分别为M序列的线性跨度、周期和序列的数量。由计算可知M序列的周期是

5、m序列周期的两倍;M序列的数量比m序列的数量大许多倍。因此用M序列对信息加密提供了丰富的资源,增强了信息的隐藏能力。M序列构造困难,计算量大,因此不易解密。M序列产生器具有非线性反馈逻辑,结构复杂,不易直接用反馈逻辑构造,需要用状态图构造法构造M序列。从M序列的基本特点出发,它是移位寄存器产生的最长的序列,r级移位寄存器产生的序列的周期为Pr,一个周期中包含了r级移位寄存器的全部状态。如图2所示,r级移位寄存器的输出序列an和状态序列sn是一一对应的。si=ai2r-1+ar+12r-2+ +ai+r-22+ai+r-1(1)i=1,2,3,4 。根据移位寄存器的工作原理,状态si的后续状态为

6、:si+1=(2si)mod2r+0或si+1=(2si)mod2r+1 (2)设移位寄存器的初始状态为全“0”,即s1=0,由式(2)可推算出移位寄存器可能的后续状态,将这些状态按计算的先后次序排列起来得到如树状的r级M序列状态流程图。如图3所示。 r级移位寄存器第K层上的插点数为2K-1,总层数为2r ,分枝总数为2P-1。则第K层,第L分枝叉点的状态值记为S(K,L)为:(3)式中AK表示通过K层任一叉点的分枝数。AI表示对A取整, 表示K层L分枝叉点的叉点号。通过(3)式可以求得状态树图上任何一个叉点的状态,可求得任何一条经历的全部2r个状态。由状态树图分析可知,分枝总数为2P-1,M

7、序列的总数为 ,由计算可知状态图中有许多分枝是非M序列。因此必须从状态图中筛选出M序列的分枝,再对这些分枝计算状态流程,得到M序列。根据以上M序列的状态图的分析,就可构造出计算M序列的框图,用C语言进行计算,就可以优化出自相关性强而互相差的M序列,以形成M序列加密库1。3.2隐藏信息的加密首先将隐藏信息转换成二进制流数据:x=x1,x2,x3 xi0,1(4)然后从上面生成的M序列加密库中随机选取一条M序列与隐藏信息的二进制流数据进行模2加运算,得到加密处理后的新序列:z=zi|zi=xiMii=1,2,3,4P(5)3.3隐藏信息的嵌入与提取对z二进制流数据进行嵌入,用M2控制是否嵌入信息,

8、如果M2序列某一位是1则在图像像素的低4位嵌入信息,否则不嵌入信息。如果M3序列某一位是1则嵌入信息顺序为d3d2d1d0,否则嵌入信息顺序为d0d1d2d3,从而达到置乱存放的效果。提取过程是嵌入的逆过程。为了抵御信息隐藏的被攻击,在嵌入信息前进行了图像处理,嵌入信息后进行动态补偿6。4信息隐藏及提取的程序实现实现是用微软VB6.0软件设计程序,对Word文件进行了加密、解密、嵌入和提取。下面给出了信息加密与嵌入过程,解密与提取过程主要源程序代码。载体文件选择的是一幅宽800像素,高600像素的RGB24位的BMP图片。根据本文提出的隐藏信息的嵌入算法可以隐藏的Word文件大小为350KB。

9、程序中省略变量的定义和文件的打开命令。其中1号文件是源图像文件、2号文件是密写图像文件、3号文件是嵌入的Word文件、4号文件是提取的Word文件、5号文件是M序列库文件、6号文件是加密后的word文件。其实验结果如图所示。 图4原始图像、密写图像和嵌入与提取信息息4.1信息加密与嵌入过程Private Sub Command1_Click().Get #5, , M1: Get #5, , M2: Get #5, , M3分别读取M序列1、M序列2、M序列3Do While Not EOF(3) 信息加密处理 For i = 1 To 2 Get #3, , b: b = b Xor M1(

10、i): Put #6, , b x = x + 1: If EOF(3) Then Exit ForNext i:Loop Seek #3, 1: Seek #6, 1:mm2 = &H80: f = 1Do While Not EOF(6) 嵌入信息处理 For i = 1 To 2mm1 = &H80For j = 1 To 8Get #1, , aIf M2(i) And mm1 = 1 Thenk = k + 1If k Mod 2 = 1 Then Get #6, , bk1 = k1 + 1IfM3(f) And mm2 = 1 Thena = a And &HF0: c = b

11、And &HF0: c = c 16b = b And &HF: b = b * 16: a = a Or c 嵌入信息Else a = a And &HF0: c = b And &HF0: c = c 16d3 = c And &H8: d3 = d3 8: d2 = c And &H4: d2 = d2 2d1 = c And &H2: d1 = d1 * 2: d0 = c And &H1: d0 = d0 * 8a = a Or d0: a = a Or d1: a = a Or d2: a = a Or d3 嵌入信息b = b And &HF: b = b * 16End IfI

12、f k1 Mod 8 = 0 Then f = f + 1: mm2 = &H80If k1 Mod 8 = 0 And f = 3 Then f = 1mm2 = mm2 2End IfPut #2, , a: mm1 = mm1 2Next j: Next i: LoopClose #1, #2, #3, #5, #6End Sub4.1信息解密与提取过程Private Sub Command2_Click().Get #5, , M1: Get #5, , M2: Get #5, , M3Seek #2, 55:mm2 = &H80: f = 1Do While Not EOF(2) 提

13、取信息处理 For i = 1 To 2mm1 = &H80For j = 1 To 8Get #2, , aIf M2(i) And mm1 = 1 Thenk = k + 1: k1 = k1 + 1If M3(f) And mm2 = 1 Thenb = a And &HF提取信息Else b = a And &HF: d3 = b And &H1: d3 = d3 * 8d2 = b And &H2: d2 = d2 * 2: d1 = b And &H4: d1 = d1 2d0 = b And &H8: d0 = d0 8: b = b And &H0b = b Or d0: b = b Or d1: b = b Or d2: b = b Or d3 提取信息End IfIf k Mod 2 = 1 Thenc = belse c = c * 16: c = c Or b: x = x 1: Put #6, , cIf x = 0 Then Exit DoEnd IfIf k1 Mod 8 = 0 T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号