Table of Contents
Elliptic curve cryptography (ECC) is a public key cryptosystem used to enhance security like authentication, encryption, and digital signatures. As the name itself suggests the ECC uses values lying on elliptical-shaped curvatures for designing the security system.
ECC was first proposed by Neal Koblitz and Victor S. Miller in 1985 as an alternative to Rivest Shamir Adleman (RSA) cryptography which is standardly used at industrial level.
Working of Elliptical curve cryptography
For elliptic curve-based systems the primary assumption is to find the discrete logarithm of a random element on the elliptic curve with respect to a publicly known base point. This assumption is known as the computational Diffie-Hellman assumption or the elliptic curve discrete logarithm problem. In other words, the working of this cryptography depends on the fact that it is easy to compute a point multiplication and nearly impossible to compute the multiplicand if given the original point and the product point.
RSA has been a widely used security program for a long time. It is currently the industrial standard for public key cryptography which is majorly used for TLS/SSL certificates. Its key size varies from 512 bits to 4096 bits but the minimum recommended size for use is 2048 bits. On the other hand, ECC uses a smaller-bit program varying from 193 bits to 571 bits. The security strength of ECC is far better than RSA. For example, a 256-bit program in ECC is equivalent to a 3072-bit program in RSA and a 384-bit ECC program is equivalent to a 7680-bit RSA program.
Due to its smaller bit size the ECC is more efficient with low storage consumption while RSA becomes slower as the key sizes increase for high security. ECC is mathematically more complex and requires a deeper understanding of elliptic curve theories for application but at the same time, the complexity of the cryptography makes it harder to decode which ultimately gives higher security to the system. RSA relies on simple integer factorizations which makes it easier for applications but it also becomes easier to decode in comparison to ECC.
Components used for Elliptic curve cryptography
In ECC, cryptographic operations are performed on points that lie on an elliptic curve. The general equation for an elliptic curve is: y^2=x^3+ax+b
The base point (G) on the curve and a number of mathematical operations including addition and multiplication of points are the foundation of ECC operations.
The next step for the calculation is a public key generation which is obtained by multiplying a base point G with a private key k which gives a new point K=Gk on the elliptic curve. The point K is the public key.