A Graduate Course in Applied Cryptography
Table of contents at a glance
Part I: Secret key cryptography 
 Introduction
 Encryption
 Stream ciphers
 Block ciphers
 Chosen plaintext attacks
 Message integrity
 Message integrity from universal hashing
 Message integrity from collision resistant hashing
 Authenticated encryption

Part II: Public key cryptography 
 Public key tools
 Public key encryption
 Chosen ciphertext secure publickey encryption
 Digital signatures
 Fast hash based signatures
 Elliptic curve cryptography and pairings
 Lattice based cryptography
 Analysis of number theoretic assumptions

Part III: Protocols 
 Protocols for identification and login
 Identification and signatures from sigma protocols
 Proving properties in zeroknowledge
 Authenticated key exchange
 Key establishment with online trusted third parties
 Twoparty and multiparty secure computation

Appendices 
 Basic number theory
 Basic probability theory
 Basic complexity theory
 Probabilistic algorithms

Drafts
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