Number theory II.c - Cryptography
MATH-489
Media
General Information
NUMBER THEORY IN CRYPTOGRAPHY (MATH 489)
This is a master-level course offered to both mathematics and computer science students. The goal of the course is to introduce basic notions from public-key cryptography (PKC) as well as basic number-theoretic methods and algorithms for cryptanalysis of PKC.COURSE CONTENT
Basic notions and algorithms from public key cryptography such as RSA, ElGamal, key-exchange protocols, digital signatures, zero-knowledge proofs. Main topics may include, but are not limited to- efficient modular and finite field arithmetic
- integer factorization algorithms
- index calculus and discrete logarithm-based schemes
- elliptic curve cryptography
- lattice-basis reduction algorithms
- learning-with-errors (LWE) and applications to fully homomorphic encryption (FHE)
KEYWORDS
public key cryptography, key exchange, digital signatures, zero knowledge proofs, RSA, ElGamal, integer factorization, index calculus, elliptic curve cryptography, lattice-based cryptography
TEACHING METHODS AND READING MATERIAL
We will not be using a single reference for this course and whenever needed I will provide additional materials beyond what is covered in the lectures. Good references / reading material include the following:
- An introduction to mathematical cryptography by J. Hoffstein, J. Pipher and J. Silverman
- A computational introduction to number theory and algebra by V. Shoup
- A course in number theory and cryptography by N. Koblitz
- Elliptic Curves: Number Theory and Cryptography by L. Washington
If you have not taken a thorough abstract algebra course, these references include some background material (though quite compact, so be prepared that you may need to digest a lot of material in a short amount of time).
LECTURE AND EXERCISE SESSIONS
- The course meets every Monday, 1:15pm - 3:00pm in MAA330.
- Exercise sessions meet every Monday, 3:15pm - 5:00pm in MAA330
- Lecture notes will be posted on Moodle as a reference to the course
- We will only provide partial solutions to the problem sets (typically 1 or 2 exercises every week).
- You may use the Ed forum to ask course-related questions. The teaching staff will monitor the discussions to make sure you get proper answers in a timely manner, but fellow students are encouraged to answer as well.
- Office hours can be organized by appointment: please send an email to the teaching assistant.
TEACHING ASSISTANTS
- Yuxi Zheng yuxi.zheng@epfl.ch
- Master Student TA: Louis Gogniat louis.gogniat@epfl.ch
ASSESSMENT METHODS
- HOMEWORK ASSIGNMENTS
Weekly problem sets focusing on number-theoretic and complexity-theoretic aspects. These will be complemented by programming exercises in SAGE (cf. below). No prior SAGE experience is required. There will be 12 homework assignments on which we will collect 2-3 specified exercises (to be graded with a score between 1 and 6). The average of the 10 best homework grades for each student will constitute the total homework grade, counting for 40% of the final grade. It is vital for your learning that you do (all of) the homework!
- EXAMS
The final exam will count for 60% of the final grade. There will also be a mock midterm to help you self-assess your progress (it will not be graded). The exams will test theoretical knowledge as well as understanding of the algorithms and protocols. There will be no SAGE exercises on the exam(s), if necessary algorithms can be presented in pseudocode. The final exam will be a written exam.
The lecture notes contain both mandatory and optional (supplementary) topics. The supplementary topics are not required for the exam and are only there to get deeper into some of the themes of the course.
NOTES ON SAGE
For most of the course, we will use an open source mathematical software system SageMath based on Python. You can either use it locally by installing it or online through CoCalc. For a brief tutorial on Python, you can check here. Documentation for SageMath can be found here.
Easter holiday break: there is no lecture nor exercise session this week.