CS 555, Spring 2009, outline 13 January: Introduction, definitions, Caesar and substitution ciphers 15 January: Vigenere cipher, principles of modern crypto 20 January: Perfect secrecy 22 January: Perfect secrecy, pseudorandomness 27 January: Pseudorandomness, LFSRs 29 January: Pseudorandom generators 3 February: Pseudorandom functions, modes of operation for block ciphers 5 February: Design of block ciphers, DES, AES, meet-in-the-middle 10 February: Number theory: divisibility, primes, gcd 12 February: Number theory: modular arithmetic 17 February: Number theory: Fermat and Euler theorems and their corollaries 19 February: RSA public key cryptography 24 February: RSA signatures 26 February: RSA public key cryptanalysi, groups, discrete logs, ElGamal 3 March: Pohlig-Helllman, Massey-Omura, Diffie-Hellman key exchange 5 March: Midterm exam 10 March: CDH, DDH, mental poker, quadratic residues 12 March: Chinese remainder theorem, Blum primes, oblivious transfer 24 March: Zero-knowledge proofs, hash functions, birthday paradox 26 March: Signing contracts by email. 31 March: birthday paradox, threshold schemes 2 April: DSS, DSA, subliminal channels, Legendre symbol definition 7 April: Digital cash 9 April: Digital cash, electronic voting 14 April: Electronic voting, making large primes 16 April: Making large primes, elliptic curves 21 April: Elliptic curves 23 April: Elliptic curves