Instructor

Will Perkins

* willp@uic.edu*

Office: SEO 626

Office Hours: Wednesdays 12:00pm-2:00pm, or by appointment

Course Information
#### Main Topics of the Course:

- Principles of communication theory and cryptography
- Classical cryptosystems
- Number theory for cryptography
- AES and DES
- The RSA algorithm
- Error-correcting codes
- Security protocols: key distribution, digital signatures, Bitcoin

References

- Required textbook: Introduction to Cryptography with Coding Theory, second edition, W. Trappe and L. Washington, Pearson Prentice Hall.

Schedule

- Aug 27 Classic ciphers
- Aug 29 Vigenere ciphers and frequency analysis
- Aug 29 Hill cipher and diffusion
- Sep 5 Euclidean algorithm
- Sep 7 Extended Euclidean algorithm, modular arithmetic
- Sep 10 Chinese remainder theorem
- Sep 12 Fermat's Little Theorem
- Sep 14 Modular exponentiation
- Sep 17 The RSA algorithm
- Sep 19 Attacks on RSA
- Sep 21 Primality testing
- Sep 24 Factoring
- Sep 26 Discrete logarithms
- Sep 28 Bit commitment
- Oct 1 Diffie-Hellman key exchange
- Oct 3 ElGamal cryptosystem
- Oct 5 Hash functions
- Oct 8 Midterm Test
- Oct 10 Birthday attacks
- Oct 12 Hash functions II
- Oct 15 Digital signatures I
- Oct 17 Digital signatures II
- Oct 19 Digital signatures III
- Oct 22 AES I
- Oct 24 AES II
- Oct 26 AES III
- Oct 29 Security protocols I
- Oct 31 Security protocols II
- Nov 2 Collective coin flipping
- Nov 5 Zero-knowledge I
- Nov 7 Zero-knowledge II
- Nov 9 Information theory I
- Nov 12 Information theory II
- Nov 14 Error-correcting codes
- Nov 16 Error-correcting codes
- Nov 19 Bounds on codes
- Nov 21 Linear codes
- Nov 26 Linear codes
- Nov 28 Reed-Solomon codes
- Nov 30 Project presentations
- Dec 3 Project presentations
- Dec 5 Project presentations
- Dec 7 Project presentations
- Dec 11 Final Exam: 10:30am - 12:30pm