Skip to content

Spring 2020 Syllabus

matthewdgreen edited this page Mar 19, 2020 · 14 revisions

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

Textbooks and Resources:

Grading criteria

  • Written homework assignments (10% of grade, see grading notes below)
  • Programming assignments (40% of grade)
  • Two exams (40% of grade, combined)
  • Class participation (10% of grade)

Written assignments will be graded probabilistically. This means that not all homework questions will be graded, but specific (student, problem number) pairs will be selected using a cryptographically-secure pseudorandom number generator. Your overall homework grade will be based on the grades for these questions, and only these questions.

There is no scheduled final exam for this course. Examinations will include two in class midterm exams. However: at the instructor's sole discretion one of the in-class midterm exams may be substituted for a final exam (during the scheduled exam period). This will be announced during the second half of the semester. Thus, students are expected to maintain availability to take the final exam during the scheduled finals period, unless the instructor excuses them.

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

Course Schedule

1/27: Introduction

  • Weekly written assignment 1 handed out, due Monday 2/3 11:59pm
  • Reading: Anderson (Security Engineering), Chapter entitled Cryptography: Sections on Symmetric Crypto Primitives (5.4 in online version)

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

  • Reading (supplementary, optional): Handbook of Applied Cryptography, chapter entitled "Block Ciphers".
  • Programming assignment 1 is out

2/3: Intro to Cryptographic Primitives II (Symmetric key crypto continued)

  • Reading: Anderson (Security Engineering), Chapter entitled Cryptography: Asymmetric Crypto Primitives (5.7 in online version).
  • Reading (supplementary, optional): Handbook of Applied Cryptography, chapter entitled "Public Key Encryption".
  • Weekly Assignment #2 is out, due in one week

2/5: Intro to Cryptographic Primitives III (Symmetric crypto)

  • Programming Assignment 1 is due on Weds 2/12, 11:59pm!
  • Reading: Lucky13

2/10: Intro to Cryptographic Primitives IV (Public-key crypto)

2/12: Crypto Primitives V (Public-key crypto cont'd)

2/17: Crypto Primitives VI

2/19: Protocols I: TLS

2/24: Protocols II: TLS, Signal

2/26: Physical Security

3/2: Side Channel Attacks I

3/4: Side Channel Attacks I

3/9: Backdoors Lecture ("Building trust in an 
untrustworthy world")

3/11: Class canceled

3/16: SPRING BREAK

3/18: SPRING BREAK

3/23: Side channels II:

3/25: Provable Security I

3/30: Provable Security II

4/1: Provable Security (contd)

4/6: Provable Security (contd)

  • Assignment 3 due today, 11:59pm

4/8: Bitcoin

4/13:

4/15: TBD (to accommodate schedule overflow)

4/20: (No class)

4/22: DRM

4/27: Zero Knowledge

4/29: TBD (to accommodate schedule overflow)