CS 355 Course Overview

(Fall 2005)



This course is an introduction to the basic theory and practice of cryptographic techniques used in computer security. We will cover topics such as classical ciphers, encryption (secret-key and public-key), cryptographic hashing, digital signatures, secure authentication, key management, Public Key Infrastructure, and zero-knowledge proof protocols.


  • CS182: Foundations of Computer Science
  • CS251: Data Structures

Textbook Information


  • Wade Trappe and Lawrence C. Washington: Introduction to Cryptography with Coding Theory, Second Edition.  Prentice Hall.

Required reading:

  • Simon Singh: The Code Book.  Anchor Books.

Other references:

  • Alfred J. Menezes, Paul C. Oorschot, and Scott A. Vanstone: Handbook of Applied Cryptography. CRC Press 1996.
  • Bruce Schneier: Applied Cryptography, Second Edition.
  • William Stallings: Cryptography and Network Security: Principles and Practice, Third Edition.

Grading (tentative)

The grade will be based on written written assignments (HW), classroom quizs, (QZ), midterm exam (ME) and final exam (FE), as follows:
Grade = 30% * HW + 10%*QZ + 30% * ME + 30% * FE.

Exams are closed books and closed notes. 

Homeworks (tentative)

  • There will be about six homeworks.
  • Homeworks must be TYPED, preferable in Latex.  You must work alone on the assignments.

Academic Integrity

Academic Honesty and Ethical behavior are required in this course, as it is in all courses at Purdue University. The class will be conducted according to the policy written by Professor Gene Spafford. Please take the time to read it carefully. This will be followed unless the instructor provides written documentation of exceptions.

Students are encouraged to talk with the instructor about any questions you have about what is permitted on any particular assignment.