# Math 252: Mathematics of Public-Key Cryptography (Fall 2024)

This course concerns the mathematical problems underlying public-key ciphers and digital signatures, as well as algorithms to solve them. Topics may include discrete logarithms, integer factorization, elliptic curves, and lattices. These topics provide an appealing introduction to several topics in number theory, abstract algebra, and algorithms.

The course is designed for students with no prior experience in abstract algebra or programming. It serves as an introduction to those topics, meant to prepare students for more advanced courses. Students with prior experience are welcome, however.

You can find materials from previous offerings of this course here: 2023, 2022, 2020, 2019, 2016, 2015. The 2015 and 2016 courses, taught at Brown, were slightly different in style and emphasis.

### Time and location

- Monday, Wednesday, and Friday, 1:00-1:50am in SMUD 207.

### Help hours

- My
**temporary**office hours in**SMUD 401**(to be revised in the fourth week of classes) are:- Tuesday 11:00-12:30
- Wednesday 9:00-9:50
- Thursday 2:30-3:30

- Our math fellow (TA), Nathan Thomas, will have office hours at the following times.
- Monday 7:30-9:00 in SMUD 208
- Wednesday 6:00-7:30 in SMUD 208

### Handouts

### Textbook and other links

- The course text is An Introduction to Mathematical Cryptography, 2nd edition.
- CS Circles python tutorial (most relevant sections for our purposes: 0 through 10 and 13, except 2X, 7A, and 8)
- Starter code and testing notebooks
- Jupyter/Gradescope tutorial video
- Boardwork from days I teach from a tablet
- Zoom link for any online office hours, classes, etc.

### Homework

- Problem sets will be posted here. All problem sets are due at 10pm, on Gradescope.
- Gradescope instructions. Our course code is
**R7RZ4Z**. - Problem Set 1 (due F 9/13)
- Problem Set 2 (due F 9/20)

### Exams

- Midterm 1 will be on Friday 10/18, in class.
- Remember to make a one-page note-sheet (front and back)! Tables 2.2 and 2.3 from the textbook (summary of Diffie-Hellman and Elgamal) will be included in the exam packet, so you do not need to copy any of that information to your note sheet.
- Coverage: Anything discussed by Friday 10/11, and included on PSets 1 through 5. This will
**likely**include the following textbook sections: 1.2, 1.3, 1.4, 1.5, 2.1, 2.2, 2.3, 2.4, 2.7 (but**not**2.5 or 2.6) (check here closer to the exam for updated information).

- Midterm 2 will be on Friday 11/22, in class.
- Remember to make a one-page note-sheet (front and back)! Summary tables for all cryptosystems we’ve studied will be included in the exam packet, so you do not need to copy any of that information to your note sheet.
- Coverage: Anything discussed by Friday 11/15, and included on PSets 6 through 10. This will
**likely**include textbook sections 2.8-9, 3.1-4, 4.1-3 (check here closer to the exam for updated information).

- The final exam will be on Thursday 5/18, 2-5pm, in SMUD 206.
- Remember to make a one-page note-sheet (front and back)! Summary tables for all cryptosystems we’ve studied will be included in the exam packet, so you do not need to copy any of that information to your note sheet.
- Coverage: cumulative, including all course material. The material after Midterm 2 will have slightly higher weight, since it has not yet been covered on an exam.