Math 252: Mathematics of Public-Key Cryptography (Spring 2020)

This course concerns the mathematical problems underlying public-key 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 pre-recorded 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 open-book take-home 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 401 on 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:00-2:00
      • Tuesday 1:45-3:15
      • Wednesday 1:45-3:15
      • Friday 1:00-2:00

Handouts

Homework

Problem sets will be posted here. All problem sets are due at 10pm, via Gradescope.

Exams

  • Midterm 1: Monday 3/9, in class.

    • Remember to make a one-page note-sheet (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.

    • Exam / Solutions
  • Midterm 2: Monday 4/27, in class distributed Monday 4/27 10pm, due Wednesday 4/29 10pm (Eastern time).

    • The exam will be untimed, open-book and open-notes. 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 50-minute in-class 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.

    • 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, open-book and open-notes. 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 three-hour 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.