要编码的RSA最大块大小是多少?

leb*_*323 7 encryption rsa

我可以在一个周期内加密哪个RSA最大块大小?

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

Squ*_*ree 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库的网站.

  • @owlstead关于使用正确动词的好点,我编辑了答案.对于受RSA加密保护的对称密钥的完整性,OAEP已经提供了完整性.在我看来,由于后来使用的身份验证模式(嵌入MAC),它甚至不是必需的.也许你的意思是真实性(这个方案没有提供)? (2认同)
  • @SquareRootOfTwentyThree:终于找到了它自己:http://www.ietf.org/rfc/rfc2437.txt,第7.1.1节:>要加密的消息,一个长度最多的八位字符串**k-2-2hLen**,其中k是模数n的八位字节长度,hLen是EME-OAEP的散列函数输出的八位字节长度 (2认同)