ECS 127 –
Cryptography –
Syllabus –
Rogaway –
Spring 2024
Summary
- This is a course on modern cryptography
taught from the vantage of a
computer scientist
who spent his career
trying to meld cryptographic theory and practice
.
- See the Winter
2019 schedule for a lecture-by-lecture example of what we might cover.
- Our class is overenrolled and you should take it only if you are
genuinely interested in the subject
and understand that this is fundamentally a theory class.
- The course webpage is a click from my
personal homepage.
Both are on the web, not on Canvas.
Where and When
- Lecture: MWF 9–9:50 in Wellman 2
- Discussion sections:
- Section 1: Thursday 11–11:50 in TLC 3212
- Section 2: Thursday 12:10–1 in TLC 3212
- Section 3: Thursday 2:10–3 in TLC 2218
- Discussion sections start week-1 (i.e., on Thursday, April 4).
- You may go to any discussion section you like (it doesn’t have to
be the one you are registered for).
- I anticipate that I myself (not the TAs) will cover all discussion sections.
Mandatory Attendance
Attendance is mandatory for our class,
both lectures and one weekly discussion section.
Videos will not be made available.
If you anticipate that you can’t attend almost every
class meeting, or
you can attend but would resent having to,
please find another class.
Attendance will be randomly taken using
short, unannounced quizzes. Quizzes may come at any point in the lecture.
You may not leave class between the end of a quiz and the end of lecture.
If you can’t attend a class because of illness or some other
significant problem, email me before class starts
to rogaway@ucdavis.edu with a
one-sentence explanation of what’s going on
and with a subject line of
ECS-127-absent XY
where XY specifies which class you are missing,
encoded as
X∈{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} for the week and
Y∈{M, W, R, F} for the day.
For example, use a subject line of
ECS-127-absent 3W to report that
you need to miss the Wednesday class of week-3.
Use the same kind of emails to let me know that you will be leaving class early.
If you feel during class and have to leave,
send me an email as soon after as you can.
Staff
- Instructor: Phillip Rogaway
Kemper #3009.
email: rogaway@ucdavis.edu
Please do not wear scented products to in-person office hours.
- TA1: Rutuja Kale
rakale@ucdavis.edu
- TA2: Elliot Lin
etlin@ucdavis.edu
For current office hours see the online Google doc available
from the course homepage.
Grading
The anticipated breakdown is
- Attendance: 20% (taken randomly)
- Quizzes: 20% (unannounced)
- Midterms: 40% (each 20%) (6F and 10M)
- Final Project: 20% (Due 10M)
(Self-selected topic, no approval needed,
3-5 typeset pages, TA-graded, group size 1-3)
You must have have a nonzero midterm and a nonzero final project to pass.
Also, to pass the class you may not have any unexcused absences during the first two weeks.
This rule should help reduce enrollment,
preferentially retaining the most interested students.
In assigning grades I may, on a case-by-case basis, deviate from the stated
weightings, if I see a compelling reason.
There are some extra-credit possibilities too: up to:
8% for regularly submitting pretty, typeset homeworks
in discussion sections;
6% if someone takes it on themself to regularly share their beautiful
lecture notes with everyone;
4% for turning in your final project by 8M, or
3% for turning in your final project by 9M;
2% for nicely presenting your perfect HW solution in discussion (each occurrence).
Percentages do not map to letter grades by any predetermined way.
If you have a lower percentage than you’re accustomed to, this doesn’t
mean you’re getting a bad grade.
Due to
extreme grade inflation in the CS department and
a 2024 vote by CS faculty not to adopt
department-wide grading guidelines,
I will probably grade more liberally than in past.
Still, if you’re looking for a class with majority-A-grade grading,
find another class: that has never been me.
Gradescope
Some work will be uploaded to
Gradescope.
Everyone enrolled should have an account there, the enrollment list
sucked up from Canvas. Please login and make sure all is well.
Academic Misconduct – No Phones – No Laptops
This is important, and some students have problems with it.
- No phones. From the moment you step into the classroom
until the moment you exit, cell phones must be off or silenced
and stored in your backpack. Phones may not be on your person.
- No laptops. Do not open your laptop computer in class; it too must be
kept in your bag. That said,
a stylus-employing tablet or fold-flat laptop used exclusively
for taking notes is allowed.
- More generally, if it’s electronic
and either has online connectivity or can make noise,
it must be in your bag before you walk in the door.
This includes smartwatches, AirPods, earbuds, and headphones.
Violating these norms will be treated like
any other form of academic misconduct.
Don’t expect warnings.
If I walk into class and see you on your phone,
I’ll ask you to leave class and provide
me your name for the OSSJA report.
Academic Misconduct – Continued
If you are guilty of academic misconduct, either by your own
admission or by a finding from OSSJA, I will assign you an F grade
in the course (not the exam or assignment involved).
This is in addition to whatever OSSJA does.
This is the
default policy
across the CS Department.
I refer all academic
misconduct matters to
Judicial Affairs (OSSJA).
If you turn in a homework, you may not have consulted any
old solutions. Acknowledge any source from which you
got important ideas.
For exams you may not sit next to a friend.
Here a “friend” is someone you’ve
interacted with and whose name you know; while “next to”
means to the immediate left, right, front,
front-left, or front-right.
If you are having personal or academic problems motivating
you towards academic misconduct,
please come and talk to me,
or talk to a counselor,
or talk to OSSJA.
Problem Sets
This term I won’t require problem sets (homeworks) to be turned in.
I will still put out problem sets,
mostly or entirely reused from the last time I
taught the class.
I encourage you to do these.
We will go over solutions in discussion sections.
If you wish to turn in any correct
and pretty solution to a problem,
and if you’re willing to present your solution to it,
then bring the writeup to discussion section, typeset, and hand it to me
just before discussion section begins.
Also upload it to Canvas before 11 am.
Do not turn in incorrect or handwritten work.
Title it with the problem-set number and problem number.
Include your name as it appears on the roster
(and, afterwards, what you prefer that I call you, if that’s different).
Turning in a problem means that I might ask you to present it to everyone.
Make sure you can do that.
If you do a good job of it, I will give 2% extra credit.
This can accumulate.
I will also award some some extra credit if you regularly
turn in such solutions, even if
I don’t call on you to present.
As you might infer from the grading scheme above,
there will be no final exam in this class.
A final exam is listed in the course schedule for June 13, but I’m not
going to hold it.
No Videos
There will be no video capture.
My experience has been that students
collectively perform worse when I record classes and make the recordings available.
It also reduces attendance,
which changes the basic character of the class.
So: no videos.
You can probably find old videos online, which may or may not be relevant.
Sorry, you may not make homemade videos of lectures, either.
Project
In lieu of a final exam, you are to turn in a final project of your own choosing.
It should be 3-5 pages of succinct, well-written, typeset text.
LaTeX is preferred.
The topic can be anything that is clearly cryptographic.
If in doubt, ask.
Your investigation must go well beyond whatever we have done in class.
There are three types of projects.
- Type-1 Final Project.
Read and understand a paper in the cryptographic
literature. You probably won’t be able to understand everything,
but you should be able to understand the definitions, claims, and
how the paper compares to the related work.
Any paper appearing in CRYPTO, EUROCRYPT, or ASIACRYPT is fine.
Reading a paper often requires looking at additional papers.
- Type-2 Final Project. This is a topic-based project.
For example, what is functional encryption?
What is indistinguishability obfuscation?
What is the history of ideas in Satoshi’s paper?
What cryptographic protocols are used in Tor,
and what has been shown about them?
- Type-3 Final Project. The hardest and most creative sort of project
would be to do something original.
Maybe solving a hard problem inspired by a homework problem, for example.
But dreaming up some ad hoc cryptographic scheme won’t do.
Everyone on your team must fully understand and contribute to the project.
Everyone on your team must participate in the writing.
On your writeup, include a succinct but descriptive title followed by the parenthetical
phrase: (Type-1 Final Project), (Type-2 Final Project), or (Type-3 Final Project).
Include at the top of your writeup the name of all students in the group.
Submit the work only one time on Canvas,
but make sure you tell Canvas all group members, so that everyone gets credit.
Problems are common on group-work,
and know that singleton sets are fine.
If you do like to work in a group, make sure to have clear expectations and redundant,
reliable, well-tested, communication channels.
The quality (and grading) of a project includes the quality of its writing.
Ungrammatical or sloppy English will be strongly penalized.
Only typeset work will be graded.
I may ask some or all students on a project to
present it to me in person.
I may do this on exceptionally good projects, not just problematic things.
Prerequisites
You need to be able to understand mathematical definitions and proofs.
ECS 20 (or MAT 108) is serious prerequisite
in the sense that if you don’t
have at least that level of mathematical maturity
then you will not be able to follow us.
It wouldn’t hurt to have taken ECS 120 as well,
but this is not required.
Hints
There is no required book for this class, and you might find
books, webpages, videos, and friends of limited use.
I recommend that you be totally focussed in class,
avoid sitting in the back,
and either forgo or share in note taking.
Some students assume that a cryptography class is like a computer security class.
It’s not. This class is a theory class, closer to ECS 120 than anything else.
If you struggle with theory, you’ll struggle here.
Grade Distribution — Ambivalence
Over the years, there’s been extreme grade inflation
in the CS Department.
(This is by no means unique to UCD CS; it’s been happening all over.)
To make matters worse, the
extent to which grades are inflated isn’t uniform:
different professors assign wildly different grade distributions,
often corresponding to the classes being taught at very different levels.
Faculty grading guidelines might help to
reduce grade inflation, increase fairness,
and start to address the dumbing down of the curriculum.
But CS faculty recently rejected, yet again,
a proposal that would have formalized voluntary grading guidelines.
This has left me more conflicted than ever about
what sort of grades I should assign at the end of this term.
For decades I taught highly challenging classes where the
median grades would usually end up about 55% and there’d be
a fat distribution in raw scores
(typical example).
Letter grades would reflect the huge range in student performance.
But each year I teach I would struggle more in drawing the lines,
knowing that how I was teaching, and grading, was becoming tougher than most peers.
At the end of each term, I would make multiple passes over course records, and
shift grades up.
For this last term at UCD, I haven’t been able to decide where things will fall.
If it’s important to you that grading be easy,
find a different professor. Students seem to know who they are.
Parting Thoughts
This is my last term at UCD.
I had actually planned to retire last summer,
but stayed on largely because some students really wanted to
take this class with me, or to take the
Black Mirror class that I’m also teaching, an ECS189.
It’s a bittersweet time.
There are some wonderful things about having spent my career
as a cryptographer and a UCD professor—and
some not-so-wonderful things, too.
Perhaps we will pause every now and then to discuss such matters.
Most of us professors are keen to convey facts and techniques,
but less concerned with fostering perspective or introspection.
Have a good term. Do well and do good.
Phil Rogaway
Davis, California, USA
March 2024