Etude et analyse de cryptosystèmes basés sur les codes correcteurs implantables en pratique - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2023

Study and analysis of the implementation of code-based cryptosystems

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

Boly Seck
  • Fonction : Auteur
  • PersonId : 1366615
  • IdRef : 27658337X

Résumé

Code-based Cryptography is one of the approaches to building post-quantum cryptosystems. Unlike the difficult problems of discrete logarithm and factorization (number theory), which are soluble with Shor’s algorithm, the security of code-based cryptography relies on the difficult problem of syndrome decoding (code theory). The asymmetric security protocols used today for encryption (RSA), key exchange (Diffie-Hellman), and digital signature (DSA and RSA) are essentially based on these number-theoretic problems. For this reason, since 2016, NIST has launched a standardization process to define new post-quantum standards for these protocols. In this thesis, we first present an efficient software implementation of the binary and secure version of DAGS, a key encapsulation mechanism (KEM) based on generalized Srivastava codes, submitted during the first round process. The construction of the KEM makes it possible to achieve very small data sizes compared with all other codebased submissions. However, due to security concerns raised by Barelli and Couvreur, DAGS was eliminated in the second round of the process. Since then, efforts have been made by the submission’s authors to provide parameters that make it beyond the reach of structural attacks. Our software implementation of binary DAGS performs better than previous implementations and places it as a credible alternative to the code-based finalists for the fourth round of this process. Next, we show that the Goppa polynomial coefficient loading function used in the reference implementation of Classic McEliece leaks secret information during decapsulation. By performing a template attack, we managed to find secret information about these coefficients, in particular their Hamming weight. This information allowed us to find new results in code-based cryptography and to improve the complexity of the exhaustive search for this polynomial on F_2^m. We also propose a new formalism in code-based cryptography, the resolution of which allows us to make a generic attack on the private key in code-based schemes: this is the matrix-vector product problem. Solving this problem using a profiled attack allows us to recover the secret matrix in the Niederreiter scheme without having to face the difficult problem of syndrome decoding. Finally, we show that the rank-metric identification protocol published at CANS 2018 leaks information about the secret, before doing its cryptanalysis. The flaw in the protocol is related to a bad masking of the secret by a simple random permutation on F_q^m. Using a special permutation, we managed to correctly mask the secret in F_q^m before proposing a zero-knowledge rank-based Véron’s identification protocol with the rankmetric settings that yields an efficient signature scheme with the Fiat-Shamir transformation
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.
Fichier principal
Vignette du fichier
These-Seck-Boly-2023.pdf (3.94 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04517248 , version 1 (22-03-2024)

Identifiants

  • HAL Id : tel-04517248 , version 1

Citer

Boly Seck. Etude et analyse de cryptosystèmes basés sur les codes correcteurs implantables en pratique. Cryptographie et sécurité [cs.CR]. Université Jean Monnet - Saint-Etienne; ESP (Ecole Supérieure Polytechnique de Dakar), 2023. Français. ⟨NNT : 2023STET0025⟩. ⟨tel-04517248⟩
1 Consultations
0 Téléchargements

Partager

Gmail Facebook X LinkedIn More