一种基于矢量量化以及二叉查找树的信息隐藏方法

文档序号:6549762阅读:117来源:国知局
一种基于矢量量化以及二叉查找树的信息隐藏方法
【专利摘要】一种基于矢量量化以及二叉查找树的信息隐藏方法,根据索引图建立对应的二叉查找树;利用秘密信息选取其在二叉查找树中对应的路径,使用路径的最后一个节点表示嵌入的秘密信息,实现秘密信息的嵌入;接着将路径的最后一个节点作为秘密信息的索引值,索引图和所有秘密信息的索引值构成二进制码流并输出;从二进制码流中提取索引图和索引值;根据索引图建立对应的二叉查找树;根据索引值得到原始的秘密信息;同时恢复出原始的载体图像。本发明使秘密信息的安全性得到大大的提高;而且不同的载体都有不同的编码结果,真正的对外隐藏了秘密信息的可见性,使其对外变得不可感知,大大提高了秘密信息的安全性。
【专利说明】一种基于矢量量化以及二叉查找树的信息隐藏方法
【技术领域】
[0001]本发明属于信息安全【技术领域】,具体涉及一种基于矢量量化以及二叉查找树的信息隐藏方法。
【背景技术】
[0002]信息技术(数字化技术,网络技术,计算机技术)的快速发展,使图像、音频、视频等多媒体信息可以在各种通信网络中迅速快捷的传输,给信息的压缩、存储、复制处理等应用提供了更大的便利。虽然给人们生活和工作带来了巨大的收益,但是也带来了日益严峻的安全问题。各种机密信息,包括国家安全信息、军事信息、私密信息(如信用卡账号)等都需要通过网络进行传输,但互联网是一个开放的环境,在其上传输的秘密关系着国家安全、经济发展和个人稳私等方方面面的安全,所以信息安全在当今变得越来越重要,保障信息的安全成为当前一个亟待解决的问题。
[0003]加密作为信息安全最基本的方法,在信息安全领域发挥着重要的作用。加密的本质是利用密钥对原数据进行某种处理或运算,使得原始数据变得面目全非,不能识别,只有拥有密钥的一方才能利用密钥将加密数据恢复出来,得到原始数据。虽然加密算法是数据变得面目全非,但是对于多媒体数据来说,如视频,音频以及图像,加密后,这些多媒体数据面目全非,变得“不可视”或者“不可听”,破坏了原始数据的价值和意义,使得原始数据变得毫无意义和价值。另一方面,加密算法使得明文(原始数据)变成密文(加密后数据),虽然密文毫无意义并且让人难以识别,但也正是这种与明文存在的巨大差异,更暗示着此秘密信息的重要性,吸引了攻击者的注意力和关注度,使得攻击者窃取信息并进行破解,降低了信息安全性。
[0004]为了能更好的保证信息的安全性,人们提出了一种新的关于信息安全的概念一信息隐藏。信息隐藏就是将秘密信息隐藏到看上去普通的信息(如数字图像)中进行传送的方法。信息隐藏不同于传统的加密,传统的加密通过加密技术给信息加密,将原文通过某种数学映射变为密文。信息隐藏的目的不在于限制正常的资料存取,而在于把机密信息隐藏于可以公开的信息载体之中。信息载体可以是任何一种多媒体数据,如音频,视频,图像,甚至文本数据等,被隐藏的机密信息也可以是任何形式,其结果保证了隐藏数据不被侵犯和引起重视,防止第三方从信息载体中发现及检测出机密信息。
[0005]信息隐藏分为两个重要分支,即隐写术和数字水印。隐写术主要是用于机密信息通信,数字水印则是为了保护数字多媒体的版权。隐写术主要是对秘密信息进行隐藏,将其隐藏于普通的载体中,然后进行传送,降低秘密信息的受关注度,使得信息通信更加安全可靠;数字水印则是给视频、图像中加入不可视水印,以便检查盗版和保护版权。信息隐藏有着广泛的应用前景,如电子商务中的电子交易保护、保密通信、版权保护、拷贝控制和操作跟踪、认证和签名等各个方面。更为普遍的则是应用到人们的日常生活中,如用手机发短信,直接发送很可能被接收者以外的人窃取,从而得知你们之间的通话内容,这时可以将想要说的“悄悄话”隐藏到一幅很普通的图像中,然后传送,这样就可以实现隐秘通信。在军事上,信息隐藏也有着重要的用途,可以将军事机密信息加密后隐藏到一幅普通不易受怀疑的图像中,从而达到隐秘通信而不被敌人知晓,这在军事上有着重大的意义。信息隐藏技术使得通信安全性大大提高,不论在军事还是日常生活都能发挥巨大的作用,所以对信息隐藏算法研究具有不可估量的现实意义。
[0006]近年来,信息隐藏越来越多的受到关注,也有许多新的算法被提出来,基于矢量量化(Vector quantizat1n)的信息隐藏算法就是其中一个。基于矢量量化的信息隐藏算法大部分都是基于压缩-嵌入的思想对秘密信息进行隐藏。首先对载体图像进行矢量量化,得到载体图像的索引图,然后对索引图进行压缩,以便于秘密信息的嵌入隐藏。基于jointneighboring coding(JNC)的信息隐藏就是其中一种典型的信息隐藏方法。利用索引图的空间相关性,根据所要嵌入的秘密信息,选择当前索引I.的相邻索引Imi,根据不同的嵌入秘密信息,选择不同的索引;然后得出当前索引I.与已选择相邻索引Imi间的差值d =Icm-1nei,对d进行编码。通常情况下,对当前索引I.进行编码,需要η比特;而对d进行编码,需要m比特,而m〈n ;所以把对索引I.的编码转化为对差值d的编码,就节省了 n_m比特,而这节省的n-m比特就可以用来嵌入秘密信息;另外,当前索引I.可以根据差值d进行恢复,Icur = d+Inei,这也就保证了无损恢复载体图像。
[0007]基于压缩-嵌入思想的信息隐藏方法可以实现大容量的信息隐藏,并且还能保证载体的无失真恢复,但是却存在安全问题,因为秘密信息是直接存在于编码的结果中,这实际上并没有隐藏秘密信息,没有使秘密信息变得不可感知,外界还是可以探知秘密信息的存在,进而提取秘密信息。基于JNC的信息隐藏方法中,虽然利用编码d替代了直接编码索引I.,节省了 n-m比特进行秘密信息嵌入,但是最后的结果还是η比特,只不过这η比特中前m比特是对差值d的编码,后n-m比特为嵌入的秘密信息,而不像之前的η比特全是对当前索引I.的编码。

【发明内容】

[0008]本发明的目的在于提供一种基于矢量量化以及二叉查找树的信息隐藏方法,该方法能够保证嵌入秘密信息的安全性。
[0009]为了达到上述目的,本发明所采用的技术方案包括以下步骤:
[0010]I)根据载体图像的索引图建立对应的二叉查找树;利用秘密信息s选取秘密信息s在二叉查找树中对应的路径,使用对应的路径的最后一个节点表示嵌入的秘密信息S,实现秘密信息s的嵌入;
[0011]2)将秘密信息s嵌入后,将所有秘密信息对应路径的最后一个节点作为所有秘密信息的索引值,载体图像的索引图和所有秘密信息的索引值构成二进制码流,然后将二进制码流输出;
[0012]3)从二进制码流中提取载体图像的索引图;根据载体图像的索引图建立对应的二叉查找树;
[0013]4)从二进制码流中提取所有秘密信息的索引值,根据秘密信息的索引值找到其在二叉查找树中对应的路径,提取秘密信息的索引值在二叉查找树中对应路径的路径信息,并将路径信息组合起来,得到原始的秘密信息;同时根据载体图像的索引图恢复出原始的载体图像。[0014]所述的步骤I)中载体图像的索引图是采用如下方法得到的:将载体图像分成大小为hXw的图像块,对每个图像块进行矢量量化,得到其在码书中对应的索引I,所有图像块的索引I组成了载体图像的索引图。
[0015]所述的步骤I)和步骤3)中建立对应的二叉查找树的过程为:
[0016]对载体图像的索引图中所有索引进行统计,统计出码书在载体图像的索引图中出现过的索引I,对出现的索引按照其索引值大小进行升序排列,形成索引序列{I” I2,…IJ,从索引序列中选取中间索引值Imid作为根节点,U1,12,…Imid-J作为根节点的左子树,Umid+1,Imid+2>…IJ作为根节点的右子树,对根节点的左子树和根节点的右子树分别进行迭代,直到生成二叉查找树。
[0017]所述的步骤I)中选取秘密信息在二叉查找树中对应的路径的过程为:
[0018]从二叉查找树的根节点root出发,若遇到秘密信息S为比特0,则走到当前节点node.的左子节点nodeleft,并且选择当前节点node.的左子节点nodeleft作为当前节点:若遇到秘密信息s为比特1,则走到当前节点node.的右子节点nodeHght,并选择当前节点node.的右子节点nodeHght作为当前节点;将根节点root到确定的当前节点的路径信息作为嵌入的秘密信息,所嵌入的秘密信息用每条路径对应的最后一个节点表示,直到所有秘密信息嵌入完成,得到一系列节点,完成秘密信息在二叉查找树中对应的路径的选取。
[0019]所述的步骤4)中根据秘密信息的索引值找到其在二叉查找树中对应的路径的过程为:
[0020]对每一个索引值,若当前节点node.是当前节点node.的父节点nodeparent的左子节点,则提取秘密信息 为0,并使当前节点node.的父节点n0depa,ent作为当前节点,将提取的秘密信息加入到Staiip中:
[0021]若当前节点node.是当前节点node.的父节点nodeparait的右子节点,则提取秘密信息为1,并使当前节点node.的父节点nodeparant作为当前节点,将提取的秘密信息加入到Stomp中;直到走到根节点root,得到当前秘密信息的索引值对应的所有秘密信息st?p,将秘密信息Stelip进行反转,则完成根据秘密信息的索引值找到其在二叉查找树中对应的路径的过程。
[0022]所述的步骤4)中恢复出原始的载体图像的方法为:根据载体图像的索引图中对应的索引I,然后利用索引I找到索引I在k维码书C= (YiIyi e Rk, i =0,1,...,N_1}中对应的码字ym = {yffl0, yml,…,ymD },利用此码字代表载体图像的对应图像块B:所有图像块用码字恢复,即得到载体图像。
[0023]与现有技术相比,本发明的有益效果在于:
[0024]本发明不再使用传统的压缩-嵌入算法框架,而是提出一种基于二叉查找树(Binary search tree)的算法框架,这种算法将秘密信息嵌入到二叉查找树的对应路径中,且需要从编码结果中提取秘密信息的,因此,本发明不再让秘密信息直接存在于编码的结果内,使秘密信息的安全性得到大大的提高;;另外,由于每个载体图像都是不同的,因此,不同的载体都有不同的编码结果,真正的对外隐藏了秘密信息的可见性,使其对外变得不可感知,大大提高了秘密信息的安全性。
【专利附图】

【附图说明】[0025]图1为本发明的模块图;
[0026]图2为本发明的信息嵌入流程图;
[0027]图3为示例索引二叉查找树。
【具体实施方式】
[0028]下面结合附图对本发明做进一步详细说明。
[0029]参见图1,本发明分为信息嵌入模块、信息提取模块及图像恢复模块,信息嵌入模块主要利用索引图进行二叉查找树的建立,然后根据秘密信息从树的根节点出发,找到秘密信息对应的路径,每条路径对应不同的节点,利用路径对应的节点来表示隐藏的秘密信息,信息提取模块是将嵌入的秘密信息提取出来,图像恢复模块是恢复载体图像的过程,具体由以下几个步骤组成:
[0030](一 )信息嵌入模块(参见图2):
[0031]1、矢量量化:
[0032]假设载体图像为8比特,MXN大小的灰度图像,将其分成不互相重叠的大小为hXw的图像块B,对每个图像块B= {x0, X11^1XhxwJ进行矢量量化,得到其在码书中对应的索引I,所有图像块的索引I组成了载体图像的索引图;其中,Xtl, X1,…,Xhxirt为图像块B的像素;对每个图像块B = {x0, X1,…,xhXw_J进行矢量量化的方法为:
[0033]首先,在k维给定码书C= Iyi Iyi e Rk, i = O, I,..., N-1}中搜索与其最接近的码字ym = {ym0, ymi,…,ym(k-1)},从而使得B与ym之间失真最小。B与ym之间失真最小是采用欧氏距离d(B,Yi)度量的,欧氏距离d(B,Yi)越小,失真越小;其中,yi为码字,N为码书的大小,R为实数域;
【权利要求】
1.一种基于矢量量化以及二叉查找树的信息隐藏方法,其特征在于,包括以下步骤: 1)根据载体图像的索引图建立对应的二叉查找树;利用秘密信息S选取秘密信息S在二叉查找树中对应的路径,使用对应的路径的最后一个节点表示嵌入的秘密信息S,实现秘密信息S的嵌入; 2)将秘密信息s嵌入后,将所有秘密信息对应路径的最后一个节点作为所有秘密信息的索引值,载体图像的索引图和所有秘密信息的索引值构成二进制码流,然后将二进制码流输出; 3)从二进制码流中提取载体图像的索引图;根据载体图像的索引图建立对应的二叉查找树; 4)从二进制码流中提取所有秘密信息的索引值,根据秘密信息的索引值找到其在二叉查找树中对应的路径,提取秘密信息的索引值在二叉查找树中对应路径的路径信息,并将路径信息组合起来,得到原始的秘密信息;同时根据载体图像的索引图恢复出原始的载体图像。
2.根据权利要求1所述的基于矢量量化以及二叉查找树的信息隐藏方法,其特征在于,所述的步骤I)中载体图像的索引图是采用如下方法得到的:将载体图像分成大小为hXw的图像块,对每个图像块进行矢量量化,得到其在码书中对应的索引I,所有图像块的索引I组成了载体图像的索引图。
3.根据权利要求1所述的基于矢量量化以及二叉查找树的信息隐藏方法,其特征在于,所述的步骤I)和步骤3)中建立对应的二叉查找树的过程为: 对载体图像的索引图中所有索引进行统计,统计出码书在载体图像的索引图中出现过的索引I,对出现的索引按照其索引值大小进行升序排列,形成索引序列U1, I2,…IJ,从索引序列中选取中间索引值Imid作为根节点,U1,12,…Imid-J作为根节点的左子树,Umid+1,Imid+2>…IJ作为根节点的右子树,对根节点的左子树和根节点的右子树分别进行迭代,直到生成二叉查找树。
4.根据权利要求1或3所述的基于矢量量化以及二叉查找树的信息隐藏方法,其特征在于,所述的步骤I)中选取秘密信息在二叉查找树中对应的路径的过程为: 从二叉查找树的根节点root出发,若遇到秘密信息s为比特O,则走到当前节点node.的左子节点nodelrft,并且选择当前节点node.的左子节点nodelrft作为当前节点:若遇到秘密信息s为比特I,则走到当前节点node.的右子节点noderight,并选择当前节点node.的右子节点nodeHght作为当前节点;将根节点root到确定的当前节点的路径信息作为嵌入的秘密信息,所嵌入的秘密信息用每条路径对应的最后一个节点表示,直到所有秘密信息嵌入完成,得到一系列节点,完成秘密信息在二叉查找树中对应的路径的选取。
5.根据权利要求1所述的基于矢量量化以及二叉查找树的信息隐藏方法,其特征在于,所述的步骤4)中根据秘密信息的索引值找到其在二叉查找树中对应的路径的过程为: 对每一个索引值,若当前节点node.是当前节点node.的父节点nodeparent的左子节点,则提取秘密信息为0,并使当前节点node.的父节点n0depa,ent作为当前节点,将提取的秘密信息加入到Straip中: 若当前节点node.是当前节点node.的父节点nodeparent的右子节点,则提取秘密信息为I,并使当前节点node.的父节点nodepaMlt作为当前节点,将提取的秘密信息加入到Stemp中;直到走到根节点root,得到当前秘密信息的索引值对应的所有秘密信息Stomp,将秘密信息Stelip进行反转,则完成根据秘密信息的索引值找到其在二叉查找树中对应的路径的过程。
6.根据权利要求1所述的基于矢量量化以及二叉查找树的信息隐藏方法,其特征在于,所述的步骤4)中恢复出原始的载体图像的方法为:根据载体图像的索引图中对应的索引I,然后利用索引I找到索引I在k维码书C= IyiIyi e Rk, i = 0,1,...,N-1}中对应的码字ym = {yffl0) yml,…,ymI1M,利用此码字代表载体图像的对应图像块B:所有图像块用码字恢复,即得到载 体图像。
【文档编号】G06T9/40GK104036531SQ201410267394
【公开日】2014年9月10日 申请日期:2014年6月16日 优先权日:2014年6月16日
【发明者】潘志斌, 胡森, 马肖肖, 王凌飞 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1