99
- - -

Cours6_AttaqueContreCourplage

Embed Size (px)

DESCRIPTION

AttaqueContreCourplage

Citation preview

Page 1: Cours6_AttaqueContreCourplage

Attaques par canaux cachés

contre la cryptographie à base de couplage

Nadia El Mrabet

GREYC−LMNO−Université de Caen, France

Ecole � Code et Cryptographie �, ENSIAS de Rabat−MAROC,Semaine du 8 au 14 mars 2010.

1 / 57

Page 2: Cours6_AttaqueContreCourplage

Plan de la présentation

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

2 / 57

Page 3: Cours6_AttaqueContreCourplage

Plan de la présentation

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

3 / 57

Page 4: Cours6_AttaqueContreCourplage

Suite des festivitésLes couplages dans tout leur état

Dé�nition mathématiques des couplages (Ca c'est fait !)

Exemple et calcul de couplages (Ca c'est fait !)

Optimisation des couplages Mathématiques et Arithmétique (Ca c'estpresque fait ! )

Attaques par canaux cachés : SPA, attaque par faute, DPA (Ca c'estfait !)

Application au couplage

Perspective de la recherche à base de couplage.

4 / 57

Page 5: Cours6_AttaqueContreCourplage

Plan de la présentation

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

5 / 57

Page 6: Cours6_AttaqueContreCourplage

Outline

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

6 / 57

Page 7: Cours6_AttaqueContreCourplage

Qu'est ce qu'un couplage ?Propriétés

Soient G1, G2 et G3 trois groupes abéliens �nis. Un couplage est uneapplication :

e : (G1,+)× (G2,+)→ (G3,×)

Véri�ant les propriétés :

Non dégénérescence : ∀P ∈ G1 6= {0} ,∃Q ∈ G2 t.q. e(P,Q) 6= 1

Bilinéarité : ∀P,P ′ ∈ G1, ∀Q ∈ G2, e(P + P ′,Q) = e(P,Q).e(P ′,Q)

Conséquences

∀j ∈ Z, e(jP,Q) = e(P,Q)j = e(P, jQ)

7 / 57

Page 8: Cours6_AttaqueContreCourplage

Qu'est ce qu'un couplage ?Propriétés

Soient G1, G2 et G3 trois groupes abéliens �nis. Un couplage est uneapplication :

e : (G1,+)× (G2,+)→ (G3,×)

Véri�ant les propriétés :

Non dégénérescence : ∀P ∈ G1 6= {0} ,∃Q ∈ G2 t.q. e(P,Q) 6= 1

Bilinéarité : ∀P,P ′ ∈ G1, ∀Q ∈ G2, e(P + P ′,Q) = e(P,Q).e(P ′,Q)

Conséquences

∀j ∈ Z, e(jP,Q) = e(P,Q)j = e(P, jQ)

7 / 57

Page 9: Cours6_AttaqueContreCourplage

Qu'est ce qu'un couplage ?Propriétés

Soient G1, G2 et G3 trois groupes abéliens �nis. Un couplage est uneapplication :

e : (G1,+)× (G2,+)→ (G3,×)

Véri�ant les propriétés :

Non dégénérescence : ∀P ∈ G1 6= {0} ,∃Q ∈ G2 t.q. e(P,Q) 6= 1

Bilinéarité : ∀P,P ′ ∈ G1, ∀Q ∈ G2, e(P + P ′,Q) = e(P,Q).e(P ′,Q)

Conséquences

∀j ∈ Z, e(jP,Q) = e(P,Q)j = e(P, jQ)

7 / 57

Page 10: Cours6_AttaqueContreCourplage

Cryptologie à base de couplages

Le problème du logarithme discret

dans G1 consiste à retrouver l'entier a avec la donnée de P ∈ G1 et aP .Soit Q un point de G2 :

e(aP,Q) = e(P,Q)a.

Cryptanalyse

La propriété de bilinéarité des couplages a permis de transférer le problèmedu logarithme discret depuis une courbe elliptique en un problème delogarithme discret sur un corps �ni. Il s'agit des attaques de MOV 93 etFrey Rück 94.

8 / 57

Page 11: Cours6_AttaqueContreCourplage

Cryptologie à base de couplages

Le problème du logarithme discret

dans G1 consiste à retrouver l'entier a avec la donnée de P ∈ G1 et aP .Soit Q un point de G2 :

e(aP,Q) = e(P,Q)a.

Cryptanalyse

La propriété de bilinéarité des couplages a permis de transférer le problèmedu logarithme discret depuis une courbe elliptique en un problème delogarithme discret sur un corps �ni. Il s'agit des attaques de MOV 93 etFrey Rück 94.

8 / 57

Page 12: Cours6_AttaqueContreCourplage

Cryptologie à base de couplages

Cryptographie

les couplages ont permis la construction de protocoles originaux et lasimpli�cation de protocoles cryptographiques existants.

L'échange de Di�e Hellman à trois (Joux 2001)

La cryptographie basée sur l'identité (Boneh et Franklin 2001)

Les schémas de signature courte (Boneh, Lynn, Shacham 2001)

Exemple

Construction d'une clé pour un échange basé sur l'identité entre Alice etBob.

9 / 57

Page 13: Cours6_AttaqueContreCourplage

Cryptologie à base de couplages

Cryptographie

les couplages ont permis la construction de protocoles originaux et lasimpli�cation de protocoles cryptographiques existants.

L'échange de Di�e Hellman à trois (Joux 2001)

La cryptographie basée sur l'identité (Boneh et Franklin 2001)

Les schémas de signature courte (Boneh, Lynn, Shacham 2001)

Exemple

Construction d'une clé pour un échange basé sur l'identité entre Alice etBob.

9 / 57

Page 14: Cours6_AttaqueContreCourplage

Cryptographie basée sur l'identitéEchange de clé sécurisée entre Alice et Bob

10 / 57

Page 15: Cours6_AttaqueContreCourplage

Cryptographie basée sur l'identitéEchange de clé sécurisée entre Alice et Bob

10 / 57

Page 16: Cours6_AttaqueContreCourplage

Cryptographie basée sur l'identitéEchange de clé sécurisée entre Alice et Bob

10 / 57

Page 17: Cours6_AttaqueContreCourplage

Cryptographie basée sur l'identitéEchange de clé sécurisée entre Alice et Bob

10 / 57

Page 18: Cours6_AttaqueContreCourplage

Les couplages utilisés en cryptologie

Le couplage de Weil,

le couplage de Tate,

le couplage η,

le couplage Ate et Twisted Ate.

sont les couplages les plus utilisés en cryptologie.

Les couplages de Weil, de Tate, Ate et Twisted Ate sont construits sur lemême modèle.Ils partagent la même étape centrale pour leur calcul.

11 / 57

Page 19: Cours6_AttaqueContreCourplage

Les couplages utilisés en cryptologie

Le couplage de Weil,

le couplage de Tate,

le couplage η,

le couplage Ate et Twisted Ate.

sont les couplages les plus utilisés en cryptologie.

Les couplages de Weil, de Tate, Ate et Twisted Ate sont construits sur lemême modèle.Ils partagent la même étape centrale pour leur calcul.

11 / 57

Page 20: Cours6_AttaqueContreCourplage

Outline

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

12 / 57

Page 21: Cours6_AttaqueContreCourplage

Construction des couplagesDonnées

A�n de calculer un couplage, nous avons besoin de :

Soit E une courbe elliptique sur un corps K :E (K) :=

{(x , y) ∈ K×K, y2 = x3 + ax + b, avec a, b ∈ K

}∪ P∞.

Figure: Courbe elliptique dans le plan réel

La courbe elliptique est munie d'une loi d'addition.13 / 57

Page 22: Cours6_AttaqueContreCourplage

Courbe elliptiqueLoi de groupe - Addition

14 / 57

Page 23: Cours6_AttaqueContreCourplage

Courbe elliptiqueLoi de groupe - Addition

14 / 57

Page 24: Cours6_AttaqueContreCourplage

Courbe elliptiqueLoi de groupe - Addition

14 / 57

Page 25: Cours6_AttaqueContreCourplage

Courbe elliptiqueLoi de groupe - Doublement

15 / 57

Page 26: Cours6_AttaqueContreCourplage

Courbe elliptiqueLoi de groupe - Doublement

15 / 57

Page 27: Cours6_AttaqueContreCourplage

Courbe elliptiqueLoi de groupe - Doublement

Par convention nous noterons [r ]P = P + P + . . .+ P︸ ︷︷ ︸r fois

.

15 / 57

Page 28: Cours6_AttaqueContreCourplage

Construction des couplagesDonnées

A�n de calculer un couplage, nous avons besoin de :

Soit E une courbe elliptique sur un corps K ⊃ Fp, a et b ∈ Fp :

E (K) :={

(x , y) ∈ K×K, y2 = x3 + ax + b}∪ {P∞}.

r un nombre premier divisant card(E (Fp)),

ainsi que l'ensemble : E [r ] ={P ∈ E (Fp), [r ]P = P∞

}.

Le degré de plongement k : le plus petit entier tel que r |(pk − 1) ;

Si k > 1 alors E [r ] ⊂ E (Fpk ).

La fonction de Miller notée fr ,P qui admet :

le point P comme zéro d'ordre r

le point [r ]P comme pôle.

16 / 57

Page 29: Cours6_AttaqueContreCourplage

Construction des couplagesDonnées

A�n de calculer un couplage, nous avons besoin de :

Soit E une courbe elliptique sur un corps K ⊃ Fp, a et b ∈ Fp :

E (K) :={

(x , y) ∈ K×K, y2 = x3 + ax + b}∪ {P∞}.

r un nombre premier divisant card(E (Fp)),

ainsi que l'ensemble : E [r ] ={P ∈ E (Fp), [r ]P = P∞

}.

Le degré de plongement k : le plus petit entier tel que r |(pk − 1) ;

Si k > 1 alors E [r ] ⊂ E (Fpk ).

La fonction de Miller notée fr ,P qui admet :

le point P comme zéro d'ordre r

le point [r ]P comme pôle.

16 / 57

Page 30: Cours6_AttaqueContreCourplage

Construction des couplagesDonnées

A�n de calculer un couplage, nous avons besoin de :

Soit E une courbe elliptique sur un corps K ⊃ Fp, a et b ∈ Fp :

E (K) :={

(x , y) ∈ K×K, y2 = x3 + ax + b}∪ {P∞}.

r un nombre premier divisant card(E (Fp)),

ainsi que l'ensemble : E [r ] ={P ∈ E (Fp), [r ]P = P∞

}.

Le degré de plongement k : le plus petit entier tel que r |(pk − 1) ;

Si k > 1 alors E [r ] ⊂ E (Fpk ).

La fonction de Miller notée fr ,P qui admet :

le point P comme zéro d'ordre r

le point [r ]P comme pôle.

16 / 57

Page 31: Cours6_AttaqueContreCourplage

Construction des couplagesDonnées

A�n de calculer un couplage, nous avons besoin de :

Soit E une courbe elliptique sur un corps K ⊃ Fp, a et b ∈ Fp :

E (K) :={

(x , y) ∈ K×K, y2 = x3 + ax + b}∪ {P∞}.

r un nombre premier divisant card(E (Fp)),

ainsi que l'ensemble : E [r ] ={P ∈ E (Fp), [r ]P = P∞

}.

Le degré de plongement k : le plus petit entier tel que r |(pk − 1) ;

Si k > 1 alors E [r ] ⊂ E (Fpk ).

La fonction de Miller notée fr ,P qui admet :

le point P comme zéro d'ordre r

le point [r ]P comme pôle.

16 / 57

Page 32: Cours6_AttaqueContreCourplage

Construction des couplagesLe couplage de Tate

Soit P ∈ E (Fp)[r ], Q ∈ E (Fpk )/rE (Fpk ) et k le degré de plongement de lacourbe relativement à r .

Le couplage de Tate est l'application :

eT : E (Fp)[r ]× E (Fpk )/rE (Fpk )→ F∗pk

(P,Q)→ fr ,P(Q)pk−1

r

17 / 57

Page 33: Cours6_AttaqueContreCourplage

Construction des couplagesLe couplage de Tate

Soit P ∈ E (Fp)[r ], Q ∈ E (Fpk )/rE (Fpk ) et k le degré de plongement de lacourbe relativement à r .

Le couplage de Tate est l'application :

eT : E (Fp)[r ]× E (Fpk )/rE (Fpk )→ F∗pk

(P,Q)→ fr ,P(Q)pk−1

r

17 / 57

Page 34: Cours6_AttaqueContreCourplage

Outline

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

18 / 57

Page 35: Cours6_AttaqueContreCourplage

L'égalité de MillerLa fonction fr,P

Le calcul des couplages nécessite la construction d'une fonction rationnellefr ,P pour r un entier naturel.Cette fonction admet le point P comme zéro d'ordre r et le point [r ]Pcomme pôle.

Victor Miller a établi l'égalité :

fi+j ,P = fi ,P × fj ,P ×l[i ]P,[j]P

v[i+j]P

Cette égalité nous permet de construire une suite de fonction admettant lepoint [i ]P comme pôle pour i allant de 1 à r .

19 / 57

Page 36: Cours6_AttaqueContreCourplage

L'égalité de MillerExemple

Nous voulons calculer f5,P en utilisant sa décomposition binaire :5 = (101)2

et un algorithme de doublement et addition :

Nous partons de i = 1,

Le deuxième bit de 5 est 0 :

i := 2× i ⇒ i = 2

Le troisième bit de 5 est 1 :

i := 2× i ⇒ i = 4

i := i + 1 ⇒ i = 5

Sur ce modèle, nous allons calculer f5,P en utilisant l'égalité de Miller et ladécomposition binaire de 5.

20 / 57

Page 37: Cours6_AttaqueContreCourplage

L'égalité de MillerExemple

Nous voulons calculer f5,P en utilisant sa décomposition binaire :5 = (101)2

et un algorithme de doublement et addition :

Nous partons de i = 1,

Le deuxième bit de 5 est 0 :

i := 2× i ⇒ i = 2

Le troisième bit de 5 est 1 :

i := 2× i ⇒ i = 4

i := i + 1 ⇒ i = 5

Sur ce modèle, nous allons calculer f5,P en utilisant l'égalité de Miller et ladécomposition binaire de 5.

20 / 57

Page 38: Cours6_AttaqueContreCourplage

L'égalité de MillerExemple

Nous voulons calculer f5,P en utilisant sa décomposition binaire :5 = (101)2

et un algorithme de doublement et addition :

Nous partons de i = 1,

Le deuxième bit de 5 est 0 :

i := 2× i ⇒ i = 2

Le troisième bit de 5 est 1 :

i := 2× i ⇒ i = 4

i := i + 1 ⇒ i = 5

Sur ce modèle, nous allons calculer f5,P en utilisant l'égalité de Miller et ladécomposition binaire de 5.

20 / 57

Page 39: Cours6_AttaqueContreCourplage

L'égalité de MillerExemple

Soit f1,P qui vaut 1 par construction des fonctions fi ,P et i = 1.

i := 2i (i = 2)

f2,P = f1,P × f1,P ×lP,Pv[2]P

f2,P =lP,Pv[2]P

i := 2i (i = 4)

f4,P = f2,P × f2,P ×l[2]P,[2]P

v[4]P

f4,P = f 22,P ×l[2]P,[2]P

v[4]P

i := i + 1 (i = 5)

f5,P = f4,P ×l[4]P,P

v[5]P

f5,P =

((lP,P

v[2]P

)2

×l[2]P,[2]P

v[4]P

l[4]P,P

v[5]P

21 / 57

Page 40: Cours6_AttaqueContreCourplage

L'égalité de MillerExemple

Soit f1,P qui vaut 1 par construction des fonctions fi ,P et i = 1.

i := 2i (i = 2)

f2,P = f1,P × f1,P ×lP,Pv[2]P

f2,P =lP,Pv[2]P

i := 2i (i = 4)

f4,P = f2,P × f2,P ×l[2]P,[2]P

v[4]P

f4,P = f 22,P ×l[2]P,[2]P

v[4]P

i := i + 1 (i = 5)

f5,P = f4,P ×l[4]P,P

v[5]P

f5,P =

((lP,P

v[2]P

)2

×l[2]P,[2]P

v[4]P

l[4]P,P

v[5]P

21 / 57

Page 41: Cours6_AttaqueContreCourplage

L'égalité de MillerExemple

Soit f1,P qui vaut 1 par construction des fonctions fi ,P et i = 1.

i := 2i (i = 2)

f2,P = f1,P × f1,P ×lP,Pv[2]P

f2,P =lP,Pv[2]P

i := 2i (i = 4)

f4,P = f2,P × f2,P ×l[2]P,[2]P

v[4]P

f4,P = f 22,P ×l[2]P,[2]P

v[4]P

i := i + 1 (i = 5)

f5,P = f4,P ×l[4]P,P

v[5]P

f5,P =

((lP,P

v[2]P

)2

×l[2]P,[2]P

v[4]P

l[4]P,P

v[5]P

21 / 57

Page 42: Cours6_AttaqueContreCourplage

Calcul des couplagesL'algorithme de Miller renvoie fr,P(Q)

Data: r = (rN . . . r0)2,P ∈ G1 ⊂ E (Fp)[r ]

Result: [r ]PT ← P

for i = N − 1 to 0 do

T ← [2]T

if ri = 1 then

T ← T + P

end

end

return T = [r ]P

22 / 57

Page 43: Cours6_AttaqueContreCourplage

Calcul des couplagesL'algorithme de Miller renvoie fr,P(Q)

Data: r = (rN . . . r0)2,P ∈ G1 ⊂ E (Fp)[r ] et

Q ∈ G2 ⊂ E (Fpk )[r ]Result: fr ,P(Q) ∈ G3 ⊂ F∗

pk

T ← P , f1 ← 1, f2 ← 1for i = N − 1 to 0 do

T ← [2]T

f1 ←− f12 × ld (Q)

f2 ←− f22 × vd (Q)

if ri = 1 then

T ← T + P

f1 ←− f1 × la(Q)f2 ←− f2 × va(Q)

end

end

returnf1f2

23 / 57

Page 44: Cours6_AttaqueContreCourplage

Calcul des couplagesL'algorithme de Miller renvoie fr,P(Q)

Data: r = (rN . . . r0)2,P ∈ G1 ⊂ E (Fp)[r ] et

Q ∈ G2 ⊂ E (Fpk )[r ]Result: fr ,P(Q) ∈ G3 ⊂ F∗

pk

T ← P , f1 ← 1, f2 ← 1for i = N − 1 to 0 do

T ← [2]Tf1 ←− f1

2 × ld (Q)f2 ←− f2

2 × vd (Q)if ri = 1 then

T ← T + P

f1 ←− f1 × la(Q)f2 ←− f2 × va(Q)

end

end

returnf1f2

23 / 57

Page 45: Cours6_AttaqueContreCourplage

Calcul des couplagesL'algorithme de Miller renvoie fr,P(Q)

Data: r = (rN . . . r0)2,P ∈ G1 ⊂ E (Fp)[r ] et

Q ∈ G2 ⊂ E (Fpk )[r ]Result: fr ,P(Q) ∈ G3 ⊂ F∗

pk

T ← P , f1 ← 1, f2 ← 1for i = N − 1 to 0 do

T ← [2]Tf1 ←− f1

2 × ld (Q)f2 ←− f2

2 × vd (Q)if ri = 1 then

T ← T + P

f1 ←− f1 × la(Q)f2 ←− f2 × va(Q)

end

end

returnf1f2

23 / 57

Page 46: Cours6_AttaqueContreCourplage

Calcul des couplagesL'algorithme de Miller renvoie fr,P(Q)

Data: r = (rN . . . r0)2,P ∈ G1 ⊂ E (Fp)[r ] et

Q ∈ G2 ⊂ E (Fpk )[r ]Result: fr ,P(Q) ∈ G3 ⊂ F∗

pk

T ← P , f1 ← 1, f2 ← 1for i = N − 1 to 0 do

T ← [2]Tf1 ←− f1

2 × ld (Q)f2 ←− f2

2 × vd (Q)if ri = 1 then

T ← T + P

f1 ←− f1 × la(Q)f2 ←− f2 × va(Q)

end

end

returnf1f2

23 / 57

Page 47: Cours6_AttaqueContreCourplage

Outline

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

24 / 57

Page 48: Cours6_AttaqueContreCourplage

La sécurité des couplages

Niveau de sécurité en bits 80 128 192 256Nombre minimal de bits de r 160 256 384 512Nombre minimal de bits de pk 1 024 3 072 7 680 15 360

Table: Niveau de sécurité

25 / 57

Page 49: Cours6_AttaqueContreCourplage

Implantation des couplages sur courbes elliptiques

Soit Mp le coût d'une multiplication dans Fp, Spk celui d'un carré et Mpk

celui d'une multiplication dans Fpk .

L'algorithme de Miller nécessite

N = [log2(r)] + 1 itérations

la complexité de l'étape de doublement est8Sp + (12 + 4k)Mp + 2Spk + 2Mpk

la complexité de l'étape d'addition est6Sp + (20 + 3k)Mp + 2Spk + 2Mpk

A�n d'améliorer l'e�cacité du calcul du couplage, nous pouvons :

réduire le nombre d'additions et de multiplications dans Fpk .

améliorer l'arithmétique dans Fpk .

26 / 57

Page 50: Cours6_AttaqueContreCourplage

Implantation des couplages sur courbes elliptiques

Soit Mp le coût d'une multiplication dans Fp, Spk celui d'un carré et Mpk

celui d'une multiplication dans Fpk .

L'algorithme de Miller nécessite

N = [log2(r)] + 1 itérations

la complexité de l'étape de doublement est8Sp + (12 + 4k)Mp + 2Spk + 2Mpk

la complexité de l'étape d'addition est6Sp + (20 + 3k)Mp + 2Spk + 2Mpk

A�n d'améliorer l'e�cacité du calcul du couplage, nous pouvons :

réduire le nombre d'additions et de multiplications dans Fpk .

améliorer l'arithmétique dans Fpk .

26 / 57

Page 51: Cours6_AttaqueContreCourplage

Plan de la présentation

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

27 / 57

Page 52: Cours6_AttaqueContreCourplage

Calcul d'un couplage dans IBCLes données

On considère :

q nombre premier ou puissance d'un nombre premier

E courbe elliptique d'équation : y2 = x3 + ax + b, a et b ∈ Fq

P ∈ E (Fq) l'entrée secrète lors des calculs : P est privé.

Q ∈ E (Fqk ) l'entrée connue lors des calculs : Q est public.

28 / 57

Page 53: Cours6_AttaqueContreCourplage

Coordonées a�nesL'équation et la cible

L'équation de ld en coordonnées a�nes est :

ld (xQ , yQ) = yQ − λ(xQ − xT )− yT

L'attaque porte sur la di�érence (xQ − xT ) à la première itération del'algorithme de Miller.Avec :

T = P = (xP , yP) que l'on cherche.

Q public que l'on fait varier à volonté.

Illustration

xQi. . . 0 1 0

xP − ? 1 0 1(xQi− xP) ? 1 0 1

29 / 57

Page 54: Cours6_AttaqueContreCourplage

Coordonnées a�nesSchéma d'attaque

m point Qi ∈ G2(⊂ E (Fqk )) sont choisis (500 < m < 10000 )

Les j − 1 bits de poids faibles de xP sont connus

1 Récupérer les courbes Ci pour i = 0 . . .m2 Supposer (xP)j = 1

I Si (xQi− xP)

j= 0 mettre Ci dans S0

I Si (xQi− xP)

j= 1 mettre Ci dans S1

3 Calculer les moyennes C0 et C1 des paquets S0 et S14 Calculer la di�érence ∆ = C1 − C0

I Si la courbe ∆ présente un ou des pics de consommation, alors

(xP)j = 1I Sinon (xP)j = 0

5 on obtient ainsi le j eme bit de xP .

30 / 57

Page 55: Cours6_AttaqueContreCourplage

Coordonnées a�nesSchéma d'attaque

ld (xQ , yQ) = yQ − λ(xQ − xT )− yT

Une fois obtenue la valeur de xP , on utilise l'équation de la courbepour trouver yP .

L'équation de la courbe donne au plus deux valeurs de yP .

y2 = x3 + ax + b

En essayant les deux valeurs lors d'une exécution de l'algorithme deMiller, on peut déterminer la bonne.

31 / 57

Page 56: Cours6_AttaqueContreCourplage

Coordonnées projectivesL'équation et les cibles

L'équation de ld est :

ld (xQ , yQ) = Z 2yQ − (3X 2 + aZ 2)(xQZ − X )− YZ

L'attaque porte en premier lieu sur le produit xQZ , puis sur la di�érence(xQZ − X ), toujours sur la première itération où :

T = P = (XP ,YP ,ZP) en coordonnées projectives

Q = (xQ , yQ) en coordonnées a�nes

Rappel

T = (XT ,YT ,ZT ) est équivalent à T = (XT

ZT, YT

ZT, 1) pour ZT 6= 0

32 / 57

Page 57: Cours6_AttaqueContreCourplage

Coordonnées projectivesSchéma d'attaque

m point Qi ∈ G2(⊂ E (Fqk )) sont choisis

Les j − 1 bits de poids faibles de ZP sont connus

1 Récupérer les courbes Ci pour i = 0 . . .m2 Supposer (ZP)j = 1

I Si (ZP × xQi)j

= 0 mettre Ci dans S0I Si (ZP × xQi

)j

= 1 mettre Ci dans S1

3 Calculer les moyennes C0 et C1 des paquets S0 et S14 Calculer la di�érence ∆ = C1 − C0

I Si la courbe ∆ présente un ou des pics de consommation, alors

(ZP)j = 1I Sinon (ZP)j = 0

5 on obtient ainsi le j eme bit de ZP .

33 / 57

Page 58: Cours6_AttaqueContreCourplage

Coordonnées projectivesSchéma d'attaque

ld (xQ , yQ) = Z 2yQ − (3X 2 + aZ 2)(xQZ − X )− YZ

Une fois obtenue la valeur de ZP , on réitère le procédé pour retrouverla valeur de XP via l'opération (xQZ − X ).

L'équation de la courbe donne au plus deux valeurs de YP .

Y 2 = X 3 + aXZ 2 + bZ 3

En essayant les deux valeurs lors d'une exécution de l'algorithme deMiller, on peut déterminer la bonne.

34 / 57

Page 59: Cours6_AttaqueContreCourplage

Coordonnées jacobiennesL'équation et les cibles

L'équation de ld est :

ld (Q) = Z3Z2yQ − 2Y 2 − (3X 2 − aZ 4)(xQZ

2 − X )

L'attaque porte en premier lieu sur le produit xQZ 2, puis :

soit sur la di�érence (xQZ2 − X )

soit sur le calcul de Z3Z2yQ = 2YZ × Z 2 × yQ

sachant que :

T = P = (XP ,YP ,ZP) en coordonnées jacobiennes, et Z3 = 2YTZT .

Q = (xQ , yQ) en coordonnées a�nes

Rappel

T = (XT ,YT ,ZT ) est équivalent à T = (XT

Z2T

, YT

Z3T

, 1) pour ZT 6= 0

35 / 57

Page 60: Cours6_AttaqueContreCourplage

Coordonnées jacobiennesSchéma d'attaque

Le schéma est le même qu'en coordonnées projectives :

ld (Q) = Z3Z2yQ − 2Y 2 − (3X 2 − aZ 4)(xQZ

2 − X )

Il s'agit d'abord de retrouver Z 2P , ce qui nous donne deux possiblités

pour ZP .

Ensuite, avec ces deux possiblités on réitère le procédé pour trouverles deux valeurs de YP associées.

En�n, pour trouver XP , on se sert de l'équation de la courbe :

Y 2 = X 3 + aXZ 3 + Z 6

� Ou alors avec Z 2P on retrouve XP via la di�érence (xQZ

2 − X )

� Puis retrouver YP à l'aide de l'équation de la courbe.

36 / 57

Page 61: Cours6_AttaqueContreCourplage

Coordonnées jacobiennesSchéma d'attaque

Le schéma est le même qu'en coordonnées projectives :

ld (Q) = Z3Z2yQ − 2Y 2 − (3X 2 − aZ 4)(xQZ

2 − X )

Il s'agit d'abord de retrouver Z 2P , ce qui nous donne deux possiblités

pour ZP .

Ensuite, avec ces deux possiblités on réitère le procédé pour trouverles deux valeurs de YP associées.

En�n, pour trouver XP , on se sert de l'équation de la courbe :

Y 2 = X 3 + aXZ 3 + Z 6

� Ou alors avec Z 2P on retrouve XP via la di�érence (xQZ

2 − X )

� Puis retrouver YP à l'aide de l'équation de la courbe.

37 / 57

Page 62: Cours6_AttaqueContreCourplage

Implémentation

Nous avons utilisé un environnement de simulation pour mettre en placel'attaque DPA. Cet environnement a été proposé par Di Natale, Flottes etRouzeire, il simule la consommation électrique d'un circuit en synthétisantles transistors et transition liées à l'exécution de l'algorithme.L'environnement exécute aussi l'attaque DPA. Nous avons obtenu parexemple les courbes suivantes :

38 / 57

Page 63: Cours6_AttaqueContreCourplage

Conclusion

L'algorithme de Miller est vulnérable à l'attaque DPA

Vulnérabilité des couplages basés sur l'algorithme de Miller

Nous venons de voir que quelque soit le positionnement du secret lors d'uncalcul de couplage nous pouvons le retrouver.La conséquence directe est que tous les couplages : le couplage de Weil, deTate, Ate et Twisted Ate sont vulnérables à l'attaque DPA.

39 / 57

Page 64: Cours6_AttaqueContreCourplage

Plan de la présentation

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

40 / 57

Page 65: Cours6_AttaqueContreCourplage

Outline

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

41 / 57

Page 66: Cours6_AttaqueContreCourplage

Attaques par canaux cachées

Lors d'un protocole basé sur l'identité l'attaquant connait :

l'algorithme de couplage utilisé,

le nombre d'itérations (N = [log2(r)] + 1).

Le secret est l'un des arguments du couplage.

Le secret n'in�uence ni le temps d'exécution ni le nombre d'itérationsde l'algorithme.

42 / 57

Page 67: Cours6_AttaqueContreCourplage

Attaques par canaux cachés

Les attaques par canaux cachés utilisent les failles matérielles del'implantation pour récupérer des informations sur le secret utilisé.

Les attaques par injection de fautes consistent à perturber l'exécutiond'un algorithme par exemple par des émissions lasers.

La première attaque par injection de fautes contre un cryptosystème àbase de couplage à été introduite en 2006 par Page et Vercauterencontre l'algorithme de Duursma et Lee.

Nous étudions la vulnérabilité de l'algorithme de Miller confronté àune attaque par injection de fautes.

43 / 57

Page 68: Cours6_AttaqueContreCourplage

Attaques par canaux cachés

Les attaques par canaux cachés utilisent les failles matérielles del'implantation pour récupérer des informations sur le secret utilisé.

Les attaques par injection de fautes consistent à perturber l'exécutiond'un algorithme par exemple par des émissions lasers.

La première attaque par injection de fautes contre un cryptosystème àbase de couplage à été introduite en 2006 par Page et Vercauterencontre l'algorithme de Duursma et Lee.

Nous étudions la vulnérabilité de l'algorithme de Miller confronté àune attaque par injection de fautes.

43 / 57

Page 69: Cours6_AttaqueContreCourplage

Attaques par canaux cachés

Les attaques par canaux cachés utilisent les failles matérielles del'implantation pour récupérer des informations sur le secret utilisé.

Les attaques par injection de fautes consistent à perturber l'exécutiond'un algorithme par exemple par des émissions lasers.

La première attaque par injection de fautes contre un cryptosystème àbase de couplage à été introduite en 2006 par Page et Vercauterencontre l'algorithme de Duursma et Lee.

Nous étudions la vulnérabilité de l'algorithme de Miller confronté àune attaque par injection de fautes.

43 / 57

Page 70: Cours6_AttaqueContreCourplage

Description de l'attaque par injection de fautes

Nous supposons que le couplage est utilisé lors d'un protocole decryptographie basée sur l'identité.

Le secret est le point P , premier argument lors du calcul du couplagee(P,Q).

Le second paramètre du couplage Q est connu et maitrisé parl'attaquant.

Objectif de l'attaque par injection de fautes

L'attaque consiste à faire varier le nombre d'itérations durant l'exécution del'algorithme de Miller, ceci a�n d'obtenir les résultats de deux exécutionsdont le nombre d'itérations soient consécutifs : τ et τ + 1 itérations pourτ ∈ {1, . . . ,N}.Nous notons Fτ,P(Q) et Fτ+1,P(Q) les deux résultats de ces itérations.

44 / 57

Page 71: Cours6_AttaqueContreCourplage

Description de l'attaque par injection de fautes

Nous supposons que le couplage est utilisé lors d'un protocole decryptographie basée sur l'identité.

Le secret est le point P , premier argument lors du calcul du couplagee(P,Q).

Le second paramètre du couplage Q est connu et maitrisé parl'attaquant.

Objectif de l'attaque par injection de fautes

L'attaque consiste à faire varier le nombre d'itérations durant l'exécution del'algorithme de Miller, ceci a�n d'obtenir les résultats de deux exécutionsdont le nombre d'itérations soient consécutifs : τ et τ + 1 itérations pourτ ∈ {1, . . . ,N}.Nous notons Fτ,P(Q) et Fτ+1,P(Q) les deux résultats de ces itérations.

44 / 57

Page 72: Cours6_AttaqueContreCourplage

Description de l'attaque par injection de fautes

Cible de l'attaque

Nous modi�ons le registre mémoire contenant l'entier N déterminant lenombre d'itérations exécutées par l'algorithme de Miller à l'aide d'émissionlaser.

Principe de l'attaque

Nous procédons à plusieurs exécutions de l'algorithme de Miller enmodi�ant aléatoirement à chaque exécution ce registre.

Ce bombardement laser modi�e le nombre d'exécutions e�ectuées ; endénombrant les cycles d'horloge nous pouvons retrouver le nombred'itérations faites.

Nous recommençons l'opération jusqu'à obtenir deux nombred'itérations consécutifs notés τ et τ + 1.

45 / 57

Page 73: Cours6_AttaqueContreCourplage

Description de l'attaque par injection de fautes

Cible de l'attaque

Nous modi�ons le registre mémoire contenant l'entier N déterminant lenombre d'itérations exécutées par l'algorithme de Miller à l'aide d'émissionlaser.

Principe de l'attaque

Nous procédons à plusieurs exécutions de l'algorithme de Miller enmodi�ant aléatoirement à chaque exécution ce registre.

Ce bombardement laser modi�e le nombre d'exécutions e�ectuées ; endénombrant les cycles d'horloge nous pouvons retrouver le nombred'itérations faites.

Nous recommençons l'opération jusqu'à obtenir deux nombred'itérations consécutifs notés τ et τ + 1.

45 / 57

Page 74: Cours6_AttaqueContreCourplage

Description de l'attaque par injection de fautes

Cible de l'attaque

Nous modi�ons le registre mémoire contenant l'entier N déterminant lenombre d'itérations exécutées par l'algorithme de Miller à l'aide d'émissionlaser.

Principe de l'attaque

Nous procédons à plusieurs exécutions de l'algorithme de Miller enmodi�ant aléatoirement à chaque exécution ce registre.

Ce bombardement laser modi�e le nombre d'exécutions e�ectuées ; endénombrant les cycles d'horloge nous pouvons retrouver le nombred'itérations faites.

Nous recommençons l'opération jusqu'à obtenir deux nombred'itérations consécutifs notés τ et τ + 1.

45 / 57

Page 75: Cours6_AttaqueContreCourplage

Description de l'attaque par injection de fautes

Probabilité de réussite

Nous cherchons à tirer deux entiers consécutifs pris aléatoirement parmi N.

Ce problème est similaire au paradoxe des anniversaires.Nous pouvons calculer la probabilité de réussite de cet évènement.

Exemple

Pour un nombre r de taille 256 bits,il su�t de 15 tirages pour obtenir deux nombres consécutifs pris parmi 256entiers avec une probabilité supérieure à 0, 5 ;et de 26 pour obtenir une probabilité supérieure à 0, 9.

46 / 57

Page 76: Cours6_AttaqueContreCourplage

Description de l'attaque par injection de fautes

Probabilité de réussite

Nous cherchons à tirer deux entiers consécutifs pris aléatoirement parmi N.Ce problème est similaire au paradoxe des anniversaires.Nous pouvons calculer la probabilité de réussite de cet évènement.

Exemple

Pour un nombre r de taille 256 bits,il su�t de 15 tirages pour obtenir deux nombres consécutifs pris parmi 256entiers avec une probabilité supérieure à 0, 5 ;et de 26 pour obtenir une probabilité supérieure à 0, 9.

46 / 57

Page 77: Cours6_AttaqueContreCourplage

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

Nous notons Fτ,P(Q) le résultat de la τ -ième itération et Fτ+1,P(Q) celuide la τ + 1-ième.

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

permet de retrouver des informations sur le

secret utilisé.

A la τ -ième étape, T = [j ]P dans l'algorithme de Miller

Nous notons [j ]P = (Xj ,Yj ,Zj) le point secret et Q = (xQ , yQ)l'entrée connue lors du calcul de e(P,Q).

En écrivant les équations nous obtenons l'expression de R suivante :

Z2jZj2yQ − 2Yj

2 − (3Xj2 − aZj

4)(xQZj2 − Xj).

La connaissance du développement formel de R et de sa valeur, nouspermet de construire un système en les coordonnées de [j ]P .

47 / 57

Page 78: Cours6_AttaqueContreCourplage

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

Nous notons Fτ,P(Q) le résultat de la τ -ième itération et Fτ+1,P(Q) celuide la τ + 1-ième.Le rapport R =

Fτ+1,P(Q)Fτ,P(Q)2

permet de retrouver des informations sur le

secret utilisé.

A la τ -ième étape, T = [j ]P dans l'algorithme de Miller

Nous notons [j ]P = (Xj ,Yj ,Zj) le point secret et Q = (xQ , yQ)l'entrée connue lors du calcul de e(P,Q).

En écrivant les équations nous obtenons l'expression de R suivante :

Z2jZj2yQ − 2Yj

2 − (3Xj2 − aZj

4)(xQZj2 − Xj).

La connaissance du développement formel de R et de sa valeur, nouspermet de construire un système en les coordonnées de [j ]P .

47 / 57

Page 79: Cours6_AttaqueContreCourplage

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

Nous notons Fτ,P(Q) le résultat de la τ -ième itération et Fτ+1,P(Q) celuide la τ + 1-ième.Le rapport R =

Fτ+1,P(Q)Fτ,P(Q)2

permet de retrouver des informations sur le

secret utilisé.

A la τ -ième étape, T = [j ]P dans l'algorithme de Miller

Nous notons [j ]P = (Xj ,Yj ,Zj) le point secret et Q = (xQ , yQ)l'entrée connue lors du calcul de e(P,Q).

En écrivant les équations nous obtenons l'expression de R suivante :

Z2jZj2yQ − 2Yj

2 − (3Xj2 − aZj

4)(xQZj2 − Xj).

La connaissance du développement formel de R et de sa valeur, nouspermet de construire un système en les coordonnées de [j ]P .

47 / 57

Page 80: Cours6_AttaqueContreCourplage

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

Nous notons Fτ,P(Q) le résultat de la τ -ième itération et Fτ+1,P(Q) celuide la τ + 1-ième.Le rapport R =

Fτ+1,P(Q)Fτ,P(Q)2

permet de retrouver des informations sur le

secret utilisé.

A la τ -ième étape, T = [j ]P dans l'algorithme de Miller

Nous notons [j ]P = (Xj ,Yj ,Zj) le point secret et Q = (xQ , yQ)l'entrée connue lors du calcul de e(P,Q).

En écrivant les équations nous obtenons l'expression de R suivante :

Z2jZj2yQ − 2Yj

2 − (3Xj2 − aZj

4)(xQZj2 − Xj).

La connaissance du développement formel de R et de sa valeur, nouspermet de construire un système en les coordonnées de [j ]P .

47 / 57

Page 81: Cours6_AttaqueContreCourplage

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

Le système est :

YjZ3j = λ2

Z 2j (X 2

j − Z 4j ) = λ1

3Xj(X2j − Z 4

j ) + 2Y 2j = λ0.

où nous connaissons les valeurs de λ0, λ1 et λ2 dans Fp.

La résolution de ce système nous permet d'exprimer les inconnues Xj et Yj

en fonction de Zj .Cela nous permet de construire une équation de degré 12 admettant Zjcomme solution.

(λ20 − 9λ21)Z 12 − (4λ0λ22 + 9λ31)Z 6 + 4λ41 ≡ 0 mod p

48 / 57

Page 82: Cours6_AttaqueContreCourplage

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

Le système est :

YjZ3j = λ2

Z 2j (X 2

j − Z 4j ) = λ1

3Xj(X2j − Z 4

j ) + 2Y 2j = λ0.

où nous connaissons les valeurs de λ0, λ1 et λ2 dans Fp.

La résolution de ce système nous permet d'exprimer les inconnues Xj et Yj

en fonction de Zj .Cela nous permet de construire une équation de degré 12 admettant Zjcomme solution.

(λ20 − 9λ21)Z 12 − (4λ0λ22 + 9λ31)Z 6 + 4λ41 ≡ 0 mod p

48 / 57

Page 83: Cours6_AttaqueContreCourplage

Le rapport R =Fτ+1,P(Q)Fτ,P(Q)2

Le système est :

YjZ3j = λ2

Z 2j (X 2

j − Z 4j ) = λ1

3Xj(X2j − Z 4

j ) + 2Y 2j = λ0.

où nous connaissons les valeurs de λ0, λ1 et λ2 dans Fp.

La résolution de ce système nous permet d'exprimer les inconnues Xj et Yj

en fonction de Zj .Cela nous permet de construire une équation de degré 12 admettant Zjcomme solution.

(λ20 − 9λ21)Z 12 − (4λ0λ22 + 9λ31)Z 6 + 4λ41 ≡ 0 mod p

48 / 57

Page 84: Cours6_AttaqueContreCourplage

Conclusion

[ISA'09]

L'algorithme de Miller est vulnérable à une attaque par injection de fautes.

Vulnérabilité des couplages basés sur l'algorithme de Miller

Le couplage de Weil est directement sensible à cette attaque.

Les couplages de Tate et Ate sont construits sur le même modèle :

eT (P,Q) = (fr ,P(Q))pk−1

r .Cette exponentiation pourrait être une contre mesure à l'attaque parfaute,mais il est existe des méthodes comme les attaques par scan quipeuvent rendre possible l'attaque par injection de fautes contre cescouplages.

49 / 57

Page 85: Cours6_AttaqueContreCourplage

Plan de la présentation

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

50 / 57

Page 86: Cours6_AttaqueContreCourplage

Quelles contremesures peut on proposer ?

Attaque DPA : souvent des techniques de masquages

Utiliser les coordonnées Jacobiennes ou projective et tirer partie del'homogénéïté.

⇒ ∀λ ∈ N?(X : Y : Z ) ≡ (λ2X : λ3Y : λZ )

Utiliser la bilinéarité des couplages

⇒ ∀λ ∈ N? : e(P,Q) = e([λ]P, [ 1λ ]Q)

⇒ ∀λ ∈ N? : e(P,Q) = e([λ]P,Q)1λ

51 / 57

Page 87: Cours6_AttaqueContreCourplage

Quelles contremesures peut on proposer ?

Attaque DPA : souvent des techniques de masquages

Utiliser les coordonnées Jacobiennes ou projective et tirer partie del'homogénéïté.

⇒ ∀λ ∈ N?(X : Y : Z ) ≡ (λ2X : λ3Y : λZ )

Utiliser la bilinéarité des couplages

⇒ ∀λ ∈ N? : e(P,Q) = e([λ]P, [ 1λ ]Q)

⇒ ∀λ ∈ N? : e(P,Q) = e([λ]P,Q)1λ

51 / 57

Page 88: Cours6_AttaqueContreCourplage

Quelles contremesures peut on proposer ?

Attaque par faute

Les mêmes que pour l'attaque DPA

Utilisation d'une horloge asynchrone

52 / 57

Page 89: Cours6_AttaqueContreCourplage

Quelles contremesures peut on proposer ?

Attaque par faute

Les mêmes que pour l'attaque DPA

Utilisation d'une horloge asynchrone

52 / 57

Page 90: Cours6_AttaqueContreCourplage

Plan de la présentation

1 Résumé des épisodes précédents

2 Cryptologie à base de couplageDé�nition et propriétés des couplagesConstruction et exemple de couplagesCalcul des couplagesAspect arithmétique de la cryptographie à base de couplages

3 Attaque DPA

4 Attaque par fauteDé�nition d'une attaque par injection de fautes

5 Contremesure

6 Conclusion et perspectives

53 / 57

Page 91: Cours6_AttaqueContreCourplage

Conclusion

Nous venons de découvrir les deux axes des travaux e�ectués durant cettethèse :

performance de l'arithmétique des couplages,

étude de la sécurité des protocoles à base de couplage.

54 / 57

Page 92: Cours6_AttaqueContreCourplage

Contribution de la thèsePlan du mémoire

1 Arithmétique des couplages

Comparaison des complexités des couplages de Weil et de Tate[SPIE'07 avec J.C. Bajard]

2 Bases adaptées aux couplages [ACISP'09 avec C. Nègre]3 Cas spéci�que des courbes de degré de plongement k = 15

Étude complète du calcul d'un couplage sur cette famille de courbe[En cours avec S.Ionica et N. Guillermin]

4 Attaques par canaux cachés5 Attaque di�érentielle par consommation de courant

Attaque DPA contre l'algorithme de Miller [PRIME'09 avecG.DiNatale et M.L. Flottes]

6 Attaque par injection de fautes [ISA'09]

55 / 57

Page 93: Cours6_AttaqueContreCourplage

Contribution de la thèsePlan du mémoire

1 Arithmétique des couplages

Comparaison des complexités des couplages de Weil et de Tate[SPIE'07 avec J.C. Bajard]

2 Bases adaptées aux couplages [ACISP'09 avec C. Nègre]3 Cas spéci�que des courbes de degré de plongement k = 15

Étude complète du calcul d'un couplage sur cette famille de courbe[En cours avec S.Ionica et N. Guillermin]

4 Attaques par canaux cachés5 Attaque di�érentielle par consommation de courant

Attaque DPA contre l'algorithme de Miller [PRIME'09 avecG.DiNatale et M.L. Flottes]

6 Attaque par injection de fautes [ISA'09]

55 / 57

Page 94: Cours6_AttaqueContreCourplage

Contribution de la thèsePlan du mémoire

1 Arithmétique des couplages

Comparaison des complexités des couplages de Weil et de Tate[SPIE'07 avec J.C. Bajard]

2 Bases adaptées aux couplages [ACISP'09 avec C. Nègre]3 Cas spéci�que des courbes de degré de plongement k = 15

Étude complète du calcul d'un couplage sur cette famille de courbe[En cours avec S.Ionica et N. Guillermin]

4 Attaques par canaux cachés5 Attaque di�érentielle par consommation de courant

Attaque DPA contre l'algorithme de Miller [PRIME'09 avecG.DiNatale et M.L. Flottes]

6 Attaque par injection de fautes [ISA'09]

55 / 57

Page 95: Cours6_AttaqueContreCourplage

Contribution de la thèsePlan du mémoire

1 Arithmétique des couplages

Comparaison des complexités des couplages de Weil et de Tate[SPIE'07 avec J.C. Bajard]

2 Bases adaptées aux couplages [ACISP'09 avec C. Nègre]3 Cas spéci�que des courbes de degré de plongement k = 15

Étude complète du calcul d'un couplage sur cette famille de courbe[En cours avec S.Ionica et N. Guillermin]

4 Attaques par canaux cachés5 Attaque di�érentielle par consommation de courant

Attaque DPA contre l'algorithme de Miller [PRIME'09 avecG.DiNatale et M.L. Flottes]

6 Attaque par injection de fautes [ISA'09]

55 / 57

Page 96: Cours6_AttaqueContreCourplage

Contribution de la thèsePlan du mémoire

1 Arithmétique des couplages

Comparaison des complexités des couplages de Weil et de Tate[SPIE'07 avec J.C. Bajard]

2 Bases adaptées aux couplages [ACISP'09 avec C. Nègre]3 Cas spéci�que des courbes de degré de plongement k = 15

Étude complète du calcul d'un couplage sur cette famille de courbe[En cours avec S.Ionica et N. Guillermin]

4 Attaques par canaux cachés5 Attaque di�érentielle par consommation de courant

Attaque DPA contre l'algorithme de Miller [PRIME'09 avecG.DiNatale et M.L. Flottes]

6 Attaque par injection de fautes [ISA'09]

55 / 57

Page 97: Cours6_AttaqueContreCourplage

Perspectives

Arithmétique des couplages

Recherche de courbes elliptiques adéquates.

Optimisation de l'arithmétique des corps �nis.

Implémentation e�cace de l'arithmétique des corps �nis.

Implantation de couplages e�cace en software et hardware.

Sécurité des couplage

Implantation de l'attaque par fautes.

Implantation des contre mesures proposées aux attaques par canauxcachées.

Attaque d'implantation protégée par les contre mesures de Coron.

Voir si les couplages sont vulnérables à d'autres attaques.

56 / 57

Page 98: Cours6_AttaqueContreCourplage

Perspectives

Arithmétique des couplages

Recherche de courbes elliptiques adéquates.

Optimisation de l'arithmétique des corps �nis.

Implémentation e�cace de l'arithmétique des corps �nis.

Implantation de couplages e�cace en software et hardware.

Sécurité des couplage

Implantation de l'attaque par fautes.

Implantation des contre mesures proposées aux attaques par canauxcachées.

Attaque d'implantation protégée par les contre mesures de Coron.

Voir si les couplages sont vulnérables à d'autres attaques.

56 / 57

Page 99: Cours6_AttaqueContreCourplage

MERCI POUR VOTRE

ATTENTION

ET SURTOUT VOTRE ACCUEIL ! !

57 / 57