I'm reading a bit about elliptical curve cryptography. The basic idea is to define a dot-operator on the points of an elliptic curve. Given a starting point $P$, and applying this dot-operation $n$ times, we get another point $Q = n. P$ on our curve.

  • The public key: The used curve, the starting ($P$) and ending point ($Q$)
  • The private key: The amount of dot-operations performed ($n$)

Suppose now Alice and Bob both have a public key and a private key in the same cryptosystem, and Alice wants to send Bob a secret message. How does this exactly happen?

Please keep things simple, cryptography is not my domain and I have zero experience with this. I'm aware that there may be duplicates, but all these answers are over my head. Thank you.

  • > there may be duplicates [..] all these answers are over my head You might want to tell us what is not clear in those answers, since this is a very generic question indeed. – Ruben De Smet Oct 8 at 6:26
up vote 1 down vote accepted

If all of the answers on how to turn a key agreement scheme into a hybrid encryption scheme are over your head as you suggest, then you may need to consider studying the basics before worrying about elliptic curves. The specifics of elliptic curves don't change much besides the details of how the secret is computed. That being said...

ECDH is a key agreement scheme, which provides two parties with the ability to generate a shared secret.

A shared secret value is necessary to use a symmetric encryption algorithm

So the answer is quite simple:

  • Bob uses his private key for the group operation using Alice's public key as the base point
  • Alice uses her private key for the group operation using Bob's public key as the base point
  • This results in the same value being shared by both parties, and this value is used as a source of secrecy to generate a key for an authenticated encryption scheme
    • e.g. by applying HKDF to the secret material and using the result as a key for AES-GCM

The "elliptic curves" part of the formula influences the computation of the group operation, some public parameters, and the nature of the private keys. But it otherwise has no influence on the generic key-agreement-to-encryption procedure.

Your Answer
