CS 355, Fall 2019, outline

20 August: Introduction, definitions
22 August: Introduction, probabiity, arithmetic, divisibility
27 August: divisibility, gcd
29 August: gcd, primes (FTA), congruences
3 September: congruences
5 September: Caesar, transposition, and simple substitution ciphers
10 September: Homophonic and Vigenere ciphers, IC and Kasiski analysis
12 September: Hill cipher, DES, Feistel Systems
17 September: DES, AES, meet-in-the-middle attack
19 September: AES; ECB, CBC modes, LFSRs
24 September: Number theory: Fermat+Euler Theorems, digit problems, RSA
26 September: Fast exponentiation, prime tests, RSA, RSA signatures
1 October: Diffie-Hellman, Discrete logs, Pohlig-Hellman
3 October: Discrete logs, big-step-baby-step, Massey-Omura, Mental poker
8 October: No class--October break
10 October: Midterm exam in Math 175.
15 October: Quadratic residues, CRT, Solving quadratic congruences
17 October: oblivious transfer, Zero-knowledge proofs
22 October: Zero-knowledge proofs, MAC and Hash functions
24 October: Hash functions, MD5, SHA, Birthday paradox
29 October: Threshold schemes
31 October: DSA, Covert channel in DSA
5 November: Four key exchange protocols
7 November: X.509, PGP
12 November: Kerberos, breaking Kerberos
14 November: random number generation, RSA security
19 November: Contract signing
21 November: Digital cash
26 November: Electronic voting
3 December: Millionaire's problem
5 December: Factoring and generating large primes for cryptography