A Graduate Course in Applied Cryptography

Dan Boneh and Victor Shoup


Table of contents at a glance

Part I: Secret key cryptography
  1. Introduction
  2. Encryption
  3. Stream ciphers
  4. Block ciphers
  5. Chosen plaintext attacks
  6. Message integrity
  7. Message integrity from universal hashing
  8. Message integrity from collision resistant hashing
  9. Authenticated encryption
Part II: Public key cryptography
  1. Public key tools
  2. Public key encryption
  3. Chosen ciphertext secure public-key encryption
  4. Digital signatures
  5. Fast hash based signatures
  6. Elliptic curve cryptography and pairings
  7. Lattice based cryptography
  8. Analysis of number theoretic assumptions
Part III: Protocols
  1. Protocols for identification and login
  2. Identification and signatures from sigma protocols
  3. Proving properties in zero-knowledge
  4. Authenticated key exchange
  5. Key establishment with online trusted third parties
  6. Two-party and multi-party secure computation
Appendices
  1. Basic number theory
  2. Basic probability theory
  3. Basic complexity theory
  4. Probabilistic algorithms

Drafts

Version 0.5: pdf    (posted Jan. 2020)

Version 0.4: pdf    (posted Sep. 30, 2017)

Version 0.3: pdf    (posted Dec. 9, 2016)

Version 0.2: pdf    (posted Aug. 17, 2015)

Version 0.1: pdf    (posted Jan. 22, 2008)


maintained by Dan Boneh and Victor Shoup