Overview#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 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:
- Best Practices OpenID Connect
- Digital Signature Standard
- Elliptic Curve Diffie-Hellman
- Elliptic Curve Diffie-Hellman Ephemeral
- Elliptic Curve Digital Signature Algorithm
- Elliptic Curve Menezes-Qu-Vanstone
- Key size
- NSA Suite B Cryptography
- Open Protocol for Access Control, Identification, and Ticketing with privacY
- RFC 4492
- RFC 7748
- Supported Groups Registry
- TLS 1.3
- Web Blog_blogentry_150617_1