CS 255 Syllabus

(Winter 2000)


This course is an introduction to the basic theory and practice of cryptographic techniques used in computer security. The course is intended for advanced undergraduates and graduate students.

The following is a tentative list of topics.  Next to each topic we list some related readings in the textbooks.  R31-34 means pages 31 to 34 in Stinson's Red book and W45-49 means pages 45 to 49 in Stallings Blue book.
Note:  Students are responsible for all the material covered during the lectures.  The textbooks do not cover everything said in class.  

Topics - tentative


  • History. Overview of cryptography. Attack models.    R1-13, S1-10.

Secret Key Encryption

  • Information theoretic security. One time pad. Unbreakability of one time pad. 
    How to break a one time pad. Stream ciphers.    R44-51, R20-24.
  • Feistel networks. DES. DESX. 3DES. Luby-Rackoff. The AES process.   R70-83, B50-75.
  • Vulnerabilities: Time-space tradeoffs, Differential & Linear cryptanalysis, Meet-in-the-middle.  R86-97,  B76-88.
  • Key distribution using Trusted Third Parties.   B141-149
  • Merkle puzzels.

Public Key Encryption

  • Arithmetic modulo primes. Algorithms: bignum arithmetic, repeated squaring.  R114-123, B207-220.
  • Discrete log. Diffie-Hellman Key Exchange. ElGamal. Random self reduction.  R162-176, B228-232, B190-192.
  • Arithmetic modulo composites.  B226-227.
  • RSA (CRT). Rabin. Bit security.   R124-128,  B173-181.
  • Vulnerabilities: Factoring, Small private key, broadcast, Random padding. Timing attacks.  R138-144.


  • Non keyed hash functions.  Motivation and applications. Merkle-Damgard and other constructions.   R232-246, B253-269.
  • Message Authentication Codes (MAC).   Applications.  Constructions. B243-253, B293-297.

Digital Signatures

  • How to sign using RSA (PKCS1 vs. Bellare-Rogaway). The Digital Signature Standard (DSS).    B299-313, R202-212.
  • Signature schemes. Lamport and Merkle schemes. Certificates.

Real world crypto

  • Trust management. Certificate chains, cross certification.   B341-349.
  • PGP, SSL, IPsec.   B356-373, B444-460, B402-431.
  • Secure file systems. CFS.  
  • Key Recovery/escrow.


  • UNIX/NT Passwords, salts. One time passwords, S/Key. Encrypted Key Exchange (EKE). Challenge response authentication.   B478-489.
  • Definition of zero knowledge proofs of knowledge, examples. The Fiat-Shamir protocol. 
  • Kerberos V4. The Needham-Schroeder protocol.  B323-340.

Digital Cash

  • Electronic cash systems.   Anonymous cash. Online vs. Offline schemes.
  • Micropayments: payword, micromint. Real Systems: Mondex, VisaCash.

Final Lecture

  • Advanced topics.

Last update: January 15, 2000 by Dan Boneh