Prerequisites: The main pre-requisite is a high degree of mathematical maturity. We will also rely on some rudimentary knowledge of probability, algorithms, and theory of computation. No prior knowledge of cryptography or number theory is required (but some familiarity will be helpful).
Although the course is intended for PhD students, interested undergraduate and Masters students are encouraged to contact the instructor.
Class/Date | Topic Covered | Notes |
Class 1, 1/6: | introduction, perfect secrecy, one-time pad, optimality. | scribe notes , slides |
Class 2, 1/9: | authentication, secret sharing | scribe notes. |
Class 3, 1/13: | multiparty computation | scribe notes. |
Class 4, 1/16: | statistical security, computational security, indistinguishability | scribe notes. |
Class 5, 1/23: | pseudorandom generators (PRGs), increasing the output size | scribe notes |
Class 6, 1/27: | pseudorandom functions (PRFs), GGM construction from PRGs, CPA security | class slides, PRF notes, CPA notes |
Class 7, 1/30: | MACs from PRFs, One-way functions | MAC slides, OWF Slides, notes |
Class 8, 2/3: | Hardcore Bits, Goldreich-Levin theorem | OWF Slides, scribe notes I, scribe notes II (from 2015) |
Class 9, 2/6: | hash functions, Merkle-Damgaard, Merkle Tree, random oracle | scribe notes |
Class 10, 2/10: | number theory, cyclic groups | scribe notes |
Class 11, 2/13: | discrete logarithms, CDH and DDH assumptions, Diffie-Hellman Key-Agreement | scribe notes |