CS 355 Syllabus

(Fall 2005)


Classical Cryptosystems

  • Basics of modulo arithmetic
  • Shift cipher, Substitution cipher,
  • Affine cipher
  • Vigenere cipher
  • The Enigma machine

Basic Secret Key Encryption

  • One-time Pad, Stream Ciphers, RC4 and LFSR's
  • Feistel networks. DES.
  • Strengthening DES: DESX and 3DES.
  • Modes of using block ciphers.
  • Attacks on block ciphers: Time-space tradeoffs, Differential & Linear cryptanalysis
  • The AES cipher.  

Public Key Encryption

  • Basic Number Theory
  • RSA: The algorithm, primality testing, and attacks
  • Rabin encryption
  • Cryptography using arithmetic modulo primes:  Discrete log. Diffie-Hellman Key Exchange.
  • ElGamal encryption.

Message Integrity

  • Non keyed hash functions.  Motivation and applications. 
  • Message Authentication Codes (MAC).   Applications.  
  • Constructions: CBC-MAC, HMAC.

Digital Signatures

  • Definition of secure signature schemes. One-time signature.
  • How to sign using RSA.
  • Brief overview of the Digital Signature Standard (DSS) and ElGamal.    

Identification Protocols

  • Challenege-Response
  • Zero-knowledge proofs: Fiat-Shamir, Schnorr

Key Establishment

  • Key agreement protocols
  • Needham-Schroeder
  • Public key certificates, PKI


  • Blind signatures
  • Commitment schemes
  • Oblivious transfer
  • Electronic cash

Notions of Security

  • Information theoretic security
  • Semantic security
  • Secure Pseudorandom Sequence Generation

Other Topics

  • Secret sharing
  • General Secure Multi-party Computation protocols
  • Quantum cryptography