Fall 2024

Mathematics of Public-Key Cryptography

Listed in: Mathematics and Statistics, as MATH-252


Nathan K. Pflueger (Section 01)


Many security problems arise when two computers must communicate on a channel with eavesdroppers or malicious attackers. Public-key cryptography applies ideas from number theory and abstract algebra to address these problems. This course concerns the mathematical theory and algorithms needed to construct the most commonly-used public-key ciphers and digital signature schemes, as well as the attacks that must be anticipated when designing such systems. Several topics from number theory, abstract algebra, and algorithms will be introduced, including discrete logarithms, integer factorization algorithms, and elliptic curves. Depending on time and student interest, we may cover some newer systems that are believed to be secure against attacks by quantum computers but not yet commonly implemented in practice. Students will write short programs to implement the systems and to break badly implemented systems. No prior programming experience is expected; basic aspects of programming in Python will be taught in class. 

Requisite: Experience writing proofs, such as MATH 220/221 or 271/272, or consent of the instructor. Spring semester. Professor Pflueger.

How to handle overenrollment: Preference is given to students who have not taken Math 350 or equivalent.

Students who enroll in this course will likely encounter and be expected to engage in the following intellectual skills, modes of learning, and assessment: Problem sets, In-class quizzes or exams, Use of computational software, Writing short programs.

Course Materials


2023-24: Not offered
Other years: Offered in Spring 2023, Fall 2024