An integral part of blockchain technology is public-key cryptography (PKC). There are several PKC schemes in existence but the two most popular ones are RSA (after Rivest, Shamir, and Adleman) and elliptic curve cryptography (ECC). In blockchains, elliptic curve cryptography is used to prove and validate ownership of data. The inner workings of ECC are often treated as a black box and we want to shed some light on the type of cryptography that gave cryptocurrencies their name. To make this topic more digestible we split it into three parts.
Elliptic Curve Cryptography
We explain ECC and show you the basics of how the math on an elliptic curve works. We look at basic mathematical operations on the elliptic curve and examine the complexity of performing those operations.
Generating Keys and Addresses
Next, we demonstrate how we use ECC to derive a public key from your private key and your address from your public key.
Lastly, we explain how to prove ownership of a private key without revealing any information about it through the creation of a digital signature. We also show how a verifier validates the digital signature by only knowing your public key.