您的位置:首页 > 其它

RSA 加密长度计算公式

2014-10-24 14:14 232 查看
The length of data that can be encrypted using RSA is determined primarily by the size of the key you're using. You appear to be using OAEP, so the maximum length is:

keyLength - 2 - 2 * hashLength

Where
keyLength
is the length of the RSA modulus in bytes. You're using a 1024 bit key so:

keyLength = 1024 / 8 = 128

And since you're using OAEP with SHA-1

hashLength = 20

So the maximum you can encrypt is:

128 - 2 - 2 * 20 = 86

Which is exactly what your example shows.

To encrypt more data, you could use a larger RSA key, but RSA really shouldn't be used for encrypting large amounts of data, so is usually used as part of a hybrid cryptosystem where RSA is instead used to encrypt a randomly generated key for a symmetric algorithm like AES, and then the symmetric algorithm is used to encrypt the actual data so avoiding the length limits associated with RSA.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: