This is the second part of our primer on elliptic curve cryptography in Clojure (here's part one), where we dive into the basics of public key cryptography, the advantages of using elliptic curves for these operations, and how we can sign and verify signatures in the Bitcoin protocol.Let's get started!
Welcome to part one of exploring Programming Bitcoin's third chapter on elliptic curve cryptography in Clojure. In this section, we will be combining the subjects of the previous two chapters: Finite Fields and Elliptic Curves. Together, they make up the necessary ingredients to create the cryptographic primitives we need to build our signing and verification algorithms, which we will be making in part two!
Welcome to the second part of our Clojure-based exploration of Programming Bitcoin by Jimmy Song. In the first article, we tackled finite fields, which, when combined with this essay's topic, elliptic curves, produce elliptic curve cryptography—the basis of Bitcoin's signing and verification algorithms. The essential math we will learn in this section may seem difficult at first but it is very similar to what we learned before.
This essay is a summary and exploration of Jimmy Song's Programming Bitcoin in Clojure. The book's coding exercises are in Python, and as I am learning both Python and Clojure currently, I thought it would be fun to translate the exercises from Python to Clojure.