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
- Forward: pp vii-viii
- Chapter 1: Section 1.1, pp 1 - 4
Optional videos from Fall 2020
- Week 1: Overview - Link in Canvas
- Week 1: Modular Arithmetic - Link in Canvas
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
- Chapter 1: Finish the chapter, pp 4 - 27, although you can de-emphasize Section 1.4.2 Integer Rings
Optional videos from Fall 2020
- Week 2: Encoding messages as numeric values - Link in Canvas
Pre-Class Questions
-
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.
- Repeat the previous question for '\( \alpha \)', the Greek letter alpha.
- What is the total number of possible keys for the affine cipher described in Section 1.4.4? Explain.
- 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
- Chapter 2: through Section 2.2.2 The One-Time Pad, pp 37 - 46
- Chapter 3: Section 3.1, pp 73 - 76, and Section 3.8 & 3.9, pp 103 - 105
- Chapter 4: Sections 4.1 - 4.2, pp 111 - 114 (Be sure to look at Figure 4.2 on pg 115, too)
Optional videos from Fall 2020
- Week 3: A few notes on stream ciphers - Link in Canvas
- Week 3: Note on the size of the key space - Link in Canvas
-
AES explained
as an interactive HTML5 animation
Pre-Class Questions
- Encrypt the plaintext x = 1101 using a stream cipher with key stream s = 0111.
- Why are one-time pads unconditionally secure?
- What is the purpose of confusion in an encryption algorithm?
- 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
-
Chapter 4: skim Sections 4.3 - 4.5, pp 114 - 140. Don't get bogged down in too many of the details in these
sections. We'll hit the high points we need in class.
- Chapter 4: Sections 4.6 - 4. 8, pp 140 - 142
Optional videos from Fall 2020
- Week 4: Introduction to AES and finite fields - Link in Canvas
Pre-Class Questions
-
Let f(x)=x 2 + x + 1 and g(x)=x+1 be polynomials in ℤ2[x]. What is f(x)
∙ g(x) ?
- In which layer(s) of AES does confusion occur? Why?
- 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
- Chapter 6: Sections 6.1-6.2, pp 177 - 186
- Chapter 7: Sections 7.1-7.3, pp 205 - 211
Optional videos from Fall 2020
Pre-Class Questions
- Is nonrepudiation possible with a symmetric cipher? Explain.
- Give a real-world example where nonrepudiation is desirable.
- 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
- Chapter 7: Section 7.4, pp 211 - 215
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
- What is the purpose of a digital signature?
-
Suppose Alice and Bob want to exchange an AES key to use for a secure conversation.
-
If Alice generates the AES key, whose RSA credentials will they use to encrypt the key to send to Bob?
-
If Alice wants to sign the message containing the encrypted key, whose RSA credentials will they use to
sign the message?
- 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
- Chapter 8: Section 8.1, pp 241 - 244
Optional videos from Fall 2020
Pre-Class Questions
- What's an advantage of Diffie-Hellman key exchange over using RSA to exchange a key for AES?
-
Suppose Alice and Bob agree on values \(p=37\) and \( \alpha=5 \) for Diffie-Hellman.
- If Alice picks a private key of a=9, what will be their public key A?
- If Bob picks a private key of b=14, what will be their public key B?
- 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
-
Chapter 8: Skim Section 8.2, pp 244 - 252. There's a lot here, so don't get too bogged down. We'll talk about
the major results we need during class.
Pre-Class Questions
- Solve the discrete log problem \( 3^x \equiv 26 \mod 31 \)
- 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
- Chapter 10: Section 10.4, pp. 318 - 324
Optional videos from Fall 2020
- Week 10: The Digital Signature Algorithm - Link in Canvas
Pre-Class Questions
-
What is the hard math problem underlying the Digital Signature Algorithm? Where does this problem appear?
- What are the possible lengths of the message x that can be securely signed by DSA?
-
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
- Chapter 5: Section 5.1 through 5.1.2, pp 147 - 155 (the videos below will help, too)
- Chapter 14: Sections 14.4 - 14.8, pp 497 - 515
- AES GCM (Advanced Encryption Standard in Galois Counter Mode) (video from Computerphile) is a really nice explanation
-
For more information on Transport Layer Security specifically:
- Passkeys: an Overview. Pay extra attention to the section WebAuthn: How does it work under the hood?
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
- Review last week's material
No questions to submit this week.