Schedule
Elliptic curve cryptography
- Oct 28
- Adding points on elliptic curves
- Pre-reading Section 6.1
- Oct 31
- Elliptic curves over finite fields
- Pre-reading Section 6.2
- HW 10 due
- Project & group choice due
- Nov 2
- Discrete logarithms on elliptic curves
- Pre-reading Section 6.3
- Nov 4
- Fast powering for and complexity of ECDLP
- Pre-reading Sections 6.3.1, 6.3.2
- Nov 7
- Elliptic curve Diffie-Hellman
- Pre-reading Section 6.4.1
- HW 11 due
- Nov 9
- Elliptic curve ElGamal
- Pre-reading Section 6.4.2
- Nov 11
- Elliptic curve digital signatures
- Pre-reading Section 6.4.3
- Nov 14
- Lenstra’s factorization algorithm
- Pre-reading Section 6.6
- HW 12 due
- Nov 16
- Elliptic curves in characteristic 2
- Pre-reading Section 6.7
- Nov 18
- Torsion points and divisors
- Pre-reading Sections 6.8.1, 6.8.2
- Nov 21
- A little history of public key cryptography
- Pre-reading Section 6.5
- Project drafts due
- Nov 28
- The Weil pairing
- Pre-reading Section 6.8.3
- Nov 30
- Computing the Weil pairing
- Pre-reading Section 6.8.4
- Dec 2
- The Tate pairing
- Pre-reading Section 6.8.5
- Dec 7
- Projects due
Past topics
RSA and questions in computational number theory
- Oct 3
- Roots modulo a product of two primes
- Pre-reading Section 3.1
- Oct 5
- RSA public key cryptosystem
- Pre-reading Section 3.2
- HW 6 due
- Oct 7
- Finding large primes
- Pre-reading Section 3.4
- Oct 10
- Lots of primes (probably)
- Pre-reading Sections 3.4.1, 3.4.2
- HW 7 due
- Oct 12
- Pollard’s $p-1$ factorization
- Pre-reading Section 3.5
- Oct 17
- Factorizations using differences of squares
- Pre-reading Section 3.6
- HW 8 due
- Oct 19
- Smooth numbers and the quadratic sieve
- Pre-reading Sections 3.7.1, 3.7.2
- Oct 21
- The number field sieve
- Pre-reading Section 3.7.3
- Oct 24
- The index calculus method
- Pre-reading Section 3.8
- HW 9 due
- Oct 26
- Quadratic residues
- Pre-reading Section 3.9
Mathematical preliminaries
- Aug 29
- Division algorithm
- Pre-reading Section 1.2
- HW 1 due
- Aug 31
- Euclidean algorithm
- Pre-reading Section 1.2
- Sep 2
- Modular arithmetic
- Pre-reading Section 1.3
- Sep 7
- Prime factorization and finite fields
- Pre-reading Section 1.4
- HW 2 due
- Sep 9
- Powers and primitive roots in finite fields
- Pre-reading Section 1.5
- Sep 12
- The discrete logarithm problem
- Pre-reading Section 2.2
- HW 3 due
- Sep 14
- Order notation
- Pre-reading Section 2.6
Welcome and Orientation
- Aug 19
- Introducing the course and ourselves
Historical cryptography and cryptanalysis
- Aug 22
- Substitution and transposition ciphers
- Pre-reading Section 1.1
- HW 0 due
- Aug 24
- Frequency analysis
- Pre-reading Section 1.1.1
- Aug 26
- Evolution of cryptography
- Pre-reading Section 1.6
Diffie-Hellman key exchange and ElGamal public key cryptosystem
- Sep 16
- Symmetric and asymmetric ciphers
- Pre-reading Section 1.7
- Sep 19
- Diffie-Hellman key exchange
- Pre-reading Sections 2.1 2.3
- HW 4 due
- Sep 21
- Elgamal public key cryptosystem
- Pre-reading Section 2.4
- Sep 23
- Shanks Babystep-Giantstep algorithm
- Pre-reading Section 2.7
- Sep 26
- Chinese remainder theorem
- Pre-reading Section 2.8
- HW 5 due
- Sep 28
- Pohlig-Hellman algorithm
- Pre-reading Section 2.9