University of Virginia, Department of Computer Science
CS551: Security and Privacy on the Internet, Fall 2000

Lectures | Manifests | Problem Sets | Projects | Resources | Students | Syllabus


Course Description

This course focuses on security and privacy issues relevant to the Internet. The first part of the course will covers cryptography and cryptanalysis. We will also look at applications of cryptography such as anonymous email, digital cash and code signing. The second part of the course looks at the problem of malicious code including viruses, Trojan horses and denial-of-service attacks.

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.

Schedule: Mondays and Wednesdays, 3:00-4:15 in Olsson 120.

Textbook: The required text is:

William Stallings, Cryptography and Network Security, Prentice Hall, 1998.
For other recommended books, see In addition, we will additional papers selected from the research literature.

Web page: All lecture slides and assignments will be available on the web.

Instructor: David Evans

phone x2-2218 (office), (804) 825-1362 (mobile)
officeOlsson, 236A
office hoursMondays, 1:30-2:30; Wednesdays (after class), 4:30-5:30; other times by appointment.

TA: Siddarth Dalai


There will be regular reading assignments, four problem sets, a group project, a midterm and a final exam.

Problem Sets

Occasionally, a small amount of programming may be involved, but most problem sets will be pencil and paper questions. Many problem set questions will require some thought, ingenuity and creativity to solve.


Students will work in groups for 1-4 (small groups permitted only under special circumstances) to complete a project relating to security. See for some project ideas.


There will be a midterm covering the first half of the course and a final exam covering the whole course and scheduled near the end of term.

Collaboration Policy

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. 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.


Grading will be based on approximately the following weighting:

Problem Sets40-50% Project30-50%
Exams30-50% Class Contribution0-10%
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.


The first part of the course covers cryptology - the science of keeping secrets. It includes classical ciphers, symmetric key cryptosystems, public-key cryptography, and applications of cryptography.

The second part of the course covers system security - access control, malicious code, intrusion detection, and other issues.

See the course calendar for details.

CS 655 University of Virginia
Department of Computer Science
CS 551: Security and Privacy on the Internet
David Evans