Math 116: Cryptography

Lecture

Discussion Section

Syllabus

The syllabus is here.

Textbook

Hoffstein, Pipher, Silverman, An Introduction to Mathematical Cryptography, 2nd ed. We will be covering Chapters 1 – 4 and parts of 6 and 7. The textbook is freely available for download through SpringerLink.

Getting Sage

I wrote some instructions for getting Sage here.

Homework

  1. Homework 1 due Friday, April 8th
  2. Homework 2 due Friday, April 15th
  3. Homework 3 due Friday, April 22th
  4. Homework 4 due Friday, April 29th
  5. Homework 5 due Friday, May 13th
  6. Homework 6 due Friday, May 20th
  7. Homework 7 due Friday, May 27th
  8. Homework 8 due Friday, June 3rd

Lecture Videos

These are available here.

Lecture Notes

  1. Lecture 1: Intro to Cryptography, § 1.1
  2. Lecture 2: Divisibility and GCD, the Extended Euclidean Algorithm, § 1.2
  3. Lecture 3: Modular arithmetic, § 1.3
  4. Lecture 4: Finite fields, § 1.4 & 1.5
  5. Lecture 5: Formalism of cryptosystems, § 1.7
  6. Lecture 6: The Discrete Log Problem & DIffie-Hellman Key Exchange, § 2.1 – 2.3
  7. Lecture 7: Elgamal Public Key Cryptography, § 2.4
  8. Lecture 8: How Hard is the Discrete Log Problem?, § 2.6 & 2.7
  9. Lecture 9: The Chinese Remainder Theorem, § 2.8
  10. Lecture 10: Pohlig–Hellman, § 2.9
  11. Lecture 11: RSA § 3.1 & 3.2
  12. Lecture 12: Primality Testing § 3.4
  13. Lecture 13: Factoring via Pollard's p-1 method § 3.5
  14. Lecture 14: Factoring via Difference of Squares method § 3.6 – 3.7.2
  15. Lecture 16: Quadratic Residues & Probabilistic Encryption § 3.9 – 3.10
  16. Lecture 17: Digital Signatures § 4.1 & 4.2
  17. Lecture 18: Elliptic Curves § 6.1
  18. Lecture 19: Elliptic Curves over finite fields § 6.2
  19. Lecture 20: Elliptic Curve Discrete Log Problem § 6.3 & 6.3.1
  20. Lecture 21: Elliptic Curves Cryptography § 6.4
  21. Lecture 22: Lenstra's Elliptic Curve Factorization § 6.6
  22. Lectures 23+24: Towards the equivalence of DHP and DLP § 6.2
  23. Lectures 25: Lattice Cryptography 1
  24. Lectures 26: Lattice Cryptography 2
  25. Lectures 27: Lattice Cryptography 3