Thèse soutenue

Etude et analyse de cryptosystèmes basés sur les codes correcteurs implantables en pratique

FR  |  
EN
Auteur / Autrice : Boly Seck
Direction : Pierre-Louis CayrelIdy Diop
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 20/09/2023
Etablissement(s) : Saint-Etienne en cotutelle avec ESP (Ecole Supérieure Polytechnique de Dakar)
Ecole(s) doctorale(s) : École doctorale Sciences Ingénierie Santé (Saint-Etienne)
Partenaire(s) de recherche : Laboratoire : Laboratoire Hubert Curien (Saint-Etienne ; 1995-....)
Jury : Président / Présidente : Viktor Fischer
Examinateurs / Examinatrices : Augustin Sarr, Morgan Barbier
Rapporteurs / Rapporteuses : Nadia El Mrabet-Poinsot, Cristina Onete

Résumé

FR  |  
EN

La cryptographie basée sur les codes correcteurs d’erreurs est l’une des approches permettant de construire des cryptosystèmes capable de résister à l’informatique quantique. Contrairement aux problèmes difficiles du logarithme discret et de la factorisation (théorie des nombres) qui sont solubles avec l’algorithme de Shor, la sécurité de la cryptographie basée sur les codes repose sur le problème difficile du décodage par syndrome (théorie des codes). Les protocoles de sécurité asymétrique utilisés aujourd’hui pour le chiffrement (RSA), l’échange de clefs (Diffie-Hellman) et la signature numérique (DSA et RSA) sont essentiellement basés sur ces problèmes de la théorie des nombres. C’est pourquoi, le NIST a lancé depuis 2016 un processus de normalisation afin de définir de nouvelles normes post-quantiques de ces protocoles. Dans cette thèse, nous présentons d’abord une implantation logicielle de la version binaire et sécurisée de DAGS, un mécanisme d’encapsulation de clefs (KEM) basé sur les codes de Srivastava généralisés, soumis lors du premier tour processus. La construction du KEM permet d’atteindre de très petites tailles de données, comparée autres soumissions basées sur les codes. Cependant, à cause de problèmes de sécurité soulevés par Barelli et Couvreur, DAGS a été éliminé au second tour du processus. Depuis, des efforts ont été faits par les auteurs de la soumission pour fournir des paramètres qui le rendent hors de portée des attaques structurelles. Notre implantation logicielle du DAGS binaire donne de meilleure performance par rapport aux implantations précédentes et le place comme une alternative crédible des finalistes à base de codes pour le quatrième tour du processus. Ensuite, nous montrons que la fonction de chargement des coefficients du polynôme de Goppa utilisée dans l’implantation référence de Classic McEliece laisse échapper de l’information secrète pendant la décapsulation. En faisant une attaque template, nous avons réussi à trouver de l’information secrète sur ces coefficients, notamment leur poids Hamming. Cette information nous a permis de trouver de nouveaux résultats en cryptographie basée sur les codes et d’améliorer la complexité de la recherche exhaustive de ce polynôme sur F_2^m. Nous proposons également un nouveau formalisme en cryptographie basée sur codes dont la résolution permet de faire une attaque générique sur la clef privée dans les schémas à base de codes : c’est le problème du produit matrice-vecteur. La résolution de ce problème à l’aide d’une attaque profilée permet de retrouver la matrice secrète dans le schéma de Niederreiter sans être confronté au problème difficile du décodage par syndrome. Enfin, nous montrons que le protocole d’identification en métrique rang publié à CANS 2018 laisse échapper de l’information sur le secret, avant de faire sa cryptanalyse. La faille dans le protocole est liée à un masquage défectueux du secret par une simple permutation aléatoire sur F_q^m. En utilisant une permutation spéciale, nous avons réussi à masquer correctement le secret dans F_q^m avant de proposer un schéma d’identification zero-knowledge de Véron en métrique rang qui donne un schéma de signature efficace avec la transformation de Fiat-Shamir.