Au sein de la Sous-direction Expertise (SDE) et plus spécifiquement de la Division Scientifique et Technique (DST), le Laboratoire de Cryptographie (LCR) est le pôle d’expertise de l’agence pour ce qui concerne les algorithmes et architectures cryptographiques. Dans ces domaines, il participe notamment à la recherche, à l’évaluation des mécanismes cryptographiques et de leur déploiement dans les produits de sécurité, à l’analyse des besoins et la conception de solutions propres à les satisfaire, à l’élaboration et la mise à jour de référentiels techniques.
Descriptif des missions
Face à la menace de l’apparition éventuelle d’ordinateurs quantiques capables de casser les algorithmes de cryptographie asymétrique actuellement utilisés à grande échelle, un processus de sélection est en cours visant à remplacer lesdits algorithmes par d’autres, supposés résistants à cette menace. Ces nouveaux algorithmes, dits post-quantiques, reposent sur diverses constructions issues des mathématiques ou de l’informatique théorique : réseaux euclidiens, codes correcteurs, isogénies, systèmes multivariés, fonctions de hachage, calcul multipartite, etc.
Un des candidats à devenir un tel standard post-quantique est directement dérivé du cryptosystème de McEliece de 1978, dont la sécurité repose sur la difficulté du décodage de codes de Goppa masqués. Si la résistance de ce système aux attaques en recouvrement de message a été beaucoup étudiée, ce n'est pas le cas concernant les attaques en recouvrement de clé. Une avancée importante dans cette direction a été obtenue en 2024, montrant qu'un code de Goppa pouvait être distingué d'un code aléatoire en temps sous-exponentiel. Ce résultat repose sur de nouveaux invariants des codes, issus de l'algèbre homologique et de la géométrie algébrique.
Si des algorithmes pour calculer ces invariants existent déjà, leur implémentation est encore loin d’être optimale. Un premier objectif du stage est d’améliorer ces algorithmes ainsi que leur implémentation, avec deux résultats en vue :
une estimation plus fine de leur complexité théorique ;
la possibilité de les faire tourner en pratique sur une plus grande plage de paramètres.
Les divers axes d’amélioration comprennent des ingrédients théoriques (techniques d’algèbre linéaire creuse, optimisation de réduction de matrice...) mais aussi en pratique l'utilisation d’un langage de programmation performant et adapté.
Par ailleurs, selon la vitesse d’avancement et le goût du/de la candidat(e), d’autres pistes de recherche continuant ce travail pourront être encore envisagées.
Profil recherché
En cours de formation niveau Master 2 recherche (ou équivalent), vous disposez d'une réelle appétence pour les mathématiques et la cryptographie ainsi que leur implémentation pratique.
Compétences requises :
Notions solides en calcul formel, algorithmique, algèbre effective ;
Goût pour la programmation et maîtrise d’un langage performant, par exemple Julia, C, ou Rust (liste non exhaustive) ;
Une certaine familiarité avec un ou plusieurs des domaines suivants : cryptographie, codage correcteur, bases de Gröbner, algèbre commutative, algèbre homologique, géométrie algébrique.
Savoir être :
Avoir le sens du service public;
Curiosité et autonomie;
Appétence pour les sujet complexes.
Process de recrutement
Si votre candidature est présélectionnée, vous serez contacté(e) pour apprécier vos attentes et vos motivations au cours d'un entretien téléphonique ou physique.
Des tests techniques pourront vous être proposés.
Vous ferez l'objet d'une procédure d'habilitation.