Reading Assignments
Instructions
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:
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!
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.
- If your RQ for Week 1 Tuesday is a question about exercise 2.1.1,
you might set the topic to
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.