An overview of elliptic curves
Around 1985, Victor Miller and Neal Koblitz pioneered elliptic curves for cryptographic uses. Later on, Hendrik Lenstra showed us how to use them to factorize an integer number.
Elliptic curves are essentially a geometrical representation of particular mathematical equations on the Cartesian plane. We will start to analyze their geometrical models in the 2D plane, conscious that their extended and deeper representation is in 3D or 4D, involving irrational and imaginary numbers. Don’t worry about these issues for now; they will become clearer later on in this chapter.
ECC is used as a valid alternative to some of the asymmetric algorithms we have seen in previous chapters, such as RSA and ElGamal. We will also see that is possible to implement Diffie–Hellman on a particular ECC algorithm.
Moreover, after the advent of the revolution in digital currency, a particular type of elliptic curve called secp256k1 and a digital signature algorithm called Elliptic Curve Digital Signature Algorithm (ECDSA) have been used to apply digital signatures to Bitcoin, ensuring that transactions are executed successfully.
This chapter intends to take you step by step through discovering the logic behind elliptic curves and transposing it to digital world applications.
It has been estimated that using 313-bit encryption on elliptic curves provides a similar level of security as 4,096-bit encryption in a traditional asymmetric system (see www.keylength.com). Such low numbers of bits can be convenient in many implementations that require high performance in timing and bandwidth, such as mobile applications.
So, let’s start to explore the basis of elliptic curves, which involve geometry, mathematics, and many logical properties that we have seen in earlier chapters of this book.