Courbes elliptiques.

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Les matrices.
Algorithmes et structures de données avancés
I. Bases de logique , théorie des ensembles
CHAPITRE 2 Nombres entiers, initiation à l’arithmétique- Nombres rationnels.
Nombres réels et propriétés de R CHAPITRE 3. Fractions : développements décimaux le point de vue « concret » (hérité de lenseignement primaire)
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
II. 2 Les protocoles simples Sommaire 1.Authentification 2.Signature électronique 3.Certification.
Le second degré -Approche. Soit léquation 2x²-3x+8=0 Identifier les coefficients a =a = 2 b = -3 b = c = c = 8 Calcul du discriminant Calculer =b 2 -4ac.
Projet Combien? Ma première machine : la machine Construction Ensemble G. Tisseau, J. Duma, H. Giroire, F. Le Calvez, M. Urtasun.
Le plan des cours d’analyse ‘Etude des phénomènes variables’
GENERALITES SUR LES MOUVEMENTS VIBRATOIRES.
Travail d'une Force W Travail d'une Force
Cinématique Étude du mouvement d’un corps en fonction du temps, indépendamment de toute cause pouvant le provoquer ou le modifier. Le mouvement s’effectue.
Modèles de choix discrets (III) Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble Dynamique des systèmes complexes et applications aux SHS : modèles, concepts.
Optimisation.
High Frequency Trading Introduction. Séminaires de 30 minutes, une fois par semaine (8 en tout) Sujets abordés – Définition dun algorithme et introduction.
Plan Modèle en temps discret Le modèle binomial de Cox-Ross
Chapitre III. Algorithmique élémentaire des tableaux (recherche, tri)
Conjecture H: Topologie, algèbre et géométrie.
Une fraction est un nombre rationnel qui représente une partie dun tout.Elle sexprime sous la forme a b a correspond au numérateur et à la partie b correspond.
LA POLAIRE DES VITESSES
Géo 6: Se repérer sur Terre
Chapitre II.Rappels mathématiques et complexité
Résoudre graphiquement une équation ou une inéquation simple
Introduction aux corps finis
CryptoGraphy
ASI 3 Méthodes numériques pour l’ingénieur
INF4420: Sécurité Informatique
Résoudre graphiquement f(x)≤-2
Systèmes d’équations linéaires
Chapitre 3bis Applications linéaires et Matrices
Examen partiel #2 Mercredi le 15 novembre de 13h30 à 15h20
Densité des N-uplets pythagoriciens
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Espaces vectoriels Montage préparé par : S André Ross
Programmation linéaire en nombres entiers : la méthode du simplexe
Chapitre 3: Les équations et les inéquations
Faculté I&C, Claude Petitpierre, André Maurer 1 Concepts dhéritage Héritage dimplémentation hasA Héritage de spécialisation isA.
Algorithmes probabilistes
Cryptographie - 2.
Modélisation géométrique de base
Cours du 25 octobre Mardi le 24 octobre
Un peu de maths (et d’info)
Le chiffrement asymétrique
D.E ZEGOUR Ecole Supérieure d’Informatique
Les Algorithmes Cryptographiques Asymétriques
Multiprécision.
Programmation linéaire en nombres entiers
Arbres binaires et tables de hachage
Attaque du protocoles RSA Yoann Moulin ESISAR IR - P2004
Pr BELKHIR Abdelkader USTHB
Définition de file En informatique, on définit une file comme étant une structure de données où l’on peut insérer et extraire en fonctionnant selon le.
Chapitre 9 La transformée de Laplace
EXPRESSIONS NUMÉRIQUES T.HABIB.
Mathématiques Discrètes Chapitre 2 (section 3)
Réalisation d’un logiciel de Chiffrement RSA.
Structures de données avancées : LH* D. E ZEGOUR Institut National d ’Informatique.
Structures de données avancées : MLH (Multidimensional linear hashing) D. E ZEGOUR Institut National d ’Informatique.
Post-optimisation, analyse de sensibilité et paramétrage
Correction problème 1.
Les règles de calculs avec des additions avec des multiplications
Résolution des équations différentielles
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Les stratégies de calcul 5 e et 6 e année. Addition.
Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université.
Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]
FARAH.Z "Cours sécurité1" /2016
Transcription de la présentation:

Courbes elliptiques

Protocole de Diffie-Hellman Alice choisit x et envoie gx mod N à Bob Bob choisit y, calcule K=(gx)y mod N qu’il conserve et envoie gy mod N à Alice Alice calcule K=(gy)x mod N Problème: les exponentiations coûtent chers en calcul et/ou en matériel

Analyse du protocole On utilise la notion de groupe des entiers modulo N. On a donc besoin d’un groupe avec une exponentiation. Le groupe doit être commutatif K=(gx)y mod N =(gy)x mod N Le problème du logarithme discret doit être difficile

Courbes elliptiques dans R2 y2=x3+ax+b

Corps de Galois Pour p premier et n entier supérieur ou égal à 1, on appelle GF(pn) le corps de Galois à pn éléments. Un élément de cet ensemble est représenté comme un n-uplet de p éléments de Z/pZ: e=(e1,…,en). Cet ensemble est muni d’une addition et d’une multiplication. En fait, c’est un corps: tout élément non nul est inversible. L’addition est simple: c’est l’addition composantes à composantes dans Z/pZ. La multiplication est plus compliquée, mais plus simple qu’une multiplication modulo un nombre de la taille de pn. Pour p et n fixé, GF(pn) est unique à un isomorphisme près.

Courbes elliptiques sur GF(2n) Soit a et b dans GF(2n) avec b non nul. La courbe elliptique E associée est l’ensemble des points (x,y) dans (GF(2n))2 tels que y2+xy=x3+ax+b auquel on adjoint un point spécial O appelé point à l’infini. La définition est différente pour p>2.

Addition dans les courbes elliptiques P+O=O+P=P pour tout P dans E Si P=(x,y), alors (x,y)+(x,x+y)=O dans P. Le point (x,x+y) est noté –P. Si P=(x,y) alors P+P=(x’,y’) avec x’=x2+b/x2, y’=x2+(x+y/x)x’+x’. Si P=(x1,y1), Q=(x2,y2), PQ, alors P+Q=(x3,y3) avec x3=R2+R+x1+x2+a, y3=R.(x1+x3)+x3+y1 où R=(y2+y1)/(x2+x1). (E,+) est un groupe commutatif.

Composante homogène Afin d’économiser du temps de calcul, on utilise parfois une représentation homogène. (x,y,z) représente en fait (x/z,y/z) et on récrit les règles d’additions pour éviter les divisions qui sont plus coûteuses. Exemple: P=(x,y,z) alors 2P=(x’,y’,z’) avec x’=zx5+bz5x, y’=(x2+yz)(x4+bz4)+bz5x, z’=x3z3.

Exponentielle et logarithme discret Soit E une courbe elliptique et P un point de E. On définit l’exponentielle de P par 0.P=O, n.P=(n-1).P+P si n  1 et (-n).P = -(n.P) si n  -1. En utilisant la duplication, on peut calculer n.P par la méthode binaire classique. Le problème du logarithme discret consiste à calculer n, étant donné les valeurs de P et n.P. Ce problème est réputé au moins aussi difficile que le problème du logarithme discret dans les entiers modulo. On pense même qu’il est plus compliqué.

Diffie-Hellman en courbes elliptiques Alice choisit un point P aléatoirement sur une courbe elliptique E et un entier n. Alice calcule n.P et l’envoie à Bob. Bob choisit un entier m, calcule K=m.(n.P) et envoie m.P à Alice. Alice calcule K=n.(m.P). Problèmes: déterminer une courbe elliptiques et choisir des points aléatoirement dans la courbe.

Choix d’une courbe elliptique E est définie par l’équation y2+xy=x3+ax+b. Si on choisit aléatoirement a et b, pour choisir un point sur E, il faut résoudre une équation du troisième degré sur GF(2n)  Problème difficile. En fait, on choisit un point quelconque x0, y0 et on choisit a. b a alors une solution unique que l’on peut calculer facilement. Si on doit choisir plusieurs points aléatoirement sur la courbes on calculera N.(x0,y0) avec n très grand aléatoire. En fait N>>2n.

EC-DSA Problème: on a une fonction de hachage publique h (genre MD-5) et on veut signer des messages. EC-DSA est la contrepartie de l’algorithme DSA classique au niveau des courbes elliptiques.

EC-DSA (Description) On suppose que l’ordre de P est q (i.e. q.P=0) Alice choisit a aléatoire dans [0,q-1]. Elle calcule aP qu’elle publie et conserve secrètement a. Alice veut signer un message m. Elle calcule r=kP et s=k-1(h(m)+ar) mod q. Alice envoit (m,r,s) à Bob. Bob vérifie que kP=h(m)s-1.P+rs-1(aP). Si oui, le message m a bien été envoyé par Alice. Problème: Comment calculer l’ordre de P ? Est-ce qu’il existe toujours ?

Rappel sur les groupes Soit (G,+) un groupe fini de cardinal N et dont l’unité pour l’addition est 0. Soit x un élément de G, on définit la suite v0=0, vn+1=vn+x. Alors il existe k>0 avec vk=0. La plus petite valeur pour laquelle vk=0 s’appelle l’ordre de x. L’ordre de x divise N (théorème de Lagrange).

Compter les points d’une courbe elliptique Dans l’EC-DSA, on a pas besoin nécessairement de l’ordre exact de l’élément: un multiple suffit. On peut donc prendre q comme étant égal au cardinal de la courbe elliptique. L’algorithme de Schoof permet de compter les points d’une courbes elliptiques. Certaines courbes elliptiques ont par construction un nombre de points facile à calculer. Enfin les courbes elliptiques faisant partie de standards bien définis sont données dans les descriptions techniques avec leur nombre de points. Exemple: http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf

RSA en courbes elliptiques Il existe des définitions qui utilise des courbes elliptiques dites singulières (Demytko, Maurer). Ces systèmes sont définis sur des courbes elliptiques à coefficients dans des anneaux. Malheureusement, il existe des attaques contre ces systèmes. Pour éviter ces attaques, le choix des courbes doit suivre certaines règles.

Intérêt pratique Calculs plus simples qu’avec les systèmes à base de modulo. De plus la sécurité semble supérieure. 1 2 3 4 5 6 DES 56 80 112 128 192 256 ECC 160 224 384 512 RSA 1024 2048 3072 7680 15360 Comparaison: Taille de clés assurant le même niveau de sécurité

Conclusion La cryptographie à courbes elliptiques est une alternative à la cryptographie classique à clé publique. Les algorithmes sont moins gourmands en termes de temps de calcul et de matériel. Ils permettent aussi un débit de données plus élevés. La cryptographie à courbes elliptiques est sans doute une approche appelée à se répandre dans les applications pratiques. Il existe d’autres constructions à bases de courbes (courbes hyper-elliptiques de Kobler).