loading...
Cover image for Elliptic Curve Cryptography Explained

Elliptic Curve Cryptography Explained

fangpenlin profile image Fang-Pen Lin ・2 min read

Recently, I am learning how Elliptic Curve Cryptography works. I searched around the internet, found so many articles and videos explaining it. Most of them are covering only a portion of it, some of them skip many critical steps how you get from here to there. In the end, I didn't find an article that really explains it from end-to-end in an institutive way. With that in mind, I would like to write a post explaining Elliptic Curve Cryptography, cover from the basics to key exchange, encryption, and decryption.

To plot the curve for writing this article, and also get a sense of how things work, I wrote a Jupyter Notebook for curve plotting and calculations in Python. The plotting library is matplotlib. And if you want to play around an elliptic curve and feel how it works yourself, lucky you! I made the source code open-sourced here on GitHub, one for real numbers and one for finite field:

Screenshot of my Jupyter notebook for plotting Elliptic Curve

You can find most of the article diagrams in the notebook.

Please note that this article is not meant for explaining how to implement Elliptic Curve Cryptography securely, the example we use here is just for making teaching you and myself easier. We also don't want to dig too deep into the mathematical rabbit hole, I only want to focus on getting the sense of how it works essentially. So we will strip out many math details and only provide a reference read for it.

Now, shall we begin?

Alt Text

Since LaTeX is not supported on dev.to, please:

>> Read the whole article on my blog <<

Posted on by:

fangpenlin profile

Fang-Pen Lin

@fangpenlin

A Master Generalist Software Engineer, working at Niantic. Opinions are my own.

Discussion

pic
Editor guide