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

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

All chapter references are to the text Understanding Cryptography by Paar and Pelzl.

- Chapter 1, pp 1 - 23, although you can demphasize Section 1.4.2 Integer Rings

- Week 1: Overview
- Week 1: Modular Arithmetic

- No questions to turn in for the first week.

If you didn't see this before Monday's class, be sure to complete before Wednesday.

- Chapter 2: through Section 2.2.2 The One-Time Pad, pp 29 - 38

- Week 2: Encoding messages as numeric values
- Week 2: A few notes on stream ciphers
- Week 2: Note on the size of the key space

- Follow the instructions on the main course webpage to download Mathematica to your own computer.
- Download the notebook aug31.nb and open it in Mathematica. Follow the instructions to work through the notebook. You'll use this to answer the last two Pre-Class Questions.
- In case Mathematica is being tempermental for you, here's a pdf of the notebook so that you can at least take a look at the content.

- Encrypt the plaintext x = 1101 using a stream cipher with key stream s = 0111.
- Why are one-time pads unconditionally secure?
- Use the Mathematica notebook to encrypt the message "Verbing weirds language" using a Caesar cipher with a shift of k = 17. (You should remove any spaces). What is the ciphertext?
- Use the Mathematica notebook to decrypt the message "CNAVXVSZXFGECBLXGEDXOBISNAXABUNPAIPAVPYSBEUFIIPVBOLPAISBD" using an affine cipher with a key of k= = (23, 13). What is the plaintext?

- Chapter 3: Section 3.1, pp 55 - 58, and Section 3.8 & 3.9, pp 81 - 82
- Chapter 4: Sections 4.1 - 4.3, pp 87 - 99

Don't get boggged down in the notation in Section 4.3. We'll hit the high points we need in the videos and in class.

- For general background, History/Intro to AES (~2:00 - ~18:00) by Christof Paar
- AES explained as a Flash animation (~5 minutes)
- Week 3: Clarification on Problem 3.12 from Problem Set #2
- Week 3: GCDs and multiplicative inverses mod m
- Week 3: Introduction to AES and finite fields

- Does an affine cipher perfom confusion? Why or why not?
- What is the purpose of diffusion in encryption algorithm?
- Let f(x)=x
^{ 2 }+ 1 and g(x)=x+1 be polynomials in ℤ_{2}[x]. What is f(x) ∙ g(x) ?

- Chapter 4: finish the chapter, pp 99 - 117
- A stick figure guide to AES (for reference)

- Multiplying matrices (for reference, if needed)
- AES explained as a Flash animation (re-watch)
- Week 4: Details of AES

- Perform the following matrix multiplication and addition: \[ \left( \begin{matrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 1 & 0 \end{matrix} \right) \cdot \left( \begin{matrix} 0 \\ 1 \\ 1 \end{matrix} \right) + \left( \begin{matrix} 1 \\ 0 \\ 0 \end{matrix} \right) \mod \ 2 \]
- In which layer(s) of AES does confusion occur? Why?
- In which layer(s) of AES does confusion NOT occur? Why?

- Chapter 6: Sections 6.1-6.3, pp 149 - 157
- Chapter 7: Sections 7.1-7.3, pp 173 - 179

- Asymmetric encryption - Simply explained gives a nice introductory motivation (~5 minutes)
- How RSA works by F5 DevCentral (~ 14 minutes)

Note that what they call the "totient of n" is what we've called the Euler phi function \( \phi(n) \).

- 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?
- For this question, we'll use the notation from the text for the RSA keys.

Bob publishes the public key k_{pub}=(n,e)=(25021,3).- If Alice uses Bob's public key to encrypt the message x=1315, what is the ciphertext y?
- Bob's private key is k
_{pr}=d=16467. Decrypt the ciphertext y from part (a) and verify that you obtain the correct plaintext.

- Chapter 7: Section 7.4, pp 179 - 182

- Extended Euclidean Algorithm Example (I like this better than the text's explanation)