Nadia Heninger (nadiah at cs dot ucsd dot edu)
Office hours: Tuesday 3:30pm, tables outside the CSE building (EBU3B 3138 if bad weather)
Laura Shea Office Hours Thursday 4pm, tables outside CSE building
Adam Suhl Office Hours Monday 5pm, tables outside CSE building (EBU3B B240A if bad weather)
Psi Vesely Office Hours Wednesday 3:30pm, tables outside CSE building
Tuesday/Thursday 2:00pm-3:20pm P416 West Outdoor Tent
Wednesday 9:00am-9:50am P416 East Outdoor Tent
Gradebook and links on Canvas
Assignment submission on Gradescope
Asynchronous Q&A on Piazza, Synchronous Q&A on Discord, links on Canvas
40%: Homework assignments
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, certificates, public-key infrastructure, key distribution, and various applications and protocols including commitment and secure computation.
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.
Please do not show up in person to lecture, discussion, or office hours if you have any cold symptoms whatsoever.
We will do our best to broadcast lectures synchronously on Zoom and record for later observation via podcast. There may be technical failures.
While we are not policing attendance and encourage you to stay home if you are sick, this is still an in-person class. Please do not structure your life so that you can never, ever come to lecture, discussion, or office hours in person. The exam schedule below is only tentative and is subject to change.
Our intent is to hold exams in person, but honestly there is so much that is currently uncertain about the pandemic that exactly how we run it will depend on how things go during the quarter.
|Homework 0 available on Gradescope|
|9/29||Discussion||Homework 1 available|
|Homework 0 due at 2pm|
|10/5||Block Ciphers and Pseudorandom Functions|
|10/6||Discussion||Homework 1 due at 9pm |
Homework 2 (with Playcrypt assignment) available
|10/13||Discussion||Homework 2 due at 9pm |
Homework 3 (with Playcrypt assignment) available
|10/14||Message Authentication Codes|
Lecture on Zoom
|10/20||Discussion: Midterm Review||Homework 3 due at 9pm|
Indoor location: Center 119
Outdoor location: P416 West Tent
One 8.5"x11" cheat sheet allowed
|10/26||Computational Number Theory|
|10/28||Computational Number Theory|
|11/11||Veterans Day: No Class|
|11/23||Random Number Generation|
|12/9 3-6pm||Final Exam|
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.