Embedding Data In Point on a Graph: The Beauty and Power Of Elliptic Curves
Few things protect your online environment like elliptic curves
One of the most beautiful things in our online world is humble elliptic curve. It is there whenever you connect to a Web site with the ECDH (Elliptic Curve Diffie Hellman) key exchange method, and in proving the identity of a Web site with ECDSA (Elliptic Curve Digital Signature Algorithm). It is at core of trust in Bitcoin and Ethereum, and is generally making our digital work more private and trusted.
With elliptic curves, we have (x,y) points on a curve that maps to a defined equation, such as:
and where a, b, and p (a prime number) are the characteristics of the curve. With ECC (Elliptic Curve Cryptography), we then define a base point on the curve (G), and can then perform simple operations such as point add (P+P) or point double (2.P). This allows us to compute points through multiplication, where we take a scale value (x) and produce:
which is the point G added x times. Typically we use x as a private key value, and Y as the associated public key. At the current time — for safe curves (eg Curve 25519, NIST P256, and secp256k1) — it is extremely expensive to recover x from Y, even though we know G.