Spring 2022

Mathematics of Public-Key Cryptography

Listed in: Mathematics and Statistics, as MATH-252

Faculty

Nathan K. Pflueger (Section 01)

Description

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. Four class hours per week.

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

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. Students with documented disabilities who will require accommodations in this course should be in consultation with Accessibility Services and reach out to the faculty member as soon as possible to ensure that accommodations can be made in a timely manner.

Offerings

2023-24: Not offered
Other years: Offered in Spring 2019, Spring 2020, Spring 2022