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
• 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 e
This is a book that is focused on the practicality of implementing elliptic curve cryptography (ECC). Instead of mathematical proofs, flow charts for efficient algorithms and example code are provided. Efficient subroutines for algebraic tools like polynomials are also provided. Recent concepts and applications like pairing-based cryptography and zero knowledge proofs (ZKPs) are treated. This is not a book that develops the mathematics for ECC rigorously. For this, readers may look at a reference like The Arithmetic of Elliptic Curves by Silverman, for example.
In recent job posting from companies working on applications like blockchain or ZKPs, a recurring skill that is sought after is practical knowledge of low-level cryptographic implementation. This book is highly relevant for helping to cultivate that skill.