Pre-Class Assignments
Math 202 Cryptography, Fall 2022

This page uses MathJax to display mathematical notation, so please let me know if any part isn't clear.

All section numbers refer to Understanding Cryptography: A Textbook for Students and Practitioners by Paar & Pelzl.

There are a few other resources that you might find useful for reference, including

Be sure to check back, because this page will be updated often during the semester.


Week 1: Due Monday August 29 @ midnight

Welcome to Cryptography!
Modular arithmetic
Encoding messages as numeric variables

To Read

Optional videos from Fall 2020

No questions to submit for the first week.

If you didn't see this before Tuesday's class, be sure to complete before Thursday, and remember to fill out the Background Questionnaire linked from onCourse.


Week 2: Due Monday September 5 @ midnight

One time pads & stream ciphers
Introduction to AES

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. Encrypt the plaintext x = 1101 using a stream cipher with key stream s = 0111.
  2. Why are one-time pads unconditionally secure?
  3. Does an affine cipher perfom confusion? Why or why not?
  4. What is the purpose of diffusion in encryption algorithm?
  5. Have you and your partner met to discuss the Problem Set? How much progress have you made?
Submit answers through onCourse

Week 3: Due Monday September 12 @ midnight

AES and finite fields

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. Let f(x)=x 2 + x + 1 and g(x)=x+1 be polynomials in ℤ2[x]. What is f(x) ∙ g(x) ?
  2. In which layer(s) of AES does confusion occur? Why?
  3. Why does diffusion occur in the ShiftRows sublayer of AES?
  4. Have you and your partner met to discuss the Problem Set? How much progress have you made?
Submit answers through onCourse

Week 4: Due Monday September 19 @ midnight

Principles of Public Key Cryptography
RSA

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. Is nonrepudiation possible with a symmetric cipher? Explain.
  2. Give a real-world example where nonrepudiation is desirable.
  3. What is the hard math problem underlying the security of RSA?
  4. Have you and your partner met to discuss the Problem Set? How much progress have you made?
Submit answers through onCourse

Week 5: Due Monday September 26 @ midnight

RSA & the Euclidean Algorithm

To Read

Optional videos from Fall 2020

No questions to submit this week since you shoud be prepping for Exam 1.


Week 6: Due Monday October 3 @ midnight

Digital signatures
Hash functions

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. Based on the Prime Number Theorem, approximately how many primes are less than 21024?
  2. What is the purpose of a digital signature?
  3. Suppose Alice and Bob want to exchange an AES key to use for a secure conversation.
    1. If Alice generates the AES key, whose RSA credentials will they use to encrypt the key to send to Bob?
    2. If Alice wants to sign the message containing the encrypted key, whose RSA credentials will they use to sign the message?
Submit answers through onCourse

Week 7: No assignment due

No class meetings this week due to Fall Break and MAP Day.


Week 8: Due Monday October 17 @ midnight

Diffie-Hellman Key Exchange

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. What's an advantage of Diffie-Hellman key exchange over using RSA to exchange a key for AES?
  2. Suppose Alice and Bob agree on values \(p=37\) and \( \alpha=5 \) for Diffie-Hellman.
    1. If Alice picks a private key of a=9, what will be their public key A?
    2. If Bob picks a private key of b=14, what will be their public key B?
    3. What will be the shared key?
  3. Have you and your partner met to discuss the Problem Set? How much progress have you made?
Submit answers through onCourse

Week 9: Due Monday October 24 @ midnight

The Discrete Log Problem

To Read

Pre-Class Questions

  1. Solve the discrete log problem \( 3^x \equiv 26 \mod 31 \)
  2. What is ord(26) in \( \mathbb{Z}_{31}^* \)?
  3. Could you use your answer to #1 to figure out the answer to #2? Hint: Review last week's in-class work.
  4. Have you and your partner met to discuss the Problem Set? How much progress have you made?
Submit answers through onCourse

Week 10: Due Monday October 31 @ midnight

The Digital Signature Algorithm

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. What is the hard math problem underlying the Digital Signature Algorithm? Where does this problem appear?
  2. What are the possible lengths of the message x that can be securely signed by DSA?
  3. What is the purpose of the ephemeral key kE used in DSA?
  4. The text suggests using SHA-1 for the hash in DSA. Do a little research. Is this hash function still recommended?
  5. Have you and your partner met to discuss the Problem Set? How much progress have you made?
Submit answers through onCourse

Week 11: Due Monday November 7 @ midnight

MITM attacks
Implications of Quantum Computing

To Read

No questions to submit this week since you should be prepping for Exam 2.


Week 12: Due Monday November 14 @ midnight

Counter modes
Transport Layer Security

To Read

To Watch

No questions to submit this week.


Week 13: Due Monday November 21 @ midnight

What is a blockchain?
Structure of a Bitcoin transaction

To Read

To Watch

No questions to submit this week.