In cryptography, Curve25519 is an elliptic curve used in elliptic-curve cryptography offering 128 bits of security and designed for use with the Elliptic-curve Diffie–Hellman key agreement scheme, first described and implemented by Daniel J. Bernstein. From Wikipedia