CS 758: Cryptography / Network Security

last updated July 8, 2016

This page contains information about the Computer Science graduate course CS 758, "Cryptography / Network Security". This course is being offered in the Spring Semester, 2016 by Doug Stinson.

Course Information


There is no assigned textbook for the course. However, if you would like a reference (other than the lecture slides), much of the course material can be found in The Third Edition of Cryptography: Theory and Practice.


Slides and Supplementary Material


This course covers cryptographic protocols and their application to secure communication, especially in a network setting.


There are no formal prerequisites. A previous course in cryptography such as C&O 487 (Applied Cryptography), or a course in security such as CS 458/658, would be helpful (but it is not essential) in providing background for the course.

This is not a mathematics course, but a strong math background will be helpful. Cryptography uses a variety of mathematical techniques, most of which are at least introduced in a typical "discrete structures" course. Background that is useful for this course includes basic complexity theory, elementary number theory, algebra, probability, and combinatorics.

Course Outline (from the calendar description)


The course grades will be based on written assignments (which may require some simple Maple programming) plus a course project. I encourage students to work in groups of two or three for the project. The project will include a written component as well as a presentation in class. The project will involve preparing a report on a recent research paper on a topic related to the course material, and/or implementing and analyzing one or more protocols on a topic related to the course material.

Course Project

The timeline for the course project is as follows:
  1. Please form groups of 2 (or 3) and inform me by email as to the membership of your group by June 1.
  2. A 1-2 page outline is due by June 15.
  3. In-class presentations (15-20 minutes) will take place during the last week of classes.
  4. The written report is due during the exam period (the exact date to be specified later).
The project could study one research paper in depth, or provide a survey/comparison of 3-4 related papers. The topic should be something related to the course content, e.g., identification, key distribution, secret sharing, etc. The project should be concerned with protocols (i.e., not just a cryptosystem) and it should have strong crypto content (i.e., it is not a security project). You can also consider topics not covered in the course, e.g., RFID identification. Your project should strive add some significant content to a paper or papers. This could include one or more of the following: There are many possible sources you can look at to find suitable papers. Two of the best are: Feel free to email me or make an appointment to see me if you would like additional guidance.