CS588: Cryptology - Principles and Applications, Fall 2001
Course DescriptionCryptology 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: Mondays and Wednesdays, 2:00-3:15 in Olsson 009.
Textbook: The required text is Making, Breaking Codes: Introduction to Cryptology, by Paul Garrett. (Abbreviated MBC.)
Students are also expected to read (mostly for fun): The Code Book : The Science of Secrecy from Ancient Egypt to Quantum Cryptography, by Simon Singh. (Abbreviated TCB.)
In addition, we will read additional papers selected from the research literature. For other recommended resources, see http://www.cs.virginia.edu/cs588/resources/.
Web page: http://www.cs.virginia.edu/cs588. All lecture slides and assignments will be available on the web.
Instructor: David Evans
firstname.lastname@example.org phone x2-2218 (office), (804) 825-1362 (mobile) office Olsson, 236A office hours Tuesdays, 10:30am-11:30am; Wednesdays after class, 3:30-4:30; other times by appointment.
email@example.com office hours Tuesdays 3:30-4:30, CS Reading Room Anthony Wood
firstname.lastname@example.org office hours Thursdays 12:45-1:45, CS Reading Room
Email to email@example.com reaches all of us.
AssignmentsThere will be regular reading assignments, five problem sets, a group project, a midterm and a final exam.
Problem SetsMany 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 to write programs, but you are free to use programs you create or find to help solve them as you wish.
ProjectStudents will work in groups for 1-4 (small groups permitted only under special circumstances) to complete a project relating to security. There will be a handout the third week of class with more information on the projects. To see some of last year's projects, see http://www.cs.virginia.edu/~evans/cs551/projects/.
ExamsThere will be a midterm covering the first half of the course on October 17 and a final exam covering the whole course and scheduled near the end of term.
Collaboration PolicyYour 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. If this 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 last year's course, since it is to both your and the course staff's advantage to be able to recycle successful questions. The solutions are 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.
EvaluationGrading will be based on approximately the following weighting:
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.
Problem Sets 40-50% Project 30-50% Exams 30-50% Class Contribution 0-10%
The main topics include: Classical Ciphers, Block Ciphers, Public-Key Cryptosystems, protocols and applications.
See the course calendar for details.
University of Virginia
Department of Computer Science
CS 588: Cryptology - Principles and Applications