7

我可以在一个周期内加密的 RSA 最大块大小是多少?

4096 位密钥大小的 RSA 算法的最大速度是多少?

4

1 回答 1

15

根据 Lenstra在此站点上可用的更新公式,4096 位 RSA 密钥的安全级别与至少 248 位长的加密散列相匹配,例如 SHA-256。

如果您使用 RSA OAEP(并且您应该),那么您最多可以加密的数据量modulus size - 2 - 2*hash size是 446 字节。

使用 RSA PKCS#1 v1.5,您最多可以加密modulus size - 11字节,但 RSA PKCS#1 v1.5 提供的安全性较低(不能证明是安全的,随机填充字节的最小数量应扩展到至少 16 个字节) .

如果您需要加密更多数据,则不应简单地将其拆分并在每个块上多次使用 RSA。那是一个安全漏洞。您必须采取不同的方法,更准确地说:

  1. 选择一个随机的 128 位对称密钥。
  2. 使用经过身份验证的操作模式来加密您的数据(例如 AES-128 GCM)。
  3. 使用 RSA OAEP 加密对称密钥。

RSA 加密(与解密不同)非常快,但时间实际上取决于库和您使用的平台。有关一些参考,请参阅cryptopp 库的网站

于 2012-08-06T05:53:15.543 回答