# Lectures (Cryptography - Spring 2021)

You can find the slides and videos of all the classes in Collab. Below, we list (in reverse chronological order) the material covered in each class and reading suggestions (mostly from the 2nd edition of the Katz-Lindell book).

• Class 26: Consensus protocols for permission-less systems (Nakomoto's protocol).
Reading: Sections 14.1 and 14.2 of the book by Elaine Shi.

• Class 25: Consensus protocols (Byzantine Broadcast and Blockchain) for permissioned systems.
Reading: Chapters 3 and 4 of the book by Elaine Shi.

• Class 24: Continuing MPC: Coin Tossing from Commitments and Secret Sharing.
Reading: The class' slides.

• Class 23: Continuing MPC: Yao's garbled circuits.
Reading: Reading: Section 3.1 of this Book chapter from the EKR book.

• Class 22: Secure multiparty computation.
Reading: Book chapter by David Evans, Vladimir Kolesnikov and Mike Rosulek.

• Class 21: GMW: Zero-knowledge proofs for all of NP
Reading: Lecture note by Henry Corrigan-Gibbs, Sam Kim, David J. Wu.

• Class 20: Interactive proofs, and starting Zero-Knowledge Proofs
Reading: Lecture note by Henry Corrigan-Gibbs, Sam Kim, David J. Wu.

• Class 19: Complexity class NP, and NP completeness.
Reading: Sections 2.1 and 2.2 of the Arora-Barak book.

• Class 18: Full proof of "Hash and sign" in the random oracle model.
Reading: Lecture note by Leo Reyzin.

• Class 17: Constructing Digital Signatures.
Reading: 12.3 and 12.4 of KL.

• Class 16: Finishing the construction of RSA, starting (definitions of) Digital Signatures.
Reading: 12.1 and 12.2 of KL.

• Class 15: Constructions of Diffie-Hellmand and RSA.
Reading: Section 10 (mainly 10.3) + 11.5.1 and 11.5.2 of KL.

• Class 14: Public-key encryption and key agreement. Security definitions. Intro to basics of number theory.
Reading: Section 8.1 and 11.1 + 11.2 of KL.

• Class 13: Achieving CCA security from CPA-security + MACs.
Reading: Section 4.5 of KL.

• Class 12: Getting secure MAC from PRFs. Defining CCA security (active attacks).
Reading: Section 4.3 and Section 3.7.1 of KL

• Class 11: Defining security for MACs.
Reading: Section 4.2 of KL.

• Class 10: Pseudorandom permutations (block ciphers). Starting authentication (MACs).
Reading: The relevant part of Section 3.5. Section 4.1

• Class 9: Solving the problems in the problem set 1.

• Class 8: Role of randomness, multi-message security, extending message length.

• Class 7: Achieving CPA security using PRFs.
Reading: The relevant part of Section 3.5 of KL.

• Class 6: Why single-message security is not enough, stateful encryption, defining PRFs, CPA security.
Reading: Section 3.4 of KL.

• Class 5: Proving single-message secuiryt of PRG-based encryption, stretching PRGs, PRG in practice
Reading: Section 3.3 of KL (same as last time).

• Class 4: Pseudo-random generators and using them for encryption.
Reading: Section 3.3 of KL.

• Class 3: Limits of perfect secrecy, security games, computational secrecy.
Reading: Sections 2.2, 3.1 and 3.2.1 of KL.

• Class 2: Steganography vs cryptography, Caesar ciphers, perfect secrecy.
Reading: Sections 2.1 and 2.2 of KL.

• Class 1: A bird's view of the journey and logistics.
Reading: Chapter 1 of KL.