CS 555 Syllabus

(Spring 2012)



  • Introduction and Classical Cryptography. 
  • History of Classical Cryptography: shift cipher, substitution cipher, Vigenere ciphers, and the Enigma machine.    

Perfectly-Secret Encryption

  • Definitions and Basic Properties
  • One time pad
  • Limitations of Perfect secrecy

Block Ciphers

  • Substitution-Permutation Networks
  • Feistel networks
  • DES and attacks:
  • Increase key length of a block cipher
  • AES

Secret Key (Symmetric) Encryption

  • Computational Security.
  • Pseudo-randomness
  • Stream ciphers. RC4.
  • Block cipher modes of operation
  • IND-CPA security

Message Authentication Codes and Collision-Resistant Hash Functions

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

Number Theory and Cryptographic Hardness Assumptions

  • Modular arithmetic basics.
  • Primes, Factoring, and RSA

Private Key Management and the Public Key Revolution

  • Key agreement protocols
  • Needham-Schroeder
  • Diffie-Hellman Key Exchange.

Public Key Encryption

  • Definition.
  • RSA encryption.
  • ElGamal encryption.
  • Homomorphic encryption

Digital Signatures

  • Definition of secure signature schemes.
  • How to sign using RSA.
  • The Digital Signature Standard (DSS) and ElGamal.    

Identification Protocols

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

Other Topics

  • Commitment schemes
  • Secret sharing
  • General Secure Multi-party Computation protocols