APP下载

基于Word文档缩放字符比例的信息隐藏算法研究

2011-01-18钱宗峰曹学军李彦爽

关键词:字符文档秘密

钱宗峰,曹学军,汤 伟,李彦爽

(1.总参谋部通信训练基地教研部,河北宣化075100;2.河北北方学院理学院,河北张家口075000)

基于Word文档缩放字符比例的信息隐藏算法研究

钱宗峰1,曹学军1,汤 伟1,李彦爽2

(1.总参谋部通信训练基地教研部,河北宣化075100;2.河北北方学院理学院,河北张家口075000)

根据Word文档的特点,提出了通过改变Word文档字符缩放比例,在文档中嵌入秘密文本的信息隐藏算法,实验表明:算法简单,很好地实现了秘密文本的嵌入,信息隐藏量大于传统算法,隐藏效果较好,可以满足文件隐秘传输需要,具有广阔的应用前景.

信息隐藏;字符缩放比例;Word文档;文本隐藏

信息隐藏指的是在不对载体媒体产生过多影响的前提下,将要发送的秘密信息隐藏在另一个非秘密的公开载体媒体中,以实现隐秘通信,达到信息安全传输的目的.由于信息隐藏技术不但隐藏了信息的内容,而且隐藏了信息的存在,因而可以十分容易地避开非法拦截者的追击.被隐藏的秘密信息可以是图像、文字、声音或计算机中的文件,用以隐藏秘密信息的公开载体媒体可以是文本、数字图像、数字视频或数字音频.目前网络上传输的绝大部分信息是文本信息,由于文本文档本身存在的冗余很小,故以文本信息为载体进行隐秘通信具有较高难度,所以隐藏过密文的文本也不容易受到怀疑,具有比较好的安全性,因此基于文本的信息隐藏具有重要的现实意义和广阔的应用前景.

目前Microsoft Word是全世界使用最广的文字处理软件,Word己经成为办公自动化和日常编辑事实上的标准.随着Internet的迅猛发展和日益普及,Word在电子商务、远程教育和电子政务中的应用也日益广泛,基于Word文档的信息隐藏技术研究也成为了一个热点,人们提出了各种各样的隐藏算法.基于行移编码的信息隐藏技术是通过将文本的某一行垂直移动一个微小量来嵌入秘密信息,由于人的眼睛无法觉察小于1/300英寸的垂直位移量,当一行被上移或下移时,而与其相邻的一行或两行位置保持不动,将不动的相邻行作为解码的参考位置,这就实现了信息隐藏,但该方法可嵌入的信息量比较小[1].基于字移编码的算法与基于行移编码的算法相比在信息隐藏量方面有了一定的改进,而且实现起来也不困难.基于文字下划线颜色的信息隐藏技术利用下划线颜色值的冗余来嵌入信息,此方法可加载的信息量大,但载体信息文件比原始文件要大,其变化比率与嵌入秘密信息的容量成正比[2].基于文字颜色的信息隐藏算法信息隐藏量较大,但鲁棒性相对较弱[3,4].基于字号变化的信息隐藏方法在隐藏信息后文件大小基本不变,迷惑性高,但信息隐藏容量受明文长度限制,抗排版编辑能力较差[5].另外还有替换隐藏方法,它通过用视觉上相似的文本特征替换原始文本中的一些特征来隐藏信息,人们研究的比较多的有字体替换,标点信息隐藏,同义词替换,修改字符笔画宽度,修改区域亮度等,缺点是这类算法的鲁棒性较差,常因为文字信息的改动而丢失所隐藏的信息.

本文所研究的算法通过改变字符缩放比例来实现信息隐藏,在Word文档中利用VBA编程语言实现了秘密信息的隐藏和提取.

1 算法思想

研究表明,在Word文本文档中,轻微缩放字符的比例,人的肉眼是不易察觉的,我们实现信息隐藏的方法是通过改变文本中字符的横向缩放比例.在一篇正常的Word文本文档中字符的缩放比例通常是标准型,即100%,对需要嵌入秘密信息的文本字符,可以采用缩放的比例分别设定为101%,102%,103%和104%来进行编码,从而使得每个载体文本字符可实现2位二进制码的隐藏而不易被发觉.隐蔽通信的原理框架如图1所示.秘密信息W通过嵌入算法隐藏到原始载体 T中,形成包含有秘密信息的载体 T′,T′与 T必须非常相似,这才不会引起他人的怀疑.通常,T′在无噪信道中传输,但在一些特殊应用场合也可以考虑噪声对载体数据的干扰,这就要求带有密文的载体具有比较好的鲁棒性和抗攻击能力.

图1 隐蔽通信的原理框架

2 嵌入算法

输入:载体Word文档 T,秘密信息W.

输出:嵌入秘密信息的Word文本 T′,具体实现时需要进行以下几个步骤.

1)判断秘密信息W能否嵌入到载体Word文档T中.

2)顺序提取秘密信息W每个字节的ASCII码值.

3)顺序寻找Word文档 T中适合嵌入秘密信息的字符,根据秘密信息每个字节的ASCII码值,分别替换该字符的缩放比例值.为了提取秘密信息的方便,可以先把秘密信息的文件长度、文件名等相关信息嵌入到Word文档 T中.

4)生成嵌入秘密信息后的Word文档 T′.

3 提取算法

输入:Word文档 T′.

输出:秘密信息W,具体实现时需要进行以下几个步骤.

1)查找秘密信息在Word文档 T′中的位置.

2)顺序取出字符缩放的比例值,并将其转换成对应字符的ASCII码,进而恢复秘密信息的长度及文件名.

3)生成秘密信息文件.

如果整篇文档的文字缩放比例一致,则提取算法可用盲检测的方法实现.利用统计学原理,检测相邻的文字缩放比例变化的概率,在没有隐藏信息的情况下,这个概率值较小.如果该概率值过大,则认为嵌入了秘密信息.如果整篇文档的文字缩放比例不一致,则相关提取算法必须借助原始文档,实现起来较为困难.

4 算法性能分析及实验结果

考虑到Word文本文档的特点以及信息隐藏系统对隐蔽性能和信息隐藏量的要求,我们对嵌入算法及提取算法的操作做了相应的改进,进一步简化了算法的复杂程度.下面从几个方面来讨论本算法的特点.

4.1 算法分析

字符缩放比例的选取是所研究算法实现的关键.在嵌入过程中,秘密信息在载体文本中的位置可以随意设置,嵌入的目标是使通道信息在不可见性、信息隐藏量和鲁棒性之间找到一个较好的折中.

盲检:因为绝大多数Word文档的文字缩放比例是一致的,所以提取算法可以使用盲检测的方法来实现.

信息容量:Maxemchuk[6]等人提出的特征编码法和文献 [7]中改变文字大小的算法中,载体文本每个字符最多只有两种变化量,分别代表0或者1,因此至少需要8个字符才能嵌入1个字节的信息量.而使用本文算法的编码方式,每个字符有四种变化量,分别代表00、01、10或11,由于4个字符即可嵌入1个字节 (4×2bit=8bit)的信息量,所以信息隐藏量得到了较大提高.

鲁棒性:如果仅仅是对文档的某些文字进行逐个的替换操作,由于Word本身的继承性,即如果当前的格式不变并且不主动去修改格式,则在当前格式下新增加的字符会套用当前的格式.所以,如果是逐个替换的话,则替换后的字符格式和替换前的字符格式一致,这种情况仍然能够保存隐藏信息.

安全性:在我们设计的算法中,并没有对载体文档的内容本身进行加密,也没有对秘密信息进行加密,而在实际应用的方案中,为了增加算法的抗攻击能力,可以在信息隐藏之前,将待隐藏的秘密信息进行纠错编码,如汉明码.当待隐藏信息容量很大时,也可以先对隐藏信息进行数据压缩,然后再进行隐藏,这就进一步提高了安全性.

隐蔽性:字符缩放比例的选取是衡量隐蔽性的关键.文献 [7]中提出的改变文字大小算法中,载体文本每个字符的字号大小改变量为0.5磅 (Word文档中字号的最小变化量为0.5磅),在这种情况下,对于较大的字体,如四号 (14磅)字以上的文本文档,其大小改变比例小于3.57%(0.5/14),人的视觉对这一改变感觉不明显,算法的隐蔽性符合要求.但是对于比较小的字体,如小五号 (9磅)字以下的文本,其大小改变比例为5.56%(0.5/9),人的视觉对这一改变感觉较为明显,导致算法的隐蔽性变差.在本算法中,不直接改变字符的字号大小,而是改变字符的横向缩放比例,缩放比例平均分布在101%、102%、103%和104%,因此对于任意字号大小的字体,其纵向高度没有改变,横向大小改变的比例都小于或等于4%,人的视觉对这一改变基本感觉不出来.

4.2 程序代码

Sub openfile() ’此过程实现秘密信息的隐藏算法

Dim b As Byte ’定义字节型临时变量b,存放读取的秘密信息字符

Open"C:Documents and SettingsAdministrator桌面李彦爽新建文件夹 (2)新建文件夹

新建文件夹密文.txt"For Binary As#256 ’打开秘密信息文件

l=LOF(256) ’计算秘密信息字符长度

For i=1 To l ’依次读取秘密信息每个字符

Get#256,,b ’把读取的秘密信息字符放入b中

a=b Mod 2

If(a=0)And(b<>0)Then ’当二进制位为字符ASCII码值的有效位且为0时

Selection.MoveRight unit:=wdCharacter,Count:=1,Extend:=wdExtend’选中载体文本中光标后面的字符,并把光标右移一个字符

With Selection.Font

.Scaling=101 ’改变选中字符的缩放值为101%

End With

End If

If b=0 Then ’当二进制位为字符ASCII码值的扩展位时

Selection.MoveRight unit:=wdCharacter,Count:=1,Extend:=wdExtend’选中载体文本中光标后面的字符,并把光标右移一个字符

With Selection.Font

.Scaling=101 ’改变选中字符的缩放值为101%

End With

End If

Selection.MoveRight ’光标右移

b=b2

Next j

Next i

Close#256 ’关闭秘密信息文件

End Sub

Sub newfile() ’此过程实现秘密信息的提取

Dim b As Byte

Open"C:Documents and SettingsAdministrator桌面彦爽新建文件夹 (2)新建文件夹新

建文件夹解密.txt"For Binary As#257 ’打开存放提取的秘密信息的解密文件

Selection.EndKey unit:=wdStory,Extend:=wdExtend ’全选载体文本

With Selection.Characters

s=.Count ’计算载体文本的字符长度

End With

Selection.HomeKey ’光标移到载体文本开头

For j=1 To s8 ’八个载体字符隐藏一个秘密信息二进制位字符,不足八位的舍掉

b=0

For i=1 To 8 ’依次读取嵌入的秘密信息二进制位

Selection.MoveRight unit:=wdCharacter,Count:=1,Extend:=wdExtend

With Selection.Font

If.Scaling=100 Then ’缩放值不变,取1

b=b+2^(i-1) ’把读取的二进制转化为十进制

End If

End With

Selection.MoveRight ’光标右移

Next i

If b<>255 Then ’当检测不到有效的0时,结束

Put#257,,b ’把提取的秘密信息写进解密文件中

End If

Next j

Close#257 ’关闭解密文件,提取秘密信息完成

End Sub

4.3 实验结果分析

实验中所选择的秘密信息文本共包含26个字符,采用的载体文本为 Word2003文档,格式为*.doc,文档包含1019个字符.提取到的秘密信息为26个字符,格式为*.txt.所用的信息隐藏时间不超过2秒,提取时间不超过3秒.隐藏后的文档和原始文档的相似度大于95%,提取的秘密信息和原始秘密信息的相似度为100%.实验结果如图2~图5所示.

图2 存放秘密信息的文件

图3 提取出的秘密信息文件

图4 载体文件

图5 嵌入秘密信息后的载体文件

从图4、图5可以看出,隐藏后的文档和原始文档差别很小.本次信息隐藏共修改了从载体文本第1行开始的551个字符的缩放比例值.如果想要获得更好的不可见性,可以选择减少每行修改的字符,这样可以更好的保证不可见性.

5 结 论

本文设计实现了一种通过改变文档字符缩放比例,在Word文档中嵌入秘密文本的信息隐藏算法,从实验结果来看,所提出的算法不可觉察性好,信息隐藏后文件大小基本不变,具有完全解码独立性等优点,而且算法实现复杂度很小,可以满足文件隐秘传输需要,具有广阔的应用前景.该算法的缺点是隐藏容量受明文长度的限制,抗排版编辑能力比较弱.当然不能期望一种隐藏算法能抵御各种攻击,在实际应用中可以结合多种算法,使隐秘通信具有更好的鲁棒性.

[1] 梁旭,远志永,黄明,等.基于行间距编码的文本数字水印算法 [J].信息技术,2008,(3):38-41

[2] 耿红琴.基于Word文本文档的信息隐藏技术研究 [J].科学技术与工程,2007,(11):2686-2688

[3] 吴斌.文本信息的隐藏技术 [J].牡丹江教育学院学报,2007,(4):100-101

[4] 付兵.基于Word字符RGB值的信息隐藏技术 [J].电脑知识与技术,2007,(3):1067-1068

[5] 陈振,陈建华.基于Word文本的信息隐藏方法 [J].福建电脑,2006,(2):41-42

[6] Brassil J,Low S,Maxemchuk N,et al.Electronic marking and identification techniques to discourage document copying[J].Proc IEEE,1999,(7):1181-1196

[7] 张浩,钟尚平.一种以文本内容为载体的信息隐藏技术 [J].微处理机,2010,(3):39-42

On Information Hiding Algorithm Based on Changing Character Scaling in Word Document

QIAN Zong-feng1,CAO Xue-jun1,TANG Wei1,LI Yan-shuang2
(1.Department of Teaching and Research,Communication Training Base of GSD,Xuanhua 075100,Hebei,China;2.College of Science,Hebei North University,Zhangjiakou 075000,Hebei,China)

According to the characteristics of word document,this paper presents information hiding algorithm embedding secret message to word document by changing character scaling.It is showed that it is a simple algbrithm to achieve the goal of embedding secret text with larger information hidden capacity than traditional algorithm.It has a promising prospect of wide use in the fields of file transmitting in a secret way.

information hiding;character scaling;word document;text hiding

TP 317.2

A

1673-1492(2011)04-0032-05

来稿日期:2011-05-16

钱宗峰(1975-),男,河北阳原人,总参谋部通信训练基地信息与通信工程教研室主任,副教授,硕士.

刘守义 英文编辑:刘彦哲]

猜你喜欢

字符文档秘密
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
字符代表几
一种USB接口字符液晶控制器设计
HBM电子称与西门子S7-200系列PLC自由口通讯
消失的殖民村庄和神秘字符
愿望树的秘密(二)
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
我心中的秘密