Curve25519

Curve25519 is an elliptic curve designed for use with ECDHE (Elliptic Curve Diffie-Hellman Exchange). It was released by Dan Bernstein in 2005 but it was not patented and has become the de-facto alternative to P-256.

The Curve25519 function was carefully designed to allow all 32-byte strings as Diffie-Hellman public keys, and avoids problems associated with poor quality random-number generators. Although Curve25519 is one of the fastest ECC curves the recently released FourQLib is between two and three times faster.

A utility to generate Curve25519 keypairs called Curve Keygen is available on GitHub. OpenSSH and GPG now default to using Curve25519 ECDHE.

CECPQ1 uses Curve25519 in combination with the New Hope protocol for testing of Quantum Encryption.