TLS 和 GPG 加密中的 NTRUEncrypt

信息安全 gnupg 后量子
2021-09-09 08:32:16

另一方面,如果以及当量子计算机可用时,常用的密码系统(如 RSA 或 ECC)将被破坏。- https://tbuktu.github.io/ntru/

我们如何在 GPG 和 TLS 中引入 NTRU 以发送 NTRU 加密的电子邮件并通过 NTRU 加密的 https 协议进行通信,以便为后量子时代做好准备?

例如,我们是否可以像现在在 GPG 中使用 SHA 一样使用 NTRU 创建公钥和私钥对?


编辑:事实上,我真的很想使用一种可能的量子安全加密算法,如Ring-LWE、NTRU 或 McEliece来加密我的互联网通信,而不是继续使用加密,这不是 PFS,将在 20 内解密反正几年。

那么我可以使用任何量子安全算法来发送电子邮件吗?

3个回答

很容易,牛仔,你有大约 15 年的时间,直到这真的成为一个问题。您还做出了一个巨大的假设,即 NTRU 将成为后量子时代的首选密码系统。

NTRU 是称为“基于格的加密”的方案集合的一部分仍然在基于格的​​方案中,出于几个原因,许多人更喜欢带错误的环学习而不是 NTRU。总的来说,世界上的专家密码学家一致认为,基于格的方案——作为一个整体——是数学的一个分支,我们目前对它的理解还不够好,无法信任他们提供任何重要的信息。

还有一些称为“基于代码”的加密方案集合,其中McEliece是主要候选者,以及基于同源的技术,由于安全性、密钥大小和速度的原因,这两种技术都被认为比 NTRU 更好。

底线:没有一个后量子算法足够成熟,除了研究代码之外还不能包含在其他任何东西中(尽管如果 GPG 在某个时候包含一个实验版本,我不会感到震惊)。2020 年左右再试一次。


编辑:

针对您更新的问题:

那么我可以使用任何量子安全算法来发送电子邮件吗?

不,不,你不能。这些算法中没有一个被认为是安全的。在我们决定是否信任他们之前,他们仍然需要基础数学家几年的研究。然后我们需要标准化协议和它们周围的东西。

我了解到您在互联网上阅读了一些内容,现在您正在为此进行讨伐。相信我,这正在以最快的速度发展——在数学研究的世界里,有时一个定理需要 200 年的时间来证明——相比之下,完全重新设计加密货币需要 5 年的时间。到 2020 年,您将获得 GPG / TLS / Thunderbird 插件。在那之前,您需要放松一下。

TLDR;确实存在用于后量子加密的 GnuPG 的实验版本,CodeCrypt至于 SSL/TLS,实现是可能的,但让服务器使用它将是一场噩梦。为获得真正的绝对安全,请使用一次性密码本。

长版:嗯,现在是 2020 年,唯一看起来不错的解决方案是CodeCrypt(托管在一个需要很长时间才能加载的网站上的 repo 的镜像这几乎不是你问题的完整答案,但它是一些东西。它被设计为像 GnuPG 一样工作,因为 README 开始:

这是一个类似于 GnuPG 的 unix 程序,用于加密和签名,仅使用抗量子计算机算法:

用于加密的 McEliece 密码系统(紧凑型 QC-MDPC 变体) 用于数字签名的基于散列的 Merkle 树算法(FMTSeq 变体)

你请求了 McEliece 算法,我认为这可能是你现在能得到的最好的算法。在安全性方面,我自己并没有审查过代码,但它是由 Whonix(斯诺登本人使用和推荐的领先开源匿名软件)在他们关于后量子密码学的页面中推荐的。这些都是非常好的证书,当然足以保证对该项目的兴趣和研究。

不幸的是,就方便的加密电子邮件而言,我能找到的唯一 Thunderbird 扩展是“一个实验”,AnnealMail,所以我不建议在任何严重的情况下使用它。

CodeCrypt 本身显然是一个实验,但 Whonix 的推荐和 Whonix 的使用指南很有希望。这当然值得一试,而且鉴于我无法找到任何其他类似 GPG 的系统来实现 PQCrypto,我会说它现在是 GPG 的可行替代方案。可能最好的解决方案是双重加密,一次使用 GPG(我们可以假定它没有后门),然后一次使用 CodeCrypt(我们可以利用可能的安全性而不信任系统来防止后门)。这为我们提供了一个至少可以抵御经典攻击的解决方案,并允许我们利用 CodeCrypt 可能的安全性,而无需完全信任它,因为它是非常新的。

至于 SSL(我真诚地希望你指的是 TLS),祝你好运。鉴于 CodeCrypt 的存在,协议现在应该不会太难,但是让它们与您自己以外的服务器一起工作?祝你好运。它将像 IPv6 一样,是解决一个非常现实的问题的一个很好的解决方案,它仍然没有在全球范围内实施,并且已经分阶段实施多年。替换 TLS 将是地狱​​般的,因为您不仅必须拥有自定义浏览器(或至少自定义构建),而且还需要支持它的服务器,并且从该协议到 TLS 的转换网关将是完全安全的- 明智的无用,打败了整个目的。我认为在广泛使用可以替代 TLS 的 PQCrypto 协议之前,我们还有一段时间需要等待。

如果你想要绝对保证的 PQCrypto,甚至不需要(而且真的不应该使用)计算机,请查看One Time Pads克格勃使用了它们,它们是我们唯一拥有的信息理论上安全的加密算法(据我所知)。这意味着即使是具有无限计算能力的对手也无法破坏它。您想要非常安全的加密电子邮件吗?使用它们。请注意,如果您这样做了,请与即时消息中的即时说再见!

许多组织正在为 TLS 开发 PQCrypto:GoogleCloudflareAWS作为 Google 运行的实验的一部分,您很可能使用了 PQ TLS。

当 NIST PQCrypto 竞赛结束后,将发布 IETF RFC 和 IANA 密码套件 ID,我希望 Chrome、Firefox 和 Safari 能够快速采用 PQ 密钥交换(或 KEM),并且 OpenSSL 能够快速支持它。BoringSSL、Microsoft SChannel、AWS s2n、OpenJDK 等也将支持它,有些比其他更快。较小的 TLS 库会落后,但无论如何你都应该避免使用它们(也许 BearSSL 除外)。

将发布关于 PQ HSM 的 NIST FIPS 标准,HSM 制造商将开始销售 PQ HSM,WebPKI 生态系统将开始规划 PQ 叶证书、握手的 PQ 在线签名,最终甚至是 PQ 子 CA 和根证书。

这一切都需要时间。

密钥交换比证书更紧迫,因为在您停止使用证书一天后可用的量子计算机对攻击者没有任何好处:过去不能 MiTM 连接。但是同一台量子计算机将破坏密钥交换并解密先前记录的流量。所以每个人都想尽快开始使用 PQ 密钥交换,这样当对手拥有足够大的量子计算机时,旧的可破解流量中的秘密就一文不值了。

如果你担心犯罪分子,比特币是一只金丝雀:它会首先受到攻击。如果您担心政府情报服务,他们会使用并行构造来隐藏情报来源,您不会知道他们破坏了您的密码学。