Course Description

The goal of this course is to use modern public-key cryptography as a vehicle for learning various important concepts in advanced mathematics. Topics will include Diffie-Hellman key exchange, RSA cryptosystem, NTRU cryptosystem, elliptic curve cryptography, discrete logs, DES and AES, digital signatures, hash functions, error correcting codes, and quantum cryptography. To understand these ideas, we will need to study ring theory, probability, number theory over a finite field, elliptic curves, abstract linear algebra surrounding lattices, NP-Completeness, and various other subjects. There will also be a computational component to the course -- encryption, decryption, and attacks on cryptosystems using a computer.

The more general objective of this course is to continue providing you with a deeper understanding and working knowledge of advanced mathematics, and in particular with one of its most powerful applications — cryptography— while in the process strengthening your analytical skills, increasing your ability to communicate mathematics symbolically and orally, and making you comfortable with reading and understanding mathematics on your own.