Pre-Class Assignments
Math 202 Cryptography, Fall 2024

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: From Established Symmetric and Asymmetric Ciphers to Post-Quantum Algorithms, Second Edition by Paar, Pelzl, and Güneysu

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: Before first class meeting on Wednesday August 28

Welcome to Cryptography!
Modular arithmetic

To Read

Optional videos from Fall 2020

No questions to submit for the first week.

Remember to fill out the Background Questionnaire linked from Canvas.


Week 2: Due Tuesday September 3 @ 11:59 pm

Encoding messages as numeric variables

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. Look up a Unicode UTF-8 table. What is the UTF-8 encoding for the leter 'b'? Give the decimal, hex, and UTF-8 Hex values.
  2. Repeat the previous question for '\( \alpha \)', the Greek letter alpha.
  3. What is the total number of possible keys for the affine cipher described in Section 1.4.4? Explain.
  4. Why is Kerckhoff's Principle a desirable property for a cryptosystem?
Submit answers through Canvas

Week 3: Due Tuesday September 10 @ 11:59 pm

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. What is the purpose of confusion in an encryption algorithm?
  4. What is the purpose of diffusion in an encryption algorithm?
Submit answers through Canvas

Week 4: Due Sunday September 15 @ 11:59 pm

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?
Submit answers through Canvas

Week 5: Due Sunday September 22 @ 11:59 pm

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?
Submit answers through Canvas

Week 6: Before class on Wednesday October 2

RSA & the Euclidean Algorithm

To Read

Optional videos from Fall 2020

No questions to submit this week with Exam 1.


Week 7: Due Sunday October 6 @ 11:59 pm

Digital signatures
Hash functions

To Read

Optional videos from Fall 2020

Pre-Class Questions

  1. What is the purpose of a digital signature?
  2. 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?
  3. Based on the Prime Number Theorem, approximately how many primes are less than 21024?
Submit answers through Canvas

Week 8: Due Tuesday October 15 @ 11:59 pm

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?
Submit answers through Canvas

Week 9: Due Sunday October 20 @ 11:59 pm

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}^* \)?
Submit answers through Canvas

Week 10: Due Sunday October 27 @ 11:59 pm

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?
Submit answers through Canvas

Week 11: Due Sunday November 3 @ 11:59 pm

Transport Layer Security
Passkeys

To Read

Optional videos from Fall 2020

No questions to submit this week.


Week 12: Due Sunday November 10 @ 11:59 pm

Implications of Quantum Computing

To Read

No questions to submit this week.


Week 13: Before class on Wednesday November 20

Introduction to blockchains

To Read

To Watch

Week 14: Before class on Monday November 25

Blockchain "mining"

To Read

No questions to submit this week.