Lectures Lectures are on Mondays from 10.15 to 12.00 in Delta (Narva mnt 18) - room 2034 and through Panopto (or Zoom), and on Thursdays from 10.15 to 12.00 in Delta (Narva mnt 18) - room 2039 and through Panopto (or Zoom). Office hours are Tuesday from 09:30 to 11:00 in Delta R3072 (Narva mnt 18).
To join virtually through Panopto/Zoom, the link is given at Moodle. The lecture notes will be shared.
- September 2, First Meeting and Introduction to Public Key Cryptography
Lecture 1 -- slides
- September 5, Public Key Cryptography and Basic Definitions
- September 9, Public Key Cryptography and Basic Definitions
Lecture 3 -- photos
- September 12, Discrete logarithm problem (DLP), Diffie-Hellman key exchange, ElGamal public key encryption
- September 16, Integer factorization problem (IFP), Textbook RSA encryption/signature, RSA with Chinese Remainder Theorem (CRT) and attacks
- September 19, RSA KEM, Some attacks to RSA, Probabilistic encryption, Primality tests
- September 23, Parameter selection for RSA, Algorithms for exponentiation
Lecture 7 -- photos
- September 26, Examples, Some attacks to RSA
- September 30, Examples
- October 2, Integer factorization methods (Fermat factorization, Pollard's rho method, Pollard's p-1 method, Quadratic sieve)
Lecture 10 -- slides -- photos
- October 6, Examples
Lecture 11 -- slides -- photos
- October 10, Discrete logarithm algorithms (Baby-step giant-step algorithm, Pollard's Rho algorithm, Pohlig-Hellman algorithm, Index Calculus algorithm)
Lecture 12 -- slides -- photos
- October 14, Elliptic curve cryptography
Lecture 13 -- slides -- photos
- October 17, Projective coordinates, Homework presentations
Lecture 14 -- slides -- photos
- October 21, Elliptic curve encryption scheme, Elliptic curve digital signature algorithm, Edwards curves, Modular reduction algorithms for generalized Mersenne primes
Lecture 15 -- slides -- photos
- October 24, Edwards curves, Montgomery curves, EdDSA, examples
Lecture 16 -- slides -- photos
- October 28, Introduction to post-quantum cryptography
Lecture 17 -- slides
- October 31, Introduction to post-quantum cryptography and standardization process
Lecture 18 -- slides
- November 4, Introduction to lattice-based cryptography, basic mathematics for lattices, LLL algorithm and properties of LLL reduced basis
Lecture 19 -- slides -- photos
- November 7, GGH, rejection sampling, NTRU
Lecture 20 -- slides -- photos
- November 11, NTRU, Regev LWE, LPR and examples
Lecture 21 -- slides -- photos
- November 14, q-ary lattices, sieving algorithms, enumeration algorithms, estimator tools for lattice-based cryptosystems
Lecture 22 -- slides
- November 18, Introduction to lattice-based key exchange, DING12 KE, reconciliation mechanism, hint function, signal function
Lecture 23 -- slides
- November 21, DING12 KE, reconciliation mechanism, hint function, signal function, Peikert14 KE
Lecture 24 -- photos
- November 24, Peikert14 KE, Frodo
Lecture 25 -- slides
Outline
1. First meeting, course organization, basic primitives, definitions in public key cryptography (encryption, key encapsulation mechanism, identification schemes, digital signature)
2. Discrete logarithm problem (DLP), Diffie-Hellman key exchange, ElGamal public key encryption
3. Integer factorization problem, RSA cryptosystem, primality testing
4. Modular exponentiation algorithms, RSA and Chinese Remainder Theorem
5. Algorithms for integer factorization problem
6. Algorithms for DLP
7. Elliptic curve cryptography, Elliptic curve Diffie-Hellman key exchange,
8. Elliptic curve digital signature algorithm (ECDSA) over prime fields, algorithms for ECDLP, Edwards curves, Montgomery curves
9. Real-world examples of traditional public key cryptosystems
10. Basic primitives and definitions in post-quantum cryptography, post-quantum families, computationally hard problems
11. Introduction to lattices, LLL algorithm and properties of LLL reduced basis, Regev cryptosystem
12. Lattice-based key encapsulation mechanisms (KEM) and their primitives
13. Lattice-based signature schemes and their primitives
14. Arithmetic operations (polynomial multiplication, matrix-vector product) for lattice-based cryptography
15. Project presentations
16. Project presentations