CS588: Cryptography, Spring 2005

Syllabus Course Description
Cryptology is the science of secrets. This course is about using computation and mathematics to keep and break secrets. We will cover the principles behind cryptology and examine applications of cryptology such as digital money, authentication, transactions, and anonymity.Expected background: Students are expected to have background in algorithms (CS 332 recommended, may be taken concurrently) and discrete math (CS 302 required). Students should be comfortable with programming and proofs.
Meetings: Tuesdays and Thursdays, 9:30am  10:45am in Olsson 005.
Textbook: The required text is Wenbo Mao, Modern Cryptography: Theory and Practice.
Students are also encouraged to read (mostly for fun): The Code Book : The Science of Secrecy from Ancient Egypt to Quantum Cryptography, by Simon Singh.
Web page: http://www.cs.virginia.edu/cs588. All lecture slides and assignments will be available on the web.
Instructor: David Evans
evans@cs.virginia.edu phone x22218 office Olsson, 236A office hours Tuesdays, 2:303:30. Other times by appointment, or stop by my office when the door is open (usually). TA: Matt Spear
mspear@virginia.edu office hours Fridays 2:303:30, CS Department Lounge Email to cs588staff@cs.virginia.edu reaches all of us.
Assignments
There will be regular reading assignments, several problem sets, a group project, a midterm and a final exam.Problem Sets
Problem sets will be assigned approximately every two weeks (four or five during the semester). Many problem set questions are designed to require some thought, ingenuity and creativity to solve. You won't find all the answers straightforwardly in the book. Problem sets will not usually ask you explicitly to write programs, but often it will be useful to write a short program to solve a question.
Project
Students will work in groups for 24 (individual projects will be permitted under special circumstances) to complete a project relating to security. Project may be research projects or outreach projects. More information on the projects will be provided soon.Projects from the previous course offering are here: http://www.cs.virginia.edu/~evans/cs588fall2001/projects/.
Exams
There will be a midterm covering the first half of the course and a final exam covering the whole course. Both exams will be open book.Collaboration Policy
All students in the class must read and sign the CS588 Pledge. Your fellow students are your best resource. In general, students are encouraged to discuss readings and assignments in study groups. Some assignments may have a specific collaboration policy, which should be explained clearly on the assignment. No collaboration is permitted on exams. If the collaboration policy for an assignment is ever unclear, ask the instructor.Students are also encouraged to consult outside sources, including human experts. Always list the resources you used (students, outside experts, papers, web sites) on your submission.
The only exception is solutions to problem sets from previous editions of this course, since it is to both your and the course staff's advantage to be able to recycle successful questions. The solutions are readily available on the web, so everyone is equally tempted by them. We (and your classmates) rely on your honor not to use old solutions. It is considered cheating to look at old problem set solutions.
Evaluation
Grading will be based on approximately the following weighting:
In addition, bonus points are available by solving challenge problems and other opportunities as mentioned in Lecture 1.
Problem Sets 4050% Project 3050% Exams 3050% Class Contribution 010% Grades will be tabulated varying the weights assigned to each category in several different ways using the ranges above. In general, the weighting that is best for you is used.
University of Virginia Department of Computer Science CS 588: Cryptology  Principles and Applications 
cs588–staff@cs.virginia.edu 