基于文本的信息隐藏技术_曹卫兵
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2002211223;修返日期:2002212213基金项目:国家“863”计划项目(2001AA142170)
基于文本的信息隐藏技术3
曹卫兵,戴冠中,夏 煜,慕德俊
(西北工业大学自动控制系,陕西西安710072)
摘 要:由于所包含的信息冗余量少而难以在其中隐藏信息。提出了两种较实用的文本信息隐藏技术,
取得了较好的信息隐藏效果。关键词:文本;信息隐藏;字体中图法分类号:TP391.1 文献标识码:A 文章编号:100123695(2003)1020039203
T echnology of In formation Hiding Based on T ext Document
C AO Wei 2bing ,DAI G uan 2zhong ,XI A Y u ,M U De 2jun
(Dept.o f Automatic Control ,Northwestern Polytechnic Univer sity ,Xi ’an Shanxi 710072,China )
Abstract :T ext d ocument is difficult to hide in formation for its relative little redundancy.T w o practical data hiding meth ods are present 2ed in this paper and g ood results are gained.K ey w ords :T ext D ocument ;In formation H iding ;F ont
1 引言
[1,2]
多媒体技术的飞速发展和国际互联网络的普及,给人们的学习和工作带来了极大方便,人们可以通过网络进行信息交互,共享网络资源。但是同时伴随而来是信息安全传输的严峻问题,如何保护信息在传输过程中的安全已经成为信息技术研究领域的重要内容。信息隐藏技术的出现则在某种程度上为这个问题提供了一种解决方案。信息隐藏是将秘密信息伪装隐藏在非机密的信息中,来实现隐蔽通信,达到信息安全传输的目的。被隐藏的信息可以是文字、密码、图像、图形或声音,而作为介质的公开信息可以是一般的文本文件、数字图像、数字视频和数字音频等等。
信息隐藏是集数学、密码学、信息论和计算机技术相结合的一个交叉性学科,其原理很类似于变色龙的保护色,将自己伪装起来,隐藏于自然界的环境中,以免受天敌的袭击,人类的迷彩服就是根据这个原理来提供保护的,而相对于数字信息来说,如何选择一种类似的方法来保护自己,这就是信息隐藏所要研究的内容。利用信息隐藏技术进行安全、隐蔽的通信,在军事、情报、政府机要等部门中具有重要的现实意义,而如今在商业大战中,对商业信息的把握,往往成了商家克敌制胜的法宝,每天都有大量的商业秘密信息在网络中传递,而且许多国家出于安全和打击国际犯罪等活动的需要,对在公共信道中进行密码通信进行了严格的限制,信息隐藏技术则突破了这种限制,具有较广泛的应用前景。
信息隐藏和密码技术都是用来对信息进行保护所
采用的方法,但两者又有明显的区别。密码技术是通过特殊的编码将要传递的秘密信息转变成密码的形式,以对通信双方之外的第三者隐藏其信息的内容,而信息隐藏则是对第三者完全隐藏了秘密信息的存在,信息隐藏的隐蔽性,在于它不易引起攻击者的注意,因此通常将这两种方法结合起来对传输的消息进行保护。
2 文本信息隐藏概述[3~5]
目前较常用的隐藏介质是数字图像或声音,因为它们包含了大量的冗余信息,结合人的视觉特性,我们可以在介质里隐藏信息而不被察觉。文本信息隐藏是通过改变文本模式或改变文本的某些基本特征来实现信息嵌入的方法,它使文档产生一定的变化,这种变化是用来进行可靠的信息隐藏,但是这种变化对人的视觉是不可见的。与图像和声音文件相比,在文本里面隐藏信息是比较困难的,因为它几乎不包含任何冗余信息,因此在文本里面隐藏信息必须寻找那些不易引起视觉感知的方法。目前在文本中主要有以下三种编码方法:
(1)行移编码。该技术是通过垂直移动文本行的位置来实现的,通常当一行被上移或下移时,与其相邻的两行或其中的一行保持不动,不动的相邻行被看作是解码过程中的参考位置它既可以用于文本文档也可以用于文件格式。给文档预分配的码字规定了文档中的哪些文本行将被移动。如可以规定行上移表示“0”,下移表示“1”。当然也可规定上移表示“21”,不动表示“0”,向下移表示“+1”。根据要嵌入文件中信息的内容,编码器将文本行上移或下移。解码器测量接收文档中相邻行的行间距来进行信息的提取。
・
93・第10期曹卫兵等:基于文本的信息隐藏技术
(2)字移编码。该字移编码技术通过使文本行内字
符发生平移的嵌入特定标记。采用这种方式时,相邻字之间的距离是各不相同的。其实在文档对齐处理时经常采用调整空格的方法来改变字符间隔(如文档的排版)。对于格式化的文档,通常使用变化的单词间距,使得文本在外观上吸引人,读者可以接受文本中单词间距在一行上的广泛变化。根据经验,人眼无法辨认1/150英寸以内的单词。因为作了变间隔处理,解码器需要掌握原始文档或关于原始字间隔的说明,只有拥有原始文档信息的通信方才能正确的恢复出所隐藏的信息。
(3)特征编码。在特征编码方法中,观察文本文档并选择一些特征量,再根据要嵌入的数据来修改这些特征。特征可以是字母如b ,d ,h ,k 等中的垂直线,其长度可稍作修改以使得一般人不易发觉。相对某种给定的字体可以改变其字符高度,总有一些字母特征未作改变以帮助解码。还有一种方法是采用同义词替换。通常有两对同义词,选用其中一个或另一个分别表示“0”或“1”。如用big 表示“1”,用large 表示“0”,通信双方必须同时拥有这个同义词表。
在实际的信息隐藏过程中,通常是上述三种方法的组合,来达到信息安全传输的目的。
3 新的隐藏方法
除了上述的文本的信息嵌入方法外,我们提出了利用在文字输入时中英文标点符号的不同和字体的不同来进行信息隐藏。311 标点信息隐藏技术
在各种字处理软件中,通常中文与英文的标点输入所占用的字符宽度是不一样的。如中文的逗号,与英文的逗号,它们在文档中所占用的宽度是有一定的差别的,我们也可以利用这个特点来进行信息的隐藏。
假如采用中文的逗号来表示所要隐藏的信息位为1,而英文的逗号表示隐藏的信息位为0,或者相反。一般来说,英文在句子中停顿时,不是直接采用逗号就完成了,而是在逗号后面插入一个空格。在插入空格后,逗号所占的间距看起来是增大了,但是一个中文标点所占用的宽度大概是三个英文字符。如果进行认真仔细的分析,还是能够看出来其中的差别的。对于一个英文文本来说,它一般是由单词、行和段落等有规律的结构组合而成,对其作一些轻微的改动通常不会改变整个文本文件的整体效果。
下面我们举例来说明采用这种方法在文本中隐藏信息的过程。假如用中文的逗号来表示所要隐藏的信息位为0,英文的逗号来表示所要隐藏的信息位为1,对于其它的标点符号原则上也可进行信息隐藏,但是为了不使隐藏后的文本表现出更多的异常,我们只采用逗号来表示所要隐藏的信息位。不论是中文文档或者是英文文档,在标点符号里面,逗号的使用频率通常都是最高的,采用逗号进行信息隐藏的隐藏量也是很大的。
隐藏前的文本信息如下:
Data hiding ,a form of steganography ,embeds data into digital media for
the purpose of identification ,annotation ,and copyright.Several constraints af 2fect this process :the quantity of data to be hidden ,the need for invariance of these data under conditions where a ″host ″signal is subject to distortions ,e.g.,lossy com pression ,and the degree to which the data must be immune to inter 2ception ,m odification ,or rem oval by a third party.
所要隐藏的信息:1100110101隐藏后的文本信息如下:
Data hiding ,a form of steganography ,embeds data into digital media for the purpose of identification ,annotation ,and copyright.Several constraints affect this process :the quantity of data to be hidden ,the need for invariance of these data under conditions where a ″host ″signal is subject to distortions ,e.g.,lossy com pression ,and the degree to which the data must be immune to inter 2ception ,m odification ,or rem oval by a third party.
在隐藏后的文本中,带有下划线的标点符号表示经过隐藏后发生改动的标点。在一些字处理软件中,有时为了保持行的对齐匀称,会对一些输入的标点作一些调整,这样我们在恢复信息时就有可能出现错误。在对信息进行嵌入时,我们有必要对信息进行纠错编码,这样在恢复信息时,保证信息的完整性。312 字体信息隐藏技术
在进行信息隐藏时,也可根据不同的字体来表示所要隐藏的信息。在现有的文字处理中,大多都支持许多种字体,如宋体、华文楷体等。可用两种相似的字体来隐藏信息。在通常所采用的W ord 字处理软件中,宋体与新宋体,PM ing Liu 与M ing Liu 都是很相似的,还有许多其它的相似的字体,它们在视觉上是很难分辨出来。在采用英文进行信息隐藏时,可采用字母、单词或句子的方法来表示所要隐藏的信息。我们分别举一些用中文和英文的例子来说明采用字体来进行信息隐藏的方法。
(1)中文信息隐藏。我们用中文来进行信息隐藏时,采用宋体来代表所隐藏的信息位为1,而新宋体表示所隐藏的信息位为0。隐藏前的文本是以宋体的格式存在。
隐藏前的文本:信息隐藏是把一个有意义的秘密信息隐藏在一个公开的载体中。
要隐藏的信息:1100110101
隐藏后的文本:信息隐藏是把一个有意义的秘密信息隐藏在一个公开的载体中。
其中带有下划线的汉字表示字体发生了改变。可以看到,在经过了字体改变后,与原始的文本信息基本上没有明显差别,满足信息隐藏的不可见性要求。同时这种信息隐藏方法的信息量也是很可人的,每个字都可隐藏一位信息,在一些大容量秘密信息传输方面,具有较好的实用价值。
(2)英文信息隐藏。在采用英文文本进行信息隐藏时,可以通过改变字符、字和句子来表示所要隐藏的信息,这可根据所要隐藏信息的鲁棒性和信息量进行调整。在采用英文进行信息隐藏时,我们用PM ing Liu 字体来表示所隐藏的信息位为1,而M ing Liu 字体则代表0。隐藏前的文本是以M ing Liu 的字体格式存在。
隐藏前的文本与标点信息隐藏的英文文本相同,只是它是以M ing Liu 的字体格式存在。
要隐藏的信息:110011010110
采用三种不同的隐藏方法分别阐述如下(为了简单起见,本文对那些后面没有被修改的句子不再列出):
・04・ 计算机应用研究2003年