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 signatures from oneway functions
 Analysis of number theoretic assumptions
 Elliptic curve cryptography and pairings
 Lattice based cryptography

Part III: Protocols 
 Identification protocols
 Signatures from identification protocols
 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
