Cryptanalyse algébrique des systèmes basés sur les codes

Documents pareils
Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

La cryptographie du futur

Théorie et codage de l information

Résolution d équations non linéaires

Introduction à l étude des Corps Finis

Cryptographie et fonctions à sens unique

ÉPREUVE COMMUNE DE TIPE Partie D

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Fonction de hachage et signatures électroniques

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Sécurité de protocoles cryptographiques fondés sur les codes correcteurs d erreurs

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Amphi 3: Espaces complets - Applications linéaires continues

Une introduction aux codes correcteurs quantiques

Table des matières. I Mise à niveau 11. Préface

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Gestion des Clés Publiques (PKI)

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Transmission d informations sur le réseau électrique

Trouver un vecteur le plus court dans un réseau euclidien

Travail d intérêt personnel encadré : La cryptographie

Cours de Master Recherche

INF 4420: Sécurité Informatique Cryptographie II

Cryptographie Quantique

Chapitre VI - Méthodes de factorisation

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

I. TRANSMISSION DE DONNEES

Programmation linéaire

Programme de la classe de première année MPSI

Chapitre 5 : Flot maximal dans un graphe

Université Montpellier II Sciences et Techniques du Languedoc MÉMOIRE DE STAGE DE MASTER M2

Cours de méthodes de scoring

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Calcul fonctionnel holomorphe dans les algèbres de Banach


ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Résolution de systèmes linéaires par des méthodes directes

3 Approximation de solutions d équations

Programmes des classes préparatoires aux Grandes Ecoles

Cours 14. Crypto. 2004, Marc-André Léger

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Signatures électroniques dans les applications INTERNET

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

Problème 1 : applications du plan affine

Algorithmes pour la planification de mouvements en robotique non-holonome

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Chaine de transmission

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Quelques tests de primalité

Filtrage stochastique non linéaire par la théorie de représentation des martingales

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Cours d analyse numérique SMI-S4

Conversion d un entier. Méthode par soustraction

Calcul différentiel. Chapitre Différentiabilité

TECHNIQUES DE CRYPTOGRAPHIE

Signalisation, codage, contrôle d'erreurs

Géométrie des nombres et cryptanalyse de NTRU

La sécurité dans les grilles

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

I. Polynômes de Tchebychev

VI. Tests non paramétriques sur un échantillon

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

MATHÉMATIQUES EN PREMIER CYCLE PRÉSENTATION DU PROGRAMME

IPSEC : PRÉSENTATION TECHNIQUE

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

Simulation de variables aléatoires


Polynômes à plusieurs variables. Résultant

ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES

CAPTEURS - CHAINES DE MESURES

Master of Science en mathématiques

Fonctions de plusieurs variables


Interception des signaux issus de communications MIMO

Déterminants. Marc SAGE 9 août Inverses et polynômes 3

Comparaison de fonctions Développements limités. Chapitre 10

Le partage de clés cryptographiques : Théorie et Pratique

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Introduction au Data-Mining

Chapitre 2 : communications numériques.

Calculateur quantique: factorisation des entiers

Transcription:

Cryptanalyse algébrique des systèmes basés sur les codes Soutenance de stage Stage encadré par Jean-Charles Faugère, Ludovic Perret (LIP6), Jean-Pierre Tillich et Ayoub Otmani (INRIA) Mohamed Amine Najahi Université Pierre et Marie Curie Mardi, 6 septembre 2011 Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 1 / 21

Sommaire 1 Introduction 2 Cryptographie basée sur la théorie des codes 3 La variante dyadique 4 Attaque de la variante dyadique 5 Conclusion Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 2 / 21

Introduction Sommaire 1 Introduction 2 Cryptographie basée sur la théorie des codes 3 La variante dyadique 4 Attaque de la variante dyadique 5 Conclusion Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 3 / 21

Introduction Enjeux de la cryptographie à clef publique Constats 1 Les cryptosystèmes à clef publique reposent sur un problème difficile avec trappe. 2 La majorité des problèmes exploités aujourd hui sont issus de la thèorie des nombres (factorisation, logarithme discret, courbes elliptiques...). 3 En 1994, Shor a publié un algorithme quantique de factorisation et de résolution de logarithme discret en temps polynômial. une grande partie des cryptosystèmes à clef publique en usage aujourd hui sera obsolète si l on construisait un ordinateur quantique. Solutions : Cryptosystèmes post-quantiques Des alternatives sont fournies par : Les codes correcteurs d erreurs. Les réseaux euclidiens. Les systèmes polynômiaux. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 4 / 21

Introduction Enjeux de la cryptographie à clef publique Constats 1 Les cryptosystèmes à clef publique reposent sur un problème difficile avec trappe. 2 La majorité des problèmes exploités aujourd hui sont issus de la thèorie des nombres (factorisation, logarithme discret, courbes elliptiques...). 3 En 1994, Shor a publié un algorithme quantique de factorisation et de résolution de logarithme discret en temps polynômial. une grande partie des cryptosystèmes à clef publique en usage aujourd hui sera obsolète si l on construisait un ordinateur quantique. Solutions : Cryptosystèmes post-quantiques Des alternatives sont fournies par : Les codes correcteurs d erreurs. Les réseaux euclidiens. Les systèmes polynômiaux. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 4 / 21

Cryptographie basée sur la théorie des codes Sommaire 1 Introduction 2 Cryptographie basée sur la théorie des codes 3 La variante dyadique 4 Attaque de la variante dyadique 5 Conclusion Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 5 / 21

Cryptographie basée sur la théorie des codes Théorie des codes correcteurs Principe Codage : Ajouter de la redondance à un message avant de le transmettre sur un canal bruité. Décodage : Retrouver le message initial à partir du message (probablement erroné) reçu. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 6 / 21

Cryptographie basée sur la théorie des codes Théorie des codes correcteurs d erreurs Codes linéaires Un code linéaire C est un sous-espace vectoriel de dimension k de F n q. n la longueur du code k la dimension du code F q l alphabet du code d la distance minimale du code (métrique de Hamming) On le note C = [n, k, d] q Propriétés détecte d 1 erreurs. corrige de manière unique jusqu à d 1 2 erreurs. admet une base de k vecteurs de longueur n = Matrice génératrice G. Les mots du codes sont tous les vecteurs xg où x F 1 k q. est le noyau d une matrice de rang n k = Matrice de parité. m est un mot du code mh T = 0. En particulier G H T = (0) k,n k. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 7 / 21

Cryptographie basée sur la théorie des codes Quelques problèmes difficiles issus de la théorie des codes Problème du décodage Berlekamp, McEliece, Van Tilborg 78 : Étant donné la matrice génératrice G d un code linéaire aléatoire de longueur n et un message m de même longueur. Le problème du décodage (i.e. déterminer le mot du code le plus proche de m) est NP-Complet. Problème de la distance minimale Vardy 97 : Étant donné la matrice génératrice G d un code linéaire aléatoire. Le problème de déterminer sa distance minimale est NP-Complet. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 8 / 21

Cryptographie basée sur la théorie des codes Rappel sur les codes de Goppa classique C est une sous-famille des codes alternants admet un algorithme de décodage efficace jusqu à la distance minimale construite. Définition des codes de Goppa On se donne une séquence X = (x 0,, x n 1) F p m et un polynôme g(x) F p m [x] de degré t tel que g(x i) 0 i.le code de Goppa Γ(X, g) est le code de matrice de parité : g(x 0) 1 g(x n 1) 1 g(x 0) 1 x 0 g(x n 1) 1 x n 1 H =..... F t n p.. m g(x 0) 1 x t 1 0 g(x n 1) 1 x t 1 n 1 Distance minimale des codes de Goppa Sur un corps de caratéristique impaire : Un code de Goppa a une distance minimale construite égale à t + 1. Sur un corps binaire : Un code de Goppa a une distance minimale construite égale à 2t + 1, si g n a pas de racines multiples. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 9 / 21

Cryptographie basée sur la théorie des codes McEliece et Niederreiter On se donne un code C = [n, k, d = 2t + 1] décodable efficacement et on note : G F k n q sa matrice génératrice. H Fq n k n sa matrice de parité. S une matrice inversible et P une matrice de permutation. McEliece 78 Niederreiter Public key ( G = SGP, t) ( H = SHP, t) Private key S GL k (F q), G, P F n n q 86 S GL n k (F q), H, P F n n q Chiffrement c = m G + e, m F k q, w(e) = t c = H m T, m F n q, w(m) = t Déchiffement m = Dec(cP 1 )S 1 m = P 1 DecSyn(S 1 c) Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 10 / 21

Cryptographie basée sur la théorie des codes La signature CFS(Courtois, Finiasz, Sendrier) C est un schéma de signature basé sur le cryptosystème de Niederreiter et une fonction de hachage H : {0, 1} N F k q CFS On peut la voir comme 3 algorithmes distincts : Keygen : Produit le couple (H, T ) : H la matrice de parité d un code C = [n, k, 2t + 1] q, et T une trappe qui permet de le décoder. Sign : Soit m le message à signer. Trouve c N t.q. syn = H(m, c) est un syndrome décodable. Utilise T pour obtenir e t.q. w(e) t et He T = syn T. La signature est (e, c). Verify : Accepte la signature si et seulement si w(e) t et He T = H(m, c) T Quels paramètres pour CFS Dans le cas Goppa binaire : La densité des syndromes décodables est d = 1 2 mt t w=1 ( ) n nt w 2 mt t! 1 t! t! est le nombre moyen d essais avant d obtenir la signature. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 11 / 21

Cryptographie basée sur la théorie des codes Avantages et inconvénients des primitives basées sur les codes Constats Principal avantage : Rapidité dans le chiffrement (produit matrice vecteur). Principal inconvénient : La taille des clefs publiques. Solutions proposées par de récents travaux Ajouter de la structure sur la matrice publique pour réduire sa taille. Quasi-cyclicité (Berger et al., AFRICACRYPT 2009) Quasi-dyadicité (Barreto et al., SAC 2009) Utiliser des codes de Goppa non-binaires. Wild McEliece (Bernstein et al., SAC 2010)... Faugère, Perret, Otmani et Tillich La plupart des paramètres quasi-cycliques et quasi-dyadiques destinés au chiffrement ont été cassés. (Eurocrypt 2010) Les paramètres quasi-dyadiques binaires résistent encore. Un distingueur pour certains codes de Goppa a aussi été proposé. (YACC 2010) Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 12 / 21

La variante dyadique Sommaire 1 Introduction 2 Cryptographie basée sur la théorie des codes 3 La variante dyadique 4 Attaque de la variante dyadique 5 Conclusion Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 13 / 21

La variante dyadique Matrice de Cauchy et codes de Goppa Définition Soit m F n q un vecteur. On dit que la matrice carré M est dyadique si M = (m i,j) = (m i j). Une matrice dyadique est totalement déterminée par sa première ligne, on appelle celle-ci la signature. Condition pour que la matrice de McEliece soit dyadique (Barreto et al., SAC 2009) 1 m i j = 1 m i + 1 m j + 1 m 0 Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 14 / 21

Attaque de la variante dyadique Sommaire 1 Introduction 2 Cryptographie basée sur la théorie des codes 3 La variante dyadique 4 Attaque de la variante dyadique 5 Conclusion Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 15 / 21

Attaque de la variante dyadique Les attaques sur les primitives basées sur les codes Attaques par décodage 1 Information Set Decoding (Stern, Canteaut,...) 2 Generalized Birthday Attacks (Wagner,...) 3... Attaques structurelles Essayer de recouvrer la clef secrète en exploitant la structure de la clef publique. Support splitting algorithm (Sendrier) Principe de l attaque algébrique 2 étapes Modélisation du cryptosystème par un système d équations algébriques tel que : Résoudre ce système = Recouvrer une information secrète. Modélisation : Tout cryptosystème peut être modélisé par un système d équations polynômiales. Résolution : Les bases de Gröbner (Algorithme de Buchberger et plus récemment F4 et F5 de Faugère). Les SAT solvers dans le cas booléen. La linéarisation. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 16 / 21

Attaque de la variante dyadique Les attaques sur les primitives basées sur les codes Attaques par décodage 1 Information Set Decoding (Stern, Canteaut,...) 2 Generalized Birthday Attacks (Wagner,...) 3... Attaques structurelles Essayer de recouvrer la clef secrète en exploitant la structure de la clef publique. Support splitting algorithm (Sendrier) Principe de l attaque algébrique 2 étapes Modélisation du cryptosystème par un système d équations algébriques tel que : Résoudre ce système = Recouvrer une information secrète. Modélisation : Tout cryptosystème peut être modélisé par un système d équations polynômiales. Résolution : Les bases de Gröbner (Algorithme de Buchberger et plus récemment F4 et F5 de Faugère). Les SAT solvers dans le cas booléen. La linéarisation. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 16 / 21

Attaque de la variante dyadique Objectif L objectif de l attaque est de recouvrer le vecteur h qui a servi à la construction de la matrice publique. Trouver la meilleure modélisation. Utiliser le meilleur outils pour la résolution. Comment La première étape, toujours possible est d utiliser la relation fondamentale suivante G H T = (0) k,n k H est dyadique, on s intéressera à sa première ligne X := (x 0,, x n 1) F q m [x 1,, x n 1]. On dispose de la matrice génératrice G sous la forme systématique suivante : 1 0 0 0 1 0 n k 1 G = P F k k..... 0 Fk n 2 p i,jx j + x n k+i = 0 0 i k 1 2 0 0 1 On a exprimé linéairement k variables inconnues en fonction de n k = mt variables. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 17 / 21 j=0

Attaque de la variante dyadique Deux types d équations sont dérivés de la structure dyadique de la matrice. Équations inter-blocs 1 = 1 + 1 + 1 h bt+i j h bt i h bt j h bt Équations intra-blocs 1 + 1 = 1 + 1 h bt+i h bt h i h 0 Scénario de l attaque (premier bloc connu) On suppose que l on connaît h 0,, h t 1 coût en 2 m(log(t) 1) Des équations quadratiques avec comme paramètres : Nombre de variables ( n k ) t = (m 1)t n Nombre d équations t 1 (t 1) Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 18 / 21

Attaque de la variante dyadique Résolution du système Résolution par linéarisation tableau C est une méthode de résolution ) des systèmes sur-déterminés. ( ) (m 1)t+2 applicable si 1 (t 1) 2 ( 2 m t t m t = 4 10 t = 8 13 t = 16 15 Valeurs de m et t pour lesquelles l inégalité est vérifiée. Impact sur la sécurité m 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 t = 4 2 20.8 2 22.2 2 23.6 2 24.9 2 26.2 2 27.5 2 28.7 2 30 2 31.2 2 32.4 2 33.6 2 34.8 2 36 2 37.1 2 38.3 2 39.4 2 40.6 t = 8 2 39.3 2 41.6 2 43.9 2 46.1 2 48.4 2 50.6 2 52.8 2 55 2 57.2 2 59.3 2 61.5 2 63.7 2 65.8 2 68 t = 16 2 63.5 2 66.7 2 70 2 73.2 2 76.4 2 79.5 2 82.7 2 85.9 2 89 2 92.2 2 95.3 Complexité de résolution par linéarisation (ω = 2, 376). On a aussi réussi à ramener le cas t = 12 au cas t = 4 Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 19 / 21

Conclusion Sommaire 1 Introduction 2 Cryptographie basée sur la théorie des codes 3 La variante dyadique 4 Attaque de la variante dyadique 5 Conclusion Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 20 / 21

Conclusion Conclusion Nous avons implémenté la variante dyadique de CFS en magma. Nous avons proposé quelques améliorations à l algorithme de génération des clefs. Nous avons proposé une attaque structurelle sur la variante dyadique de McEliece destinée à la signature. Nous avons implémenté l attaque et l avons testé sur plusieurs valeurs. Les expériences corroborent l analyse théorique. La linéarisation a été efficace pour la résolution de la plupart des paramètres. Faugère et al. ont réussi à casser la plupart des paramètres dyadiques destinés au chiffrement. Nous avons montré la vulnérabilité des paramètres destinés à CFS. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 21 / 21

Conclusion Conclusion Nous avons implémenté la variante dyadique de CFS en magma. Nous avons proposé quelques améliorations à l algorithme de génération des clefs. Nous avons proposé une attaque structurelle sur la variante dyadique de McEliece destinée à la signature. Nous avons implémenté l attaque et l avons testé sur plusieurs valeurs. Les expériences corroborent l analyse théorique. La linéarisation a été efficace pour la résolution de la plupart des paramètres. Faugère et al. ont réussi à casser la plupart des paramètres dyadiques destinés au chiffrement. Nous avons montré la vulnérabilité des paramètres destinés à CFS. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 21 / 21

Conclusion Conclusion Nous avons implémenté la variante dyadique de CFS en magma. Nous avons proposé quelques améliorations à l algorithme de génération des clefs. Nous avons proposé une attaque structurelle sur la variante dyadique de McEliece destinée à la signature. Nous avons implémenté l attaque et l avons testé sur plusieurs valeurs. Les expériences corroborent l analyse théorique. La linéarisation a été efficace pour la résolution de la plupart des paramètres. Faugère et al. ont réussi à casser la plupart des paramètres dyadiques destinés au chiffrement. Nous avons montré la vulnérabilité des paramètres destinés à CFS. Najahi (Université Pierre et Marie Curie) Cryptanalyse algébrique Mardi, 6 septembre 2011 21 / 21