Skip to content

Fall 2021 Syllabus

alichator edited this page Nov 29, 2021 · 38 revisions

Dates are subject to radical & arbitrary change. Reading assignments are due prior to beginning of the subsequent class.

Textbooks and Resources:


Important course information will be sent through Piazza and the course page here will be updated to reflect that information. Piazza is the best method to contact instructor, however if you must email please start the subject line with [PracticalCrypto] to make it easier to find. We will try to respond to questions within 48 hours, though we hope to make this more prompt with the hiring of additional course support staff.

Office Hours

  • Matt: Wednesdays 2-3:30pm in 313 Malone
  • Alishah: Mondays 2-3:30pm in 216 Malone
  • Rohit Bhat (CA): Thursdays 2-3:30pm in 216 Malone

Additional Office Hours may be available upon request.

Grading criteria

  • Written homework assignments (10% of grade, see grading notes below)
  • Programming assignments (40% of grade)
  • Midterm and final exams (20% of grade, combined)
  • Class project (20% of grade)
  • Class participation (10% of grade)

Late days: You will be provided a total of 120 late hours (the equivalent of 5 days) without penalty. We will be able to track these through gradescope. You will be responsible for not exceeding your allotment of late days, we will not accept assignments after you have used all of your late days (and they will receive a 0). Exceptions and extensions can be given in exceptional circumstances; please contact the course instructor to discuss your circumstances.

There is no scheduled final exam for this course. Examinations will include one in class midterm exam.

Except where explicitly noted, all assignments are to be completed individually by students. You are bound by the CS academic integrity code.

Course Schedule

8/30: Introduction

9/1: Intro to Cryptographic Primitives I (Symmetric key crypto)

9/8: Intro to Cryptographic Primitives II (Symmetric key crypto continued)

9/13: Intro to Cryptographic Primitives III (Symmetric crypto)

9/15: Intro to Cryptographic Primitives IV (Public-key crypto I)

9/20: Intro to Public Key Crypto Mathematics

9/22: Crypto Primitives V (Public-key crypto cont'd II)

9/27: Intro to Elliptic Curve Crypto

9/29: Protocols I: TLS

10/4: Protocols II: TLS Continued

10/6: Protocols 3: TLS Attacks

10/11: Protocols 4: Signal

10/13: Side Channels I

10/18: Side Channels II

10/20: Multi-Party Computation and Private Computation

10/25: MPC and Private Computation II

10/27: MPC and Private Computation III

11/1: MIDTERM (in class)

11/3: MPC and Private Computation IV

11/8: MPC and Private Computation V

11/10: Tor I

11/15: Tor 2

11/17: Back Doors



11/29: No Class

12/1: Project presentations I

12/6: Project presentations II