3

I have a PGP public key of B. Now A wants to send an encrypted message to B using his PGP Public key by using PGP method. How can I do this with OpenSSL?

Edit

I have seen wiki page for PGP method where a random key is used to encrypt the message and that random key is again encrypted with senders PGP Public key and then receiver will decrypt the encrypted key using his private key and then that decrypted key is used to decrypt the message. But i am not able to do that process in openssl.

It can be done in gpg, but i want to know how can it be done in OpenSSL?

1
  • The nonce (symmetric) key is publickey-encrypted with the receiver's publickey, not the sender's. As correctly shown in the wikipedia figure you linked on one answer. The sender must have previously obtained, and validated, a copy of the receiver's key. This is fundamental to the design of en.wikipedia.org/wiki/Public-key_cryptography . Apr 8, 2020 at 10:40

2 Answers 2

4

OpenPGP is a protocol not implemented by OpenSSL, including a derivated mode of symmetric encryption. While you could use OpenSSL for the actual cryptographic algorithms, for implementing OpenPGP with OpenSSL commands, you'd have to:

Don't write your own crypto code (this is not an actually small project here), rely on available libraries instead. There's GnuPG which can be interfaced with GPGME, and a bunch of GPGME interfaces and native libraries for pretty much all (more or less) important programming language.

3

No, it cannot. While OpenSSL implements most of the same cryptographic algorithms, it can neither understand nor generate the OpenPGP packet format.

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .