Lecture Notes for Boston University CAS CS 538: Fundamentals of Cryptography

The lectures notes below were developed by Leonid Reyzin over the course of teaching Fundamentals Cryptography for four times (2001-2004) at Boston University Computer Science Department. Please contact me if you find any mistakes in them. Note that they have not been changed much since 2004, and therefore some parts (e.g., discussion of SHA-1) are getting a bit out of date.


  1. Information-Theoretic Encryption      (PostScript)     (PDF)
  2. Pseudorandom Generators: Unpredictability and Blum-Micali Construction      (PostScript)     (PDF)
  3. Pseudorandom Generators: Indistinguishability      (PostScript)     (PDF)
  4. Chinese Remainder Theorem and Blum-Blum-Shub PRG      (PostScript)     (PDF)
  5. Polynomially Secure Encryption; Rabin, Blum-Goldwasser and RSA      (PostScript)     (PDF)
  6. One-Way and Trapdoor Functions      (PostScript)     (PDF)
  7. Diffie-Hellman, ElGamal, History      (PostScript)     (PDF)
  8. Semantic Security, Practical Issues      (PostScript)     (PDF)
  9. Lamport's One-Time Signatures; Collision-Resistant Hashing; Signatures for arbitrary-length messages and Merkle trees/signatures      (PostScript)     (PDF)
  10. Random Oracles and Full Domain Hash; PKI      (PostScript)     (PDF)
  11. PRFs and symmetric encryption; MACs      (PostScript)     (PDF)

Note: to view Adobe Acrobat files, you need to install the free Acrobat Reader.