一种基于GIF属性区间划分映射编码的无载体隐蔽通信方法转让专利

申请号 : CN201710123804.4

文献号 : CN107103630B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴槟阮书涵秦正才李萌秦志鹏

申请人 : 中国科学院信息工程研究所

摘要 :

本发明公开了一种基于GIF属性区间划分映射编码的无载体隐蔽通信方法。本方法为:1)从GIF图像的属性中选取N个属性;2)将选取的每个属性的属性值域划分出多个区间;然后将得到的属性划分区间进行组合,得到多个N维区间;其中,每个N维区间均有一GIF图像对应且该GIF图像的与所选取属性对应的属性值处于该N维区间中;3)对该N维区间进行映射编码生成发送方、接收方共享的编码表;4)发送方需要将一段信息传递给接收方时,首先将该段信息转换成二进制编码,再按照该编码表选择GIF图像发送至接收方;5)接收方对收到的GIF图像按序对照该编码表翻译出二进制编码,获得发送方传递的该段信息。本发明大大提高了嵌入率。

权利要求 :

1.一种基于GIF属性区间划分映射编码的无载体隐蔽通信方法,其步骤为:

1)从GIF图像的属性中选取N个属性;

2)将选取的每个属性的属性值域划分出多个区间;然后将得到的属性划分区间进行组合,得到多个N维区间;其中,每个N维区间均有一GIF图像对应且该GIF图像的与所选取属性对应的属性值处于该N维区间中;

3)对该N维区间进行映射编码生成发送方、接收方共享的编码表;

4)发送方需要将一段信息传递给接收方时,首先将该段信息转换成二进制编码,再按照该编码表选择GIF图像发送至接收方;

5)接收方对收到的GIF图像按序对照该编码表翻译出二进制编码,获得发送方传递的该段信息。

2.如权利要求1所述的方法,其特征在于,从GIF图像的属性中选取N个属性的方法为:首先量化并统计各样本GIF图像的属性,得到一GIF图像集属性值数据表;所述属性包括图形控制扩展GCE的数量、注释扩展CE的数量、图形文本扩展PTE的数量、应用程序扩展AE的数量以及帧延时的大小;然后根据该GIF图像集属性值数据表对各属性值两两进行相关系数的计算,然后比较两个属性值间的相关系数大小,选取最小相关系数对应的N个属性。

3.如权利要求1所述的方法,其特征在于,所述N维区间为二维区间。

4.如权利要求3所述的方法,其特征在于,所述选取的属性为图形控制扩展GCE和帧延时。

5.如权利要求1所述的方法,其特征在于,将选取的每个属性的属性值域划分出多个区间的方法为:

21)对各样本GIF图像的属性a的属性值进行升序排序,得到序列a1,a2,…,ai,…,an;

22)将序列a1,a2,…,ai,…,an进行二分,首先在该序列中找到ak,使得min(|count(ai≤ak)–count(ai>ak)|)

然后继续对该序列二分,直到序列中找不到ak使得min(|count(ai≤ak)–count(ai>ak)|)

H为设定阈值;

23)统计步骤22)中划分获得的属性a的属性值划分区间[a1,ak1],[ak1+1,ak2],…,[akp+1,an],其中ak1,ak2…akp代表二分时找到的ak按顺序的排列。

6.如权利要求3~5任一所述的方法,其特征在于,对得到的属性划分区间进行组合,得到二维区间的方法为:设Ki(a)为属性a划分的第i个区间,依次取属性a的每个区间Ki(a),0

7.如权利要求1~5任一所述的方法,其特征在于,生成所述编码表的方法为:

31)对各属性划分后的每一区间进行编码,将各区间编码为不同的x个比特信息;

32)根据已经划好的N维区间以及各区间对应的编码信息,生成所述编码表。

8.如权利要求7所述的方法,其特征在于,所述步骤32)的实现方法为:将N维区间中各区间对应的区间编码按序拼接,得到该N维区间的映射编码;根据各N维区间的映射编码表,生成所述编码表。

9.如权利要求7所述的方法,其特征在于,所述N维区间为二维区间时,对应的属性为属性a、属性b,m为属性a划分的区间数,n为属性b划分的区间数,则x=log2(m*n)。

10.如权利要求5所述的方法,其特征在于,所述阈值H为2。

说明书 :

一种基于GIF属性区间划分映射编码的无载体隐蔽通信方法

技术领域

[0001] 本发明属于信息隐藏技术领域,提出了一种基于GIF属性区间划分映射编码实现无载体隐蔽通信的方法。

背景技术

[0002] 在网络飞速发展的今天,信息隐藏技术已经广泛应用于多个领域,比如用于隐藏个人或企业的隐私信息。隐蔽通信技术是一种通过信息隐藏技术解决通信安全问题的新方法,它是通过把隐秘信息隐藏于可公开的载体(包括但不限于网络传输内容、数字媒体内容等)中以达到安全传递隐秘信息或保证载体的完整性等目的。
[0003] 相比于传统的加密技术,经过隐藏后的信息对外仅表现出载体的特征,不仅隐藏了隐秘信息的内容,而且掩盖了隐秘信息存在的事实,从而为隐秘信息提供了更好的安全保护。因此,信息隐藏技术一经提出就受到产业界和学术界众多研究者的高度关注。而无载体信息隐藏方法作为最新出来的一种隐藏技术手段,具有非常好的不可读性与不可见性,是非常好的隐蔽通信实现方法。无载体隐蔽通信的本意并非不使用载体,而是不修改载体或者说不在载体中嵌入隐秘信息,利用载体本身的属性来表征隐秘信息。它跳过了一般隐写方法中形成伪装载体的过程,直接传递载体,即为传递隐秘信息。这样的好处是不需要花费额外的资源来形成伪装载体并且能够完全抵御现有的一些隐写分析方法。
[0004] 现有已知的一种基于图像灰度值的无载体隐蔽通信方案。其方法可以简单描述如下:其先将一张静态图片灰度化,按照九宫格一样分为九个区域,计算每个区域的平均灰度值;接着通过ZigZag规则将9个区域连接起来,前后区域灰度值差异(前一区域灰度值大于后一区域,取1,反之取0)即为其自带的1个比特信息,这样一张图片就可以表示8个比特信息。文章中假设必须具有256张自带的8比特信息各不相同的图片组成的图片库。此工作在基础上有两点需要改进的地方:其一,它利用属性单一,导致传输数据时的传递容量与效率不足;其二,在当前基于图像无载体隐蔽通信实际应用场景中,发送方为了快速、准确的将消息发送出去,通常需要事先准备好大量的载体形成的图像库,而这些载体图像来源广泛,不可能恰好符合理想情况(已有方法中256张图片恰好表征8比特消息),势必会产生碰撞。以上两点就是本发明要解决的技术问题。

发明内容

[0005] 针对现有技术中存在的技术问题,本发明的目的在于提供一种基于GIF属性区间划分映射编码的无载体隐蔽通信方法。本发明利用当前GIF动图与实际生活中的社交网站、即时通讯软件(微博、QQ、微信等)联系紧密的特性,通过分析、利用网络中遍布的热门表情包或其他具有娱乐元素的GIF动图作为实施隐蔽通信的载体,实现一种基于GIF图像的无载体隐蔽通信。
[0006] 本发明的技术方案为:
[0007] 一种基于GIF属性区间划分映射编码的无载体隐蔽通信方法,其步骤为:
[0008] 1)从GIF图像的属性中选取N个属性;
[0009] 2)将选取的每个属性的属性值域划分出多个区间;然后将得到的属性划分区间进行组合,得到多个N维区间;其中,每个N维区间均有一GIF图像对应且该GIF图像的与所选取属性对应的属性值处于该N维区间中;
[0010] 3)对该N维区间进行映射编码生成发送方、接收方共享的编码表;
[0011] 4)发送方需要将一段信息传递给接收方时,首先将该段信息转换成二进制编码,再按照该编码表选择GIF图像发送至接收方;
[0012] 5)接收方对收到的GIF图像按序对照该编码表翻译出二进制编码,获得发送方传递的该段信息。
[0013] 进一步的,从GIF图像的属性中选取N个属性的方法为:首先量化并统计各样本GIF图像的属性,得到一GIF图像集属性值数据表;所述属性包括GCE的数量、CE的数量、PTE的数量、AE的数量以及帧延时的大小;然后根据该GIF图像集属性值数据表对各属性值两两进行相关系数的计算,然后比较两个属性值间的相关系数大小,选取最小相关系数对应的N个属性。
[0014] 进一步的,所述N维区间为二维区间。
[0015] 进一步的,所述选取的属性为GCE和帧延时。
[0016] 进一步的,将选取的每个属性的属性值域划分出多个区间的方法为:
[0017] 21)对各样本GIF图像的属性a的属性值进行升序排序,得到序列a1,a2,...,ai,...,an;
[0018] 22)将序列a1,a2,...,ai,...,an进行二分,首先在该序列中找到ak,使得min(|count(ai≤ak)-count(ai>ak)|)<H,i=1,2...n,count为计数函数,由此得到2个区间[a1,ak],[ak+1,an];然后继续对该序列二分,直到序列中找不到ak使得min(|count(ai≤ak)-count(ai>ak)|)<H;H为设定阈值;
[0019] 23)统计步骤22)中划分获得的属性a的属性值划分区间[a1,ak1],[ak1+1,ak2],...,[akp+1,an],其中ak1,ak2...akp代表二分时找到的ak按顺序的排列。
[0020] 进一步的,对得到的属性划分区间进行组合,得到二维区间的方法为:设Ki(a)为属性a划分的第i个区间,依次取属性a的每个区间Ki(a),0<i≤m,m为属性a划分的区间数;设Kj(b)为属性b划分的第j个区间,依次取属性b的每个区间Kj(b),0<j≤n,n为属性b划分的区间数;对属性a的属性值区间和属性b的属性值区间进行一一组合,得到m*n个二维区间(Ki(a),Kj(b));遍历每张样本GIF图像,记录其所属的二维区间。
[0021] 进一步的,生成所述编码表的方法为:
[0022] 31)对各属性划分后的每一区间进行编码,将各区间编码为不同的x个比特信息;
[0023] 32)根据已经划好的N维区间以及各区间对于的编码信息,生成所述编码表。
[0024] 进一步的,所述步骤32)的实现方法为:将N维区间中各区间对应的区间编码按序拼接,得到该N维区间的映射编码;根据各N维区间的映射编码表,生成所述编码表。
[0025] 进一步的,所述N维区间为二维区间时,对应的属性为属性a、属性b,m为属性a划分的区间数,n为属性b划分的区间数,则x=log2(m*n)。
[0026] 进一步的,所述阈值H为2。
[0027] 本发明为解决提出的技术问题采用了如下所述的技术方案:
[0028] 本发明解决的第一个问题是量化并统计GIF图像的属性,选择合适的属性维度。《Cover Sheet for the GIF89a Specification》文档中规定GIF的图像格式中包括了四种扩展模块,分别为图形控制扩展(Graphic Control Extension,GCE)模块、注释扩展(Comment Extension,CE)模块、图形文本扩展(Plain Text Extension,PTE)模块、应用程序扩展(Application Extension,AE)模块。GCE扩展模块中还有一字节是决定帧延时时间的,这里的帧延时时间(Delay Time)是指“帧延时”,即GIF图像每一帧图片出现的时间,帧延时也可以作为一个属性值。由此,将属性量化为的属性值可以分别为GCE、CE、PTE、AE的数量以及帧延时的大小。对每张图片的以上5个属性值进行统计可以得到GIF图像集属性值数据表,如表1。根据数据表对数据样本的5个属性值两两进行相关系数的计算,得到属性值间的相关系数矩阵,以取2个属性为例,通过直接比较两个属性值间的相关系数大小,选取最小的相关系数对应的两个属性,本发明选择了GCE以及帧延时这2个属性。
[0029] 表1为GIF图像集属性值数据表
[0030]
[0031]
[0032] 本发明解决的第二个问题是基于GIF图像属性的区间划分和划分方法的完备性检验。GIF图像经过统计后,得到图片数据表每个属性上对应值分布的数量,如图1和图2所示。对于GCE和帧延时(Delay Time)这两个属性,在每个属性值域上划分出多个区间。本发明中将2个属性划分区间进行组合组合成二维区间,检验并保证每个二维区间均有GIF图像对应,这些GIF图像的2个属性值处于这个二维区间中。
[0033] 本发明解决的第三个问题是对二维区间进行映射编码生成发送方接收方共享的编码表。本发明设计了一种从GIF图像两个属性划分出的二维区间映射到特定码字的编码方法。对GCE和帧延时属性上按照已经划好的二维区间中对应属性区间进行区间编码,编码是从每个划分好的二维区间到n个(n为该属性的总区间数)二进制不重复码字的映射过程。每个一维属性区间组合成二维区间只需按序拼接对应一维属性区间的编码,就可以得到了该二维区间的映射编码。而所有的可能映射的组合便组成了二维区间映射编码表,也是发送方和接收方共享的编码表。
[0034] 本发明解决的第四个问题是发送方的信息隐藏和接收方的信息提取。发送方需要将一段信息传递给接收方时,首先要将信息转换成二进制编码,再按照第三个问题中生成的共享的二维区间映射编码表陆续选择GIF图像,发送至接收方。而接收方收到GIF图像集后按序对照二维区间映射编码表翻译出二进制编码,即可以获得发送方传递的那段信息。
[0035] 与现有技术相比,本发明的积极效果为:
[0036] 1)在实施过程中结合了具体GIF图库,这样方法就能在实际中适应不同载体图像库,而不是像现有的图像无载体隐蔽通信方法中只能说明需要理想的载体图像库;
[0037] 2)提高了嵌入率,对比数据如表2所示。
[0038] 表2本方法和现有九宫格无载体方法的嵌入率比较
[0039]

附图说明

[0040] 图1为5000个GIF图像样本集中GCE属性值分布图;
[0041] 图2为5000个GIF图像样本集中帧延时属性值分布图;
[0042] 图3为本发明的方法流程图。

具体实施方式

[0043] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
[0044] 本发明的技术方法主要分为四部分内容。第一部分是对样本集中GIF图片属性分布进行量化统计,使用相关系数分析选择合适的属性维度;第二部分是GIF图像属性的区间划分和划分方法的完备性检验;第三部分是对二维区间进行映射编码,生成码本;第四部分是发送方的信息隐藏和接收方的信息提取。具体流程如图3所示。
[0045] 一、GIF图片属性分布统计
[0046] 为了保证属性区别划分的正确合理,需要先对样本集中的GIF图片属性分布进行统计。图1是GCE属性值的分布图。具体操作如下:
[0047] 1)按字节流读取图片,转换成16进制字符串。
[0048] 2)统计5个属性的模块数量,以统计GCE属性和帧延时属性为例。统计16进制字符串中出现GCE标识0x21F904的个数,即该GIF图片的GCE的属性值。读取16进制字符中GCE扩展块中的第5个字节的值,若该值在每个GCE扩展块中均一致,则该值即为GIF图片帧延时属性值;若该值在GCE扩展块中的取值不尽相同,则GIF图片帧延时属性值为256。
[0049] 3)计算图片的MD5值,删除重复的GIF图片。
[0050] 4)遍历每张GIF图片进行前3步操作,统计信息后生成GIF图像集属性值数据表,画出分布图。
[0051] 5)根据5个属性值分布图和相关系数算法选出2个属性(这里选择GCE和帧延时属性),使得它们的属性值分布较为均匀且相关系数最小。相关系数公式表示如下:
[0052]
[0053] 其中,Cov(X,Y)为属性X,Y间的协方差,D(X)、D(Y)为它们的方差。如果这5个属性中某几个属性相互之间相关系数较小,说明它们之间独立分布性较好,可以作为选取的属性对象。
[0054] 二、GIF图像属性的区间划分和完备性检验
[0055] 对样本集中的GIF图像属性提取结果进行区间划分,然后对划分结果的二维属性划分区间做完备性检验,保证每个二维属性划分区间的对应GIF图像均不是空集。
[0056] 对GCE和帧延时属性区间划分的操作如下,下面以其中一个属性为例:
[0057] 1)对所有的GCE或帧延时属性值分别进行升序排序,得到排序好的对应序列a1,a2,...,ai,...,an,其中a1≤a2≤...≤ai≤...≤an。
[0058] 2)将序列a1,a2,...,ai,...,an进行二分,在序列中找到ak,使得min(|count(ai≤ak)-count(ai>ak)|)<2,i=1,2...n(count为计数函数)。由此得到2个区间[a1,ak],[ak+1,an]。如果第一次寻找ak失败,则输出“该属性划分失败”的提示。
[0059] 3)继续对该两个序列二分。按此方法不断循环,直到序列中找不到ak使得min(|count(ai≤ak)-count(ai>ak)|)<2,则输出“属性划分成功”的提示。
[0060] 4)最后统计3)中划分获得GCE或帧延时属性划分的所有区间[a1,ak1],[ak1+1,ak2],...,[akp+1,an],其中ak1,ak2...akp代表前面每次二分找到的ak按顺序的排列。保存为一个文件,为下一步的输入。
[0061] 接下来对二维属性区间做完备性检验——这是为了使二维属性划分区间的任意组合都有图片与之映射:
[0062] 5)设Ki(GCE)为GCE划分下的第i个区间,依次取GCE属性的每个区间Ki(GCE),0<i≤m,m为GCE属性划分的区间数。
[0063] 6)设Kj(Delay)为帧延时Delay划分下的第j个区间,依次取帧延时属性的每个区间Kj(Delay),0<j≤n,n为帧延时属性划分的区间数。
[0064] 7)由前两步操作,可以一一组合得到m*n个二维区间(Ki(GCE),Kj(Delay)),遍历每张GIF图片,记录每张图片所属于的二维区间,最后检验是否存在某个或某些二维区间没有对应GIF图片。
[0065] 三、二维区间进行映射编码
[0066] 对GCE和帧延时属性区间分别进行编码,根据GIF图片的GCE属性和帧延时属性值划分生成的二维区间组合,按序拼接GCE和帧延时属性值区间的编码,获得二维区间映射编码表。
[0067] 二维区间进行映射编码的具体操作如下:
[0068] 1)对CGE属性区间进行编码,取 使2x≤m<2x+1,其中m为GCE属性区间划分的区间数。GCE属性每个划分区间可以代表不同的x个比特信息,假设m=8,则那么属性区间可以代表的比特信息为{‘000’,‘001’,‘010’,‘011’,‘100‘,’101‘,’110‘,’111‘}。而属性区间到比特信息的对应关系可以是随机的。
[0069] 2)对帧延时属性区间进行编码,取y,使2y<=n<2y+1,其中n为帧延时属性区间划分的区间数。帧延时属性每个划分区间可以代表不同的y个比特信息,假设y=2,那么属性区间可以代表的比特信息为{‘00’,‘01’,‘10’,‘11’}。而属性区间到比特信息的对应关系可以是随机的。
[0070] 3)根据GIF图片的GCE属性和帧延时属性划分的二维区间组合(Ki(GCE),Kj(Delay)),按照GCE、帧延时属性的顺序,将对应编码拼接,获得该二维区间的编码。假设二维区间组合(Ki(GCE),Kj(Delay))中,Ki(GCE)区间的编码为‘011‘,Kj(Delay)区间的编码为’10‘,那么该二维区间组合(Ki(GCE),Kj(Delay))的编码为’01110‘。由此统计每个二维区间的编码,获得二维区间映射编码表,如表3所示。
[0071] 表3为二维区间映射编码表
[0072]
[0073]
[0074] 四、发送方的信息隐藏和接收方的信息提取
[0075] 通过二维区间映射编码表,发送方可以将需要传递的明文信息转换为编码后,依次找出包含代表对应编码属性划分区间的GIF图片。而接收方同样通过二维区间映射编码表,依次解码出GIF图片对应的编码。
[0076] 1、发送方的信息隐藏具体操作如下:
[0077] 1)将传递的明文信息转为成2进制编码信息。
[0078] 2)2进制编码信息根据GIF图片代表的信息长度为x+y,按该长度分段,根据每段二进制编码在二维区间映射编码表中匹配对应二维区间,按照二维区间在GIF图片集中选取所有符合的GIF图片,形成结果集,并从结果集中随机选择一张图片。将获得的图片按生成的先后次序给图片名递增编号,并添加到发送的图片集中。
[0079] 2、接收方的信息提取具体操作如下:
[0080] 1)按照编号递增的读取接收到的每张GIF图片,解析出GCE和帧延时的属性值,获得属性的二维区间,并在二维区间映射编码表中匹配该二维区间对应的二进制段,依次拼接二进制段得到二进制编码。
[0081] 2)将2进制编码信息转换成传递的明文信息。
[0082] 综上,通过以上4个步骤,可以解决发明中提出的技术问题,形成一种基于GIF属性区间划分映射编码的无载体隐蔽通信方法。
[0083] 以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。