可控密钥序列的具有误导功能的隐写方法

文档序号:6434881阅读:195来源:国知局
专利名称:可控密钥序列的具有误导功能的隐写方法
技术领域
本发明属信息安全领域,涉及一种文本隐写方法,特别是一种具有误导功能,可以随意误导的文本隐写(密写)方法。
背景技术
Steganography (隐写术、密写术)是将秘密消息嵌入表面上正常的数字载体中, 以不被他人察觉的方式通过公开渠道如互联网进行传输,接收者使用专门的工具和密钥从含密载体中提取消息,实现隐蔽通信。用于隐写的载体以数字图像最为普遍,其次是数字音频,数字视频也可用于隐写,但由于视频文件尺寸过大,在网络上传输远不如图像和音频广泛,所以一般说来不是隐蔽通信的优选载体。还有一种特殊的信息隐藏技术,是1983年 Simmons提出的阈下信道(subliminal channel),狭义的阈下信道主要采用数字签名等来实现消息隐匿,但是阈下信道可以被封闭,并且利用数字签名传输的阈下消息往往很短。可见,目前的信息隐藏技术要么需要依靠大文件作为载体,要么只能传输很短消息,伪装文本 (载体,covertext)和隐秘文本(stegotext,这里称为原文)相比较大很多,信道利用率不高。一旦被禁止发送图片音频、视频等大容量的文件,不允许进行数字签名的情况下,秘密消息的隐匿就无法实现,而信息隐藏和阈下信道问题往往是针对被监视的囚犯之类的背景的,监管人完全可以禁止任何可能隐匿消息的行为。目前也出现了一些文本隐写方法,基本上也是利用某些文件格式中的冗余信息位来隐藏信息。文本是网上传输数量最多的信息载体,其形式多样,如网页、电子邮件、包括 pdf,d0c,ps在内各种格式的文本文件等,用作隐写载体具有广阔的应用前景。但与图像、音频等多媒体信号相比,在文本中嵌入额外信息而又不引起可察觉的变化相当困难,这是因为文本中可用于插入额外数据的冗余空间很小,因此利用文本作为隐写载体的技术发展大大滞后。Bender等人4将文本中嵌入信息的方法归纳为三类1)利用空格,例如单词之间空 1格代表0,空2格表示1 ;2)基于句法,包括句型和标点符号,例如句型a,b,andc表示0, a,b and c表示1; 利用语义,定义一个同义词表,例如big表示0,large表示1。其中第一类是基于文本格式的,后两类则是基于文字内容的。在基于文字内容的嵌入技术中,利用句法的方法一般嵌入量很小,因为特定句型在文章中出现的次数有限。语义编码的问题在于会产生文本内容的改变,或者使语言变得不自然。例如,尽管pacific与peaceful同义, 将I^cific Ocean变成Peaceful Sea却很容易引起警觉。在基于格式的信息隐藏方面,某些利用增减空格的简单方法过于明显,或者难以抵抗文本编辑的攻击。例如在每一行末尾插入的一个或两个不可见空格,只要改变页面的设置就会被完全破坏。Brassil等人提出了移词编码、移行编码、特征编码三种方法。由于单词间距并不固定,移词编码通常需要通过与原始文本的比较才能提取出嵌入的信息,用作水印尚可,用于隐写则不可行。特征编码的一个例子是用字母b、d和h顶部的短横线长度来表示嵌入信息。虽然这些方法都会使原始文本发生轻微变化,只要采取适当的措施仍能达到外人很难辨认的程度。若正常文本的行距是均勻的,则移行编码嵌入数据的提取不依赖原始文本,因此既可用于保护版权,亦可成为一种隐蔽通信手段。此外移行编码通常比移词编码更为稳健,故一直受到研究者的关注。 Villan等人最近构建了一个新的理论框架,将文本中的信息隐藏看成Gel’ fand-Pinsker 问题的特例。他们在这一框架下提出两种视觉隐蔽性优良且嵌入量大的基于特征文本信息隐藏方法半色调量化和颜色量化,该方法从电子版本和打印硬拷贝中均能自动提取隐蔽信息。在某些特定格式的文本文件例如XML和排版工具TeX的源文件中也能嵌入额外信息。 Word文档也可以作为文本隐写的载体。这些隐写方法都是利用了文件或者文本的冗余。我们也曾经设计了一种采用文本隐写方法,其方法有别于以上隐写方法,但是,这种方法得到的伪装文本虽然具有很好的误导性,但是密钥长度会很长,当文本很长的时候, 密钥长度是不能接受的。如果采用流密码等方法产生密钥流作为子密钥来控制误导的关键词,虽然密钥很短,但是,由于是流密码产生的子密钥序列,伪装文本是根据密钥序列产生的,不能随意去设置伪装文本,考虑其现实中使用会存在不能根据发送人的意愿有效误导监听者的问题,本发明设计了一种可以进行修正以有效误导对方的隐写方法。

发明内容
本发明旨在克服现有隐写方法冗余量大,依赖于图像、语音数据的缺点,以及不具有主动误导的缺陷,提供一种对文本进行隐写的方法,可以具有误导的功能,并且对不可控的密钥序列可以进行修改。与传统的隐写方法不一样,传统的隐写的载体一般与需要传递的信息没有多大关系,传统隐写方法是将原文嵌入到载体的某些冗余位置,而本隐写方法的隐写载体文本会直接地误导对方;与加密不一样,隐写的伪装文本直接进行传递,对方会以为是明文,所以可以直接去误导对方。为具备误导功能,在本发明中,设计了采用将重要的关键词替换为相似、相近、相反或者可以替代的关键词的替换隐写的方式,它需要有一个关键词数据库,在数据库中,把相似、相近、相反或者可以替代的关键词放在一个相同的组中。隐写的时候,打开文件,读取文本的内容,隐写时候把关键词替换成为具有相同性质的关键词,这一个关键词与原关键词意义相近、相反或者具有替代性。替换分为固定的替换和不固定的替换,如附图1所示。 由于文本中的关键词都是被用相似、相近和相反的关键词代替的,因而伪装文本具有误导作用。关键词数据库是一个基础性的数据库,一般而言隐写的目的是隐藏信息,监听人是不知道文本是经过隐写处理的。因此对于文本隐写,此数据库是需要保密的,并且收发双方都需要保密。在设计的时候,为了保证隐写和提取的唯一可逆性必须禁止一个关键词出现在两组关键词中,并且关键词不能存在包含关系。因为如果关键词有包含关系,比如关键词数据库中有中华,也有中华人民共和国,就会带来歧义,给隐写带来一定的困难。此外,如果一个关键词出现在数据库的两组关键词中,则隐写和提取过程中也会遇到歧义而无法得到确定的结果的问题。此外为了避免歧义,关键词之间除了应该互相不存在包含关系,也不能有重合交叉的部分。在进行替换的时候,有些关键词的替换是固定的、自动进行的,而有些关键词则是根据预先共享的流密码序列的产生密钥以及修正数据来确定的,后者可以保证需要修正的时候进行必要的修正,误导效果更好。在每一组关键词中,有一个属性代表是否是固定的替换1)如果是固定的替换,这样的固定替换的组中只有两个词,当然一般这样的替换是一对反义词。2)如果是非固定的替换,在数据库中,每一个关键词在这一组中都有一个编号,从0,1,一直到n-1,其中η为这一组中的关键词数目。隐写的时候,第s个非固定替换关键词的替换是根据对应位置的子密钥来确定哪个关键词被替换,这个子密钥是根据流密码算法计算的密钥流,进行分段截取,分配给相应序列位置的关键词,但是,如果是需要修正的,则修正为最合适的关键词, 并且在密钥后面增加相应的密钥修正信息。这样,最终密钥的结构如图3所示。前面为流密码算法的密钥,用于产生密钥流。后面为修正信息,这部分信息的长度是不固定的,与需要修正的关键词数目成正比,我们将针对每一个需要修正的关键词的修正信息称为一个修正块,而每一个修正块包括修正关键词所在的位置信息和修正值的信息。修正块的两部分的长度是固定的。这个整体的密钥在隐写后发给接受方,用于提取隐秘的原文。接收方需要有同步的数据库,并且拥有密钥才能利用载体提取隐秘文本。提取隐秘原文的过程如下,先打开文档,读取文本,扫描并且依据隐写的方法进行相反的替换。对于固定替换的关键词,直接用固定关键词替换,如果是非固定的关键词,这需要根据相反的方法计算,得出需要还原的关键词,进行还原。由于该隐写方法只是对文本内容进行替换,因此,对于文档的隐写需要先打开文档,比如先打开word或者txt文档,读取里面的文本内容,再对文本内容进行伪装替换,最后将替换后的文本进行保存,而提取隐秘信息的过程则是一个相反的过程。整个隐写和提取的过程如图2所示。如果发送的内容不是文件形式,这无需打开文件和保存这些步骤。本发明所采用的这种对密钥序列的修正方法,可以适用于其他的类似的需要有少量修改伪随机序列的场合。


图1是本发明的隐写处理流程图。图2是本发明的隐写和提取的全过程图。图3是本发明的密钥的结构图。
具体实施例方式下面是本发明的实施例,但是,本发明并不限于实施例。在具体实现的时候,需要考虑文件的格式来进行隐写。以txt文本文件的格式为例,首先将隐秘文本用记事本打开,读取其文本的内容“她是一位聪明的教师,老家在新疆”。在数据库中,聪明属于被固定替换的关键词,被愚蠢代替。教师、医生、工人、农民和学生是一组非固定替换的关键词组,它们依次被编号为0-4。23个省和4个直辖市属于非固定替换的关键词组,新疆在其中,并且它们被分别用016进行编号,假设新疆为8。选择产生密钥流的算法为一种256bit的流密码算法,随机产生256bit为流密码算法的密钥KM,对应于附图3中的流密码密钥。修正块的结构为前面的部分为关键词的位置信息,其二进制的长度是固定的,根据文件中最多的非固定替换的关键词数M来确定, 取值应该大于Iog2M,为了方便举例,我们这里取8bit,后面的部分为修正值的信息,其二进制长度也是固定的,根据关键词数据库中同一组关键词的最大数目N来定,取值应该大于Iog2N,为了方便,假设N小于64,所以修正值部分长度取8bit。隐写的时候,聪明显然被愚蠢替换,另外有两个非固定替换的关键词,需要根据密钥来计算,计算得到一个无限的密钥流,这一密钥流分段进行截取,由于N小于64,所以,可以将这一密钥流按照8bit为一个分组截取下来,分别按照次序分配给第一,第二,直至最后一个非固定替换的关键词,假设其最前面的部分为0000110000001011,本文只有2个非固定替换的关键词,所以将00001100(十进制值为1 分配给第一个非固定替换的关键词教师,00001011(十进制值为11)分配给第二个非固定替换的关键词新疆。在被修正前,替换后的关键词的编号的计算方法是T = ks+amod (η)其中a为隐秘文本中关键词在这一组关键词中的代号,比如教师为0,新疆为8,ks 为第S个关键词分配的那Sbit对应的密钥流的值,比如教师对应的是00001100(十进制值为12),新疆对应的是00001011(十进制值为11)。数η为这一组中关键词的数目,比如教师一组有5个,新疆一组有27个。所以可以计算出教师对应的T为2,新疆对应的T为19。依次查找教师一组编号 2对应的关键词为“工人”,假设新疆一组编号19对应的是安徽,云南的编号为21。则隐写后的过渡文本内容为“她是一位愚蠢的工人,老家在安徽”,将这一内容写入txt文件,得到的文件即为过渡隐写文本。但是,这一文本在发送者看来,并不能够很好误导那些监听的对手,某些地方他希望加以修正,比如他希望文本是“她是一位愚蠢的工人,老家在云南”,则将此文本作为最终的隐写文本。但是,需要将修正的信息传递给对方,所以,需要附加修正信息,因为是第二个非固定替换关键词,所以这一个修正块前面8比特为00000010,云南的编号为21,如果是要替换为云南,编号值需要增加2,所以修正的值为2,用二进制为00000010,所以最终的密钥
为 KmI 0000001000000010ο修正后的编号计算方法可以认为是T = ks+a+m mod (η)其中m表示修正的值,如果是不用修正,则其值为0.原文提取为一个相反的过程,流程如下打开隐写文本,固定替换的关键词采用相反的方法还原,非固定替换的关键词,从数据库得到η值,根据密钥的不同部分可以分别得到m和ks的值,T则是根据隐写文本中关键词的编号确定,这样可以计算出a = (T-m-ks)mod(n)将编号为T的关键词替换为同一组关键词中编号为a的关键词,即得到原来的关键词。将得到的文本写入记事本保存即可。
权利要求
1.一种可控密钥序列的隐写(密写)方法,与现有的隐写(包括文本隐写)方法不一样(它们是将隐写信息嵌入文件的冗余信息中),其特征在于是针对文本的隐写,将文件打开,读取文本,进行一定的关键词替换,这一替换是根据关键词数据库来进行的。由于替换的词可能和原来的词意义相近、相反和类似,替换后的文本依然具有意义,并且可能与原来的意义相近、相反,使之具有随意误导的功能。替换包括固定替换和非固定的替换。
2.如权利要求1所述的具有误导功能的文本隐写方法,其特征在于在进行非固定替换的时候,用流密码算法、分组密码的某些加密模式等产生的安全子密钥序列来控制文本中的非固定替换的关键词到底用同一组关键词中的哪个关键词进行替换,得到隐写文本,防止潜在的攻击。
3.如权利要求2所述的具有误导功能的文本隐写方法,其特征在于在进行非固定替换的时候,利用流密码等算法产生序列,然后附加一定的修正信息,作为隐写的子密钥来控制关键词的替换,产生这一序列的数据结构为固定长度的序列生成密钥K部分和非固定长度的若干个修正块,每一个修正块的长度是固定的,每一个修正块包含两个固定长度的信息,分别是修正的相对位置的信息和修正值的信息,这样的序列可以避免伪随机序列的不可控性,而根据情况对序列中的某些位置做必要的修正,在具体实现的时候,发送者可以根据安全的密码算法产生安全的伪随机序列,计算得到子密钥序列,将这些子密钥依次分配给文本中的非固定替换的关键词,通过子密钥来确定对应位置的关键词到底用在数据库同一组中的哪个关键词来替换,当替换不能让发送者满意的时候,做一定的修正,使替换可以得到如意的结果,并且将修正信息记入密钥中。提取时采用相反的方法即可还原隐秘的原文。
4.如权利要求1所述的具有误导功能的文本隐写方法,其特征在于在进行固定替换的时候,直接将一个关键词替换为数据库中规定的关键词,无需生成密钥,提取原文无需利用密钥,直接用对应的关键词还原。
5.如权利要求1所述的文本隐写方法,其特征在于有一个数据库,将相近、相反以及同类的一些关键词放在一组中,每一组都有一个替换的属性,包括固定替换和非固定替换型, 固定替换型的那些组在隐写的时候将数据替换为同一组对应的关键词,非固定替换的时候,需要根据计算确定由哪个关键词替换,在数据库中,每一组非固定替换的关键词中的每个关键词都有一个在本组中的编号,依次从0到n-1。在设计的时候,为了保证隐写和提取的唯一可逆性必须禁止一个关键词出现在两组关键词中,并且关键词之间不能存在包含关系,也不能有重合交叉的部分。
全文摘要
本发明涉及一种具有误导功能的文本隐写(密写)方法,需要打开文件,读取文本内容,然后通过将文本中的关键词替换为具有相近、相反或同类的关键词,最终保存文本,使之具有误导功能。关键词的替换采用非固定替换结合固定替换。非固定替换是由密钥来控制的,先用一个密钥生成安全的序列进行尝试性的替换,如果替换不如意,可以在这一密钥后附加修正信息。隐写后的文本内容和隐秘文本的内容可能是相似、相反或者同类的,这样就可以起到误导的效果。这样的隐写方法摆脱了传统隐写方法需要图像、视频和音频等大文件的缺点,并且可以直接误导对方。
文档编号G06F21/24GK102360413SQ201110301759
公开日2012年2月22日 申请日期2011年9月27日 优先权日2011年4月11日
发明者王勇 申请人:桂林电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1