courbes elliptiques cécile gonÇalves vendredi 4 ...goncalves/downloads/cours2...m2 ssi -...

79

Upload: others

Post on 25-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Cryptographie AvancéeCourbes elliptiques

Cécile GONÇALVES

Vendredi 4 Décembre 2015

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 1 / 51

Page 2: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Partie 1

Motivations

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 2 / 51

Page 3: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsProtocole d'échange de clés de Di�e-Hellman (DHP)

Public : Alice et Bob choisissent une couleur publique :

Alice choisit une couleur auhasard

Alice mélange cette couleurà la couleur publique

Alice envoie ce mélange àBob

Bob choisit une couleur auhasard

Bob mélange cette couleurà la couleur publique

Bob envoie ce mélange àAlice

Leur clé commune est

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 3 / 51

Page 4: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsProtocole d'échange de clés de Di�e-Hellman (DHP)

Public : Alice et Bob choisissent une couleur publique :

Alice choisit une couleur auhasard

Alice mélange cette couleurà la couleur publique

Alice envoie ce mélange àBob

Bob choisit une couleur auhasard

Bob mélange cette couleurà la couleur publique

Bob envoie ce mélange àAlice

Leur clé commune est

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 3 / 51

Page 5: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsProtocole d'échange de clés de Di�e-Hellman (DHP)

Public : Alice et Bob choisissent une couleur publique :

Alice choisit une couleur auhasard

Alice mélange cette couleurà la couleur publique

Alice envoie ce mélange àBob

Bob choisit une couleur auhasard

Bob mélange cette couleurà la couleur publique

Bob envoie ce mélange àAlice

Leur clé commune est

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 3 / 51

Page 6: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsProtocole d'échange de clés de Di�e-Hellman (DHP)

Public : Alice et Bob choisissent une couleur publique :

Alice choisit une couleur auhasard

Alice mélange cette couleurà la couleur publique

Alice envoie ce mélange àBob

Bob choisit une couleur auhasard

Bob mélange cette couleurà la couleur publique

Bob envoie ce mélange àAlice

Leur clé commune est

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 3 / 51

Page 7: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsProtocole d'échange de clés de Di�e-Hellman (DHP)

Public : Alice et Bob choisissent une couleur publique :

Alice choisit une couleur auhasard

Alice mélange cette couleurà la couleur publique

Alice envoie ce mélange àBob

Bob choisit une couleur auhasard

Bob mélange cette couleurà la couleur publique

Bob envoie ce mélange àAlice

Leur clé commune est

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 3 / 51

Page 8: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsProtocole d'échange de clés de Di�e-Hellman (DHP)

Public : Alice et Bob choisissent une couleur publique :

La sécurité du protocole de Di�e-Hellman se base sur une fonction àsens unique (ici le mélange des couleurs) :

Étant donné deux couleurs, il est facile de les mélanger :

+ =

Étant donné une couleur issue de deux couleurs, il est di�cile deretrouver ces deux couleurs :

= ? +?M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 4 / 51

Page 9: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Rappels de théorie des groupes

Dé�nition

On dit que G est un groupe pour la loi ? si

G possède un élément neutre (noté e) :

Pour tout élément g ∈ G , e ? g = g ? e = e.

Tout élément g de G est inversible pour la loi ? :

∃h ∈ G , g ? h = e.

La "composée" pour la loi ? de deux éléments g et h de G est unélément de G :

g ? h ∈ G .

Exemple Z/12Z pour la loi + :Élément neutre : 0

Inverse de x : 12− x

x+y = x+y mod 12

Exercices :

1 Quel sous ensemble de Z/12Zest un groupe pour × ?

2 L'ensemble des couleurs décritci-dessus est-il un groupe pourla loi "mélange de couleurs" ?

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 5 / 51

Page 10: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Rappels de théorie des groupes

Dé�nition : groupe cyclique et générateur

On dit qu'un groupe G est cyclique s'il est �ni et engendré par un de seséléments g . Un tel élément g est appelé un générateur de G , et on écritque G = 〈g〉.

Conséquence : On peut décrire G sous la forme

G = {g , g2, · · · , gn} (notation multiplicative),

ouG = {g , 2g , · · · , ng} (notation additive),

où n est l'ordre (ie. cardinal) de G . Les puissances de g décriventuniformément G : étant donné x , g x peut-être égal à n'importe quelélément de G , et ce de manière équiprobable.Exemple Z/12Z pour la loi + :

1 est un générateur

2 n'est pas ungénérateur.

Exercice : Donner un générateur de(Z/12Z)× pour la loi × ?

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 6 / 51

Page 11: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsProtocole d'échange de clés de Di�e-Hellman (DHP)

Publics : un groupe G d'ordre n et g un générateur de G .Par exemple G est l'ensemble des entiers modulo p.

Alice choisit un entier a au hasard Bob choisit un entier b au hasard

Alice calcule A = ga Bob calcule B = gb

Alice reçoit B Bob reçoit A

Alice calcule Ba = gba Bob calcule Ab = gab

Leur clé secrète est K = gab

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 7 / 51

Page 12: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsSécurité du DHP

Publics : un groupe G d'ordre n et g un générateur de G .Par exemple G est l'ensemble des entiers modulo p.

La sécurité du protocole repose sur le problème suivant :

Problème de Di�e-Hellman calculatoire (CDHP)

Étant donnés G , g , ga et gb, construire gab.

Maurer et Wolf : CDHP équivalent au problème suivant :

Problème du logarithme discret (DLP)

Étant donnés G , g et h, trouver un entier x tel que h = g x .

On cherche G tel que DLP(G ) est di�cile à résoudre.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 8 / 51

Page 13: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsSécurité du DHP

La di�culté à résoudre le DLP repose sur le choix du groupe G ,notamment sur son cardinal :

Conséquence de la réduction de Pohlig-Hellman

Résoudre le DLP dans un groupe de taille n est aussi di�cile que de lerésoudre dans un groupe de taille p, où p est le plus grand facteurpremier de n.

Mais aussi sur sa structure (rend ou non certaines attaques possibles).

Historiquement,

Schoof (1983) : Algorithme de comptage de points d'une courbeelliptique−→ Rend possible l'utilisation des courbes elliptiques en

cryptographie

Miller et Koblitz (1985) : Proposent ensuite leur utilisation pour lacryptographie.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 9 / 51

Page 14: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsSécurité du DHP

La di�culté à résoudre le DLP repose sur le choix du groupe G ,notamment sur son cardinal :

Conséquence de la réduction de Pohlig-Hellman

Résoudre le DLP dans un groupe de taille n est aussi di�cile que de lerésoudre dans un groupe de taille p, où p est le plus grand facteurpremier de n.

Mais aussi sur sa structure (rend ou non certaines attaques possibles).

Historiquement,

Schoof (1983) : Algorithme de comptage de points d'une courbeelliptique−→ Rend possible l'utilisation des courbes elliptiques en

cryptographie

Miller et Koblitz (1985) : Proposent ensuite leur utilisation pour lacryptographie.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 9 / 51

Page 15: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

MotivationsLes courbes : de bons candidats

Dé�nition : courbe elliptique

Une courbe elliptique E est une équation de la forme :

E : y2 = x3 + ax + b, dé�nie sur Z/pZ,

avec p ≥ 5 premier et a et b tels que 4a3 + 27b2 6= 0 mod p.

Les courbes elliptiques fournissent de bons candidats de groupes car :Elles forment un groupe, avec #E ∼ O (p).On dispose d'une arithmétique e�cace.Pas de meilleure attaque connue que les attaques génériques.Clés plus faciles à générer et plus petites qu'avec RSA

Année 1982 2000 2005 2010 2020 2050DL sur Fp ou Fn

2407 952 1149 1369 1881 4047

DL sur E dé�nie sur Fp ou Fn2

105 132 139 146 161 206

Figure : Estimations sur les tailles de problèmes atteignables - Extrait de "Selecting

Cryptographic Key Sizes" - Lenstra, Verheul

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 10 / 51

Page 16: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Partie 2

Courbes elliptiques : dé�nition et arithmétique

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 11 / 51

Page 17: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur R

Dé�nition : courbe elliptique

Une courbe elliptique E dé�nie sur R estune équation de la forme (ie. l'ensembledes points (x , y) ∈ R2 qui véri�ent) :

E : y2 = x3 + ax + b,

avec a et b deux réels tels que4a3 + 27b2 6= 0, à laquelle on rajoute unpoint O que l'on appelle "point àl'in�ni". Figure : E : y2 = x3 − 6x + 5

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 12 / 51

Page 18: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.

La droite D passant par P et Q apour équation :

y = λx+y1−λx1, avec λ =y2 − y1

x2 − x1.

Figure : E : y2 = x3 − 6x + 5

Elle coupe E en R = (x3, y3) : y3 = λx3 + y1 − λx1 et y23= x3

3+ ax3 + b

⇒ x33− λ2x2

3+ (a− 2λ(y1 − λx1)) x3 +

(b − (y1 − λx1)2

)= 0

On déduit x3 = λ2 − x1 − x2 et y3 = λx3 + y1 − λx1Donc

P + Q = (λ2 − x1 − x2, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 13 / 51

Page 19: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.La droite D passant par P et Q apour équation :

y = λx+y1−λx1, avec λ =y2 − y1

x2 − x1.

Figure : E : y2 = x3 − 6x + 5

Elle coupe E en R = (x3, y3) : y3 = λx3 + y1 − λx1 et y23= x3

3+ ax3 + b

⇒ x33− λ2x2

3+ (a− 2λ(y1 − λx1)) x3 +

(b − (y1 − λx1)2

)= 0

On déduit x3 = λ2 − x1 − x2 et y3 = λx3 + y1 − λx1Donc

P + Q = (λ2 − x1 − x2, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 13 / 51

Page 20: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.La droite D passant par P et Q apour équation :

y = λx+y1−λx1, avec λ =y2 − y1

x2 − x1.

Figure : E : y2 = x3 − 6x + 5

Elle coupe E en R = (x3, y3) : y3 = λx3 + y1 − λx1 et y23= x3

3+ ax3 + b

⇒ x33− λ2x2

3+ (a− 2λ(y1 − λx1)) x3 +

(b − (y1 − λx1)2

)= 0

On déduit x3 = λ2 − x1 − x2 et y3 = λx3 + y1 − λx1Donc

P + Q = (λ2 − x1 − x2, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 13 / 51

Page 21: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.La droite D passant par P et Q apour équation :

y = λx+y1−λx1, avec λ =y2 − y1

x2 − x1.

Figure : E : y2 = x3 − 6x + 5

Elle coupe E en R = (x3, y3) : y3 = λx3 + y1 − λx1 et y23= x3

3+ ax3 + b

⇒ x33− λ2x2

3+ (a− 2λ(y1 − λx1)) x3 +

(b − (y1 − λx1)2

)= 0

On déduit x3 = λ2 − x1 − x2 et y3 = λx3 + y1 − λx1Donc

P + Q = (λ2 − x1 − x2, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 13 / 51

Page 22: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.La droite D passant par P et Q apour équation :

y = λx+y1−λx1, avec λ =y2 − y1

x2 − x1.

Figure : E : y2 = x3 − 6x + 5

Elle coupe E en R = (x3, y3) : y3 = λx3 + y1 − λx1 et y23= x3

3+ ax3 + b

⇒ x33− λ2x2

3+ (a− 2λ(y1 − λx1)) x3 +

(b − (y1 − λx1)2

)= 0

On déduit x3 = λ2 − x1 − x2 et y3 = λx3 + y1 − λx1

DoncP + Q = (λ2 − x1 − x2, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 13 / 51

Page 23: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.La droite D passant par P et Q apour équation :

y = λx+y1−λx1, avec λ =y2 − y1

x2 − x1.

Figure : E : y2 = x3 − 6x + 5

Elle coupe E en R = (x3, y3) : y3 = λx3 + y1 − λx1 et y23= x3

3+ ax3 + b

⇒ x33− λ2x2

3+ (a− 2λ(y1 − λx1)) x3 +

(b − (y1 − λx1)2

)= 0

On déduit x3 = λ2 − x1 − x2 et y3 = λx3 + y1 − λx1Donc

P + Q = (λ2 − x1 − x2, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 13 / 51

Page 24: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P ?

La tangente à E en P a pouréquation

Figure : E : y2 = x3 − 6x + 5

y = λx + y1 − λx1, avec λ = dydx

∣∣∣P=

3x21+a2y1

.

Elle coupe E en un point R = (x3, y3), avec x3 = λ2 − 2x1 ety3 = λx3 + y1 − λx1.Donc

2P = (λ2 − 2x1, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 14 / 51

Page 25: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P ?

La tangente à E en P a pouréquation

Figure : E : y2 = x3 − 6x + 5

y = λx + y1 − λx1, avec λ = dydx

∣∣∣P=

3x21+a2y1

.

Elle coupe E en un point R = (x3, y3), avec x3 = λ2 − 2x1 ety3 = λx3 + y1 − λx1.Donc

2P = (λ2 − 2x1, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 14 / 51

Page 26: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P ?La tangente à E en P a pouréquation Figure : E : y2 = x3 − 6x + 5

y = λx + y1 − λx1, avec λ = dydx

∣∣∣P=

3x21+a2y1

.

Elle coupe E en un point R = (x3, y3), avec x3 = λ2 − 2x1 ety3 = λx3 + y1 − λx1.Donc

2P = (λ2 − 2x1, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 14 / 51

Page 27: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P ?La tangente à E en P a pouréquation Figure : E : y2 = x3 − 6x + 5

y = λx + y1 − λx1, avec λ = dydx

∣∣∣P=

3x21+a2y1

.

Elle coupe E en un point R = (x3, y3), avec x3 = λ2 − 2x1 ety3 = λx3 + y1 − λx1.

Donc2P = (λ2 − 2x1, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 14 / 51

Page 28: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P ?La tangente à E en P a pouréquation Figure : E : y2 = x3 − 6x + 5

y = λx + y1 − λx1, avec λ = dydx

∣∣∣P=

3x21+a2y1

.

Elle coupe E en un point R = (x3, y3), avec x3 = λ2 − 2x1 ety3 = λx3 + y1 − λx1.Donc

2P = (λ2 − 2x1, λ(x1 − x3)− y1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 14 / 51

Page 29: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).

Figure : E : y2 = x3 − 6x + 5

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 15 / 51

Page 30: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).Figure : E : y2 = x3 − 6x + 5

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 15 / 51

Page 31: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur RStructure de groupe et loi de groupe

Soit E la courbe elliptique d'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).Figure : E : y2 = x3 − 6x + 5

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 15 / 51

Page 32: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

En pratique, on a besoin d'un groupe avec un nombre �ni d'éléments.Pour cela, on utilise les courbes elliptiques dé�nies sur un corps �ni.En pratique, on utilise E dé�nie sur

Fp, l'ensemble des entiers modulo p, avec p un grand nombrepremier

F2n , qui peut être vu comme l'ensemble des mots de longueur n,avec n premier.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 16 / 51

Page 33: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur Fp

Soit p ≥ 5 un nombre premier, et Fp lecorps �ni à p éléments :

Dé�nition : courbe elliptique

Une courbe elliptique E dé�nie sur Fpest une équation de la forme (ie.l'ensemble des points (x , y) ∈ F2

p quivéri�ent) :

E : y2 = x3 + ax + b,

avec a et b deux éléments de Fp telsque 4a3 + 27b2 6= 0 mod p, à laquelleon rajoute un point O que l'on appelle"point à l'in�ni".

Figure : E : y2 = x3 − x + 3 sur

F127 = Z/127Z

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 17 / 51

Page 34: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur FpStructure et loi de groupe

Soit E la courbe elliptique dé�nie sur Fp,avec p ≥ 5 premier, par l'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).

Figure : E : y2 = x3 − x + 3 sur

F127 = Z/127Z

Coût d'une addition : une inversion (I) + 2 multiplications (M) + uncarré (S) = I + 2M + S.Coût d'un doublement : I + 2M + S.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 18 / 51

Page 35: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur FpStructure et loi de groupe

Soit E la courbe elliptique dé�nie sur Fp,avec p ≥ 5 premier, par l'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).

Figure : E : y2 = x3 − x + 3 sur

F127 = Z/127Z

Coût d'une addition : une inversion (I) + 2 multiplications (M) + uncarré (S) = I + 2M + S.Coût d'un doublement : I + 2M + S.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 18 / 51

Page 36: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur FpStructure et loi de groupe

Soit E la courbe elliptique dé�nie sur Fp,avec p ≥ 5 premier, par l'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).

Figure : E : y2 = x3 − x + 3 sur

F127 = Z/127Z

Coût d'une addition : une inversion (I) + 2 multiplications (M) + uncarré (S) = I + 2M + S.Coût d'un doublement : I + 2M + S.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 18 / 51

Page 37: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur FpStructure et loi de groupe

Soit E la courbe elliptique dé�nie sur Fp,avec p ≥ 5 premier, par l'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).

Figure : E : y2 = x3 − x + 3 sur

F127 = Z/127Z

Coût d'une addition : une inversion (I) + 2 multiplications (M) + uncarré (S) = I + 2M + S.Coût d'un doublement : I + 2M + S.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 18 / 51

Page 38: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur FpStructure et loi de groupe

Soit E la courbe elliptique dé�nie sur Fp,avec p ≥ 5 premier, par l'équation

E : y2 = x3 + ax + b,

et P = (x1, y1) et Q = (x2, y2) deuxdistincts points de E .

Élément neutre : O.P+Q = (λ2−x1−x2, λ(x1−x3)−y1)où λ = y2−y1

x2−x1 .

2P = (λ2 − 2x1, λ(x1 − x3)− y1)

où λ =3x21+a2y1

.

−P = (x1,−y1).

Figure : E : y2 = x3 − x + 3 sur

F127 = Z/127Z

Coût d'une addition : une inversion (I) + 2 multiplications (M) + uncarré (S) = I + 2M + S.Coût d'un doublement : I + 2M + S.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 18 / 51

Page 39: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Corps �nis en caractéristique 2

Le corps �ni à deux éléments est :

F2 = Z/2Z = {0, 1}.

Le corps �ni à 2n éléments, noté F2n , est l'ensemble des mots delongueur n dont les caractères sont 0 ou 1 :

F2n = {α = αn−1 . . . α0 , αi ∈ {0, 1}},

muni d'une addition (ici XOR) et d'une multiplication.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 19 / 51

Page 40: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Corps �nis en caractéristique 2

Pour dé�nir la multiplication, on représente les éléments de F2n sousforme de polynômes :

α = α0 + α1x + · · ·+ αn−1xn−1,

ce qui nous permet de dé�nir la multiplication (et l'addition) de deuxéléments comme la multiplication (resp. l'addition) de deux polynômesmodulo le polymôme "base" : Soit f un polynôme irréductible de degré nqui représentera F2n (notre polynôme base) :

f = f0 + f1x + · · ·+ fn−1xn−1 + xn,

avec les fi ∈ {0, 1}. On note

F2n = F2[x ]/〈f (x)〉.

La multiplication de α = α0 + α1x + · · ·+ αn−1xn−1 et

β = β0 + β1x + · · ·+ βn−1xn−1 est alors

αβ = α× β mod f .

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 20 / 51

Page 41: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Corps �nis en caractéristique 2

On peut aussi écrire tous les éléments de F2n comme un polynôme en ωà coe�cients dans F2, où ω est une racine de f . Pour cela, on sait quef (ω) = 0, ce qui nous permet de "réduire" tous les termes dont lespuissances de ω sont supérieurs au degré de f .Dans ce cas, on note :

F2n = F2[ω] = F2[x ]/〈f (x)〉,

et on dit que ω est un générateur de F2n .Exemple : Le corps �ni F22 à 4 éléments :

Ensemble des mots de 2 bits : 00, 01, 10, 11.

F4 = F2[x ]/〈x2 + x + 1〉 : 0, 1, x , x + 1.

F4 = F2[ω] où ω est une racine de x2 + x + 1 :ω0 = 1, ω, ω2 = ω + 1,ω3 = ω(ω + 1) = ω2 + ω = 1.Et c'est tout : ω4 = (ω + 1)2 = ω2 + 1 = ω.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 21 / 51

Page 42: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques en caractéristique 2

Soit F2n le corps �ni à 2n éléments :

Dé�nition : courbe elliptique

Une courbe elliptique E dé�nie sur F2n est une équation de la forme (ie.l'ensemble des points (x , y) ∈ F2

2nqui véri�ent) :

E : y2 + xy = x3 + ax2 + b,

avec a et b deux éléments de F2n tels que b 6= 0, à laquelle on rajoute unpoint O que l'on appelle "point à l'in�ni".

Exemple : Soit F24 le corps �ni à 16 éléments représenté par lepolynôme irréductible f = x4 + x + 1. On note α une racine de f . Lacourbe elliptique E dé�nie sur F24 par l'équation

E : y2 + xy = x3 + α4x2 + 1,

a 16 points qui sont

O, (0, 1), (1, α6), (1, α13), (α3, α8), (α3, α13), (α5, α3), (α5, α11), (α6, α8),

(α6, α14), (α9, α10), (α9, α13), (α10, α), (α10, α8), (α12, 0), (α12, α12).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 22 / 51

Page 43: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques en caractéristique 2Loi de groupe

Soit F2n le corps �ni à 2n éléments et E la courbe elliptique dé�nie surF2n par

E : y2 + xy = x3 + ax2 + b,

avec a et b deux éléments de F2n tels que b 6= 0.

Soient P = (x1, y1) et Q = (x2, y2) deux distincts points de E .Élément neutre : O.−P = (x1, x1 + y1).

P +Q = (λ2 + λ+ x1 + x2 + a, λ(x1 + x3) + x3 + y1) où λ = y2+y1x2+x1

.

2P =(x21+ b

x21, x2

1+(x1 +

bx1

)x3 + x3

).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 23 / 51

Page 44: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur un corps �niCardinalité

Soit E la courbe elliptique dé�nie sur Fq, avec q = p ≥ 5 premier ouq = 2n dé�nie comme ci-dessus.L'ensemble des points de E forme un groupe de taille (borne deHasse-Weil)

q + 1− 2√q ≤ #E ≤ q + 1+ 2

√q.

Si P est un point de E d'ordre ` (ie `P = O), avec ` un nombre premier,on utlise le groupe

G = {P, 2P, · · · `P = O}.

En pratique, on utilise les courbes E telles que

#E = m`,

avec ` un grand nombre premier (de taille 160 bits environ) et m petitpour la cryptographie.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 24 / 51

Page 45: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur un corps �niCalculer kP rapidement

Pour e�ectuer des calculs sur les courbes elliptiques, on a besoin desavoir calculer kP = P + · · ·+ P︸ ︷︷ ︸

k fois

, où P est un point de E et 1 ≤ k ≤ #E

est un entier.

Algorithme Double And Add

Entrée : Une point P d'une courbe elliptique E , la courbe elliptiqueE et un entier 1 ≤ k ≤ #E .Sortie : Le point Q = kP

1 R := O; Q := P;2 tant que k > 0 faire

1 si k == 1 mod 2 alors R := R + Q;2 Q := 2Q; k := b k

2c;

3 Renvoyer R;

Exemple : Si k = 947 = 29 + 28 + 27 + 25 + 24 + 21 + 20, alorskP = P + 2P + 16P + 32P + 128P + 256P + 512P. On e�ectue 9doublements et 6 additions au lieu de 946 additions.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 25 / 51

Page 46: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur un corps �niCalculer kP rapidement

Pour éviter les attaques par canaux cachés

On peut

Uniformiser les opérations : Double ans always Add, ...−→ sensible aux attaques par injection de fautes et perte de

performance.

Utiliser des représentations de courbes qui permettent d'avoir desformules uni�ées : Jacobi, Montgomery, Edwards, Hess, ...−→ toutes les courbes ne peuvent pas se mettre sous cette

forme.

Rajouter de l'aléa pour masquer la clé

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 26 / 51

Page 47: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur un corps �niCalculer kP rapidement

Pour éviter les attaques par canaux cachés

On peut

Uniformiser les opérations : Double ans always Add, ...−→ sensible aux attaques par injection de fautes et perte de

performance.

Utiliser des représentations de courbes qui permettent d'avoir desformules uni�ées : Jacobi, Montgomery, Edwards, Hess, ...−→ toutes les courbes ne peuvent pas se mettre sous cette

forme.

Rajouter de l'aléa pour masquer la clé

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 26 / 51

Page 48: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques sur un corps �niChoix du système de coordonnées avec loi de groupe uni�ée : un exemple

Courbes d'Edwards :

Dé�nition

Soient c, d deux éléments de Fp, avec d non carré. Une courbed'Edwards est une courbe dont l'équation peut s'écrire :

E : x2 + y2 = c2(1+ dx2y2).

Soient P = (x1, y1) et Q = (x2, y2) deux points de E .Élément neutre : O = (c, 0).

−P = (−x1, y1).

P + Q =(

x1y2+x2y1c(1+dx1x2y1y2)

, y1y2−x1x2c(1+dx1x2y1y2)

)Ces courbes ont un point d'ordre 4 : donc seules les courbes dont lecardinal est un multiple de 4 peuvent se mettre sous cette forme.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 27 / 51

Page 49: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiquesChoix du système de coordonnées : loi de groupe uni�ée

Courbes d'Edwards sur F2n :

Dé�nition

Soient d1, d2 deux éléments de F2n , Une courbe d'Edwards est unecourbe dont l'équation peut s'écrire :

E : d1(x + y) + d2(x2 + y2) = (x + x2)(y + y2).

Soient P = (x1, y1) et Q = (x2, y2) deux points de E .Élément neutre : O = (0, 0).−P = (y1, x1).P + Q = (x3, y3), avec

x3 =d1(x1+x2)+d2(x1+y1)(x2+y2)+(x1+x

21 )(x2(y1+y2+1)+y1y2)

d1+(x1+x21 )(x2+y2),

y3 =d1(y1+y2)+d2(x1+y1)(x2+y2)+(y1+y

21 )(y2(x1+x2+1)+x1x2)

d1+(y1+y12)(x2+y2).

Toute courbe elliptique dé�nie sur F2n peut s'écrire sous formed'Edwards.Une courbe d'Edwards a un point d'ordre 2.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 28 / 51

Page 50: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Partie 3

Courbes elliptiques en cryptographie

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 29 / 51

Page 51: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Échange de clés de Di�e Hellman (ECDH)

Paramètres publics (génération) : Une courbe elliptique E dé�nie surFq (Fp ou F2n ), un point P ∈ E d'ordre `.Remarque : On calcule sur G = 〈P〉 ⊂ E .

Alice choisit 1 ≤ a ≤ `− 1 au hasard Bob choisit 1 ≤ b ≤ `− 1 au hasard

Alice calcule A = aP Bob calcule B = bP

Alice reçoit B Bob reçoit A

Alice calcule aB = abP Bob calcule bA = baP

Leur clé secrète est K = abP

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 30 / 51

Page 52: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Chi�rement El-Gamal sur courbes elliptiques

Paramètres publics (génération) : Une courbe elliptique E dé�nie surFq (Fp ou F2n ), un point P ∈ E d'ordre `.Clé privée d'Alice : Un entier 1 ≤ dA ≤ `− 1.Clé publique d'Alice : A = dAP.Bob veut chi�rer le message M ∈ 〈P〉 ⊂ E et l'envoyer à Alice.

Chi�rement1 Bob choisit 1 ≤ k ≤ ` au

hasard2 Bob calcule C1 = kP etC2 = M + kA

Le message chi�ré est (C1,C2).

Déchi�rement1 Alice calculedAC1 = kdAP = kA

2 Alice calcule C2 − dAC1 = M

Pas très utilisé en pratique car il est di�cile de convertir un message m(ie. suite de bits) en un point M de E .

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 31 / 51

Page 53: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Signature ECDSA

Alice veut signer le message m.Paramètres publics (génération) : Une courbe elliptique E dé�nie surFq (Fp ou F2n ), un point P ∈ E d'ordre `.Clé privée d'Alice : Un entier 1 ≤ dA ≤ `− 1.Clé publique d'Alice : A = dAP.

Signature1 Alice choisit 1 ≤ k ≤ ` au

hasard2 Alice calcule kP = (x , y)

3 r = x mod `. Si r = 0, alorsrevenir à l'étape 1.

4 Alice calcule s =k−1 (H(m) + dAr) mod `

La signature d'Alice est (r , s).

Véri�cation1 Bob véri�e que

(r , s) ∈ [1, `− 1]2.2 Bob calculeX =

(H(m)s−1 mod `

)P +(

rs−1 mod `)A.

3 Bob véri�e que l'abscisse x deX soit tel que r = x mod `.

Preuve : s = k−1 (H(m) + dAr) mod ` donck = s−1H(m) + s−1rdA mod `, et X = kP.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 32 / 51

Page 54: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Signature ECDSASécurité - rappels de la semaine dernière

Pour la sécurité de ECDSA, il est impératif de faire attention à (voir TDsignatures) :

Hacher le message−→ et donc d'utiliser une fonction de hachage sûre (pas de

MD5 ni de SHA-1 ! ! !, mais plutôt du SHA256 par exemple)

Ne pas utiliser deux fois le même nounce (aléa k) pour signer−→ exemple historique de Sony avec la PS3 en 2010 (one nouce

suits all : une unique valeur de k pour tout le monde et toutes lessignatures) donc attention aussi lorsque vous testez vos codes à nepas oublier de remettre de l'aléa !

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 33 / 51

Page 55: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques en cryptographieUtilisations en pratique

TLS et serveurs HTTPS : Les clés de sessions sont échangées avecECDH (depuis 2006) et les signatures e�ectuées avec ECDSA (surcertains serveurs).

SSH : Utilise les courbes elliptiques depuis 2009 avec ECDH etECDSA

Bitcoin : un Bitcoin est en fait une chaîne de transactions chi�réeset signées.Les adresses sont dérivées des clés publiques et les transactions sontauthenti�ées en utilisant ECDSA.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 34 / 51

Page 56: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesAttaques du logarithme discret valable sur un groupe quelconque : attaques génériques

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Force brute : on calcule P, 2P, · · · , jusqu'à ce qu'on trouve k−→ Au pire ` opérations.

Baby Step Giant Step (BSGS) : On se donne une valeur m < ` et oncalcule les pas de bébé : P, 2P, · · · ,mP ; puis les pas de géant :Q +mP,Q + 2mP, · · · jusqu'à avoir une collision :

αP = Q + βP ⇒ Q = (β − α)P.

−→ En O(√`) opérations pour m ≈

√`.

Pollard ρ : On utilise en plus une marche aléatoire (ie une suitexi+1 = f (xi ) où f est une fonction aléatoire) : On précalculer ≤ 1000 valeurs Ti = aiQ + biP, où les 1 ≤ ai , bi ≤ `− 1 sont tirésau hasard. On part de x0 = a0Q + b0P et on calcule la suitexi+1 = f (xi ) = xi + TH(xi ), où H : E −→ [1, r ]. Une collision donne

αQ + βP = α′Q + β′P ⇒ k =β′ − βα− α′

mod `.

−→ En O(√`) opérations (idem pour une parallélisation).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 35 / 51

Page 57: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesAttaques du logarithme discret valable sur un groupe quelconque : attaques génériques

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Force brute : on calcule P, 2P, · · · , jusqu'à ce qu'on trouve k−→ Au pire ` opérations.

Baby Step Giant Step (BSGS) : On se donne une valeur m < ` et oncalcule les pas de bébé : P, 2P, · · · ,mP ; puis les pas de géant :Q +mP,Q + 2mP, · · · jusqu'à avoir une collision :

αP = Q + βP ⇒ Q = (β − α)P.

−→ En O(√`) opérations pour m ≈

√`.

Pollard ρ : On utilise en plus une marche aléatoire (ie une suitexi+1 = f (xi ) où f est une fonction aléatoire) : On précalculer ≤ 1000 valeurs Ti = aiQ + biP, où les 1 ≤ ai , bi ≤ `− 1 sont tirésau hasard. On part de x0 = a0Q + b0P et on calcule la suitexi+1 = f (xi ) = xi + TH(xi ), où H : E −→ [1, r ]. Une collision donne

αQ + βP = α′Q + β′P ⇒ k =β′ − βα− α′

mod `.

−→ En O(√`) opérations (idem pour une parallélisation).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 35 / 51

Page 58: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesAttaques du logarithme discret valable sur un groupe quelconque : attaques génériques

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Force brute : on calcule P, 2P, · · · , jusqu'à ce qu'on trouve k−→ Au pire ` opérations.

Baby Step Giant Step (BSGS) : On se donne une valeur m < ` et oncalcule les pas de bébé : P, 2P, · · · ,mP ; puis les pas de géant :Q +mP,Q + 2mP, · · · jusqu'à avoir une collision :

αP = Q + βP ⇒ Q = (β − α)P.

−→ En O(√`) opérations pour m ≈

√`.

Pollard ρ : On utilise en plus une marche aléatoire (ie une suitexi+1 = f (xi ) où f est une fonction aléatoire) : On précalculer ≤ 1000 valeurs Ti = aiQ + biP, où les 1 ≤ ai , bi ≤ `− 1 sont tirésau hasard. On part de x0 = a0Q + b0P et on calcule la suitexi+1 = f (xi ) = xi + TH(xi ), où H : E −→ [1, r ]. Une collision donne

αQ + βP = α′Q + β′P ⇒ k =β′ − βα− α′

mod `.

−→ En O(√`) opérations (idem pour une parallélisation).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 35 / 51

Page 59: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesAttaques du logarithme discret valable sur un groupe quelconque

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Pohlig-Hellman : La di�culté à résoudre le DLP repose sur la tailledu plus grand facteur premier de E .−→ On choisit une courbe E telle que

#E = ` premier ou #E = m` (m petit) .

Calcul d'indice :1 On cherche une base de facteurs {P1, · · ·PN} dont on connaît les

logarithmes discrets.2 On cherche des relations de la forme aiQ + biP −

∑1≤j≤N ci,jPj . On

stocke ces relations dans des matrices M = (ci,j ) et A = (ai bi ).3 Quand on a trouvé r > N relations, on résout une équation

matricielle, ce qui nous permet de retrouver k.

−→ Sur une courbe elliptique, on ne sait pas trouver une bonne

base de facteurs.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 36 / 51

Page 60: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesAttaques du logarithme discret valable sur un groupe quelconque

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Pohlig-Hellman : La di�culté à résoudre le DLP repose sur la tailledu plus grand facteur premier de E .−→ On choisit une courbe E telle que

#E = ` premier ou #E = m` (m petit) .

Calcul d'indice :1 On cherche une base de facteurs {P1, · · ·PN} dont on connaît les

logarithmes discrets.2 On cherche des relations de la forme aiQ + biP −

∑1≤j≤N ci,jPj . On

stocke ces relations dans des matrices M = (ci,j ) et A = (ai bi ).3 Quand on a trouvé r > N relations, on résout une équation

matricielle, ce qui nous permet de retrouver k.

−→ Sur une courbe elliptique, on ne sait pas trouver une bonne

base de facteurs.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 36 / 51

Page 61: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesTransfert du logarithme discret : choix du corps de base

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Descente de Weil ( attaques GHS, GTTD) : Si q = pn avec ncomposé, alors on peut se ramener à un problème du logarithmediscret sur un groupe où il y a des attaques sous-exponentielles.−→ Prendre p premier ou p = 2 et n premier.

Courbes anormales et transfert sur Fp : Une courbe dé�nie sur Fp(avec p premier) est dite anormale si #E = p. Dans ce cas, on peuttransférer le DLP de E vers Fp (attaques sous-exponentielles, voirtableau slide 10)−→ Véri�er que #E 6= p.Courbes supersingulières et transfert sur Fqm∗ (attaque MOV) : Onpeut transférer le DLP de E sur Fqm via les couplages, où m est leplus petit entier tel que qm = 1 mod `. En général, m ' ` donc leDLP sur Fqm par des méthodes sous exponentielles est pire que laforce brute sur E .Si #E = 1 mod p, alors E est dite supersingulière et m est petit(≤ 6). L'attaque MOV est praticable pour m ≤ 20.−→ Véri�er que #E 6= 1 mod p et que m > 20.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 37 / 51

Page 62: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesTransfert du logarithme discret : choix du corps de base

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Descente de Weil ( attaques GHS, GTTD) : Si q = pn avec ncomposé, alors on peut se ramener à un problème du logarithmediscret sur un groupe où il y a des attaques sous-exponentielles.−→ Prendre p premier ou p = 2 et n premier.Courbes anormales et transfert sur Fp : Une courbe dé�nie sur Fp(avec p premier) est dite anormale si #E = p. Dans ce cas, on peuttransférer le DLP de E vers Fp (attaques sous-exponentielles, voirtableau slide 10)−→ Véri�er que #E 6= p.

Courbes supersingulières et transfert sur Fqm∗ (attaque MOV) : Onpeut transférer le DLP de E sur Fqm via les couplages, où m est leplus petit entier tel que qm = 1 mod `. En général, m ' ` donc leDLP sur Fqm par des méthodes sous exponentielles est pire que laforce brute sur E .Si #E = 1 mod p, alors E est dite supersingulière et m est petit(≤ 6). L'attaque MOV est praticable pour m ≤ 20.−→ Véri�er que #E 6= 1 mod p et que m > 20.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 37 / 51

Page 63: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesTransfert du logarithme discret : choix du corps de base

Soit E dé�nie sur Fq et P un générateur de 〈P〉 ⊂ E d'ordre `.On dispose de Q = kP (par ex. une clé publique) et on veut calculer k.

Descente de Weil ( attaques GHS, GTTD) : Si q = pn avec ncomposé, alors on peut se ramener à un problème du logarithmediscret sur un groupe où il y a des attaques sous-exponentielles.−→ Prendre p premier ou p = 2 et n premier.Courbes anormales et transfert sur Fp : Une courbe dé�nie sur Fp(avec p premier) est dite anormale si #E = p. Dans ce cas, on peuttransférer le DLP de E vers Fp (attaques sous-exponentielles, voirtableau slide 10)−→ Véri�er que #E 6= p.Courbes supersingulières et transfert sur Fqm∗ (attaque MOV) : Onpeut transférer le DLP de E sur Fqm via les couplages, où m est leplus petit entier tel que qm = 1 mod `. En général, m ' ` donc leDLP sur Fqm par des méthodes sous exponentielles est pire que laforce brute sur E .Si #E = 1 mod p, alors E est dite supersingulière et m est petit(≤ 6). L'attaque MOV est praticable pour m ≤ 20.−→ Véri�er que #E 6= 1 mod p et que m > 20.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 37 / 51

Page 64: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Attaques et recommandations pour le choix des courbesChoix des paramètres en pratique

Pour construire une courbe elliptique E avec N bits de sécurité :1 Choisir q d'au moins 2N bits sous la forme p ou 2n, avec p et n

premiers.2 Choisir E dé�nie sur Fq au hasard telle que

#E = m`, avec ` premier de 2N bits.

3 Véri�er que #E 6= p (si q = p).4 Véri�er que qm 6= 1 mod ` pour 1 ≤ m ≤ 20.

Une fois que l'on a notre courbe E avec N bits de sécurité, on veutgénérer un générateur P d'ordre `.

5 Choisir un point P au hasard sur E et véri�er qu'il est d'ordre `.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 38 / 51

Page 65: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Les courbes dans les standards

Standards (NIST FIPS 186-2, SECG, ANSI X9.62, ANSSI FRP256V1,...), on trouve le plus souvent des courbes aléatoires ou des courbes deKoblitz. Malheureusement, les courbes des standards ne sont pas toujourssûres : http ://safecurves.cr.yp.to/

Courbes de Koblitz

Une courbe de Koblitz est une courbe dé�nie sur F2n , avec descoe�cients dans F2 :

y2 + xy = x3 + x2 + 1,

y2 + xy = x3 + 1.

L'arithmétique est très rapide mais on dispose de très peu de courbes(pas de courbes de Koblitz sur F2n pour 163 ≤ n ≤ 233).

Le NIST recommande la courbe

y2 = x3 − 3x + b, sur Fp,

car l'arithmétique est rapide.M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 39 / 51

Page 66: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Compression de point

Pour n bits de sécurité, on se place dans un corps �ni à 2n bits, et lesobjets que l'on envoie (signatures, messages, ) sont des points : 4n bits.Comme il n'y a que deux points qui ont la même abscisse (P et−P), onne garde que l'abscisse x du point à envoyer plus 1 bit permettant dedistinguer le point sur la courbe :

Sur Fp, on garde x et le bit de parité de y (si y est pair, alors−y = p − y est pair.

Sur F2n , on garde x et le bit de poids faible de y/x :Les points d'abscisse x sont (x , y) et (x , y + x), ainsi en envoyant lebit de poids faible de l'ordonnée du point à envoyer, on parvient àdistinguer de quel point il s'agit (si le bit de poids faible de y/x est1, alors celui de (y + x)/x vaut 0 et vice versa).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 40 / 51

Page 67: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Partie 4

Autres applications cryptographiques des courbeselliptiques

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 41 / 51

Page 68: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques et couplages

Dé�nition : Couplage

Un couplage est une application e : 〈P〉 × 〈P〉 −→ Fqm , où m est le pluspetit entier tel que gcd(qm − 1, `) = `, avec ` qui désigne l'ordre de P, etqui véri�e les propriétés :

bilinéarité : e(P + Q,R) = e(P,R)e(Q,R) ete(P,Q + R) = e(P,Q)e(P,R)

non dégénérescence : Pour tout point P 6= O, il existe un point Qtel que e(P,Q) 6= 1.

facile à calculer

En pratique, pour que les couplages soient faciles à calculer, on a besoinque m ne soit pas trop grand.Problèmes :

Pour une courbe aléatoire, m est grand de l'ordre de ` et il estdi�cile de générer une courbe avec un petit m→ On génère une courbe qui convient (méthode CM) ou bien

on utilise une courbe supersingulière.Si m ≤ 20, on doit augmenter la taille des clés a�n de rendrel'attaque MOV impraticable.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 42 / 51

Page 69: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques et couplages

Dé�nition : Couplage

Un couplage est une application e : 〈P〉 × 〈P〉 −→ Fqm , où m est le pluspetit entier tel que gcd(qm − 1, `) = `, avec ` qui désigne l'ordre de P, etqui véri�e les propriétés :

bilinéarité : e(P + Q,R) = e(P,R)e(Q,R) ete(P,Q + R) = e(P,Q)e(P,R)

non dégénérescence : Pour tout point P 6= O, il existe un point Qtel que e(P,Q) 6= 1.

facile à calculer

En pratique, pour que les couplages soient faciles à calculer, on a besoinque m ne soit pas trop grand.Problèmes :

Pour une courbe aléatoire, m est grand de l'ordre de ` et il estdi�cile de générer une courbe avec un petit m→ On génère une courbe qui convient (méthode CM) ou bien

on utilise une courbe supersingulière.Si m ≤ 20, on doit augmenter la taille des clés a�n de rendrel'attaque MOV impraticable.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 42 / 51

Page 70: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Courbes elliptiques et couplagesUtilisations en cryptographie

En 1984, Shamir propose un challenge : construire un protocole basésur l'identité

En 2001, Boneh et Franklin présentent la première proposition viableen utilisant des couplages.

Depuis, plusieurs protocoles basés sur l'identité ont été proposés et sontpresque tous à base de couplage.Mais aussi :

L'attaque MOV

Distribution non interactive de clés basée sur l'identité.

Échange tripartite de clés.

Schémas de signatures courtes, en groupe, anonyme.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 43 / 51

Page 71: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieL'attaque MOV

Paramètres connus : Une courbe elliptique E dé�nie sur Fq (Fp ouF2n ), un point P ∈ E d'ordre ` et un point S tel que S = sP.But : Calculer s.

La bilinéarité du couplage donne :

e(S ,Q) = e(sP,Q) = e(P,Q)s ∈ Fmq .

Donc si l'on choisit Q tel que e(P,Q) 6= 1, alors on peut se ramener auDLP dans Fmq , où il existe des attaques par calcul d'indice :

1 Choisir Q tel que e(P,Q) 6= 12 Calculer z1 = e(S ,Q) ∈ Fmq3 Calculer z2 = e(P,Q) ∈ Fmq4 La formule e(S ,Q) = e(P,Q)s nous dit que le logarithme discret dez1 en base z2 est s : on retrouve donc s en calculant le DLP de z1dans Fmq .

Menezes, Okamoto et Vanstone ont montré que si m ≤ 20, l'attaqueMOV est plus performante que les algorithmes génériques.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 44 / 51

Page 72: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieL'attaque MOV

Paramètres connus : Une courbe elliptique E dé�nie sur Fq (Fp ouF2n ), un point P ∈ E d'ordre ` et un point S tel que S = sP.But : Calculer s.La bilinéarité du couplage donne :

e(S ,Q) = e(sP,Q) = e(P,Q)s ∈ Fmq .

Donc si l'on choisit Q tel que e(P,Q) 6= 1, alors on peut se ramener auDLP dans Fmq , où il existe des attaques par calcul d'indice :

1 Choisir Q tel que e(P,Q) 6= 12 Calculer z1 = e(S ,Q) ∈ Fmq3 Calculer z2 = e(P,Q) ∈ Fmq4 La formule e(S ,Q) = e(P,Q)s nous dit que le logarithme discret dez1 en base z2 est s : on retrouve donc s en calculant le DLP de z1dans Fmq .

Menezes, Okamoto et Vanstone ont montré que si m ≤ 20, l'attaqueMOV est plus performante que les algorithmes génériques.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 44 / 51

Page 73: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieCryptographie basée sur l'identité

But : Simpli�er la gestion des clés basée sur les PKI et les certi�cats.Principe : N'importe qui peut générer la clé publique du destinataire enfonction de son identité (par ex. son adresse email) et d'une clé publiquemaître.Il y a donc 4 protocoles :

Setup

Le PKG (Private Key Generator) se crée une paire de clés dites maîtres :

Clé privée maître : skPKG qui est privée et qui servira au PKG pourextraire les clés secrètes des utilisateurs.

Clé publique maître : pkPKG qui est publique et qui servira auxutilisateurs pour générer les clés publiques et chi�rer les messages deleurs destinataires.

Private Key Extraction

Alice souhaite avoir une clé privée. Sa clé publique sera basée sur sonidentité IdA et pourra être générée par n'importe qui. Elle s'identi�eauprès du PKG et reçoit sa clé privée skIdA basée sur son identité IdA.

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 45 / 51

Page 74: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieCryptographie basée sur l'identité

Chi�rement

Bob souhaite envoyer un message m à Alice. En utilisant l'identité IdAd'Alice et la clé publique maître pkPKG , Bob chi�re le message m etobtient c.

Déchi�rement

Alice déchi�re c en utilisant sa clé secrète skPKG .

Avantages : Plus besoin de PKI pour sécuriser le lien clé privée / clépublique.Inconvénient : Il faut une con�ance absolue en le PKG

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 46 / 51

Page 75: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieDistribution non interactive de clés basée sur l'identité

Protocole d'échange de clés basés sur l'identité en utilisant lescouplages (Sakai, Ohgishi et Kasahara - 2000).Paramètres publics : Une courbe elliptique E dé�nie sur Fq (c'est àdire q et les coe�cients a et b) et un point P = (Px ,Py ) de E d'ordre `.Un couplage symétrique (ie e(P,Q) = e(Q,P)) e : 〈P〉 × 〈P〉 −→ Fqm etune fonction de hachage :

h1 : {0, 1}∗ −→ 〈P〉.

Le PKG possède une paire de clés maîtres skPKG , pkPKG = skPKGP

1 Alice et Bob demandent au PKG une clé secrète :Alice reçoit skA = skPKGQA où QA = h(IdA)Bob reçoit skB = skPKGQB où QB = h(IdB)

2 Chacun peut alors calculer sa clé commune sans discussionpréalable :

Alice calcule e(skA, h(IdB)) = e(h(IdA), h(IdB))skPKG

Bob reçoit e(skB , h(IdA)) = e(h(IdA), h(IdB))skPKG

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 47 / 51

Page 76: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieChi�rement de Boneh-Franklin basé sur l'identité

Paramètres publics : Une courbe elliptique E dé�nie sur Fq (c'est àdire q et les coe�cients a et b) et un point P = (Px ,Py ) de E d'ordre `.Un couplage e : 〈P〉 × 〈P〉 −→ Fqm et deux fonctions de hachage :

h1 : {0, 1}∗ −→ 〈P〉h2 : Fqm −→ {0, 1}n, où n est la taille des messages

Setup :

Le PKG (Private Key Generator) se crée une paire de clés dites maîtres :

Clé privée maître : il choisit au hasard 1 ≤ sPKG < ` qui est privée etqui servira au PKG pour extraire les clés secrètes des utilisateurs.

Clé publique maître : il calcule PPKG = sPKGP qui est publique etqui servira aux utilisateurs pour chi�rer leurs messages.

Private Key Extraction :

Alice souhaite avoir une clé privée. Le PKG calcule la clé privée d'AlicesIdA à partir de sa clé privée maître sPKG et de l'identité d'Alice IdA :

sIdA = sPKGh1(IdA)

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 48 / 51

Page 77: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieChi�rement de Boneh-Franklin basé sur l'identité

Paramètres publics : Une courbe elliptique E dé�nie sur Fq (c'est àdire q et les coe�cients a et b) et un point P = (Px ,Py ) de E d'ordre `.Un couplage e : 〈P〉 × 〈P〉 −→ Fqm et deux fonctions de hachage :

h1 : {0, 1}∗ −→ 〈P〉h2 : Fqm −→ {0, 1}n, où n est la taille des messages

Bob souhaite envoyer un message m à Alice, dont l'identité est IdA (parexemple son adresse email).

Chi�rement :1 Bob calcule QIdA = h1(IdA)

2 Bob choisit au hasard 1 ≤ t < `et calcule C1 = tP.

3 Il calcule

C2 = m ⊕ h2(e(QId ,PPKG )

t).

Le message chi�ré est C = (C1,C2).

Déchi�rement :

Alice déchi�re C en calculant :

C2 ⊕ h2 (e(skIdA , c1)) = m

En e�et,

e(QIdA ,PPKG )t = e(QIdA ,P)

tsPKG

= e(sPKGQIdA , tP) = e(skIdA , c1).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 49 / 51

Page 78: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Utilisations des couplages en cryptographieÉchange de clés tripartite en un tour (Joux - 2000)

Paramètres publics : Une courbe elliptique E dé�nie sur Fq (c'est àdire q et les coe�cients a et b) et un point P = (Px ,Py ) de E d'ordre `et un couplage

e : 〈P〉 × 〈P〉 −→ Fmq .

Avec Di�e-Hellman

Alice Bob Charliesecret a b c

1er tour aP à Bob bP à Charlie cP à Alice2e tour a(cP) à Bob b(aP) à Charlie c(bP) à Alice

clé commune a(cbP) b(acP) c(baP)

En un tour avec les couplages

Alice Bob Charliesecret a b c

1er tour : envoi à tout le monde aP bP cP

clé commune e(bP, cP)a e(aP, cP)b e(aP, bP)c

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 50 / 51

Page 79: Courbes elliptiques Cécile GONÇALVES Vendredi 4 ...goncalves/Downloads/Cours2...M2 SSI - Cryptographie vancée Courbes elliptiques endredi 4 Décembre 2015 9 / 51 Motivations Les

Autres applications

Comme on l'a vu, les courbes elliptiques o�rent une structure sûre pourle chi�rement et la richesse de leur structure permet des applications encryptographie inédites.C'est aussi un outil très puissant qui permet de

Factoriser des entiers avec la méthode ECM

Prouver qu'un nombre est premier avec la méthode ECPP

Parfois, prouver des théorèmes (Preuve du théorème de Fermat parAndrew Wiles en 1995).

M2 SSI - Cryptographie Avancée Courbes elliptiques Vendredi 4 Décembre 2015 51 / 51