12 research outputs found
Etude et analyse de cryptosystÚmes basés sur les codes correcteurs implantables en pratique
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 transformationLa 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
Cryptanalysis of a code-based identification scheme presented in CANS 2018
International audienc
Cryptanalysis of a code-based identification scheme presented in CANS 2018
International audienc
Key-Recovery by Side-Channel Information on the Matrix-Vector Product in Code-Based Cryptosystems
International audienc
Software Implementation of a Code-Based Key Encapsulation Mechanism from Binary QD Generalized Srivastava Codes
International audienc
Reducing the Goppa polynomial search complexity using a Template Attack on Classic McEliece
International audienc
Reducing the Goppa polynomial search complexity using a Template Attack on Classic McEliece
International audienc
Side-Channel Attack against Classic McEliece when loading the Goppa Polynomial.
International audienc