破解1024位OpenPGP加密电子邮件需要多长时间?


9

对于WPA,可以使用计算器来确定破解密码所需的时间,但是我对OpenPGP却一无所获。

破解1024位OpenPGP加密电子邮件需要多长时间(取决于CPU能力)?

我也对其他键大小(例如2048和4096)感兴趣。

Answers:


7

尽管@Jens Erat的答案相当全面,但我确实研究了破坏RSA(OpenPGP背后的算法)的方法,因此我想提出以下观点:

我将打破常规,首先给TL; DR:您无法破解该密钥。如果我们现实地看待这个问题,那么您将无法分解一个1024位整数。您最好的选择是尝试破坏安全链的其他部分(例如,接收者检查其电子邮件的桌面)。

在不考虑现实的情况下,让我们考虑可能的策略:

  • 盲目猜测/强行强迫。对于1024位的半素数,几乎没有任何可能起作用。最好随机使用时间猜测彩票号码。

  • 生成彩虹表。通过将2 ^ 1024以下的每个素数乘以其他每个素数,将结果排除在分解之外,并将结果存储在表中。然后,您所要做的就是查找正确的对。可以想象,这也是不可能的。这将涉及x!成对的x个质数。通过质数计算功能,您正在查看大约2.95 * 10 ^ 307质数-为了进行比较,估计可观察宇宙中的原子数在10 ^ 83的量级上,因此即使我们可以使每个原子存储两个素数及其乘积,以我们的计算机可以索引的方式实现这是不可能的。

  • 使用“ 通用编号字段筛”。GNFS是您选择大型半素数的最佳选择。Kleinjung及其团队使用它来分解768位半素RSA-768。不幸的是,这花了他的团队三年多的时间才能完成,而且比您希望考虑的数字小几个数量级。即使您(每天)花费数百万美元全额租用顶级超级计算机,也几乎不可能考虑这个数字。GNFS的第一步是找到足够的“关系”以解决子问题,这可能需要很长时间。

您最后的选择是使用量子计算机,它将使您可以在可行的时间内计算数字。不幸的是,这些还没有发展到任何有用的程度。因此,就目前而言,我们不能考虑1024位及更大的半素数(以及依赖它们的算法)。


20

首先,假设您正在谈论RSA 1024位加密。

通常,该主题过于复杂,无法提供简单的数字。

tl; dr:在单个CPU上破解OpenPGP加密消息是不可行的,即使使用大型计算集群,也可能需要数年的时间。然而,(对于公众而言)未知的数学缺陷可能会在数量级上改变这种情况,就像量子计算机将来可能会在某个时候(从“互联网时代”的角度来看)所做的那样。

稍长的版本:

破解非对称加密(RSA 1024位密钥)

除了RSA 1024位密钥外,这也适用于较大的密钥。较大的键提供更多的安全性(在计算能力来破解它们的形式),但要记住的安全并没有用钥匙大小线性增加。

信息安全堆栈交换上有一篇不错的文章,“如何估算破解RSA加密所需的时间?” ,其估算值不像“使用Core i7模型xy,您将能够在估计的z小时内破解RSA 1024位密钥”那样,但答案是“个人无法破解RSA 1024位密钥”在合理的时间内具有通常可用的计算能力(即,少数高端机器)。

仅从学术角度考虑了讨论使用更大的计算能力来破坏1024位密钥的问题:

我最近了解到,已经开始为1024位数字分解进行参数选择(这是“聪明”的部分)。筛分在技术上是可行的(在许多大学集群中这将很昂贵,并且需要花费数年的计算时间),但是目前,没人知道如何对1024位整数进行线性缩减。因此,不要指望很快就会有1024位中断。

这可能也适用于具有大量计算能力的大型,资金充足的机构,例如NSA。

事情可能会迅速改变

  • 有人发现了一个数学缺陷,从而将RSA的复杂性降低了几个数量级(某些机构,例如NSA,雇用了许多伟大的数学家),或者
  • 量子计算机最终可以工作并变得足够强大,并且能够运行某些算法。预计在未来几年内不会发生。

对于DSA / ElGamal,情况有所不同。与RSA密钥大小相同的DSA密钥可提供更高的安全性,但同时DSA更容易受到不良随机数的影响(与Debian随机数生成器缺陷相比)。目前针对OpenPGP即将推出的椭圆曲线密码术尚不支持针对已知算法的已知攻击,并且通常被认为是安全的,但尤其是在NIST推荐的曲线上还存在一些疑问(NIST因制造随机随机数而失去了很多声誉。数字生成器(一种标准),以及一些实现方法。

破解对称加密

为了提高性能,OpenPGP使用混合加密,因此消息使用对称加密和随机对称密钥(在OpenPGP中通常称为“会话密钥”)进行加密。再次使用非对称加密算法(例如)对会话密钥进行加密。RSA。

如果您能够破解消息的对称加密密钥,那么您也可以阅读消息(与破解非对称密钥不同,在非对称密钥中,您可以读取所有加密为此密钥的消息)。

非常早期的PGP版本不同(PGP使用Zimmermann自己设计的对称加密算法,称为BassOmatic,被认为是损坏的),所有为OpenPGP定义的对称算法都没有已知的相关攻击。

除非有人选择使用对称加密(这实际上是可能的!),打破使用对称加密算法的消息不应该被认为在暂时可行的。


我不得不问...“不对称”的拼写错误是故意的吗?
David Z

不,当然不是;两者都没有。感谢您通知我。
Jens Erat 2015年

没有“与RSA密钥大小相同的DES密钥”这样的东西。DES使用56位密钥period。它仅由56位密钥定义。您不能使用任何其他密钥大小运行DES。它也不容易受到不良随机数的影响,因为DES在算法的任何时候都不会使用随机数(其他任何分组密码基元也不会使用)。它的特定用途可能包括随机方面(例如,用于CBC模式的IV必须是随机的),但是DES本身是完全确定的。DES也不再使用(偶尔使用三重DES,但从未使用过DES)。您确定要谈论DES吗?
cpast

当然,我也没有想。不应将DES与DSA混淆。DES,PGP,RSA,NSA,DSA:我们需要少于三个字母的缩写!
延斯·埃拉特

最常见的1024位openpgp密钥(与ssl / tls密钥不同)是DSA而不是RSA。我在网上找到了很多有关破解1024位RSA的讨论,但很少有关于破解1024位DSA的讨论。
Plugwash
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.