隐写术背后的基本思想是什么?即,你如何获得隐藏的信息?假设如果它是一个图像并且该图像中有一些文本......你如何得到那个文本?..
3 回答
在这方面,每种速记算法都是不同的。每种算法隐藏信息的方式不同,因此获取信息的方式也不同。
一个简单的例子是这样的——图像的每个像素由 3 个字节组成,一个用于红色、绿色和蓝色。大多数人无法检测到图像中颜色的一位差异,因此一种选择是为您的数据使用每个颜色通道的最低有效位。这样,您可以在每个像素中存储 3 位信息,而对图像的总体质量影响很小。
要获取信息,您需要读取每个像素的每个颜色通道的第一位并将所有位收集在一起。
这只是一种非常简单且几乎微不足道的速记方法。真正的速记算法涉及更多。就像在密码学中一样,没有办法一般地“取消隐藏”所有速记。您需要知道您要解码的算法。
最基本的想法是图像包含大量您的眼睛无法看到的冗余信息。例如,如果您更改了每个像素的最后一位,则不会有明显的变化,因为几乎所有关于颜色的信息都是其他位。因此,您可以使用最后一位(最基本的算法)对消息进行编码。然而,直方图将被更改,并且很容易检测到大消息。就消息本身的解码而言,消息本身可能正在使用公钥加密,因此您永远不会知道实际的有效负载是什么。
如果 Eve(正在窃听和练习隐写分析)知道有一条消息,则隐写术与密码学不同,则被认为是损坏的。这些假设基于 Alice 和 Bob 正在被监视,并且任何通信都表明他们正在做某事(又名囚犯,限制性政府,未来的所有政府,呵呵 ;-))
当然,算法变得比只翻转最后一位要复杂得多,但是编码不会影响图像结构的数据(并且容易受到统计攻击。):
我去年夏天读了这本书,我认为这是一个很好的介绍(它有很多所用算法的伪代码) http://www.amazon.com/Steganography-Digital-Media-Principles-Applications/dp/0521190193
来自希腊语 Steganos(我是希腊语:P)的隐写术是隐藏消息的艺术。密码学是关于对消息进行加扰,而隐写术是关于一个人无法找到消息的。
有许多工具可以为您执行此过程。我认为编写这样的工具可能是一个复杂的过程,尽管我没有尝试这样做。您需要创建一种正确使用未使用或看似不重要的图像像素或数据的复杂方法,以便添加您自己的消息、文件等。有关更多信息,请查看:http://www.symantec .com/connect/articles/steganography-revealed