ECS 227 — Course Information — Winter 2009


Our class is scheduled to meet Mondays and Wednesdays from 5:10-6:30 pm in 1120 Hart.

Three lectures in the first part of the term must be rescheduled due to travel: there will be no class on Monday 1/12, Wednesday 1/14, and Wednesday 1/28. These will either be changed to three Friday lectures (eg, weeks 1, 3, 5) (our usual time and room) or, if students prefer, we can meet for 2-hour (5:10 - 7:00 pm) instead of 1.5 hours for about half of our meetings. We will discuss which way to do this during Lecture 1.

Please do your best not to miss any lectures; the material may not be accessible any other way.

Office Hours

My office is 3009 Kemper. Office hours are posted on the web, or by appointment, or by no appointment (if you drop by and I'm not too busy, I'll talk with you).

Course Webpage

Go to my homepage at and follow the obvious link to our course web page.


I expect to lecture on some or all of the following topics: introduction - blockciphers - symmetric encryption - pseudorandom permutations and pseudorandom functions - symmetric encryption - hash functions - message authentication codes - authenticated encryption - asymmetric encryption - digital signatures entity authentication - authenticated key exchange - interactive proofs - zero knowledge. Course material is subject to change depending on how fast or slow I go, and depending on student interests. You should communicate with me about what you are interested in.


You need to have some mathematical maturity to take this class; most especially, you need to be able to understand what is (and what is not) a mathematically meaningful definition. Though we don't use a lot of tools, we sometimes use rather subtle definitions and proofs. Courses like ECS 222A (Algorithms) and ECS 120 or ECS 220 (Theory of Computation) are good for building up the necessary maturity. Graduate standing in mathematics should also do fine. I would say that this course is appropriate to first-year grad students with a good math or CS background, and with an interest and some ability in theory, but it might not be appropriate to a first-year grad student with minimal math skills or theory background.

I have taught 227 most years, but sometimes I skip one and teach a different graduate class. I do not yet know if 227 will be offered during the 2010-11 academic year.


There is no "required" text, but there are evolving course notes by Mihir Bellare and me, accessible from the course web page. If you'd like an actual, finished book, the closest one in spirit would seem to be that of Lindell and Katz, Introduction to Modern Cryptography (2007). I may in fact try taking some lectures directly from this book, for a change.


There will be occasional homework assignments. Homeworks should be typeset in LaTeX. Late homeworks will not be accepted. You may not consult any old homework solutions in preparing your homework. Please acknowledge the source of any ideas, whether it be a book, a paper, a colleague, or an apple tree (avoid reclining under durian or jackfruit trees).

You may share ideas with someone else as long as you acknowledge them. If you work with one or more person on a writeup then you should turn in a single writeup.


You must read a paper in the provable-security tradition of cryptography, understand it, and then write something about it. Alternatively, you must do some small research project of your own: anything novel that touches on provable-security cryptography. Projects are due the last day of class. Writeups need not be long; about 2-4 pages should do. But they should be beautiful: meticulously written, nicely typeset, and preferably with some interesting or semi-interesting idea. You will need my approval for final project choices, and you must get this by the end of week 7.

I probably won't discuss the projects in class. You're on your own to remember that you have to do this, and to budget your time appropriately.


There's no midterm, but there's a sort-of final. I prefer to call it a discussion. You'll come in to my office for about 25 minutes to chat. During this time I'll try to ascertain how much you got out of the class. Don't be worried about it; it ain't a big deal. But it helps me understand what students are and are not understanding, and what they are and are not interested in.


Grades are based it on what has been mentioned already, considering your attendance, homeworks, project, and our final discussion. This is a non-required graduate class, so I expect students to be here because they're interested in learning the material. Like most graduate classes, grades tend to be high.

Research in cryptography

Please treat this class as your "invitation" for doing research in cryptography, a most unusual and wonderful subject. Welcome!
Phil Rogaway's homepage