如何使用公钥在openssl中加密大文件

如何使用公共密钥加密大文件,以使只有拥有私有密钥的人才能解密该文件?

我可以使RSA公共和私有密钥生效,但是在使用以下命令加密大型文件时:

openssl rsautl -encrypt -pubin -inkey public.pem -in myLargeFile.xml -out myLargeFile_encrypted.xml

以及如何执行解密…

我通过以下命令创建我的私钥和公钥

openssl genrsa -out private.pem 1024

openssl rsa -in private.pem -out public.pem -outform PEM -pubout

我收到此错误:

RSA operation error

3020:error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size:.\crypto\rsa\rsa_pk1.c:151:

我尝试制作大小从1024到1200位的键,没有运气,同样的错误

回答:

公钥加密不适用于对任意长文件进行加密。人们使用对称密码(例如AES)进行常规加密。每次生成,使用并使用RSA密码(公钥)加密新的随机对称密钥。密文与加密的对称密钥一起传输到接收者。接收者使用其私钥解密对称密钥,然后使用对称密钥解密消息。

私有密钥从不共享,只有公共密钥用于加密随机对称密码。

以上是 如何使用公钥在openssl中加密大文件 的全部内容, 来源链接: utcz.com/qa/432800.html

回到顶部