# History

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.

• 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
• 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:
• Wednesday, September 9th:
• 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:
•
• 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:
•
• 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:
•
• Friday, November 6th:
•
• Monday, November 9th:
•
• Wednesday, November 11th:
•
• 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:
•
• Wednesday, November 18th:
•
• Friday, November 20th:
•
• Monday, November 23rd:
•
• 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.