New book on Elliptic Curve Cryptography
Quick Links
- Part 1: New book on Elliptic Curve Cryptography
- Part 2: Elliptic Curve Cryptography - Basic Math
- Part 3: Elliptic Curve Cryptography - Security Considerations
- Part 4: Elliptic Curve Cryptography - Key Exchange and Signatures
- Part 5: Elliptic Curve Cryptography - Extension Fields
- Part 6: Elliptic Curve Cryptography - Multiple Signatures
Last year I was asked by Manning Publications if I wanted to write another book on elliptic curve crypto. I said that as long as I can learn a lot of new math I'd love to. So I spent 6 months learning math and then another year writing. The first three chapters are now online here: http://mng.bz/D9NA
Along the way I had proposed to explain an encryption scheme described on NIST as "post-quantum". The week after I sent in the proposal, that scheme was cracked by a really sharp mathematician. So that's not in the book! I was really happy it was broken before I started writing about it.
What is in the book includes how to choose good cryptographic curves over prime numbers and over extension fields. Curves over prime numbers are good for key exchange and single digital signatures. Curves over extension fields are used with point pairing mathematics.
Pairings of points over elliptic curves is an amazing mathematical tool. You input two points of order $n$ on a curve and get out an $n^{th}$ root of unity. The rules are exceptionally useful because two points $P$ and $Q$ multiplied by values $a$ and $b$ will have the point pairing relationship $$e(aP, bQ) = e(P,Q)^{ab}$$ That is, multiplication turns into exponentiation. The last two chapters in the book describe multi-node signatures and zero knowledge proofs as applications for pairings.
The purpose of the book is to 1) explain the mathematics and 2) give code examples that compute the mathematics. Because there is so much math to learn and so many subroutines to describe, it is not until the last two chapters in the book that I get into applications for point pairing cryptography. All the code in the book is in C because it's what I've been using for the last 40 years but also because that's the nominal language for embedded systems.
Because it's not yet physically published, purchasers of the online version get to make comments that will help me improve the final version. The publisher has an incentive to get it early with a 45% discount (code is mlrosing2) which applies until Sept. 13th.
So if you have any interest in elliptic curve crypto, check it out!
SPECIAL from the publisher: Deal of the Day September 14: New MEAP! Save 45% on my book Elliptic Curve Cryptography for Developers and other selected titles @ManningBooks #cryptography #ECC
#EllipticCurveCryptography: http://mng.bz/WrEx
- Comments
- Write a Comment Select to add a comment
Neat! (& congratulations!)
Just FYI, you've got a good graphic (book cover image) to use as the social media thumbnail for this article.
--Jason
Thanks! The marketing folks created the image, so I assume they know all about social media. I don't have accounts on any of them! If anyone wants to forward it onto social media, please feel free to post it.
No, I meant on this website, when you write a blog, you can choose an image to be used, if someone posts a link to your article on social media; it doesn't matter if you have an account or not.
There are a couple tools for previewing social media, one is https://www.zelolab.com/free-tools/preview-as/ and you just enter in the URL.
For example: https://www.zelolab.com/free-tools/preview-as/?url...
In the *Related blog editor page, you can choose an image right below the 3 topics:
Wow, that's pretty neat. Thanks!
To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.
Please login (on the right) if you already have an account on this platform.
Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: