Cryptographie avancée

Documents pareils
Panorama de la cryptographie des courbes elliptiques

Cryptographie et fonctions à sens unique

Quelques tests de primalité

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Sécurité de l'information

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

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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

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

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Réalisabilité et extraction de programmes

La cryptographie du futur

Fonctions de plusieurs variables

Fonction de hachage et signatures électroniques

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

INF 4420: Sécurité Informatique Cryptographie II

Les fonctions de hachage, un domaine à la mode

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Couples de variables aléatoires discrètes

La sécurité dans les grilles

ÉPREUVE COMMUNE DE TIPE Partie D

Calculateur quantique: factorisation des entiers

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Développements limités. Notion de développement limité

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

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

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Chapitre 1. Une porte doit être ouverte et fermée. 1.1 Les enjeux de l'informatique quantique

Théorème du point fixe - Théorème de l inversion locale

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Axiomatique de N, construction de Z

GEA II Introduction aux probabilités Poly. de révision. Lionel Darondeau

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Sujet 4: Programmation stochastique propriétés de fonction de recours

Accélérateurs logiciels et matériels pour l algèbre linéaire creuse sur les corps finis

Algorithmes d'apprentissage

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Bitcoin : crypto-monnaie décentralisée ouverte et libre Mathématiques, algorithmes et méthode de confiance

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

M2 IAD UE MODE Notes de cours (3)

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Exercices - Polynômes : corrigé. Opérations sur les polynômes

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

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

OM 1 Outils mathématiques : fonction de plusieurs variables

Cryptologie à clé publique

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Cours de Master Recherche

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Introduction à l étude des Corps Finis

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

Compte rendu des TP matlab

Équations non linéaires

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Une introduction aux codes correcteurs quantiques

Optimisation Discrète

Chapitre 3. Les distributions à deux variables

Simulation de variables aléatoires

Exercices de géométrie

Calcul différentiel sur R n Première partie

Programmation mathématique Discrète et Modèles Linéaires

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

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Produit semi-direct. Table des matières. 1 Produit de sous-groupes 2. 2 Produit semi-direct de sous-groupes 3. 3 Produit semi-direct de groupes 4

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

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

Complément d information concernant la fiche de concordance

La fonction exponentielle

C f tracée ci- contre est la représentation graphique d une

Exécution des instructions machine

Sécurité des réseaux IPSec

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

Politique d utilisation par AC. Certification et protocoles. Contenu d un certificat (X.509)

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Raisonnement par récurrence Suites numériques

Architectures PKI. Sébastien VARRETTE

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Cryptographie à clé publique : Constructions et preuves de sécurité

La Technologie Carte à Puce EAP TLS v2.0

Du 03 au 07 Février 2014 Tunis (Tunisie)

Oracles Cryptographiques. Trouver une joke de padding

Traitement numérique de l'image. Raphaël Isdant

Programmation linéaire

Corrigé du baccalauréat S Asie 21 juin 2010

Commun à tous les candidats

Petite introduction aux protocoles cryptographiques. Master d informatique M2

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

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

FONDEMENTS DES MATHÉMATIQUES

3 Approximation de solutions d équations

Transcription:

Cryptographie avancée Master de cryptographie Cryptographie basée sur les courbes elliptiques 20 octobre 2016 Université Rennes 1 Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 1 / 16

Courbes elliptiques sur R Dénition Une courbe elliptique est une courbe algébrique projective lisse de genre 1 possédant un point rationnel. Riemann-Roch une courbe elliptique dénie sur R peut être représentée par l'ensemble des points (x, y) R 2 satisfaisant l'équation y 2 = x 3 + ax + b où a et b R tq 4a 3 + 27b 2 0 auquel on ajoute un point O appelé "point à l'inni". Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 2 / 16

Structure de groupe Soit P = (x, y) et Q des points de E. On dénit l'opposé de P par P = (x, y) et la somme de P et Q par les règles suivantes Soit L la droite passant par P et Q L recoupe E en un troisième point R P + Q est l'opposé R si P = Q, L est la tangente à la courbe en P si P = O, alors P + Q = Q si P = Q, alors P + Q = O Grâce à ces règles d'addition, l'ensemble des points de E forme un groupe commutatif d'élément neutre O Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 3 / 16

Utilisation en cryptographie On peut dénir le logarithme discret sur E : Soit P un point sur une courbe elliptique E et Q = np = P + P + + P, alors n est le logarithme discret de Q en base P. Protocole d'échange de clé de Die-Hellman sur les courbes elliptiques A et B veulent partager un secret A choisit un entier a, calcule ap et l'envoie à B B choisit un entier b, calcule bp et l'envoie à A A et B calculent tous les 2 abp qui est le secret partagé Un attaquant peut connaître P, ap and bp mais ne peut pas retrouver abp sans calculer un log discret. Remarque La seule diérence avec le log discret sur les corps nis est que la loi de groupe est dénie additivement au lieu de multiplicativement Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 4 / 16

Courbes elliptiques sur les corps nis Soit p un nombre premier plus grand que 5 et q = p r. Une courbe elliptique dénie sur F q est donnée par une équation de la forme avec a, b F q et 4a 3 + 27b 2 0. y 2 = x 3 + ax + b L'ensemble des points de E forme un groupe de taille environ q. Plus précisément, d'après le théorème de Hasse q + 1 2 q =// E q + 1 + 2 q Soit P un point de E d'ordre l (lp = O). On utilise le logarithme discret sur le sous-groupe de E engendré par P : G = {P, 2P, 3P,, lp} En pratique, on veut =// E = ml avec m (très) petit Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 5 / 16

Exemple Soit E la courbe elliptique dénie par l'équation y 2 = x 3 + x + 1 sur F 31 (en rouge) sur F 2003 sur F 10007 et F 101 (en bleu) Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 6 / 16

Attaques sur les courbes elliptiques Attaques génériques E est un groupe. Le attaques génériques sur le log discret (BSGS, Pollard-ρ) sont donc en O( l) où l est le plus grand diviseur premier de =// E. Calcul d'indice On ne sait pas trouver une "bonne" base de facteurs pour les courbes elliptiques et des heuristiques tendent à prouver qu'on ne peut pas en trouver. Transfert du logarithme discret Pour certaines courbes elliptiques, on peut transférer le problème du logarithme discret vers un problème de logarithme discret plus facile à résoudre. Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 7 / 16

Courbes anomales Dénition Une courbe elliptique E dénie sur un corps premier F p est anomale si =// E = p Il existe un isomorphisme facilement calculable ψ : E (F p, +) Il est alors susant de résoudre le logarithme discret dans (F p, +) pour le résoudre dans E. Le log discret dans (F p, +) Soient a et b F p tels que b = na mod p, retrouver n. Euclide étendu n = ba 1. On utilise le fait que (F p, +) a une structure supplémentaire (sa structure de corps) Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 8 / 16

L'attaque MOV (Menezes-Okamoto-Vanstone 1993) Le couplage de Weil Soit P un point de E d'ordre l. Soit k le plus petit entier tel que q k = 1 mod l. Il existe un isomorphisme bilinéaire e : E E ( F q k ). Il est facilement calculable si k n'est pas trop grand. Bilinéarité : e(np, Q) = e(p, Q) n = e(p, nq) Utilisation destructive des couplages ECDDH (étant donnés P, ap, bp et cp, décider si cp = abp) est facile puisque e(abp, P) = e(ap, bp) Il sut de tester si e(p, cp) = e(ap, bp) e transfert le log discret sur (E, +) en un log discret sur (( F q k ), ). Si k est petit, le calcul d'indice permet de calculer un tel log discret. Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 9 / 16

Réalisation de l'attaque MOV Pour la plupart des courbes k l (et en pratique l q) donc ( ) F q k est énorme et le calcul d'indice sur ( F q k ) est bien pire qu'une attaque par force brute sur E. Les courbes supersingulières (telles que =// E = 1 mod p) ont un petit k (k 6) Exemple Soit p un nombre premier de 256 bits. Une courbe elliptique dénie sur F p est censée fournir 128 bits de sécurité (attaques génériques) (equiv. à RSA 3072). Si la courbe est supersingulière, k = 2 attaque MOV log discret sur un corps ni de 512 bits 64 bits de sécurité (equiv. à RSA 512). Finalement, les courbes supersingulières (et plus généralement avec k petit) doivent être évitées mais on les utilisera quand même Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 10 / 16

Attaque GHS (Gaudry-Hess-Smart 2002) La restriction aux scalaires de Weil z 2 = z sur C ( R 2 ) z=x+iy { x 2 y 2 = x 2xy = y sur R Une équation dénie sur F q g g équations dénies sur F q Variété de dimension 1 sur F q g Variété de dimension g sur F q Attaque GHS Cas particulier de la restriction aux scalaires de Weil. Sous certaines conditions Courbe elliptique dénie F q g Courbe de genre g dénie sur F q Transfert du log discret sur une courbe elliptique vers le log discret sur une courbe hyperelliptique de genre g. Si g 4, le calcul d'indice permet de le calculer avec une meilleure complexité que les attaques génériques. Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 11 / 16

Réalisations de l'attaque GHS et ses variantes Exemple F 2 155 3 sous-corps : F 2, F 2 5 et F 2 31 DL sur E(F 2 155) DL sur une courbe hyp. de genre 31 dénie sur F 2 5. Ne marche que pour 2 32 courbes elliptiques dénies sur F 2 155 (et 2 104 pour les variantes) mais marche pour une courbe proposée comme standard. Si p est premier et p [160, 600], l'attaque GHS est impraticable sur F 2 p GHS est ecace sur F q g si g est un Mersenne (31,127) Attaques sur F q 7, F q 17, F q 23 et F q 31 GHS impraticable = / restriction aux scalaires de Weil impraticable. Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 12 / 16

Pourquoi utiliser les courbes elliptiques en cryptographie? Pas de meilleures attaques connues que les attaques génériques (excepté pour quelques courbes). Plus petit corps de base que RSA ou le DL sur les corps nis (eg 160 bits au lieu de 1024 pour 80 bits de sécurité) Arithmétique du corps de base plus facile à implémenter et plus ecace Clés plus petites qu'avec RSA Génération de clé facile (contrairement à RSA) ECC plus rapide que le DL sur les corps nis ECC plus rapide que RSA pour les opérations privées mais pas pour les opérations publiques (si on choisit e = 3 pour RSA) Ce fossé entre ECC et les autres systèmes (attaques exponentielles contre sous-exponentielles) s'accroit. De nouveaux protocoles deviennent possibles (utilisation des couplages) Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 13 / 16

Génération des paramètres Pour construire une courbe elliptique ayant n bits de sécurité Choisir un nombre de 2n + ε bits q de la forme p ou 2 p avec p premier (GHS) Choisir une courbe elliptique E dénie sur F q tel que =// E = ml (rappel : =// E q) avec l premier de 2n bits (attaques génériques) Si q = p, éviter les courbes anomales (vérier que =// E p) Eviter les courbes supersingulières (vérier que =// E 1 mod p (si q = p) ou mod 2 (si q = 2 p )). Plus généralement vérier que q k 1 mod l pour k = 1 20 (attaque MOV) Choisir un point P au hasard sur E et vérier que son ordre est l Remarques La courbe et le point peuvent être choisis de façon à optimiser l'arithmétique. On peut aussi utiliser les standards Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 14 / 16

Niveaux de sécurité iveau de sécurité 80 112 128 192 256 valable jusqu'en 2010 2030 >2030 Clé secrète Skipjack triple-des AES-128 AES-192 AES-256 Hachage SHA-1 SHA-224 SHA3-256 SHA3-384 SHA3-512 RSA 1024 2048 3072 8192 15360 (F q ) corps 1024 2048 3072 7680 15360 (F q ) clés 160 224 256 384 512 ECC 160 224 256 384 512 RSA/ECC 6.4 9.1 12 21.3 30 Remarque Les tailles RSA données sont des estimations simpliées (mais proviennent du gouv. US). Il existe des estimations pires pour RSA qui semblent plus réalistes. Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 15 / 16

Comptage de points E dénie sur F q avec q = p r. Déterminer =// E est un problème dicile car =// E = log P (O) mais nécessaire (sécurité). Les meilleurs algorithmes font intervenir des mathématiques de haut niveau. Algorithme Complexité temps de comptage en 160 bits borne de Hasse + ρ-pollard O ( 4 q ) ( ) 1 an SEA O log 6 q 1 s AGM+SST O ( r 2.5) 60 ms Comment trouver une bonne courbe pour la cryptographie Tirer une courbe au hasard Compter ses points Vérier toutes les conditions de sécurité (GHS, MOV, anomales, attaques génériques) Recommencer si ces conditions ne sont pas vériées (log(q) tests en moyenne) Master Crypto (2016-2017) Cryptographie avancée 20 octobre 2016 16 / 16