2024-2025
À l’ISTIC, Université de Rennes
Cyberschool
- Unix refresher, Master 1, 2 lab sessions of 1.5 hours for two groups.
- Advanced Cryptography (BCS), Master 2 lab sessions, 11 slots of 1.5 hours.
- Maths for Security (MSEC), Master 1, lectures (1.5 h) and lab sessions (1.5 h x 2 groups), 8 weeks.
- Network Security, Master 1, guest lecture on the cryptographic aspects of TLS 1.3.
2023-2024
Material of all lectures on the Number Field Sieve
To prepare for Douala’s 2024 CIMPA school that I unfortunately could not join, I collected the source files of all the lectures I gave from 2019 to 2024 on the Number Field Sieve, here there are with CC-BY-NC-SA licence: Gitlab website: nfs-lectures
. Slides on RSA, Slides on DL.
École d’hiver du PEPR Cybersécurité, Autrans
RSA cryptanalysis: integer factorization and other attacks, January 30, slides.
À l’Université de Lorraine
Polytech Nancy, Master FISE, parcours SIR
Cours de cryptographie et sécurité, novembre 2023 – janvier 2024, 12h CM et 12h TD.
2022-2023
À l’Université de Lorraine
IUT Charlemagne, Nancy, BUT MMI 1re année
Bachelor Universitaire de Technologie, Métiers du Multimédia et de l’Internet, Cours R112 Intégration : sur Arche
TDs sur machine le lundi matin du 05/09 au 19/09, le mardi matin du 27/09 au 13/12 sauf le 04/10 et le 01/11.
2021-2022
À l’Université de Aarhus
Master Maths et Master info
Elliptic Curves, Number Theory and Cryptography page dans le catalogue de cours.
- Week 1, Tuesday, February 1. Lecture 1. SageMath script to check the group law in affine short Weierstrass form:
group_law_short_weierstrass_affine.sage
- Week 1, Thursday, February 3. Tutorial 0, Introduction to SageMath. Tutorial 1, Bachet equation and elliptic curves over Q in Python and SageMath.
- Week 2, Tuesday, February 8. Lecture 2
- Week 2, Thursday, February 10. Tutorial 2,
curve_arithmetic.py
, Solutions,02_solutions_in_sage.sage
- Hand-in 1, solutions.
- Week 3, Tuesday, February 15. Lecture 3A. SageMath script to compute isomorphisms and j-invariants:
example_j_invariant_isomorphism.sage
- Week 3, Thursday, February 17. Lecture 3B. SageMath script to compute a decomposition of a scalar for GLV:
example_GLV.sage
. - Week 3 tutorial03.pdf: Solutions to Exercises tutorial03_solutions.pdf and
tutorial03_solutions.sage
. - Week 4, Tuesday, February 22. Lecture 4A,
cunningham_project_and_supersingular_curves.sage
, exercises04.pdf, exercises04_solutions.pdf. - Week 4, Thursday, February 24. Lecture 4B. Tutorial 4, implement the multi-scalar multiplication algorithm, template SageMath file:
arithmetic.py
,arithmetic_solutions.py
. - Week 5, Tuesday, March 1. Lecture 5A on computing a short basis for GLV,
example_ben_smith_short_basis.sage
. - Week 5, Thursday, March 3. Lecture 5B on the Weil pairing. Lecture 5C for the hand-in. Tutorial 5: exercises05.pdf.
- Hand-in 2,
handin2.sage
, solutions,handin2_solutions.sage
. - Office hours Tuesday, March 8: On endomorphisms.
- Week 6, Tuesday, March 8 and Thursday, March 10. Lectures of Week 6 where taught by Diego Aranha.
- Week 7, Tuesday, March 15. Lecture 7A, RSA, integer factorization, record computations.
- Week 7, Thursday, March 17. Lecture 7B, Diffie-Hellman and discrete logarithm computations.
- Hand-in 3, The Montgomery ladder in affine and projective coordinates, in large characteristic and characteristic 2. 3-handin.pdf,
handin_3_montgomery_ladder.py
,handin_3_simple_solutions.py
,handin_3_simple_solutions_char2.py
. - Week 8, Tuesday, March 22. Lecture 8A, Discrete logarithm computations: Pohlig-Hellman, Shanks Baby step giant step, Pollard-rho.
- Week 8, Lecture 08B, The complexity of Pomerance’s Quadratic Sieve (not in the lecture, not in the exam).
- Week 8, Thursday, March 24. Hand-in 3 session.
- Week 9, Tuesday, March 29. Lecture 9 part 1, Isogenies.
- Week 9, Thursday, March 31. Lecture 9 part 2, Isogenies: CSIDH and SIDH. See also Tanja Lange materials, from the Isogeny Summer School.
- Hand-in 4, CSIDH from Lange and Panny at Martindale and Petit online summer school. 4-handin.pdf,
handin_4.sage
, 4-handin-solutions.pdf,handin_4_solutions.sage
. - Week 10, Tuesday, April 5. Lecture by Diego Aranha on pairing implementation, part I.
- Week 10, Thursday, April 7. Hand-in 4 session.
- Tuesday, April 12 and Thursday, April 14: Spring break.
- Week 11, Tuesday, April 19. Lecture 11 part 1, Pairings and pairing-friendly curves.
- Week 11, Thursday, April 21. Lecture 11 part 2, Ate pairing.
ate_pairing.sage
,tate_pairing_supersingular_curve.sage
. - Hand-in 5. SIDH from Lange and Panny at Martindale and Petit online summer school, pairings, AKE protocol, and BLS signatures. 5-handin.pdf,
handin_5.sage
, 5-handin-solutions.pdf,handin_5_solutions.sage
. - Week 12, Tuesday, April 26. Lecture by Diego Aranha on pairing implementation, part II.
- Week 12, Thursday, April 28. hand-in 5 session.
- Week 13, Tuesday, May 3. Lecture 13A Elliptic curves over Q.
- Week 13, Thursday, May 5. ECM.
- Hand-in 6. Elliptic curves over Q, Reduction theorem, and Nagell-Lutz theorem. 6-handin.pdf, 6-handin-solutions.pdf.
- Week 14, Tuesday, May 10. Lecture 13B, Proof of Nagell-Lutz theorem.
- Week 14, Thursday, May 12. Lecture 14B, Hashing to elliptic curves. Hand-in 6 session.
- Week 15, Tuesday, May 17. Revisions.
- Week 15, Thursday, May 19. ECDSA signatures in COVID certificates.
2020-2021
À l’Université de Bretagne Sud
Master Cybersécurité des systèmes embarqués
- RSA, Diffie-Hellman, Factorisation d’entier, logarithme discret, notes de cours, slides.
MIT
Course 6.857: Computer and Network Security (Spring 2021)
- RSA, Integer Factorization, record computations, slides.
2019-2020
À l’École Polytechnique
Bachelor
- CSE103: Introduction to algorithms, lectures Ian Mackie, tutorials: programming in Python. 8 TDs, Middle term exam and final exam, Spring semester, 2020.
Cycle polytechnicien
- INF411 : Les bases de la programmation et de l’algorithmique, cours de J.C. Filliâtre, TD en Java, mardis 8:00-10:00 (groupe 3), 10:15-12:15 (groupe 10), salle info 32, du 27 août au 12 novembre (10 TDs).
- INF361 : Introduction à l’informatique, cours de F. Morain, TDs en Java, mardis 13:30-15:30 (groupe 7), 15:45-17:45 (groupe 15), online, 1er avril – 30 juin (TD0 install party + 10 TDs).
2018-2019
À l’École Polytechnique
Bachelor
- CSE103: Introduction to algorithms, lectures Ian Mackie, tutorials: programming in Python. Thursdays 13:15-15:15, 15:30-17:30, February 14th to June 27th, lab 36.
Cycle polytechnicien
- INF411 : Les bases de la programmation et de l’algorithmique, cours de J.C. Filliâtre, TD en Java, mardis 8:00-10:00 (groupe 3), 10:15-12:15 (groupe 10), salle info 32, du 27 août au 23 novembre.
2017-2018
À l’École Polytechnique
Bachelor
- CSE103: Introduction to algorithms, lectures Hang Zhou, tutorials: programming in Python. Friday 8:00-10:00, 10:15-12:15, February 19th to June 29th.
Cycle polytechnicien
- INF411 : Les bases de la programmation et de l’algorithmique, cours de J.C. Filliâtre, TD en Java. Mardi 8:00-10:00, 10:15-12:15, du 28 août au 27 octobre.
À l’Université de Lorraine, FST, Nancy
Licence d’informatique 1, FST
- Méthodologie de conception et de programmation, responsable Mathieu Constant, TP en C, projet de jeu vidéo. Mardi 10:15-12:15, mercredi 9:00-10:00, du 19 mars au 8 juin.
2014-2015
À l’École Polytechnique
Je suis intervenue comme vacataire pour les TPs des cours suivants.
- INF 441 Programmation avancée (advanced programming), cours de F. Pottier, groupe de TP de J.-C. Filliâtre Site du cours
- INF 472 Modal web, cours d’O. Serre, groupe de TP de A. Ivanov
- Install party INF 431 : installation d’Eclipse et Android SDK sur les ordinateurs portables des élèves. Cours d’E. Goubault
2011-2012-2013
À l’Université Paris 8 Saint-Denis
- Programmation avancée, L2 1er semestre, cours de J.-J. Bourdin, TP en C et applications au traitement d’images
- Introduction à la programmation, L1 2e semestre, cours de J.-N. Vittaut, TP en C