Learning crypto: The Elliptic Curve Digital Signature Algorithm

cryptog-a

 

In today’s installment, we’ll be studying the elliptic curve digital signature algorithm (ECDSA) used by bitcoin.  It is the method that cryptocurrency uses to mathematically prove that one has the right to spend coin.

Hopefully, you took the opportunity to understand the Diffie-Hellman-Merkle secret key exchange, which I wrote about previously.

As in the DHM algorithm, the elliptic curve algorithm utilizes asymmetric cryptography, also known as public key infrastructure (PKI), with elliptic curve cryptography (ECC) added in. It’s a tad more difficult to understand, lacking the intuitive accessibility of DHM.  I’m thankful that I was able to find the following outstanding youtube that explains the mathematics clearly and in context. Kudos to Matt Whitlock for doing such a fantastic job presenting the somewhat difficult material while remaining focused.

In order to gain a reasonable understanding of bitcoin’s mathematics of authenticity,  I had to watch and suffer through dozens of mediocre, boring and wandering videos.   Many were not all that understandable nor were they 100% accurate.

This is the one is fully understandable and well worth watching.  Get a nice cup of tea, take a deep breath and fully experience the joy of learning.

So, the value of and motivation for using the ECDSA is that it achieves a greater degree of security with fewer bits in the key space.  Essentially, one gets 1024 bits of protection at the reduced cost of only 60 bits.

I hope you are enjoying these articles; please feel invited to leave suggestions below if there are specific topics you would like me to address.

 

Other articles by rebphil that you might enjoy. 
Dark Wallet     Alpha Test Introduction    Dark Lobby   Alpha 4 update
Learning Crypto     DHM Key exchange     Eliptical Curve DSA     Greedy Mining
CannaCoin     IRC tipbot wallet     CannaStore
Tips for Phil:
BTC: 1JcNZ48vhNATfa96dXw8CVGhggSE2X795W
LTC: LVzr5taTj5Y4zG8MvpSGbQAT92YXrqdnpu
DRK: XhoZYuH64bbfbvTErPSKRi9jzMJA4QNNaM