具有非对称加密的 >=2048 位密钥是否足够安全以协商对称加密密钥?

信息安全 加密 RSA 不对称
2021-08-22 14:46:41

假设客户端应用程序已经知道它需要与之通信的服务器的公钥,并且客户端应用程序需要使用正常的非安全互联网连接连接到服务器,那么我可以假设当前(在当前状态密码学)2048 位非对称公钥和加密是否足够安全以允许客户端和服务器协商对称加密密钥?

您可能会问客户端如何知道服务器的公钥是什么。在这种情况下,客户端是专门为服务器编写的,它们将使用自己的通信协议和数据,因此我假设服务器的公钥可能被编码到客户端中,或者客户端应用程序可以从它运行的地方访问。我确实理解这种情况会使安全性对任何有权访问客户端应用程序的人开放。

我完全不知道当前使用的非对称加密算法中哪一种提供了与计算成本平衡的最佳安全性。我对RSA有点了解。如果您对哪个更受欢迎有任何建议,那么这也可能对我的研究有所帮助。

谢谢您的意见。

2个回答

首先让我们回顾一些概念,以避免混淆。

非对称加密密钥具有结构,这是支持“非对称”事物所必需的。总是,破解正确定义和实施的非对称加密的最佳方法是尝试解开该内部结构。在 RSA 的情况下,公钥是一个大整数(模数)和一个(通常很短)指数的组合,“内部结构”是模数的素因数的知识。

不同的非对称加密算法将使用不同的结构元素,没有充分的理由说明不同的密钥类型会为给定长度提供相同的“强度”,特别是因为“长度”不是绝对属性。在 RSA 的情况下,长度是模数的大小;2048 位 RSA 密钥是模数介于 2 2047和 2 2048之间的 RSA 密钥。当编码为字节时,完整的RSA 密钥当然更大,因为您也必须将公共指数放在某个地方。

一般来说,在实践中可以遇到的主要非对称密码算法有:

  • 基于整数分解的算法:公钥包含一个大的复合整数,并且知道该整数的素数因子允许恢复私钥。该类型的主要算法是RSA;该类别中的其他(使用较少的)算法包括 Rabin 的加密(和 Rabin-Williams 签名)和 Paillier 的非对称加密。

  • 基于离散对数的算法:有一个众所周知的素数模p,还有一些整数gp私钥是某个整数x,公钥是g x mod p该类别中最著名的算法包括 Diffie-Hellman(密钥交换)、El Gamal(非对称加密)和 DSA(签名)。

  • 基于椭圆曲线的算法:这些算法实际上与离散对数算法相同,只是计算是在称为椭圆曲线的代数对象中完成的,而不是对素整数p取模。数学更复杂,但椭圆曲线似乎对给定大小的离散对数更具弹性,因此允许使用更短的元素(这反过来意味着更好的性能)。

  • 基于晶格缩减的算法。此类别适用于NTRU该算法尚未获得广泛认可(专利无济于事)。


分解整数,打破离散对数......需要使用一些需要大量 CPU大量 RAM 的专用算法。我们通常喜欢通过尝试将攻击成本与暴力破解对称密钥的成本标准化来“比较优势”。对称密钥只是一堆比特;蛮力正在尝试所有可能的组合。

当然,这种简单的比较实际上是行不通的:

  • 试用一个对称密钥的成本取决于所涉及的加密算法。并非所有这些都意味着相同的每个键的工作量。
  • 对称密钥的蛮力根本不需要 RAM,并且可以并行化。例如,整数分解算法不能完全并行,并且需要大量 RAM(尤其是非并行部分)。
  • 与对称密钥相反,非对称密钥通常寿命较长;例如,在您的情况下,您有一个RSA 密钥,并且会即时生成许多对称密钥。因此,非对称密钥的密钥破解机器的投资回报通常更高(破解一个非对称密钥往往会产生更多的权力)。

尽管如此,这并没有阻止各种机构估计各种非对称密钥的强度,例如说 RSA 2048 位密钥的强度与 112 位对称密钥大致相同。由于一些怪异且鲜为人知的原因,离散对数和整数分解似乎为相同的模数大小提供了相似的强度(严格来说,离散对数略强,使用当前已知的算法)。

有关这些估计的详细信息,请参阅此站点

底线: RSA-2048 会很好。当您的系统被破坏时,它不会是通过预先破坏您的密钥;相反,它将通过您存储私钥的服务器受到损害,无论是因为普通的缓冲区溢出,备份磁带的粗心放错,还是心怀不满的员工的行为,道德都变幻莫测。

据该公司 PGP 称,2,048 位 RSA 密钥相当于 112 位对称密钥。一个 3,072 位的 RSA 密钥相当于 128 位。根据 NIST 的说法,到 2030 年左右,2,048 位应该“足够好”。除此之外,还需要至少 3,072 位的 RSA 密钥长度。

在我看来,攻击者会追求您的非对称密钥,因为可以通过您描述的协议推断出它是恒定的。因此,您希望强度至少等于您正在交换的对称密钥。即使客户端在相对低功率的移动设备上运行,我也不会非常担心计算成本,因为您可能会加密 256 位。

我同意CodesInChaos关于 ECC 的说法,但考虑到 NSA 一直在做的事情,我担心算法的安全性。就个人而言,我更愿意坚持更多人更清楚地理解的东西。也许这只是我的偏执狂和缺乏理解。

PGP Corporation 的信息可在本文档的第 27 页找到:http ://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp630.pdf NIST 的信息可在此处:http ://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf第页。64. 对 2030 年的引用来自 NIST SP 800-57 的早期版本,可在此处找到:http ://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08- 2007.pdf