一种以文本信息为载体的信息隐藏方法

文档序号:6576761阅读:1093来源:国知局
专利名称:一种以文本信息为载体的信息隐藏方法
技术领域
本发明属电子计算机软件技术领域,涉及信息隐藏技术,尤指一种适用于在文本信息中 的进行信息隐藏的方法。
背景技术
信息隐藏是将有用的信息隐藏在另一个载体信息中,以实现隐蔽信道。根据载体的不同, 信息可隐藏于文本、图像、音频和视频文件中。图像、音频和视频包含了大量的冗余空间, 同时可以结合人类视觉和听觉的特性,可以在载体中隐藏大量信息而不被发现。常见算法如 空域算法、频域算法、压縮域算法、生理模型算法、统计算法等。也可以将秘密信息作为参 数,来控制生成特定载体。
以文本为载体是通过改变文本的某些特征或者格式实现信息嵌入,要求这种嵌入操作不 会引起人视觉的差异。但文本文件几乎没有冗余空间,特别是无格式的纯文本文档。而文本 信息又是最常用的信息传递方法,具有更高的通用性。
以文本为载体的信息隐藏通常有以下几类基于文件结构、基于文本排版格式、基于自 然语言的处理方法。
基于文件结构的方法,这种方法与文本本身无关。主要涉及文件结构特征,如PDF文档
的交叉引用表和交叉引用表起始地址中的冗余空间;HTML文件中层叠格式,以及标签名和 属性名的字母大小的不区分;XML文件的标记中属性和元素的排序,以及属性本身;Cookie 文件的Path属性和Secure属性;WORD文档中end-text和begin-text之间,EOF标记之后。 这种方法利用特定文件格式及其特点,构造隐蔽信道。利用文件格式中的冗余空间或格式特 点来隐藏信息,都能达到对阅读器的透明。但这种方法只能应用于特定的文件格式环境下, 一旦格式转换了,则隐藏信息也会随之丢失。
基于文本排版格式,利用人视觉的冗余原理,对文本的格式进行细微改变,而不会引起
视觉差异。如字体种类、段落间距、表格信息、字体颜色、字体大小、行间距、字间距、
白色下划线等;都具有一定的冗余空间供给隐藏信息使用。这种方式提供的空间小,且受到 载体自身内容数量的限制。在文件格式转换,或统一调整文本格式时,隐藏信息容易丢失。
基于自然语言的处理方法利用自然语言处理方法对句子进行改写,通过语法和语义的
同义替代隐藏信息。此方法只能做到不改变文本语义的条件下隐藏信息。
还有其他一些方法。使用嵌入白字符隐藏如空格和制表符,用作信息隐藏,这种方式冗余空间中保存数据少,两个字节空间只能保存l个bit。将中英文标点符号的混用,也可以 隐藏信息。目前,专门针对中文文本的信息隐藏还不多,如采用汉字的造字方法、高频虚词 等方式隐藏数据。
文本数据应用的广泛性不言而喻,而且文本数据中也很少有冗余信息可作为隐秘通道。

发明内容
为了克服现有的以文本信息为载体的信息隐藏方法必须依赖于特定文本格式的局限性, 本发明提出的信息隐藏方法,着眼于文字本身的编码,完全独立于文件格式之上。适用于任 何文本文件格式,在文本信息的数据中透明隐藏不限制大小和类型的秘密数据。该发明可用 在数据传输过程中,为数字签名等秘密信息提供一个隐蔽信道。
本发明提供了一种以文本信息为载体的信息隐藏方法,解决其技术问题所采用的技术方 案是
根据字符编码标准特征自定义一个预留编码集合;根据预留编码集合基数L (集合中元 素的个数),自定义L进制编码;自定义从L进制编码到预留编码集合的双射函数f及其逆函 数f、自定义预留编码字符串在文本信息中嵌入的方法;将秘密信息转换为预留编码,并嵌 入到文本信息载体中,得到隐秘对象,达到隐藏信息的目的;从隐秘对象中提取预留编码, 并转换为秘密信息。
对照现有的以文本为载体的信息隐藏技术,本发明的有益效果表现在以下几个方面
(1) 透明性与隐藏容量用于存储秘密信息的编码,是ANSI编码或Unicode编码中的 预留编码。预留编码不仅数量多,而且完全不影响文本的正常显示。秘密信息隐藏前后的编 码利用率高,本实施例中采用了 16比特编码表示10比特信息。较强的透明性,也使得隐藏 容量大,且不受隐秘载体内容多少的限制。
(2) 安全性本发明采用插入法,在文本信息中直接增加冗余空间。能在文件格式的 修改、文本排版的修改、以及文本信息在不同格式文件中的拷贝过程中,保证隐秘信息不受 影响,具有较强的安全性。
(3) 鲁棒性鲁棒性弱是基于文本载体的信息隐藏技术不可避免的问题。当文本信息中
的不可见字符遭到删除或篡改攻击时,都会影响到隐秘信息的恢复。该方法适合应用于实现 易损水印来保护隐秘载体,在特定条件下适合作为隐秘通道。
(4) 通用性本方法能以任何文本文件格式为载体,如.txt、 .d0C、 .pdf等格式。即便
有个别差异,只需要对不可见预留编码集合重新筛选。秘密信息可为任何类型数据,如各种 格式的文本信息、图片信息、音视频信息等,只需转换位二进制编码进行插入即可。本方法具有很强的通用性和兼容性。


图1是本发明实施例方法流程图2是本发明实施例L进制编码与预留编码集合双射关系图; 图3是本发明实施例秘密信息隐藏和提取的流程具体实施例方式
本发明实施例的方法包括以下步骤
步骤l,图l中(101),自定义的预留编码集合,在常用编码库中选择不可见字符编码的 集合,假设集合中元素个数为L。
步骤2,图l中(102),自定义L进制编码,根据L的值来定义L进制编码。
步骤3,图l中(103),自定义L进制编码到预留编码集合的双射函数,L个L进制编码和预
留编码集合中的L个预留编码实现一一对应。
步骤4,图l中(104),自定义字符嵌入方法,根据实际应用环境和要求,选择字符嵌入
位置和方法。
步骤5,图l中(105),秘密信息嵌入与提取,根据自定义的预留编码集合、L进制编码、 L进制编码和预留编码集合的双射关系、字符嵌入方法,实现在隐秘载体中隐藏秘密信息,或 者从隐秘对象中获取秘密信息。
结合说明书附图对本发明实例作进一步详细描述。 本发明的根据字符编码标准特征建立的预留编码集合的
具体实施例方式
将ANSI编码标准的所有可能的216个编码输出到文件,并在各种常用的文本软件显示; 从中筛选出,不同文本软件中不可见字符编码的交集; 一种文本软件中的不可见字符编码, 在其他文本软件中具有相同的不可见显示特性,所以可操作性较强;另外,将ANSI编码标
准的不可见字符编码,转换为Unicode编码格式后,仍然具有相同的不可见显示特性;本发 明实施例以ANSI编码标准为例进行说明;在发明实施例中,从ANSI编码中筛选了 1024个 不可见字符编码,并为每个编码分配一个序号,构成预留编码集合;如图2所示,预留编码 集合(201)中,所有预留编码并无规律,在建立预留编码集合同时为每个预留编码分配一个 整数型序号,以便检索和标识。
本发明的根据预留编码集合基数L,建立L进制编码的
具体实施例方式
本发明实施例中预留编码集合基数I^1024,是2的10次幂,r=10;建立L进制编码,示,L进制编码(202),采用整数和二进制 编码两种方式表示。本发明的建立从L进制编码到预留编码集合的双射函数f及其逆函数f'的
具体实施例方式
本发明实施例中,L进制编码的整数表示到预留编码集合的整数型序号的双射函数可任 意选择,以选择f(x"x函数为例;其逆函数户00=&如图2所示,f/f'双射函数(203)。本发明的建立预留编码字符串在文本信息中嵌入的方法的
具体实施例方式
本发明实施例中,在文本信息中选择以下嵌入位置(1) 逗号后1个字符、分号后1个字符、句号后1个字符,(2) 文章结束后若干个字符,若位置(1)数量超过需要插入预留编码字符串的长度,则在剩余的位置(1)中填充空 格;若位置(1)数量小于需要嵌入预留编码字符串的长度,则在位置(2)中插入剩余的预 留编码字符;本发明的将秘密信息嵌入到文本信息载体中,得到隐秘对象的
具体实施例方式
如图3,首先秘密信息(301)表示为比特串形式,以r位为单位进行划分,转换为L进 制编码串(302);根据双射函数f (203)和预留编码集合(201),将L进制编码串映射为预 留编码字符串(303);根据所述预留编码字符串在文本信息中嵌入的字符嵌入方法(310), 将预留编码字符串嵌入到信息载体(304)中,形成隐秘对象(305),得到的隐秘对象就可以 通过各种方式进行传输。 下面举例说明秘密信息"信息隐藏方法"隐秘载体"沿着荷塘,是一条曲折的小煤屑路。这是一条幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四周,长着许多树,蓊蓊郁郁的。路的一旁,是些杨柳,和一些不知道名 字的树。没有月光的晚上,这路上阴森森的,有些怕人。今晚却很好,虽然月光也还是淡淡 的。"秘密信息的ANSI编码串16进制表示为DO C5 CF A2 D2 FE B2 D8 B7 BD B7 A8 秘密信息的ANSI编码串2进制表示,以r位为单位进行划分得到的就是L进制二进制 表示,$符号为分隔符,最后不足r位部分以0补足,括号中为补足的0: $1101000011$0001011100 $1111101000 $1011010010$1111111010 $1100101101$1000101101 $1110111101 $1011011110 $101000(0000)秘密信息的L进制编码整数表示[835] [92] [1000] [722] [1018] [813] [557] [957] [734] [640;|根据双射函数f计算每个L进制编码整数对应的预留编码集合的整数型序号, 秘密信息的预留编码集合的整数序号序列[835] [92] [1000] [722] [1018] [813] [557] [957] [734] [640J通过查找预留编码集合(201)得出整数型序号对应的预留编码,秘密信息的预留编码字符串16进制表示[ABE5] [A19D] [ADCE] [AAD2] [ADE0] [ABCF] [A68D] [ADA3] [AADE] [A780],其中每16位表示一个字符,这里就有10个字符需 要插入到隐秘载体中;根据预留编码字符串在文本信息中嵌入的方法,在隐秘载体中找出嵌入位置,以下划线 数字标识出具体位置"沿着荷塘,丄是一条曲折的小煤屑路。丄这是一条幽僻的路;丄白天也少人走,j 夜晚更加寂寞。丄荷塘四周,i长着许多树,1蓊蓊郁郁的。丄路的一旁,i是些杨柳, l和一些不知道名字的树。l没有月光的晚上,I这路上阴森森的,13有些怕人。J 今晚却很好,J上虽然月光也还是淡淡的。J"将10个预留编码字符插入到1 10的位置中,11 16位置中插入空格,新增信息以ANSI 编码16进制表示,其中[20]为空格的ANSI编码"沿着荷塘,[ASE51是一条曲折的小煤屑路。IM2D1这是一条幽僻的路;「ADCE1白天 也少人走,『AAD2]夜晚更加寂寞。「ADE01荷塘四周,「ABCF1长着许多树,「A68D1蓊蓊郁郁 的。『ADA31路的一旁,『AADE1是些杨柳,「A7801和一些不知道名字的树。[2m没有月光的晚 上,「201这路上阴森森的,[2辺有些怕人。「201今晚却很好,!221虽然月光也还是淡淡的。同"插入后得到的隐秘对象文本信息为"沿着荷塘,是一条曲折的小煤屑路。这是一条 幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四周,长着许多树,蓊蓊郁郁的。 路的一旁,是些杨柳,和一些不知道名字的树。没有月光的晚上,这路上阴森森的, 有些怕人。今晚却很好,虽然月光也还是淡淡的。"本发明的从隐秘对象中提取秘密信息的
具体实施例方式如图3,从传输系统得到隐秘对象(305);根据所述预留编码字符串在文本信息中嵌入 的字符嵌入方法(310),从隐秘对象中分别提取出隐秘载体(304)和预留编码字符串(303), 根据预留编码集合(201)和双射函数f1(203),将预留编码字符串映射L进制编码串(302), 将L进制编码串转换为二进制比特串形式就是需要得到的秘密信息(301)。下面举例说明,从传输通道得到的隐秘对象文本信息为"沿着荷塘,是一条曲折的小煤屑路。这是 一条幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四周,长着许多树,蓊蓊郁郁的。路的一旁,是些杨柳,和一些不知道名字的树。没有月光的晚上,这路上阴 森森的,有些怕人。今晚却很好,虽然月光也还是淡淡的。" 为了便于描述将其中不可见字符都以ANSI编码的16进制表示
"沿着荷塘,fABE51是一条曲折的小煤屑路。「A19D1这是一条幽僻的路:「ADC曰白天 也少人走,[AAD21夜晚更加寂寞。「ADE01荷塘四周,「ABCF1长着许多树,「A68D1蓊蓊郁郁 的。「ADA31路的一旁,「AADE1是些杨柳,「A780l和一些不知道名卞的树。[2辺没有月光的晚 上,「201这路上阴森森的,「201有些怕人。「201今晚却很好,!2ffl虽然月光也还是淡淡的。园" 根据预留编码字符串在文本信息中嵌入的方法,从隐秘对象的所有嵌入位置中读取字符 编码,直到遇到空格字符编码[20],组成不可见的预留字符编码串[ABE5] [A19D] [ADCE] [AAD2] [ADEO] [ABCF] [A68D] [ADA3] [AADE] [A780]
从隐秘对象中删除所有嵌入位置上的字符字符是非空格时删除两个字节、字符是空格 时删除一个字节,得到隐秘载体。
将预留字符编码串,通过对预留字符编码集合检索,得出预留字符编码的整数序号序列 [92] [1000] [722] [1018] [813] [557]
根据双射函数f'计算每个预留字符编码的整数序号对应的L进制编码整数表示[835] [92] [1000] [722] [1018] [813] [557]
L进制编码串以二进制表示,并按字节为单位划分$11010000 $11000101 $11001111 $10100010 $11010010 $11111110 $10110010 $11011000 $10110111 $10111101 $10110111 $10101000 ($0000)
最后四位是填充的冗余信息,在移位处理过程中被忽略,这个得到的二进制编码串就是
秘密信息的ANSI编码串二进制表示。
8
权利要求
1、一种以文本信息为载体的信息隐藏方法,其特征是通过在文本信息中插入不可见预留编码信息,扩增文本信息用于信息隐藏的冗余容量,并将秘密信息嵌入到该文本信息中,具体方法包括根据字符编码标准特征自定义预留编码集合;根据预留编码集合基数L,自定义L进制编码;自定义L进制编码到预留编码集合的双射函数f及其逆函数f1;自定义预留编码字符串在文本信息中嵌入的方法;将秘密信息嵌入到文本信息载体中,得到隐秘对象;从隐秘对象中提取秘密信息。
2、 根据权利要求l所述的以文本信息为载体的信息隐藏方法,其特征是字符编码标准是 指采用双字节编码的Unicode编码或者ANSI编码,从字符编码标准的编码全集中挑选L个在 文本软件中不显示的字符编码,构成预留编码集合,其中L是2的r次幂。
3、 根据权利要求l所述的以文本信息为载体的信息隐藏方法,其特征是将L个整数0 L-l采用r位的比特串表示,形成L进制编码。
4、 根据权利要求l所述的以文本信息为载体的信息隐藏方法,其特征是任选一种使得从 L进制编码的L个r位比特串到预留编码集合中的L个字符编码一一对应的双射函数f及其逆函数r1。
5、 根据权利要求i所述的以文本信息为载体的信息隐藏方法,其特征是在文本信息中可选择以下嵌入位置单引号前后l个字符、双引号前后l个字符、其他标点后l个字符、段落后若干个字符、段首2个字符、文章结束后若干个字符。
6、 根据权利要求l所述的以文本信息为载体的信息隐藏方法,其特征是秘密信息是任 何可以通过二进制比特串表示的,需要隐藏在文本信息中进行传输的数据信息;文本信息载 体是任何只包含字符编码标准中正常可见字符的文本信息,并用该文本信息来隐藏数据进行 传输;隐秘对象是将秘密信息重新编码后,嵌入到文本信息载体中,而得到的新的文本信息; 将秘密信息转换为比特串,以r位比特进行划分,并使用L进制编码表示;根据所述双射函 数f,对L进制编码串映射为预留编码表示的字符串;根据所述预留编码字符串在文本信息 中嵌入的方法,将预留编码字符串嵌入到文本信息载体中,形成隐秘对象。
7、 根据权利要求l所述的以文本信息为载体的信息隐藏方法,其特征是根据所述预留 编码字符串在文本信息中嵌入的方法,从隐秘对象中提取出预留编码字符串;根据所述双射 函数逆函数f—',将预留编码字符串映射为L进制编码串;将L进制编码串的有效位连接成比 特串,即是被嵌入的秘密信息。
全文摘要
本发明公开了一种以文本信息为载体的信息隐藏方法,用以在数据传输过程中,为秘密信息提供一个隐蔽信道。本发明所述的方法包括根据字符编码标准特征自定义预留编码集合;根据预留编码集合基数L,自定义L进制编码;自定义L进制编码到预留编码集合的双射函数f及其逆函数f<sup>-1</sup>;自定义预留编码字符串在文本信息中嵌入的方法;将秘密信息嵌入到文本信息载体中,得到隐秘对象;从隐秘对象中提取秘密信息。本发明的信息隐藏技术以文本信息为载体,通用性强、隐藏容量大、透明性好、安全性强。
文档编号G06F17/22GK101645061SQ200910112500
公开日2010年2月10日 申请日期2009年9月3日 优先权日2009年9月3日
发明者浩 张, 杨晶菁 申请人:浩 张
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1