比 Curve25519 更安全的曲线

信息安全 电子抄送 尼斯特
2021-08-28 16:53:41

据我所知,Curve25519“仅”提供了一个等于 128 位对称密码的安全级别。我想知道是否有新的(不是 NIST)曲线,它提供与 256 位密码相当的安全级别并且已经被某些应用程序使用?

据我所知,有像 E-521 或 M-511 这样的曲线具有非常高的安全边际,但我不知道目前正在使用它们的任何实现。

(顺便说一句,我知道 128 位被认为是安全的,但是我们经常使用 256 位对称密码结合 4K-RSA 或 256 位曲线似乎有点奇怪。)

2个回答

没有什么比“安全”更安全的了。一个可以提前破解它的攻击者,因为它“只有”128 位安全性,是一个拥有比地球上所有计算机加在一起(甚至包括智能手机和咖啡机)更多的可用计算能力的攻击者。令人难以置信的是,这样的攻击者会俯冲到如此低的位置以致于破坏您的密钥。他已经知道你所有的想法,指导你的所有行动,并且可能也拥有你的灵魂。

超过 128 位的安全级别并不是为了提供“更高的安全性”,而是通过强大的额外位显示来安抚审计员、经理、客户和潜在伙伴(不一定按此顺序)。这就像天堂鸟:通过使用一个超大的密钥,你发送的信号是你非常棒,以至于你可以承受在可笑地扩大的密码学上浪费 CPU 和网络带宽。

实际上,如果(何时)您的钥匙坏了,那么它就不会超过它的大小;这将是由于软件错误、硬件泄漏或设计不良的协议中的密钥滥用造成的。从这个意义上说,我们可以谈论实际的安全性:

  • Curve25519 的设计者和其常用实现的作者是 Daniel J. Bernstein,他以“了解他的行业”而闻名。他的代码可能包含的错误比大多数开发人员所做的要少得多。在所有其他条件相同的情况下,使用他的代码是个好主意。

  • 另一方面,协议是一个重要问题,与密码算法实现相比,破坏协议要容易得多。通过寻找曲线,您正在寻找错误的东西。您应该考虑“我应该使用什么协议?” 然后(只有那时)担心特定的曲线,以防您选择的协议碰巧允许使用多条曲线。Curve25519 尚未(尚未)渗透到所有甚至大多数完善的协议中。例如,在 SSL/TLS 中不支持 Curve25519(但在 SSH 中有一个)。

我意识到这篇文章并没有直接回答你的问题,但我想我还是会把它作为“魔鬼的拥护者”来反驳托马斯的帖子。

我完全同意托马斯的观点;没有人可以给出任何理由认为您在我们的一生中将需要超过 128 位的安全性。

话虽如此,Curve25519 的作者 Bernstein确实与人合着了一条替代曲线 Curve41417,它的安全性刚刚超过 200 位。在他们的论文中,[1] 他们说“很容易看出 2^128 远远超出了当今任何可行的计算”,但他们也认为:

  • 密码原语需要时间来审查——可能存在弱点——因此高安全边际并不是一件坏事
  • 物理上可能的是,在几个世纪后,我们可能拥有足够的计算能力,能够每年计算 2^128 次操作
  • 一些依赖于曲线的 ECC 协议没有严格的安全界限;因此有更高的安全边际来抵消这一点是必要的
  • 我们应该问“我们可以从我们的性能要求中获得多少安全性”,而不是“我们可以从我们的安全要求中获得多少性能”,并且在某些情况下,我们可以轻松负担更高的安全边际

[1] http://cr.yp.to/ecdh/curve41417-20140706.pdf