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

Encryption 要编码的RSA最大块大小是多少?,encryption,rsa,Encryption,Rsa,我可以在一个周期内加密的RSA最大块大小是多少 那么,密钥大小为4096位的RSA算法的最大速度是多少?根据Lenstra更新的可用公式,4096位RSA密钥的安全级别由至少248位长的加密哈希匹配,例如SHA-256 如果您使用RSA OAEP(您应该这样做),那么最多可以加密的数据量是模数大小-2-2*哈希大小,即446字节 使用RSA PKCS#1 v1.5,您最多可以加密模数大小-11字节,但RSA PKCS#1 v1.5提供的安全性较低(不可证明安全,随机填充字节的最小数量应扩展到至少

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


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

根据Lenstra更新的可用公式,4096位RSA密钥的安全级别由至少248位长的加密哈希匹配,例如SHA-256

如果您使用RSA OAEP(您应该这样做),那么最多可以加密的数据量是
模数大小-2-2*哈希大小
,即446字节

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

如果您需要加密更多的数据,您不应该简单地将其切碎并在每个块上多次使用RSA。这是一个安全缺陷。您必须采取不同的方法,更准确地说:

  • 选择一个随机的128位对称密钥
  • 使用经过验证的操作模式加密数据(例如AES-128 GCM)
  • 使用RSA OAEP加密对称密钥

  • RSA加密(与解密不同)速度非常快,但时间实际上取决于库和您使用的平台。有关参考信息,请参见。

    @owlstead正确使用动词的优点,我编辑了答案。对于受RSA加密保护的对称密钥的完整性,OAEP已经提供了完整性。在我看来,这甚至没有必要,因为稍后使用的是身份验证模式(嵌入MAC)。也许你指的是真实性(这项计划没有提供)?不,我指的是完整性。但我感到困惑的是,对OAEP的填充oracle攻击只能作为侧通道攻击,换句话说,就是对实现的攻击。@SquareRootOfTwentyThree:您是否有任何参考资料解释为什么最大大小是
    模大小-2-2*散列大小
    ?@SquareRootOfTwentyThree:最终发现它自己:,第7.1.1节:>要加密的消息,长度最多为k-2-2hLen的八位字节字符串,其中k是模n的八位字节长度,hLen是EME-OAEP哈希函数输出的八位字节长度