看起来像普通电子邮件的密码学

信息安全 密码学 电子邮件 隐写术
2021-08-08 17:26:50

我想远离安全机构的自动过滤器,也不会被意外列入禁飞名单等。假设我正在和一个朋友就民主和其他东西进行政治辩论,诸如革命、资本主义、自由之类的术语(哦,你好,国安局!)被抛出了很多。我认为,在通常我会以纯文本形式发送电子邮件的情况下,发送加密电子邮件是触发某些过滤器的可靠方法。

有没有办法加密电子邮件,以便算法难以将密码文本与常规(比如说垃圾邮件,比垃圾邮件更常规)电子邮件区分开来?

例如:

普通PGP密文,容易区分:

-----BEGIN PGP MESSAGE-----
Comment: GPGTools - http://gpgtools.org

hQIMA7t6lidYOUd0AQ//Z7y+/tvQQ0TRoOT0ydUwVjJZh5sLQOEVQNDHGEUjfvL9
7UJhtEaisVwlDsqTEqpa04FWzgehBBDnxgOUFcPB3xSGD9Bi61MItK6gm1phTnEn
hOezHmGqAyrCarofkYn5vpwPZtpSmRvpS9tykhRTKMlhsN5EOLvaDa8TsqMnqwGm
pPC8j219YG2U/OmRa96GTslMaDtIx6470Ea4fcJf2jdo3RlgLEc7BGQVcrOpHj/0
-----END PGP MESSAGE-----

密文,不易区分:

pen3s grow for cheap russion brides are looking for parntners in 
Detroid area visit our website now click to unsubscribe
4个回答

说你真正想做的是让你的加密电子邮件看起来像垃圾邮件。好的,如何实现呢?

一种可能的方法是获取密文并将其分解为可管理的块,例如每个九位。使用一组字典,这些 9 位数量被映射到目标语言中的一个或多个单词(9 位需要 512 个单词的字典,这是可行的,同时提供变化)。马尔可夫链可能用于根据在上一个字典中选择的单词来选择下一个字典,这可能会使输出类似于给定语言中写得很糟糕的文本

通过调整这两个部分之间的交互,可以想象这种方案的输出可以是从废话到半可读文本的任何内容(很像很多垃圾邮件)。它将是文本,而不是二进制数据。

一个更简单的变体是使用PGP 单词列表之类的东西简单地对密文进行编码。这样做的结果当然是完全无稽之谈,但它可能会通过针对给定目标语言的最简单的统计测试。

既然我已经描述了这些想法,它们当然完全没用。你必须想出你自己的东西。;-)

您要的是http://spammimic.com/,这是一个可以做到这一点的网站。他们使用隐写方法使用垃圾邮件语句对位进行编码。

但是,垃圾邮件实施的缺点是严重的。它们是众所周知的,因此您可以打赌,可能对流经其站点的内容感兴趣的人已经在拦截它。并且它们的单词和短语列表是静态的,因此始终可以识别出单个编码。接下来,他们的算法似乎将 13 字节块编码为大约 1 kb 的垃圾文本,因此效率非常低。人们不会阅读(也不会发送)超过一段垃圾邮件,因此 10kb 的垃圾邮件文本块将是高度可疑的。

试图发送多个单词的人正在将它们伪装成更大的文件,例如图片或音乐文件。并不是说这些也不能被发现,但与朋友交换图片比交换大块垃圾邮件的人更不可疑。

最后,人们正在使用“死滴”。他们无需将图像中的秘密计划通过电子邮件发送给他们的同谋,他们可以将图像发布到数千个图像托管站点中的任何一个,或者附加到产品评论或 eBay 销售中。这使得某人更难知道该页面的哪些查看者是对其进行解码的人。

假设您将密文的每个字符替换为一组字典单词,那么您将在很长的消息中包含一堆不相关的单词。虽然这不会使寻找典型密文的算法绊倒,但它可能会绊倒安全服务部门使用的极其聪明的人为检测加密通信的新方法而采用的算法,因此您更有可能引起注意对你自己来说,而不是你只是使用像 GPG 这样的普通东西。

我认为您认为发送加密消息会自动引起您的注意的假设可能是错误的。很多人出于完全正常的原因发送加密电子邮件,他们不会因此而突然被列入禁飞名单。

Leo Marks设计了一个系统,用于以看似无害的纯文本代码进行通信。他在《丝绸与氰化物之间》的第 79 章中对其进行了简要描述本质上,将字符映射到句子片段的大型密码本允许将短消息编码为多个句子。考虑到被扔进垃圾邮件的废话文本的精炼性质,生成一个代码书会相对容易,它会生成不会引起人们注意的文本。

这种方案有两个缺点:

  1. 大小——少量的明文会生成大量的编码文本
  2. 密码书——
    1. 您需要生成一个非常大的代码书
    2. 您需要与您的朋友共享密码书,而其他人不会获得副本

本质上,这只是另一种转置密码,因此容易受到各种攻击。如果您使用它通过现代算法对密文输出进行编码,那么这对可能满足您对机密性和保密性的要求 - 尽管正如 Adnan 指出的那样,保护您的流量免受像 NSA 这样熟练和有能力的对手的攻击有各种各样的陷阱。