• Aucun résultat trouvé

État Des Lieux Attaques Passives Courbes Elliptiques

N/A
N/A
Protected

Academic year: 2021

Partager "État Des Lieux Attaques Passives Courbes Elliptiques"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: lirmm-00862374

https://hal-lirmm.ccsd.cnrs.fr/lirmm-00862374

Submitted on 16 Sep 2013

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

État Des Lieux Attaques Passives Courbes Elliptiques

Jean-Marc Robert

To cite this version:

Jean-Marc Robert. État Des Lieux Attaques Passives Courbes Elliptiques. EJCIM: École Jeunes Chercheurs en Informatique Mathématique, Apr 2013, Perpignan, France. 2013. �lirmm-00862374�

(2)

Etat Des Lieux Attaques Passives Courbes Elliptiques

J.M. ROBERT

1

1

Team DALI/LIRMM, Universit´e de Perpignan, France

1. ECC : Elliptic Curve Cryptography, ´ echange de cl´ e de Diffie-Hellmann

Alice et Bob s’accordent sur un groupe (G, +, O) et un point P , g´en´erateur du groupe.

Bob Alice

a random() b random()

envoie A

Calcule A = a · P Calcule K = a · B

envoie B Calcule B = b · P Calcule K = b ·A

Cl´e secr`ete partag´ee K = a · b · P

→ Le produit scalaire a · P est la principale op´eration.

2. Le groupe choisi : l’ensemble des points d’une Courbe Elliptique sur F

2m

, muni de l’addition et d’un ´ el´ ement neutre

Exemples sur R :

Notre courbe est sur F2m (et non R) :

E : Y 2 + XY = X3 + aX2 + b, a, b ∈ F2m. Les coordonn´ees des points appartiennent `a F2m = F2[x]/(f(x) · F2[x])

Soit A = Pm−1

i=0 ai · xi et B = Pm−1

i=0 bi · xi, ai, bi ∈ {0, 1}

alors : A + B = Pm−1

i=0 (ai + bi) · xi, et : A × B = A · B mod f.

3. Attaque SPA : Simple Power Analysis

Le produit scalaire k · P est vuln´erable :

Require: k = (kt−1, . . . , k1, k0), P ∈ E(Fq) Ensure: Q = k · P

1: Q ← O

2: for i from t − 1 downto 0 do

3: Q ← 2 · Q

4: if ki = 1 then

5: Q ← Q + P

6: end if

7: end for

8: return (Q)

L-R double-and-add Elliptic Curve Scalar Multiplication (ECSM) Cet algorithme n’est pas r´egulier : les op´erations effectu´ees `a chaque tour de boucle d´ependent du scalaire utilis´e comme ex- posant (on effectue l’addition de l’´etape 5 uniquement si le bit de la repr´esentation est 1).

Attaque SPA

Fuite d’information par Simple Power Analysis, exponentiation rapide RSA (≈

Double-And-Add), reproduite de [2], mesure de courant instantan´e sur carte `a puce.

tension mesur´ee aux bornes d’une r´esistance en s´erie avec l’alimentation de la carte ;

Les pics sont les multiplications (additions) ;

les creux sont les ´el´evations au carr´e (doublements) ;

L’attaquant peut donc reconstituer la cl´e secr`ete (l’exposant de l’exponentiation rapide) par un simple examen de la trace de cop- nsommation de courant instantan´ee !

Exemple de contre-mesure : Montgomery

Require: k = (kt−1, . . . , k1, k0) with kt−1 = 1, P ∈ E(Fq) Ensure: Q = k · P

1: Q0 ← P, Q1 ← 2P

2: for i from t − 2 downto 0 do

3: if (ki = 0) then

4: Q1 ← Q0 + Q1, Q0 ← 2 · Q0

5: else

6: Q0 ← Q0 + Q1, Q1 ← 2 · Q1

7: end if

8: end for

9: return (Q0)

Basic Montgomery’s ladder ECSM

Cet algorithme est r´egulier : on effectue un addition et un double- ment `a chaque tour de boucle.

4. Attaque DPA : Differential Power Analysis

Description de l’attaque DPA

Cette attaque va contourner les principales contre-mesures pr´ec´edentes. L’attaque n´ecessite de la part de l’adversaire :

la mesure de la puissance consomm´ee lors de m calculs d’ECSM T1...m[j] ;

La connaissance du point de base utilis´e P1, P2, . . . , Pm lors des m calculs.

L’attaquant proc`ede comme suit :

il calcule les 4 · Pi et s´electionne le bit s de chaque r´esultat ;

il calcule la diff´erentielle suivante (D(Pi, s) = valeur du bit s de4·Pi) :

D[j] =

Pm

i=1 D(Pi, s) · Ti[j] Pm

i=1 D(Pi, s) −

Pm

i=1(1 − D(Pi, s)) · Ti[j] Pm

i=1(1 − D(Pi, s))

≈ 2 ·

Pm

i=1 D(Pi, s) · Ti[j] Pm

i=1 D(Pi, s) −

Pm

i=1 Ti[j] m

.

֒→ L’attaquant joue aux devinettes :

si 4 · P n’est pas calcul´e, ∆D[j] = 0 au bruit pr`es ;

si 4 · P est calcul´e, ∆D[j] va pr´esenter un pic `a l’instant o`u le calcul traite le bit s.

En pratique, avec environ mille traces de consommation de puissance

(carte `a puce, tir´e de Coron dans [1]) :

֒→ A gauche : pari perdu,` 4 · P n’est pas calcul´e ;

֒→ `a droite : c’est gagn´e !

5. Efficacit´ e de l’attaque DPA :

Double-and-Add

tour i : i = l − 2 i = l − 3

kl1 = 1 kl2 kl3 . . . Q Q

1 0 0 . . . 2P 4P

1 0 1 . . . 2P 4P + P = 5P

1 1 0 . . . 3P 6P

1 1 1 . . . 3P 6 · P + P = 7P Premiers tours de boucle de l’algorithme L-R Double-and-Add pour l’ECSM :

֒→ 4 · P n’est calcul´e que pour kl

2 = 0.

Echelle binaire de Montgomery ´

tour i : i = l − 2 i = l − 3 kl−1 = 1 kl−2 kl−3 . . . Q0 Q1 Q0 Q1

1 0 0 . . . 2P 3P 4P 5P

1 0 1 . . . 2P 3P 5P 6P

1 1 0 . . . 3P 4P 6P 7P

1 1 1 . . . 3P 4P 7P 8P

Premiers tours de boucle de l’algorithme ´echelle binaire de Montgomery pour l’ECSM :

֒→ 5 · P n’est calcul´e que pour kl

2 = 0.

6. Conclusion

Contres-mesures classiques : randomization propos´ees par Coron dans [1]

1. Randomization of the private exponent : une courbe elliptique sur F2m ou Fq comporte un nombre fini de points, que l’on note #E, dont l’ordre divise #E.

Q = d · P = (d + k · #E) · P, ∀k ∈ Z (On a en effet : #E · P = O).,

2. Blinding the point P : ajouter un point al´eatoire R au point de base P dont on connaˆıt le multiple

`a l’avance S = d · R.

֒→ point utilis´e dans l’op´eration P = P + R

֒→ Variante : R ← (−1)b2R, S ← (−1)b2S, (b un bit al´eatoire).

3. Randomized projective coordinates : pour un point en coordonn´ees affines (x, y), on a une infinit´e de points (X, Y, Z) correspondants tels que (x = X/Z, y = Y /Z2) en LD projective.

Travail en cours

◮ nouveaux algorithmes : Montgomery avec Halving et repr´esentation sign´ee du scalaire ;

◮ en pr´evision : impl´ementation sur FPGA (d´eveloppement d’un cryptoprocesseur ECC).

R´ ef´ erences

[1] Jean-S´ebastien Coron. Resistance against differential power analysis for elliptic curve cryptosystems. In CHES, pages 292–302, 1999.

[2] Paul C. Kocher, Joshua Jaffe, Benjamin Jun, and Pankaj Rohatgi. Introduction to differential power analysis. J. Cryptographic Engineering, 1(1):5–27, 2011.

PAVOIS ANR 12 BS02 002 02 – Perpignan, FRANCE, 8-12 avril, 2013.

Références

Documents relatifs

To test whether the vesicular pool of Atat1 promotes the acetyl- ation of -tubulin in MTs, we isolated subcellular fractions from newborn mouse cortices and then assessed

Néanmoins, la dualité des acides (Lewis et Bronsted) est un système dispendieux, dont le recyclage est une opération complexe et par conséquent difficilement applicable à

Cette mutation familiale du gène MME est une substitution d’une base guanine par une base adenine sur le chromosome 3q25.2, ce qui induit un remplacement d’un acide aminé cystéine

En ouvrant cette page avec Netscape composer, vous verrez que le cadre prévu pour accueillir le panoramique a une taille déterminée, choisie par les concepteurs des hyperpaysages

Chaque séance durera deux heures, mais dans la seconde, seule la première heure sera consacrée à l'expérimentation décrite ici ; durant la seconde, les élèves travailleront sur

A time-varying respiratory elastance model is developed with a negative elastic component (E demand ), to describe the driving pressure generated during a patient initiated

The aim of this study was to assess, in three experimental fields representative of the various topoclimatological zones of Luxembourg, the impact of timing of fungicide

Attention to a relation ontology [...] refocuses security discourses to better reflect and appreciate three forms of interconnection that are not sufficiently attended to