使用rsa解密大文件

时间:2018-04-19 21:32:00

标签: encryption openssl cryptography rsa encryption-asymmetric

我有一个15KB的加密文件(包含一个长的base64字符串)和一个rsa私钥文件。我必须使用私钥解密此文件,但我在尝试使用openssl时收到错误。

这是我试过的命令:

openssl rsautl -decrypt -inkey ./id_rsa -in encrypted_file.enc -out output.bin

我收到的错误如下:

  

RSA操作错误140360486789312:错误:0406506C:rsa   例程:rsa_ossl_private_decrypt:大于mod的数据   LEN:../加密/ RSA / rsa_ossl.c:391:

我很高兴能得到帮助,如何正确行事。

提前致谢。

1 个答案:

答案 0 :(得分:0)

RSA不是为加密(大)数据而设计的,使用AES等对称加密来加密数据。

如果您确实需要非对称加密,即单独的加密和解密密钥,请使用混合加密。混合加密创建一个Ranson对称密钥,使用对称加密对数据进行加密,使用非对称加密对该对称密钥进行加密,并将两者打包在一起。

可加密的数据大小小于密钥大小减去填充。对RSA加密15KB文件需要RSA密钥> 17,000位,这是目前不合理的。非对称加密(RSA)也比对称加密(AES)慢几个数量级。

但有一个问题:您是否真的需要非对称加密,对称加密是否足以满足您的需求?