The following calendar will be populated with links to worksheets, videos, and activities, so you can catch up on anything you’ve missed and revisit important material.
Monday, August 26th, 2024:
- Whirlwind Tour of Cryptography, as an intro to the course (Part I). Here are the slides I am using.
Wednesday, August 28th, 2024:
- Finished the whirlwind tour (slides) and reviewed modular arithmetic / daily post.
- Lecture notes.
Friday, August 30th, 2024:
- Took up daily post (solutions in the lecture notes below).
- We covered inverses in modular arithmetic, why they matter to affine cipher, Hill cipher, some review of functions (injective, surjective, bijective, injective).
- Lecture notes.
Wednesday, September 4th, 2024:
- We took up daily post and discussed successive squaring, invertibility, gcd, unit group and euler phi function.
- Lecture notes.
Friday, September 6th, 2024:
- We discussed euler phi function, multiplicative group, dynamical portraits, Fermat’s little theorem, Euler’s theorem. Think cycles!
- Lecture notes.
Monday, September 9th, 2024:
- Using Euler’s theorem to do exponents on exponents etc. (modular arithmetic practice)
- Review of our modular arithmetic for multiplicative group and the big cycle we want
- Diffie-Hellman Key Exchange and its hard problems, and naive approaches to these
- Lecture notes (cobbled-together not exactly what we did in class)
Wednesday, September 11th, 2024:
- Euclidean algorithm and extended euclidean algorithm
- Dr. Stange’s lecture notes (provided to Dr. Luh)
- Dr. Luh’s notes
Friday, September 13th, 2024:
- Sunzi’s Theorem (Chinese Remainder Theorem)
- modular inverses
- Dr. Stange’s lecture notes (provided to Dr. Luh)
- Dr. Luh’s notes
Monday, September 16th, 2024:
- El Gamal Encryption and why ephemeral keys
- Review (example of CRT)
- Lecture Notes
- Sunzi demo
Wednesday, September 18th, 2024:
- Test
- Solutions
Friday, September 20th, 2024:
- Joseph Macula substituted
- Runtimes and Big-O notation
- Basic definitions of discrete logs
- Lecture notes I gave the TA (may not match class exactly)
Monday September 23rd, 2024:
- Discrete logs and Baby-Step Giant-Step
- Lectures notes
Wednesday September 25th, 2024:
- Index Calculus algorithm
- Lecture notes
Friday September 27th, 2024:
- Birthday Paradox
- RSA Encryption
- Lecture notes
Monday September 30th, 2024:
- timing attacks, number of primes
- Lecture notes
Wednesday October 2, 2024:
- Fermat primality test
- notion of “probably prime”
- Principle of Multitudinous Square Roots
- Intro to Quadratic Sieve
- Lecture notes
Friday October 4th, 2024:
- Finish quadratic sieve
- Miller-Rabin primality testing
- birthday attacking small messages in RSA
- Lecture notes