The Joy of Cryptography is a free undergraduate-level textbook that introduces students to the fundamentals of provable security.
Latest draft: Jan 3, 2021; 286 pages
Table of Contents
- Preface
- Review of Concepts & Notation
- One-Time Pad
- The Basics of Provable Security
- Secret Sharing
- Basing Cryptography on Intractable Computations
- Pseudorandom Generators
- Pseudorandom Functions & Block Ciphers
- Security against Chosen Plaintext Attacks
- Block Cipher Modes of Operation
- Chosen Ciphertext Attacks
- Message Authentication Codes
- Hash Functions
- Authenticated Encryption & AEAD ☆
- RSA & Digital Signatures
- Diffie-Hellman Key Agreement
- Public-Key Encryption
- Index of security definitions
About the Author
Mike Rosulek is a cryptographer and associate professor in the School of EECS at Oregon State University. He has taught cryptography for over 12 years.
For inquiries related to this book, use x@joyofcryptography.com
, where x
is the author's first name.
Additional Information
This book assumes knowledge of basic discrete math concepts; a quick review of these topics is provided in Chapter 0. Readers may also benefit from some familiarity with data structures, algorithms, and theoretical computer science.
Sorry, there are no solutions available for the exercises.
All the sensible textbook titles were already taken. Actual joy not guaranteed.
This book is licensed under Creative Commons BY-NC-SA 4.0. You must give attribution to the author, must not use this book for commercial purposes, and must distribute derivative works under the same license.
You can find even more information in the book's preface.
Follow @JoyOfCrypto on Twitter for updates.
Argument from Authority
The Joy of Cryptography has been used as a primary reference in courses at the following universities:
- Oregon State University
- University of Illinois
- George Mason University
- Johns Hopkins University
- Boston University
- Chinese University of Hong Kong
- Politecnico di Milano (Polytechnic University of Milan)
I would love to hear from you if your university has been using the book!
How to Cite
@ebook{joyofcryptography,
title = "The Joy of Cryptography",
author = "Mike Rosulek",
note = "\url{https://joyofcryptography.com}",
url = "https://joyofcryptography.com"
}
Acknowledgements
This book is possible with support from the National Science Foundation and the Open Textbook Initiative at Oregon State University. Web page design adapted from simple.css by Kev Quirk.