MCS 425: Codes and Cryptography

MCS 425

Fall 2018

Monday, Wednesday, Friday 9:00 -9:50 am LH 101

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:

  1. Principles of communication theory and cryptography
  2. Classical cryptosystems
  3. Number theory for cryptography
  4. AES and DES
  5. The RSA algorithm
  6. Error-correcting codes
  7. 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

    Homework 1

  • Aug 29 Hill cipher and diffusion

  • Sep 5 Euclidean algorithm

    Homework 2

  • Sep 7 Extended Euclidean algorithm, modular arithmetic

  • Sep 10 Chinese remainder theorem

  • Sep 12 Fermat's Little Theorem

    Homework 3

  • Sep 14 Modular exponentiation

  • Sep 17 The RSA algorithm

  • Sep 19 Attacks on RSA

  • Sep 21 Primality testing

    Homework 4

  • 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