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:
y2=x3+Ax+Bwhere
4A3+27B2≠0You’ll often see these curves depicted as planar slices of what might otherwise be a 3D plot.
To visualize how much harder it is to break, Lenstra, Kleinjung and Thome introduced in 2013 the concept of "Global Security."; You can compute how much energy is needed to break a cryptographic algorithm, and compare that with how much water that energy could boil. This is a kind of cryptographic carbon footprint. By this measure, breaking a 228-bit RSA key requires less energy to than it takes to boil a teaspoon of water. Comparatively, breaking a 228-bit elliptic curve key requires enough energy to boil all the water on earth. For this level of security with RSA, you'd need a key with 2,380-bits.
The Dual Elliptic Curve Deterministic Random Bit Generator (Dual_EC_DRBG), a Pseudorandom number generator standardized by the National Institute of Standards and Technology (NIST) and promoted by the NSA which generates random-looking numbers using the mathematics of Elliptic Curves. There have been reports are that it could have been designed with a backdoor, meaning that the sequence of numbers returned could be fully predicted by someone with the right secret number.
There has been progress in developing curves with efficient arithmetic outside of NIST, including Curve25519 created by Daniel Bernstein (djb) and more recently computed curves by Paulo Baretto and collaborators.