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