Make your public key protocols smaller and more secure with this accessible guide to Elliptic Curve Cryptography.
Elliptic Curve Cryptography for Developers introduces the mathematics of elliptic curvesтАФa powerful alternative to the prime number-based RSA encryption standard. YouтАЩll learn to deliver zero-knowledge proofs and aggregated multi-signatures that are not even possible with RSA mathematics. All you need is the basics of calculus you learned in high school.
Elliptic Curve Cryptography for Developers includes:
тАв Clear, well-illustrated introductions to key ECC concepts
тАв Implementing efficient digital signature algorithms
тАв State of the art zero-knowledge proofs
тАв Blockchain applications with ECC-backed security
The book gradually introduces the concepts and subroutines youтАЩll need to master with diagrams, flow charts, and accessible language. Each chapter builds on what youтАЩve already learned, with step-by-step guidance until youтАЩre ready to write embedded systems code with advanced mathematical algorithms.
About the technology
The Elliptic Curve Cryptography (ECC) protocol secures everything from credit card transactions to the blockchain. With a little C code, high school calculus, and the techniques in this book, you can implement ECC cryptographic protocols that are smaller and more secure than the RSA-based systems in common use today.
About the book
Elliptic Curve Cryptography for Developers teaches you how ECC protocols work and how to implement them seamlessly in C code. Unlike academic cryptography books, this practical guide sticks to the minimum math and theory you need to get the job done. Author Mike Rosing illustrates each concept with clear graphics, detailed code, and hands-on exercises. As you go, youтАЩll practice what you learn by building two encryption systems for a blockchain application.
What's inside
тАв Efficient digital signature algorithms
тАв Zero-knowledge proofs
тАв ECC security for blockchain applications
About the reader
Readers need to understand basic calculus. Examples in C.
About the author
Michael RosingтАЩs career as a scientist, hardware engineer, and software developer includes high-energy physics, telephone switch engineering, and developing vision devices for the blind.
The technical editor on this book was Mark Bissen.
Table of Contents
1 Pairings over elliptic curves in cryptography
Part 1
2 Description of finite field mathematics
3 Explaining the core of elliptic curve mathematics
4 Key exchange using elliptic curves
5 Prime field elliptic curve digital signatures explained
6 Finding good cryptographic elliptic curves
Part 2
7 Description of finite field polynomial math
8 Multiplication of polynomials explained
9 Computing powers of polynomials
10 Description of polynomial division using EuclidтАЩs algorithm
11 Creating irreducible polynomials
12 Taking square roots of polynomials
Part 3
13 Finite field extension curves described
14 Finding low embedding degree elliptic curves
15 General rules of elliptic curve pairing explained
16 Weil pairing defined
17 Tate pairing defined
18 Exploring BLS multi-signatures
19 Proving knowledge and keeping secrets: Zero knowledge using pairings
Appendix A Code and tools
Appendix B Hilbert class polynomials
Appendix C Variables list