Cryptography is the black art turned science of enciphering and deciphering secret messages. It forms the backbone of world-wide communication networks, global financial markets, and anything we might want to hide. This course will teach students the modern and elegant mathematical solutions for establishing a secure communication channel over an insecure network. Spanning over 2000 years of mathematical history, we will build upon the work of some of the greatest mathematicians of all time by learning modular arithmetic, trying to crack the secrets of prime numbers, and pondering over the discrete logarithm problem.
Join us as we apply mathematics and computer science to answer the following question: How can two people who’ve never met share a secret when everything they say is being monitored? Students will finish the course by designing and implementing a test bed for secure communications based on real Internet protocols in the Python programming language.