Book description
An all-practical guide to the cryptography behind common tools and protocols that will help you make excellent security choices for your systems and applications.In Real-World Cryptography, you will find:
- Best practices for using cryptography
- Diagrams and explanations of cryptographic algorithms
- Implementing digital signatures and zero-knowledge proofs
- Specialized hardware for attacks and highly adversarial environments
- Identifying and fixing bad practices
- Choosing the right cryptographic tool for any problem
Real-World Cryptography reveals the cryptographic techniques that drive the security of web APIs, registering and logging in users, and even the blockchain. You’ll learn how these techniques power modern security, and how to apply them to your own projects. Alongside modern methods, the book also anticipates the future of cryptography, diving into emerging and cutting-edge advances such as cryptocurrencies, and post-quantum cryptography. All techniques are fully illustrated with diagrams and examples so you can easily see how to put them into practice.
About the Technology
Cryptography is the essential foundation of IT security. To stay ahead of the bad actors attacking your systems, you need to understand the tools, frameworks, and protocols that protect your networks and applications. This book introduces authentication, encryption, signatures, secret-keeping, and other cryptography concepts in plain language and beautiful illustrations.
About the Book
Real-World Cryptography teaches practical techniques for day-to-day work as a developer, sysadmin, or security practitioner. There’s no complex math or jargon: Modern cryptography methods are explored through clever graphics and real-world use cases. You’ll learn building blocks like hash functions and signatures; cryptographic protocols like HTTPS and secure messaging; and cutting-edge advances like post-quantum cryptography and cryptocurrencies. This book is a joy to read—and it might just save your bacon the next time you’re targeted by an adversary after your data.
What's Inside
- Implementing digital signatures and zero-knowledge proofs
- Specialized hardware for attacks and highly adversarial environments
- Identifying and fixing bad practices
- Choosing the right cryptographic tool for any problem
About the Reader
For cryptography beginners with no previous experience in the field.
About the Author
David Wong is a cryptography engineer. He is an active contributor to internet standards including Transport Layer Security.
Quotes
A staggeringly comprehensive review of the state of modern cryptography. Essential for anyone getting up to speed in information security.
- Thomas Doylend, Green Rocket Security
Covers all the important parts of applied cryptography. A must-read for every Java developer.
- Harald Kuhn, TurnFriendly
An in-depth introduction to cryptography, covering hot topics like blockchain and quantum computing.
- Gábor László Hajba, ProLion
A best-in-category book that takes you all the way from curious novice to confident practitioner.
- William Rudenmalm, Creandum
Publisher resources
Table of contents
- Real-World Cryptography
- Copyright
- dedication
- contents
-
front matter
- preface
- acknowledgments
-
about this book
- Who should read this book
- Students
- Security practitioners
- Developers who use cryptography directly or indirectly
- Cryptographers curious about other fields
- Engineering and product managers who want to understand more
- Curious people who want to know what real-world crypto is about
- Assumed knowledge, the long version
- How this book is organized: A roadmap
- About the code
- liveBook discussion forum
- about the author
- about the cover illustration
- Part 1. Primitives: The ingredients of cryptography
-
1 Introduction
- 1.1 Cryptography is about securing protocols
- 1.2 Symmetric cryptography: What is symmetric encryption?
- 1.3 Kerckhoff’s principle: Only the key is kept secret
- 1.4 Asymmetric cryptography: Two keys are better than one
- 1.5 Classifying and abstracting cryptography
- 1.6 Theoretical cryptography vs. real-world cryptography
- 1.7 From theoretical to practical: Choose your own adventure
- 1.8 A word of warning
- Summary
- 2 Hash functions
- 3 Message authentication codes
- 4 Authenticated encryption
- 5 Key exchanges
- 6 Asymmetric encryption and hybrid encryption
- 7 Signatures and zero-knowledge proofs
-
8 Randomness and secrets
- 8.1 What’s randomness?
- 8.2 Slow randomness? Use a pseudorandom number generator (PRNG)
- 8.3 Obtaining randomness in practice
- 8.4 Randomness generation and security considerations
- 8.5 Public randomness
- 8.6 Key derivation with HKDF
- 8.7 Managing keys and secrets
- 8.8 Decentralize trust with threshold cryptography
- Summary
- Part 2. Protocols: The recipes of cryptography
- 9 Secure transport
- 10 End-to-end encryption
-
11 User authentication
- 11.1 A recap of authentication
-
11.2 User authentication, or the quest to get rid of passwords
- 11.2.1 One password to rule them all: Single sign-on (SSO) and password managers
- 11.2.2 Don’t want to see their passwords? Use an asymmetric password-authenticated key exchange
- 11.2.3 One-time passwords aren’t really passwords: Going passwordless with symmetric keys
- 11.2.4 Replacing passwords with asymmetric keys
- 11.3 User-aided authentication: Pairing devices using some human help
- Summary
-
12 Crypto as in cryptocurrency?
- 12.1 A gentle introduction to Byzantine fault-tolerant (BFT) consensus algorithms
- 12.2 How does Bitcoin work?
- 12.3 A tour of cryptocurrencies
-
12.4 DiemBFT: A Byzantine fault-tolerant (BFT) consensus protocol
- 12.4.1 Safety and liveness: The two properties of a BFT consensus protocol
- 12.4.2 A round in the DiemBFT protocol
- 12.4.3 How much dishonesty can the protocol tolerate?
- 12.4.4 The DiemBFT rules of voting
- 12.4.5 When are transactions considered finalized?
- 12.4.6 The intuitions behind the safety of DiemBFT
- Summary
-
13 Hardware cryptography
- 13.1 Modern cryptography attacker model
-
13.2 Untrusted environments: Hardware to the rescue
- 13.2.1 White box cryptography, a bad idea
- 13.2.2 They’re in your wallet: Smart cards and secure elements
- 13.2.3 Banks love them: Hardware security modules (HSMs)
- 13.2.4 Trusted Platform Modules (TPMs): A useful standardization of secure elements
- 13.2.5 Confidential computing with a trusted execution environment (TEE)
- 13.3 What solution is good for me?
- 13.4 Leakage-resilient cryptography or how to mitigate side-channel attacks in software
- Summary
- 14 Post-quantum cryptography
-
15 Is this it? Next-generation cryptography
- 15.1 The more the merrier: Secure multi-party computation (MPC)
- 15.2 Fully homomorphic encryption (FHE) and the promises of an encrypted cloud
-
15.3 General-purpose zero-knowledge proofs (ZKPs)
- 15.3.1 How zk-SNARKs work
- 15.3.2 Homomorphic commitments to hide parts of the proof
- 15.3.3 Bilinear pairings to improve our homomorphic commitments
- 15.3.4 Where does the succinctness come from?
- 15.3.5 From programs to polynomials
- 15.3.6 Programs are for computers; we need arithmetic circuits instead
- 15.3.7 An arithmetic circuit to a rank-1 constraint system (R1CS)
- 15.3.8 From R1CS to a polynomial
- 15.3.9 It takes two to evaluate a polynomial hiding in the exponent
- Summary
-
16 When and where cryptography fails
- 16.1 Finding the right cryptographic primitive or protocol is a boring job
- 16.2 How do I use a cryptographic primitive or protocol? Polite standards and formal verification
- 16.3 Where are the good libraries?
- 16.4 Misusing cryptography: Developers are the enemy
- 16.5 You’re doing it wrong: Usable security
- 16.6 Cryptography is not an island
- 16.7 Your responsibilities as a cryptography practitioner, don’t roll your own crypto
- Summary
- Appendix. Answers to exercises
- index
Product information
- Title: Real-World Cryptography
- Author(s):
- Release date: September 2021
- Publisher(s): Manning Publications
- ISBN: 9781617296710
You might also like
book
Serious Cryptography
"This practical guide to modern encryption breaks down the fundamental mathematical concepts at the heart of …
book
Demystifying Cryptography with OpenSSL 3.0
Use OpenSSL to add security features to your application, including cryptographically strong symmetric and asymmetric encryption, …
book
Implementing SSL/TLS Using Cryptography and PKI
Hands-on, practical guide to implementing SSL and TLS protocols for Internet security If you are a …
book
Security in Computing, 6th Edition
The New State of the Art in Information Security: From Cloud to Crypto, AI-Driven Security to …