Fields Academy Shared Graduate Course: Public-Key Cryptography
Description
Registration Deadline: TBA
Instructor: Professor Patrick M. Ingram, York University
Course Date: TBA
Mid-Semester Break: TBA
Lecture Time: TBA
Office Hours: TBA
Registration Fee:
- Students from our Principal Sponsoring & Affiliate Universities: Free
- Other Students: CAD$500
Capacity Limit: TBA
Format: TBA
Course Description
Public-key cryptography addresses the problem of establishing secure communication over an insecure channel, which went from a niche concern to an everyday consideration with the advent of the internet. Since the foundational contributions of Diffie and Hellman, the framework for public-key cryptography has largely come from abstract algebra, and this course surveys those foundations.
The main topics in the course are:
- Introduction/review of finite fields, their construction and uniqueness, and implementation of efficient calculations and linear algebra.
- The classical discrete logarithm problem (DLP) as a trapdoor function.
- DLP key exchange, cryptography, and signature schemes.
- Pohlig-Hellman and Index Calculus attacks on DLP cryptosystems.
- Elliptic curves, basic definitions and group law.
- The elliptic curve discrete log problem (ECDLP) as a trapdoor function.
- ECDLP versions of DLP schemes.
- Cryptanalysis of and using elliptic curves, pairing-based attacks on ECDLP.
- Schor's algorithm and quantum attacks on DLP- and ECDLP-based cryptosystems.
- Post-quantum cryptography.
- NTRU and lattice-based cryptography.
- McEliece and code-based cryptography.
Upon successful completion of the course, students should be able to:
- Explain the basic framework of cryptography, and the distinctions between private-key and public-key cryptography.
- Explain and implement computations in finite fields, and linear algebra over finite fields
- Explain the concept of a trapdoor function, and why DLP is a viable trapdoor.
- Describe and implement Diffie-Hellman key exchange, ElGamal PKC and signatures.
- Implement Pohlig-Hellman and Index Calculus approaches to solving DLP, and explain the significance for DLP-based cryptosystems.
- Explain and implement operations on elliptic curves over finite fields, including efficient multiplication.
- Explain why the ECDLP and generalizations are viable candidates for trapdoor functions.
- Discuss generalizations of DLP to other algebraic groups (e.g., hyperelliptic curve cryptography)
- Describe and implement elliptic curve key exchange, PKC, and signatures.
- Implement pairing-based approaches to ECDLP, and explain the significance for elliptic curve cryptography.
- Explain the theoretical problems posed by quantum computing for secure DLP- and ECDLP-based cryptography.
- Describe the fundamental underlying mathematical problems in lattice-based cryptography, and implement variants of NTRU.
- Explain the mathematical basis for code-based cryptography, and implement the McEliece cryptosystem.