Lecture 1: Introduction to Elliptic Curves
Lecture 2: The Group Law and Weierstrass and Edwards Equations
- The Group Law and Weierstrass and Edwards Equations (notes) (PDF)
- Proof of Associativity (worksheet) (IPYNB)
- Group Law on Edwards Curves (worksheet) (IPYNB)
Lecture 3: Finite Field Arithmetic
- Finite Field Arithmetic (notes) (PDF)
- Finite Field Arithmetic (slides) (PDF)
- Root-Finding in Finite Fields (worksheet) (IPYNB)
- Root-Finding and Polynomial Factorization over Finite Fields (YouTube)
Lecture 4: Isogenies
Lecture 5: Isogeny Kernels and Division Polynomials
- Isogeny Kernels and Division Polynomials (notes) (PDF)
- Isogeny Kernels and Division Polynomials (slides) (PDF)
- Division Polynomials (worksheet) (IPYNB)
Lecture 6: Endomorphism Rings
Lecture 7: Hasse’s Theorem and Point Counting
Lecture 8: Schoof’s Algorithm
Lecture 9: Generic Algorithms for the Discrete Logarithm Problem
Lecture 10: Index Calculus, Smooth Numbers, and Factoring Integers
- Index Calculus, Smooth Numbers, and Factoring Integers (notes) (PDF)
- Index Calculus, Smooth Numbers, and Factoring Integers (slides) (PDF)
- Index Calculus (worksheet) (IPYNB)
- Montgomery Elliptic Curve Factorization Method (worksheet) (IPYNB)
- Simple Implementation of Pollard p-1 Algorithm (worksheet) (IPYNB)