如果有足够的计算能力,可以从公钥中导出私钥吗?

信息安全 tls 公钥基础设施 RSA
2021-08-29 13:28:40

是否可以通过蛮力从公钥(例如网站的 SSL 证书)派生私钥?如果是这样,与当前的超级计算机相比,您需要多少计算能力才能使其变得可行?我认为它涉及分解素数,或易于向前计算的类似函数,但在数学上不可能(根据我们目前的理解)反向计算,从而将破解减少到蛮力场景。

1个回答

我认为您在这里混淆了很多事情:

首先:从信息论的角度来看,只有极少数加密方案是完全安全的。这些方案之一是One-time pad有人可能会争辩说,量子密码学在这方面也是一个看起来很有前途的领域。但是,这些都不是实用的,仅由研究该主题的秘密机构或大学使用。

在实践中,我们坚持使用计算安全的算法。这基本上包括了您在谈论密码学时通常会想到的所有内容,例如AESRSADHECC当密钥大小变得足够大时,以我们目前对数学和技术的理解,想出一台能够破解这些方案的计算机是不可行的。其中一些方案容易受到基于量子计算机的理论攻击,尽管这在实践中并不重要然而,由于所涉及的计算的绝对复杂性,有足够好的算法来抵御这些类型的攻击。

我认为它涉及分解素数,或一个易于向前计算的类似函数,但在数学上不可能(根据我们目前的理解)反向计算,从而将破解减少到蛮力场景。

分解素数涉及 RSA,它可能是 SSL/TLS 中使用的最流行的公钥加密系统。确实理论上是可以做到的,但在实践中是行不通的,至少在生成的密钥足够好的情况下是这样。过去有很多例子,结果证明密钥创建过程并不像想象的那么随机,使得猜测私钥成为可能。我建议您观看 Daniel J. Bernstein、Nadia Heninger 和 Tanja Lange 的以下讲座,如果您想了解在某些情况下如何破解 RSA 的有趣见解。

其他方案,例如 DH,基于一组完全不同的问题,例如离散对数问题。这与分解素数无关,但被认为同样困难,这就是为什么两组问题的密钥大小完全相同的原因,例如 1024 - 4096 位。

椭圆曲线密码学 (ECC)是密码学的另一个领域,它基于离散对数问题的推广,其优点是所涉及的密钥要小得多,而安全级别保持不变。

本质上:是的,我们当今的大多数加密系统在理论上都可以被破解,但对于实际目的来说并不重要。以我们目前对所涉及的数学和技术的理解,即使是像 NSA 这样的政府机构也无法制造出足够强大的计算机来以这种方式破解这些计划。