This chapter covers:
- Zero-knowledge proofs and how they can be used to simulate cryptographic signatures.
- The existing standards for signatures and how they are implemented in real-world applications.
- The subtle behaviors of signatures and how you can avoid their pitfalls.
You’re about to learn one of the most ubiquitous and powerful cryptographic primitives: digital signatures. To put it simply: digital signatures are similar to the real-life signatures that you’re used to, the ones that you scribe on checks and contracts. Except, of course, that they’re cryptographic and so they provide much more assurance than their pen-and-paper equivalents.
In the world of protocols, digital signatures unlock so many different possibilities that you’ll run into them again and again in the second part of this book. In this chapter I will introduce what this new primitive is, how it can be used in the real world, and what the modern digital signature standards are. Finally, I will talk about security considerations and the hazards of using digital signatures.
Note
Signatures in cryptography are often referred to as digital signatures, or signature schemes. In this book, I interchangeably use these terms.
For this chapter you’ll need to have read:
- Chapter 2 on hash functions.
- Chapter 5 on key exchanges.
- Chapter 6 on asymmetric encryption.