Math 252: Mathematics of PublicKey Cryptography (Spring 2020)
This course concerns the mathematical problems underlying publickey ciphers and digital signatures, as well as algorithms to solve them. Topics 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.
Remote learning
Following the transition to remote learning after Spring break, the structure of the course will be changed as follows.
 We will have synchronous class meetings via Zoom at 9am on Mondays and Fridays. See the Zoom link on the course moodle page for access.
 Several prerecorded videos will be posted on Tuesdays and Wednesdays. You may access these from the Dropbox link sent out by email (also linked from the Moodle page).
 Office hours: during my scheduled office hours (below), I will be actively monitoring the class’s Slack channel, answering questions, and opening Zoom discussions as needed. Please set a message to the channel or to me privately if you would like to start a Zoom meeting.
 The remaining exams will be openbook takehome exams (see below for details).
 We will almost certainly cover less material this semester than was originally planned on the syllabus, due to the extraordinary circumstances. My primary concern as the instructor right now is to prioritize the main learning goals of Math 252: developing your reasoning about code, developing your general mathematical problems solving skills, and introducing you to some representative cryptographic algorithms. So I will be trying to think of the best way to give you that preparation within the constraints we are now under.
Help hours
 My office hours
in SMUD 401on Slack and Zoom: Visit Slack to ask questions, either as private messages to me or on the group channel.
 Just ask if you want to start a Zoom meeting to discuss anything.
 I will check Slack periodically throughout the day, but am guaranteed to be actively monitoring, and available to meet on Zoom, at the times below.
 Monday 1:002:00
 Tuesday 1:453:15
 Wednesday 1:453:15
 Friday 1:002:00
Handouts
 1/28: Syllabus
Textbook and other links
 The course text is An Introduction to Mathematical Cryptography, 2nd edition. Use this link to download the book in pdf for free or order a $25 paperback copy.
 Starter code and testing notebooks for programming assignments.
 CS Circles python tutorial (most relevant sections for our purposes: 0 through 10 and 13, except 2X, 7A, and 8)
Homework
Problem sets will be posted here. All problem sets are due at 10pm, via Gradescope.
 Course survey and Gradescope instructions (due 1/31)
 Problem Set 1 (written due 2/5; code due 2/7)
 Problem Set 2 (due 2/12)
 Problem Set 3 (due 2/19)
 Problem Set 4 (due 2/26)
 Problem Set 5 (due 3/4)
 Problem Set 6 (due
3/253/30)  Problem Set 7 (due 4/3)
 Problem Set 8 (due 4/8)
 Problem Set 9 (due 4/15)
 Problem Set 10 (due 4/22)
 Not to hand in: Problem Set 11 (for review and practice only) / Solutions
Exams

Midterm 1: Monday 3/9, in class.
 Remember to make a onepage notesheet (front and back)!
 Coverage: up to the section 2.8 (Chinese Remainder Theorem), i.e. anything covered on Problem Sets 1 through 5.

Some old exams. Note that coverage and emphasis differs on these exams, and in particular the 2015 and 2016 exams are somewhat more difficult that ours is likely to be.
 2015 Midterm 1 / Solutions
 2016 Midterm 1 / Solutions
 2019 Midterm 1 / Solutions (Note: fourfunction calculators were permitted on this exam.)
 Solutions will be posted later this week.
 Exam / Solutions

Midterm 2:
Monday 4/27, in classdistributed Monday 4/27 10pm, due Wednesday 4/29 10pm (Eastern time). The exam will be untimed, openbook and opennotes. You may also use a computer, e.g. to write Python code for computations. You will be expected not to discuss problems with any other students, or to look for solutions online.
 You will have 48 hours to complete the exam.
 The exam will be similar in length to a 50minute inclass exam.

Some old exams. Note that coverage and emphasis differs on these exams, and in particular the 2015 and 2016 exams are somewhat more difficult that ours is likely to be.
 2015 Midterm 2 (skip problem 5, which uses terminology we haven’t discussed) / Solutions
 2016 Midterm 2 / Solutions
 2019 Midterm 2 / Solutions (Note: you may want to skip problem 4, which concerns ECDSA; this will not be covered on midterm 2 this year.)
 Exam / Solutions

Final Exam: distributed Monday 5/11 at 9am (when our originally scheduled exam would have begun), due Thursday 5/14 at 9am (Eastern time).
 The exam will be untimed, openbook and opennotes. You may also use a computer, e.g. to write Python code for computations. You will be expected not to discuss problems with any other students, or to look for solutions online.
 You will have 72 hours to complete the exam.
 The exam will be similar in length to a regular threehour final exam.

Some old exams. Note that coverage and emphasis differs on these exams, and in particular the 2015 and 2016 exams are somewhat more difficult that ours is likely to be.