How can two people communicate secrets back and forth, even when a third party can eavesdrop on everything they say? Modern cryptography is an increasingly important field which helps to answer this question. It draws from a variety of mathematical and math-related fields, such as number theory, computational complexity, and the theory of algorithms. Topics may include some basic encryption-breaking techniques, the discrete logarithm problem, integer factorization and primality testing, probability and combinatorics, elliptic curves, complexity theory, and P versus NP. The course will introduce several modern techniques, such as Diffie-Hellman key exchange, ElGamal encryption, RSA, and probabilistic prime tests. While this is not a computer programming course, those interested in the subject may find this course an illuminating introduction to some theoretical aspects of the field.
Scheduled Class Time*
*The course will meet for two hours daily (Monday–Friday) for a live class during this window of time. The exact time will be set closer to the program start. In addition to the live meeting times, students will engage in out-of-class learning assignments such as assigned readings, group work, pre-recorded online lectures, and more.
Completion of an algebra course.