Am I right with this assumption about the general idea of public key and private key?

  1. The sender encrypts the data with a symmetric key. After that, he encrypts (using RSA algorithm) this symmetric key with the public asymmetric key of the receiver.

  2. The receiver decrypts with his private asymmetric key, and gets the symmetric key used by the sender. With this key, he decrypts the data.

How does the sender know the public asymmetric key of the receiver? 2 options:

  • Diffie Hellman.

  • Digital certificate PKI, by querying a CA.

Is this right?

  • Public key / private key do not imply RSA, thus using RSA algorithm is only an example of possible asymmetric encryption for the implementation of 1/2. There are other ways (including Diffie-Hellman) than public-key encryption of a random to establish a trusted shared secret key, thus 1 and 2 upto and including used by the sender is only an example. DH can't ensure that the receiver's public key is authentic; that requires trust in something: a CA, that some transmission channel is with the intended recipient and free from alteration, that some secret information is shared... – fgrieu Jul 19 '17 at 16:23
up vote 3 down vote accepted

The sender encrypts the data with a symmetric key. After that, he encrypts (using RSA algorithm) this symmetric key with the public asymmetric key of the receiver.

That's one possible implementation of a hybrid cryptosystem for encryption/decryption. It is also quite common to derive the symmetric key using the asymmetric key pair. This is performed for instance by IES for Diffie-Hellman based cryptography but also by RSA-KEM.

How does the sender know the public asymmetric key of the receiver?

  1. Diffie Hellman.

No, Diffie-Hellman is used to derive symmetric keys. It cannot be used to distribute public keys.

How does the sender know the public asymmetric key of the receiver?

  1. Digital certificate PKI, by querying a CA.

An implementation of a PKI could certainly work.

But PKI doesn't necessarily mean that there are CA's (e.g. see how PGP operates).

And if they do exist - for instance in PKI-X used in e.g. browsers - then they generally are only needed to sign certificate requests and verify that certificates are not revoked. During operation the CA certificates can simply be send using a certificate chain. Quering a CA is not required at the time of verification.

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.