1

我用谷歌搜索了很多关于文本隐写术的信息,发现了这个:http ://www.fourmilab.ch/javascrypt/javascrypt.html & http://www.fourmilab.ch/javascrypt/stego.html

这些 url 的基本原理是将任何文本转换为加密代码,然后使用第二个 url 将该加密代码转换为带有标点符号的无意义英文单词。

这是使用 javascript 完成的,而且效果很好。我的一半工作在这里完成。

现在,我将使用表单将这个带有标点符号的无意义英语单词发送到我的服务器。我不知道如何使用 PHP 在服务器端解密数据,因为它是通过 JavaScript 转换的。

我不希望任何人读取通过网络传输的数据。我只想通过网络传输英语单词,没有别的。

你知道类似的事情吗?在使用 JS/JQuery 发送并使用 PHP 解码之前,隐写形式(仅限带标点符号的英文单词)。

或者任何人都可以建议如何通过上述链接使服务器端部分工作。?

欢迎任何帮助。

谢谢


更新

我不考虑可以在 JS 中看到加密技术的黑客或描述符。我知道他们可以,但我将与普通的非技术人员打交道。

我想要的是,如果一个普通人看到网络的数据流量,那么他/她应该只看到英文单词(无意义也可以)而不是实际的程序/文本。

4

2 回答 2

0

我在我的 PassLok 应用程序中添加了一个文本隐写组件,它可能会给你一些想法。代码位于:https ://github.com/fruiz500/passlok 。如果您查看代码,隐写功能就在一大段文本(包含 GNU 3.0 许可证的一部分)之后,该文本用作默认的封面文本。

有两种方法,都完全用 javascript 实现,因此不需要连接到服务器。Words 方法将明文中的每个字符替换为隐藏文本中的一个单词,从而产生乱码的英语(或任何你的隐藏文本;它也适用于非拉丁语言),带有随机标点符号。Spaces方法首先将每个字符编码成二进制,然后根据编码将covertext中的空格替换为一个或两个空格,从而产生不规则间距的可读文本。收件人不需要有covertext,使用Spaces方法,但最终结果要长得多。

为了解决亚当的批评,即这不会提供真正的安全性,PassLok 在应用 Words 或 Spaces 方法之前首先检查明文是否由另一种方法(或似乎是)加密。

实现的细节很复杂,因此最好查看该源代码并了解它是如何完成的。它有很多评论。

于 2013-11-05T16:49:55.930 回答
0

您提供的链接实际上执行的是相对简单的功能。老实说,加密位并不是很令人印象深刻。您应该为此使用受良好支持的 javascrypt 加密库,您可以在此处阅读更多信息:http ://code.google.com/p/crypto-js/

至于第二个链接,我认为这一切都是在随机抽取一段文本,看起来像纯文本英语,并将消息嵌入到随机位中。结果是一条看起来几乎可以理解的消息。老实说,这几乎比使用基于图像的隐写术更可疑(检查: http: //oakes.github.io/PixelJihad/about.html)。然而,基于图像的隐写术很容易被检测到,因为大多数图像都具有某些自相关属性。

于 2013-12-10T21:54:07.583 回答