生成新密钥 - ECC 与 RSA

信息安全 密码学 pgp RSA 电子抄送
2021-08-21 19:19:26

我打算再次开始使用 GnuPG。在过去的 2 年里我没有使用过它,并且很惊讶现在有RSA ECC密钥的选项。

在阅读了一些关于ECC的内容后,在我看来,对于它的去向和应该使用哪些曲线存在相当多的不确定性。例如,有一些关于NIST 曲线是否受到损害的讨论。GnuPG 2.1.11 和 libgcrypt 1.6.5 只能在NIST-Brainpool-Curves之间进行选择(使用 GPG 选择哪个 ECC?),而这只是 8 个月前的事。现在我们也可以选择25519-Curve (GnuPG 2.1.18)。

我的问题是开始使用ECC是否安全,还是应该坚持使用RSA至少几年?我想我会使用25519-Curve但是这条曲线是否与旧的 GnuPG 版本和其他系统兼容,还是存在一些问题?这将是我们可以在未来几年使用的东西,还是我应该期望一些曲线被标准化并保持很长时间(如RSA)并得到所有系统的支持,但有些曲线可能会消失,因为它们'不值得信赖?我还看到了一篇论文,其中NSA建议继续使用RSA并等待后量子密码学而不是使用ECC.

我只是一个普通的 GnuPG 用户,但在我看来,密码学在未来几年内的发展方式存在某种不确定性。

2个回答

坚持使用 RSA 很好。ECC 更节省空间,但并非所有地方都支持它。

我的问题是开始使用 ECC 是否安全,还是应该坚持使用 RSA 至少几年?

使用curve25519时,ECC被认为更安全它的设计速度很快,并且不受各种侧信道攻击的影响。RSA 在实际操作中同样安全,并且被现代技术认为是牢不可破的。GnuPG 使用它的速度足够快。

但是这个 Curve 是否与旧的 GnuPG-Version 和其他系统兼容,还是存在一些问题?

它与旧系统不兼容。各方有必要支持相同的算法。但是,您可以拥有多个子项。您可以拥有一个带有 ECC 的较新子密钥,以及一个带有常规 RSA 的旧子密钥,一旦 ECC 支持无处不在,就可以将其撤销。

这也是我们可以在未来几年使用的东西,或者我是否应该期望一些曲线的一些不断变化将被标准化并保持很长时间(如 RSA)并得到所有系统的支持,并且一些曲线可能会消失,因为他们不值得信赖?

ECC 是旧的。不像 RSA 那样古老,但它仍然古老且经过充分研究。由于可信赖性,curve25519 不太可能消失,因为它使用了无所不能的数字。这是一条安全的曲线Curve25519 使用模 p = 2 255 - 19y 2 = x 3 + 486662x 2 + x将此与标准 NIST 曲线(如 P-256)进行比较,其中这些值......充其量无法解释,导致人们推测它们是故意设计为将它们削弱为只有 NSA (NOBUS) 才知道的攻击类别。它失宠的唯一原因是如果发现对这类曲线的重大攻击。

我还看到一篇论文,其中 NSA 建议继续使用 RSA 并等待后量子密码学,而不是使用 ECC。

这部分是因为 ECC 需要更小的密钥大小。对于经典安全来说,这绝对没问题,而且 256 位 ECC 密钥可以比 2048 位经典密钥更强。这两种类型的密钥都可以通过功能强大的密码分析量子计算机破解。要使量子计算机发挥作用,它需要许多量子比特(晶体管的量子等效物)。由于一种称为量子退相干的现象,很难让大量的量子比特一起工作,因此量子比特的数量可能会在一段时间内受到限制。密码分析量子计算机可能有足够的量子位来破解 256 位 ECC 密钥,但不能破解 2048 位 RSA 密钥。等待像 SIDH、NTRU 或 NewHope 这样能够抵抗所有这些攻击的后量子密码学可能会更好。

我只是一个普通的 GnuPG 用户,但在我看来,未来几年密码学的发展方式存在某种不确定性。

继续使用 RSA 是完全可以接受的。一旦 ECC 得到更好的支持,您可以以新子项的形式迁移到它。ECC 密钥和签名小得多,因此如果这是您的优先事项,您可能希望开始使用 ECC。RSA 密钥和签名很大并且可能非常笨重。

椭圆曲线的优势在于,对于给定的假定安全级别*,它们允许使用更小的密钥。

不过据我所知。

  1. 一些流行的曲线是由美国政府创建的,但没有说明为什么选择这些参数。在更偏执的类型中,人们担心美国政府可能通过选择参数来帮助他们破解基于曲线的密码学,从而“后门”了曲线。
  2. 存在更新的“我袖手旁观”曲线,但随后软件支持变得更加成问题。
  3. 传统的 ECDSA(与 DSA 类似,但与 RSA 不同)严重依赖用于签名的系统上的随机数生成器。EdDSA 修复了这个问题,但它是一个相当新的选项(阅读:在使用旧但仍受支持的软件的环境中可能不受支持)并且似乎仅受曲线 25519 支持。
  4. 曲线 25519 是来自受人尊敬的非政府密码学家的“无所不能”曲线,但它“仅”针对 128 位安全级别。
  5. 据我所知,ECC 通常是相当新的,GnuPG 1.x 根本不支持它。一些仍受支持的发行版仍以 1.x 作为其主要 GnuPG 实现。
  6. 虽然量子计算是对所有经典密码学的威胁,但似乎它对 ECC 的威胁比对 RSA 的威胁更大(考虑到两者的当前实践密钥长度)。

鉴于以上所有情况,我坚持使用 4096 位 RSA。

* 鉴于目前最知名的攻击,现在是破解密钥的时候了。