Elliptic Curve


Elliptic Curve cryptography (ECC) is an approach to Public Key cryptography based on the algebraic structure of Elliptic Curves over finite fields.

One of the main benefits in comparison with non-ECC cryptography (with plain Galois fields as a basis) is the same level of security provided by keys of smaller size.

Elliptic Curve cryptography can be used for Key-Exchange, Asymmetric Key encryption, or for Digital Signature,, pseudorandom generators and other tasks.

Elliptic Curves are also used in several integer factorization algorithms that have applications in cryptography, such as Lenstra elliptic curve factorization.

Among widely implemented Public Key primitives, elliptic curves offer the best resistance to Cryptanalysis attacks on classical computers, and as a result can be used with smaller key sizes than RSA or finite field based discrete logarithm schemes.

From a high level, Crypto++ offers a numbers of schemes and algorithms which operate over Elliptic Curve.

Fields include both Fp and F2m, and schemes include:

  • Elliptic Curve Diffie-Hellman Key Agreement (ECDH)
  • Elliptic Curve Menezes-Qu-Vanstone Key Agreement (ECMQV)
  • Hashed Menezes-Qu-Vanstone Key Agreement (HMQV)
  • Fully Hashed Menezes-Qu-Vanstone Key Agreement (FHMQV)
  • Elliptic Curve Integrated Encryption Scheme (ECIES)
  • Elliptic Curve Digital Signature Algorithm (ECDSA)
  • Elliptic Curve Nyberg Rueppel Signature Scheme (ECNR)
  • Point Compression

More Information#

There might be more information for this subject on one of the following: