检测StegoPDF中是否存在隐藏消息

时间:2013-11-10 12:43:59

标签: security pdf steganography

我已经在PDF文档中应用了一种特定的隐写术方法。我试图找到一个能够识别我的stegoPDF的免费隐写分析工具。换句话说,如果我的stegoPDF包含隐藏的消息,有人可以帮我找到一些能够处理的免费隐写分析软件。

我需要你的帮助和意见。

1 个答案:

答案 0 :(得分:2)

回答评论中的问题......

  

1)段落的两行之间是否总有相同的间隙(距离或空间)?这个差距的值总是整数吗?

没有。每个文本块(可以只有一个字符和多达一行)可以从任意位置开始绘制在页面上。即使字符串绘制操作被定义为前进到下一行的开头并在那里绘制字符串,每个操作前面都会有一个操作改变一行的高度,从而产生一行不同的距离。

不,行与行的前进(就像所有坐标一样)由浮点值给出。

因此,您可以在行前隐藏信息。这里使用花车,这些隐藏的信息甚至不需要被察觉。

  

2)在同一行中,当文本合理时,两个单词之间是否总是存在相同的差距?换句话说,空间是否恒定在线上?这个差距是整数吗?

在PDF中很常见地略微操纵一行中许多字符对之间的距离。通常,这是为了应用不在PDF中自动完成的字距调​​整。在这样的背景下,即使在文本看似合理的情况下,单词之间的差距也就不足为奇了。

这些差距也是浮点数(或一些浮点数的乘积)。

  

3)当一个页面包含多个段落时,两个段落之间总是存在相同的差距吗?这个差距的值是一个整数吗?

因为段落的行之间的距离可能不同,参见你的问题1,段落之间的距离也可能不同,并以浮点形式给出。

BTW,PDF不知道段落的概念。两行是属于相同段还是不同段,对PDF页面描述没有影响。

  

4)对于每个字符(大写或小写),我们可以建立前一个字符和下一个字符之间距离的统计数据吗?注意空间。

这是什么意思?您当然可以使用PDF(只要它允许文本提取)并创建此类统计信息。

PS:包括评论的澄清:

  

我的意思是大写字符和小写字符之间的差距是否始终相同?例如:Ac& Pc ,,, A和c之间的差距是否与P和c之间的差距相同?

首先,您应该知道PDF页面描述对字符的唯一了解是宽度值。在页面上排列单个文本块的字符时,在排列下一个字符之前,PDF会为字符保留此宽度,后跟字符间距宽度。可以通过特殊运算符设置该字符间距值。 (当然这些值乘以字体大小(仅宽度),水平缩放因子,以及当前变换矩阵和文字矩阵在书写方向上隐含的缩放比例)。

因此,为一个字符保留的宽度与单个文本块的字符中为下一个字符保留的宽度之间的距离始终是当前字符间距值(在应用缩放之前)。

尽管如此,如果角色绘画将其宽度填充到不同的程度,则距离可以出现。这取决于前面提到的宽度值如何与使用的字体文件相对应。这些字体文件可以嵌入PDF中,也可以从本地计算机资源中获取。

通常选择宽度值以产生相当谐波的外观,而无需进一步调整距离。但是,当然有可能使这些值需要修正以获得令人愉悦的外观并隐藏信息。

  

当文本合理时,最初单词之间的差距是否保持不变(在应用Kerning过程之前)?

如果通过上面提到的字符间距值和单词间距值(类似地另外添加到空格字符宽度)生成对齐,并且您查看相同块中的单词之间或使用相同的间距值,单词之间的间隙(缩放前)是相同的。

如果以其他方式进行辩护,距离可能会有所不同。

有关如何计算字形位移的详细信息,这是公式(仍然要应用的文本和转换矩阵):

  

(第9.4.4节,ISO 32000-1:2008