1
Instructor:
Nadia Heninger
(nadiah at cs dot ucsd dot edu)
Office hours: Tuesday 2-3pm, EBU3B 3138
TAs:
Eugene Lau Office Hours: Monday 3-5pm
Adam Suhl Office Hours: Wednesday 3-5pm (tables outside CSE building 3pm-4pm, then B250A 4pm-5pm)
Lectures:
Tuesday/Thursday 3:30pm-4:50pm Center 105
Discussion:
Monday 6pm-6:50pm Center 212
Class Resources:
Gradebook and links on Canvas
Assignment submission on Gradescope
Asynchronous Q&A on Piazza, Synchronous Q&A on Discord, links on Canvas
Grading:
40%: Homework assignments
20%: Midterm
40%: Final
This course is an introduction to modern cryptography. Cryptography, broadly speaking, is about communicating in the presence of an adversary, with goals like preservation of privacy and integrity of communicated data. We will cover symmetric (private key) and asymmetric (public key) cryptography, including block ciphers, symmetric encryption, hash functions, message authentication, authenticated encryption, asymmetric encryption, digital signatures, RSA and discrete-logarithm-based systems, basic post-quantum cryptography, certificates, public-key infrastructure, key distribution, and various applications and protocols like TLS.
This is not a general computer security course. If you are interested in web security, network security, OS security, application exploitation, or other topics like these please take CSE 127.
Topic | References | Assignments | |
1/7 | Introduction Lecture Slides | Homework 0 available, with starter code | |
1/9 | Classical Encryption Lecture Slides | ||
1/13 | Discussion | ||
1/14 | Block Ciphers Lecture Slides | Homework 0 due at 3:30pm | |
1/16 | Block Ciphers continued Lecture Slides | Homework 1 available, with starter code | |
1/21 | Pseudorandom Functions Lecture Slides | ||
1/23 | Symmetric Encryption Lecture Slides | Homework 1 due at 3:30pm; Homework 2 available, with starter code | |
1/27 | Discussion | ||
1/28 | Stream Ciphers and PRGs Lecture Slides | ||
1/30 | Hash Functions Guest lecture: Adam Suhl Lecture Slides | Homework 2 due at 3:30pm Homework 3 available, with starter code (due Friday Feb 7 at 3:30pm) | |
2/3 | Discussion | ||
2/4 | Message Authentication Codes Lecture Slides | ||
2/6 | Authenticated Encryption Lecture Slides |
Homework 4 available, with starter code | |
2/10 | Discussion+Midterm Review | ||
2/11 | Midterm One 8.5"x11" cheat sheet allowed | ||
2/13 | Computational Number Theory Lecture Slides | Katz and Lindell Ch. 8 ``Number Theory and Cryptographic Hardness Assumptions'' Supplemental Lecture Slides | |
2/18 | Diffie-Hellman key exchange Lecture Slides | Katz and Lindell Ch. 10 ``Key Management and the Public-Key Revolution'' | Homework 4 due at 3:30pm |
2/20 | Discrete logarithms and RSA Lecture Slides | Katz and Lindell Ch. 9.2.2, Ch. 11 Supplemental Lecture Slides | Homework 5 available, with starter code |
2/24 | Discussion | ||
2/25 | RSA,Public-Key Cryptography, and Hybrid Encryption Lecture Slides | Katz and Lindell Ch. 11.1, 11.2, 11.3, 11.5 Supplemental Lecture Slides | |
2/27 | Digital Signatures Lecture Slides | Katz and Lindell Ch. 12.1, 12.2, 12.3, 12.4, 12.5 Supplemental Lecture Slides | Homework 5 due at 3:30pm
Homework 6 available, with starter code |
3/3 | Discussion | ||
3/4 | Elliptic Curve Cryptography Lecture Slides | Katz and Lindell Ch. 8.3.4, 11.4.4, 12.5.2 | |
3/6 | Authenticated Key Exchange and TLS Joint lecture with Eric Wustrow Lecture Slides | Katz and Lindell Ch. 12.7, 12.8 Supplemental Lecture Slides | Homework 7 available, with starter code and data (due 3/14) |
3/10 | Discussion: Final exam review | ||
3/11 | Post-Quantum Cryptography Lecture Slides | 3/13 | Cryptanalysis Lecture Slides |
3/18 3-6pm | Final Exam One 8.5"x11" cheat sheet allowed |
You will have several problem sets over the quarter. They will be a combination of written proof-based exercises and programming exercises using the Python-based Playcrypt library.
You are expected to write up your homework solutions yourself. You may discuss the problems with small groups of your fellow classmates. Please credit your collaborators on your homework submission.
Late work policy: You have four late days that you can use for any reason. You can use at most one late day per assignment to turn it in late and receive credit. A late day is a full 24 hour period. These should cover all of your normal extension needs. If you have an unforeseen and truly extenuating circumstance that will impact all of your courses for an extended period, please reach out to us and contact the Office of Student Affairs for help with coordination.
Academic Integrity: Failure to follow the collaboration policy on assignments or exams, turning in other people's work as your own, or dishonesty is an academic integrity violation.