Elliptic Curve Elgamal

Elliptic Curve Elgamal is an elliptic curve version of Elgamal.

The main extra complication is that the plaintext must first be encoded as a point on the elliptic curve.

Setup

Choose:

  • a prime ,
  • an elliptic curve that is nonsingular modulo ,
  • a point on modulo .

Bob chooses a secret integer and publishes

Encryption

Suppose the message has been encoded as a point on the curve.

Alice chooses a random integer and computes

The ciphertext is the pair .

Decryption

Bob computes

and recovers the message by

Security Idea

Security depends on the difficulty of the elliptic curve discrete logarithm problem.