从 1024 位切换到 2048 位意味着使用非对称私钥的操作将占用大约 8 倍的 CPU。一个“普通 PC”内核每秒可以执行大约 1000 次 1024 位 RSA 操作,对于 2048 位 RSA,每秒可以执行大约 125 次。请注意,RSA 仅在 SSL 连接开始时使用,而不是之后;此外,在 SSL 中,有一个简短的握手,客户端和服务器通过它重用之前握手的加密交换。Web 浏览器和 Web 服务器经常这样做,因此 SSL 中的 RSA 成本实际上是针对新客户端(即自上次关闭并重新打开浏览器后未连接的客户端)。因此每秒需要一百个左右的新客户端实际查看与服务器上的密钥大小相关的性能问题。并不是所有的 Web 服务器都可以拥有这样的上下文。
我鼓励在实际的现实环境中制定措施。微基准(“每秒多少次解密?”)并不总是好的预测指标。
至于安全性,1024 位 RSA 至今未破。当前的破损记录是RSA-768。一些聪明人试图将 RSA 密钥长度等同于对称密钥的稳健性;有关详细信息,请参阅本网站。这种比较并不完美,因为破解大的 RSA 密钥涉及一些使用非常快的 RAM 的操作,这与对对称密钥的穷举搜索(一个不需要 RAM的令人尴尬的并行任务)完全不同。然而,1024 位 RSA 在某种程度上相当于 77 到 80 位对称密钥。对于偏执狂来说,这还不够,但仍然超出了目前部署的技术已证明可以破解的范围。
NIST 建议现在(自 2010 年起)使用 2048 位 RSA 密钥。如果您使用 1024 位 RSA 密钥,您的网站不会以这种方式被破坏(当它被黑客入侵时,它将通过预先密码分析之外的另一个渠道);但是,您的客户可能会认为使用不合时宜的小钥匙,您并不真正关心他们。它更多的是关于公共关系而不是安全......
如果您确实在使用 2048 位 RSA 密钥时遇到实际性能问题(我不相信,但是,嘿,奇怪的事情发生了),我鼓励您研究椭圆曲线。具有 P-256 NIST 曲线的ECDHE_ECDSA 密码套件将比 RSA-1024 更快,并且与 RSA-2048 一样强(可以说强于)。