CS 555 Syllabus

(Fall 2004)


   

Introduction

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

Basic Secret Key Encryption  (security against eavesdropping)

  • Information theoretic security. One time pad. Perfect secrecy.
  • Stream ciphers. RC4.
  • Feistel networks. DES.
  • Strengthening DES: DESX and 3DES.
  • Modes of using block ciphers.
  • Attacks on block ciphers: Time-space tradeoffs, Differential & Linear cryptanalysis, Meet-in-the-middle.
  • The AES cipher.  

Message Integrity

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

Public Key Encryption

  • Arithmetic modulo primes. Algorithms: bignum arithmetic, repeated squaring. 
  • Cryptography using arithmetic modulo primes:  Discrete log. Diffie-Hellman Key Exchange.
  • ElGamal encryption.
  • Arithmetic modulo composites. 
  • RSA and Rabin encryption. 
  • Vulnerabilities: Unpadded RSA is insecure. Small private key. 
    Random padding. Timing attacks.  Fault attacks. 
  • Semantic security

Digital Signatures

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

Key Management

  • Key agreement protocols
  • Needham-Schroeder

Identification Protocols

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

Other Topics

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