Reading Assignments


These instructions are a little long, but please read them carefully at least once. It is your responsibility to know what’s written here to ensure that you receive credit!

Reading Asssignments (RAs) are typically due on Tuesdays and Thursdays at 4pm (cf. schedule). Each RA has two parts:

  1. Read the sections indicated below from the “Introduction to Cryptography” notes.

    • Recall that an important part of reading math is working out exercises yourself. This means that you should do the exercises that occur in the reading. These will not be collected, but quiz and/or final exam could resemble these exercises. You can also use these exercises as fodder for an RQ (described in more detail below).

    • We will discuss the content of the reading in class after the RA deadline. Until then, feel free to chat with your classmates and to supplement the reading with other resources you find. In fact, doing all of that is part of the point of the RAs!

  2. Post a “Reading Question” (RQ) to our class Zulip stream.

    • Your RQ should be something that shows sincere engagement with the content of the reading. Here is a non-exhaustive list of examples of such things:

      • Asking a question about something you found confusing or intriguing in the indicated sections.
      • Asking a question about an exercise in the indicated sections that you struggled with.
      • Asking a question about how to modify some code in a SageCell in the indicated sections to get it to do what you want it to do.
      • Responding to a question that someone else posted about the indicated sections.
      • Sharing something that you found confusing at first but then managed to figure out.

      If your RQ is a question, formulate as precise a question as you can. For example, if you’re asking about an exercise, say more than just “I don’t know how to do this” or something like that; share something specific about what you’ve tried and what went wrong. Note that you can typeset math, share code, and upload images on Zulip.

    • To indicate that your Zulip post is intended to be an RQ, the “topic” for the post must contain a square-bracket label matching the regular expression \[w(\d+)(tue|thu)\] and should also include something to indicate about what your RQ is about. If your RQ is starting a new topic, make sure to follow these rules! For example:

      • If your RQ for Week 1 Tuesday is a question about exercise 2.1.1, you might set the topic to [w1tue] exercise 2.1.1.
      • If your RQ for Week 3 Thursday is a question about the Vignère cipher, you might set the topic to [w3thu] vignère.

      If your RQ is a response to a topic started by someone else which already contains a valid square-bracket label, no further action is required on your part: your response will automatically count under the same label also.

    • As mentioned earlier, your RQ must be something that shows engagement with the content of the indicated reading. You’re all welcome to ask questions and make comments of other sorts on Zulip (eg, questions about class logistics), but they shouldn’t be labeled as RQs. If me or a TA reacts to your proposed RQ with an octopus emoji, it means your proposed RQ doesn’t demonstrate sincere engagement with the content of the reading and it won’t count for credit.

    • A bot will be used to tabulate credit for RQs. If you don’t follow the topic labeling instructions above precisely, the bot might not recognize your post as an RQ and you won’t get credit for it. Also, the bot will mark anything that comes in after the deadline as late, even if it comes in just one second after the deadline, so make sure to get things in on time! Instructions for checking your RQ score with the bot are available on our Zulip stream.

    • You don’t need to post an RQ every time in order to get full credit on this portion of your grade.

    • For more information about Zulip, see the opening post of our class stream.

Week 1 Tuesday

Sections “Introduction” through 2.3 “Caesar Cipher”

Week 1 Thursday

Section 2.4 “Modular Arithmetic”

Week 2 Tuesday

Section 2.5 “GCDs”

Week 2 Thursday

Sections 2.6 “Affine Cipher” through 2.8 “Polybius Square”

Week 3 Tuesday

Sections 2.9 “Modular Linear Algebra” through 2.11 “Playfair Cipher”

Week 3 Thursday

Sections 2.12 “Vignère Cipher”] and 2.13 “One-Time Pad”

Week 4 Tuesday

Section 3 “Codebreaking” through 3.2 “Probability”

Week 4 Thursday

Section 3.3 “\(G\)-test”

Week 5 Tuesday

Section 3.4 “Breaking Rectangular Transposition”

Week 5 Thursday

Section 3.5 “Conditional Probability”

Week 6 Tuesday

Sections 3.6 “Index of Coincidence” and 3.7 “Breaking Vignère”

Week 6 Thursday

Sections 3.8 “Known-Plaintext Attack on Simple Substitution” and 3.9 “Perfect Secrecy”

Week 7 Tuesday

Section 4 “Modern Cryptography” through 4.2 “Euler’s Phi Function”

Week 7 Thursday

Sections 4.3 “Binary Exponentiation” through 4.4 “Primality Testing”

Week 8 Tuesday

Section 4.5 “RSA”

Week 8 Thursday

Section 4.6 “Order”

Week 9 Tuesday

Sections 4.7 “Elgamal” and 4.8 “Diffie-Hellman”

Week 9 Thursday

Sections 4.9 “Elliptic Curves Over the Reals” and 4.10 “Elliptic Curves Mod a Prime”

Week 10 Tuesday

Section 4.11 “Elliptic Curves Diffie-Hellman” through 4.13 “Elliptic Curve Elgamal”

Week 10 Thursday

No new reading.

You can still post a RQ if there’s something you’d like to discuss and/or still need RQ credit — and it can be about anything. For example, you might use this as an opportunity to ask a question about something from a past reading that we’ve already discussed but that you continue to find confusing. Please make sure that it is still a content question rather than a logistic question.