The following calendar will be populated with links to worksheets, videos, activities and daily posts, so you can catch up on anything you’ve missed and revisit important material.

**Monday, August 24th:**- What we did in class: We explored discord a little, and learned Caesar cipher. Under “Resources” you’ll find the cryptosystem organizer sheet. You’ll also find a useful Cryptography Tools Sheet. Here’s the partially-filled caesar cipher sheet (we will complete this) and the Caesar example.

- After-class daily post link: Due Wed Aug 26
- Other useful resources: Caesar Cipher Demo and Boxentrique

**Wednesday, August 26th:**- What we did in class: We took up the Modular Arithmetic User’s Manual Concept Check Sheet and talked about some subtleties of modular arithmetic. We finished talking about Caesar cipher and its cryptanalysis (frequency analysis), using the concepts on the Cryptosystem Organizer sheet. We introduced Vigenere cipher, did an example, and began to talk about cryptanalysis of Vigenere.
- Slides from today.
- Filled Caesar cryptosystem sheet.
- Filled Vigenere cryptosystem sheet.
- Note: Relevant parts of the text are in Chapter 2.
- Cryptography Tools Sheet (frequencies, Vigenere square and multiplication table mod 26) — also available under “Resources”.

- After-class daily post link: Due Friday August 28th

**Friday, August 28th:**- What we did in class: We began with cryptanalysis of Vigenere cipher. Then we discussed one-time pads. Slides from class.
- Here’s a video I made that hopefully clarifies the cryptanalysis.
- Here’s some more detail about variations on the method to solve Vigenere ciphertexts. It’s also in Chapter 2 of your text.
- After-class daily post link: Due Mon Aug 31st

**Monday, August 31st:**- What we did in class: We discussed affine cipher and Hill cipher. Here are class notes, and an affine cipher cryptosystem sheet.
- After-class daily post link: Due Wed Sept 2nd

**Wednesday, September 2nd:**- What we did in class: We discussed wartime ciphers (ADFGXV and Enigma), as well as DES/AES and some terminology for classical cryptography. Here are notes from class.
- After-class daily post link: Due Fri Sept 4th

**Friday, September 4th:**- What we did in class: We worked through the Sage worksheet on sage.colorado.edu (identikey login, then click “Published”) titled MATH 4440/5440 IntroductionToSageForCrypto. Click “edit a copy” to work through it yourself.
- After-class daily post link: Due Wed Sept 9th

**Wednesday, September 9th:**- What we did in class today: We took up the worksheet from the Modular Arithmetic in Motion video (here are solutions). Then we did an in-class follow-up activity.
- After-class daily post link: Due Fri Sept 11th

**Friday, September 11th:**- What we did in class today: We introduced the notions of multiplicative order, primitive root, multiplicative generator, and discrete logarithm, and the discrete logarithm problem. Here are class notes.
- After-class daily post link: Due Mon Sept 14th

**Monday, September 14th:**- What we did in class today: We introduced public-key cryptography (as compared to symmetric key cryptography), and the Diffie-Hellman Key Exchange. We characterized the unit group as those elements coprime to the modulus. Here’s the first page of notes (I sadly lost the rest of them but you can see them on the canvas video). Then we worked on a worksheet. Here’s a Jamboard version.
- After-class daily post link: Due Wed Sept 16th

**Wednesday, September 16th:**- What we did in class today: We proved that the unit group is made up of those residues which are coprime to the modulus. We defined Euler’s phi function. We discussed Gauss’ method of finding multiplicative inverses. We gave a little teaser for the next method of solving the discrete logarithm problem. Here are notes.
- After-class daily post link: Due Fri Sept 18

**Friday, September 18th:**- What we did in class today: We did an activity to discover how to most efficiently compute modular exponents. We covered successive squaring and the double-and-add (AKA square-and-multiply) algorithm. Here are notes.
- After-class daily post link: Due Mon Sept 21

**Monday, September 21st:**- What we did in class today: We did a sum-up of the key number theory, and did runtimes and Big-Oh with sage demos. Here are notes.
- After-class daily post link: Due Wed Sept 23

**Wednesday, September 23rd:**- What we did in class today: We talked about Big-Oh and runtimes for discrete log by exhaustive search and for modular exponentiation. Here are notes.
- After-class daily post link: Due Fri Sept 25

**Friday, September 25th:**- What we did in class today: We covered attacks on discrete log: birthday attack, baby-step-giant-step, and index calculus. Here are notes.
- After-class daily post link: Due Mon Sept 28

**Monday, September 28th:**- What we did in class today: We took up the Index Calculus, introduced El Gamal and showed it was equivalent to Computational Diffie-Hellman Problem. Here are notes.
- After-class daily post link: Due Wed Sept 30

**Wednesday, September 30th:**- What we did in class today: We reviewed the big picture aspects of public key cryptography, El Gamal, and the idea of reducing one problem to another. We introduced the RSA cryptosystem and gave an overview of Module 3 (RSA). Then we started primality testing with the Fermat Primality Test. Here are notes.
- After-class daily post link: Due Fri Oct 2

**Friday, October 2nd:**- What we did in class today: We continued about primality testing, and learned the Miller-Rabin Primality test. Then we started on Chinese Remainder Theorem. Notes are here.
- After-class daily post link: Due Mon Oct 5

**Monday, October 5th:**- What we did in class today: We talked more about Chinese Remainder Theorem and did examples and an application to proving the formula for the Euler phi function. Here are notes.
- After-class daily post link: Due Wed Oct 7

**Wednesday, October 7th:**- What we did in class today: Solving linear congruences mod n. RSA security and its relation to factoring: how to factor n if you know phi(n), or if you have both e and d. How to break RSA if you can factor. Here are notes.
- After-class daily post link: Due Fri Oct 9

**Friday, October 9th:**- What we did in class today: Some attacks on RSA implementations, including collision attack (don’t use small messages) and timing attacks (if you can access hardware). p-1 factoring. Here are notes.
- After-class daily post link: Due Mon Oct 12

**Monday, October 12th:**- What we did in class today: We covered quadratic sieve factoring. Here are class notes and the quadratic sieve presentation.
- After-class daily post link: Due Wed Oct 14

**Wednesday, October 14th:**- What we did in class today: We introduced the polynomial “ring” F_p[X] in analogy to the integers, and talked about doing division algorithm, Euclidean algorithm, and mod. Here are notes.
- After-class daily post link: Due Fri Oct 16

**Friday, October 16th:**- What we did in class today: We constructed a finite field and worked out the multiplication table. We stated the main facts about finite fields (when they exist, when isomorphic). Here are notes.
- After-class daily post link: Due Mon Oct 19

**Monday, October 19th:**- What we did in class today: We discussed DLP in a finite field, and then we introduced elliptic curves. Here are notes.
- After-class daily post link: Due Wed Oct 21

**Wednesday, October 21st:**- What we did in class today: We continued adding points on an elliptic curve. Then we showed how an elliptic curve can be used to factor an integer. Here are notes.
- After-class daily post link; Due Fri Oct 23

**Friday, October 23rd:**- What we did in class today: I introduced the projective line and projective plane over the reals and over a finite field. I explained how you can view an elliptic curve as being on the projective plane, and what the point at infinity is. Then I briefly finished up about elliptic curve factoring.
- Here are notes.
- Here’s a link to a rotatable projective elliptic curve.
- Here’s a link to a database of curve addition formulas.
- After-class daily post link: Due Mon Oct 26

**Monday, October 26th:**- What we did in class today: I covered how to use elliptic curves for Diffie-Hellman key exchange and for ElGamal encryption, and we began the idea of a signature. Here are notes.
- After-class daily post link: Due Wed Oct 28

**Wednesday, October 28th:**- What we did in class today: We talked about Elliptic Curve Digital Signature Algorithm, and then introduced the idea of an isogeny in order to explain isogeny-based cryptography next time. Here are notes.
- After-class daily post link: Due Fri Oct 30

**Friday, October 30th:**- What we did in class today: We covered isogeny-based encryption, with a basic description of CSIDH. Here are notes.
- After-class daily post link: Due Mon Nov 2

**Monday, November 2nd:**- What we did in class today: An introduction to lattices and how to reduce a 2d lattice, and a brief mention of LLL. Here are notes.
- After-class daily post link: Due Wed Nov 4

**Wednesday, November 4th:**- What we did in class today: Introduction to LWE and Ring-LWE. Here are notes.
- After-class daily post link: Due Fri Nov 6

**Friday, November 6th:**- What we did in class today: Ring-LWE cryptosystem. Here are notes. Here’s the example of using the cryptosystem.
- More complete notes on Ring-LWE.
- After-class daily post link: Due Mon Nov 9

**Monday, November 9th:**- What we did in class today: We started the Quantum module, starting with one-qubit systems. Here are notes.
- The class video included a clip from this 3Blue1Brown/MinutePhysics video.
- After-class daily post link: Due Wed Nov 11

**Wednesday, November 11th:**- What we did in class today: Quantum Key Distribution. Here are notes.
- After-class daily post link: Due Fri Nov 13

**Friday, November 13th:**- What we did in class today: Entanglement. Bell Test. Quantum key Distribution with entanglement. Here are notes.
- After-class daily post link: Due Mon Nov 16

**Monday, November 16th:**- What we did in class today: Quantum gates and reversible circuits. Here are notes.
- After-class daily post link: Due Wed Nov 18

**Wednesday, November 18th:**- What we did in class today: Quantum Fourier Transform. Here are notes. Here’s the computer demo.
- After-class daily post link: Due Fri Nov 20

**Friday, November 20th:**- What we did in class today: Finished quantum Fourier transform and began to explain Shor’s algorithm. Here are notes. Here’s the code for the demo.
- After-class daily post link: Due Mon Nov 23

**Monday, November 23rd:**- What we did in class today: Aaaaaalmost finished Shor’s algorithm. Here are notes. Here’s the computer demo.
- After-class daily post link: Due Wed Nov 25

**Wednesday, November 25th:**- What we did in class today: We finished quantum computing by talking about continued fractions and the Hidden Subgroup Problem. Then we began coding theory with some basic examples and definitions. Here are notes.
- After-class daily post link: Due Mon Nov 30

**Monday, November 30th:**- What we did in class today: We talked more about basic stats of codes and began linear codes, and a Hamming code example. Here are notes.
- After-class daily post link: Due Wed Dec 2

**Wednesday, December 2nd:**- What we did in class today: Linear codes, including generating matrix and parity check matrices. Here are notes.
- After-class daily post link: Due Fri Dec 4

**Friday, December 4th:**- What we did in class oday: End of coding theory, including McEliece coding-based cryptography. Here are notes.
- After-class daily post link: Due Mon Dec 7

**Monday, December 7th:**- What we did in class today: Something fun.