• No se han encontrado resultados

Implentation Efficiente de la Multiplication Scalaire utilisant la Parallisation Cryptographie sur les Courbes Elliptiques

N/A
N/A
Protected

Academic year: 2017

Share "Implentation Efficiente de la Multiplication Scalaire utilisant la Parallisation Cryptographie sur les Courbes Elliptiques"

Copied!
34
0
0

Texto completo

(1)

Scalaire utilisant la Parall´

elisation

Cryptographie sur les Courbes Elliptiques

Jonathan Taverne

Universit´e Lyon 1 - CINVESTAV

(2)

Institution

Centre de Recherche et d’´Etudes Avan¸c´ees de l’Institut Polytechnique National du Mexique

D´epartement d’Informatique, Mexico Environ 100 publications par an

(3)

Cryptographie sur les courbes elliptiques

1985 : N. Koblitz et V. Miller introduisent (ind´ependamment) la cryptographie sur les courbes elliptiques (ECC)

Le pass´e : RSA, factorisation de grands nombres Le pr´esent : ECC, probl`eme du logarithme discret

taille clefsRSA >taille clefsECC

(4)
(5)

Contexte

Op´eration majeure : multiplication scalaire sur les CE

kP =P+P + · · · +P

| {z }

k fois

1991 : les courbe de Koblitz permettent une impl´ementation efficiente de cette op´eration en utilisant l’op´erateur τ

(6)

Contexte

Type de [1] : AHR, Ce travail,

courbes Koblitz-curves random-curves

τ doublement

Op´erations τ−1 bissection

τ et τ−1 doub. et bis.

[1] : O. Ahmadi, D. Hankerson et F. Rodr´ıguez-Henr´ıquez,Parallel

(7)
(8)

Plan

1 Corps finis

2 Courbes elliptiques

(9)

Plan

1 Corps finis

2 Courbes elliptiques

(10)

Groupes et anneaux

Groupe :

Ensemble non videG muni d’une loi de composition interne• tels que :

• est associative

• admet un ´el´ement neutree

tout ´el´ement deG admet un inverse pour•

Anneau :

EnsembleAmuni de deux lois de composition interne (+,•) tels que : (A,+) est un groupe commutatif avec comme ´el´ement neutre 0A la loi .admet un ´el´ement neutre diff´erent de 0A, not´e 1A

(11)

Corps finis

Corps :

Un corps est un anneau commutatif dans lequel tout ´el´ement non nul est inversible. Une telle structure est en g´en´eral not´ee (K,+, .), se r´esumant `a un ensemble muni de deux op´erations.

Corps fini :

Un corps fini ou corps de Galois (Galois Field) est un corps `aq´el´ements not´eFq ouGF(q).

Corps fini binaire :

Un corps fini binaire est un corps fini de caract´eristique 2, not´eF2m ou

(12)

Arithm´

etique sur les corps finis

F

2m

Repr´esentation :

Les ´el´ements deF2m peuvent ˆetre repr´esent´es en base polynomiale de degr´e au plusm−1 avec des coefficients issus du corpsF2={0,1}:

∀a∈GF(2m), a= m−1

X

i=0

aixi , ai∈ {0,1}

Diff´erentes op´erations d´efinies sur surF2m :

Addition Multiplication Inversion Reduction

´

El´evation au carr´e Racine carr´ee Trace

(13)

Plan

1 Corps finis

2 Courbes elliptiques

(14)

´

Equation de Weierstrass

Definition :

Une courbe elliptique E sur un corps K est une courbe d´efinie par :

E :y2+a1xy+a3y =x3+a2x2+a4x+a6

(15)

´

Equation simplifi´

ee de Weierstrass

Si les courbes sont d´efinies sur un corps fini de caract´eristique 2 un changement admissible de variable conduit `a une forme simlifi´ee de l’´equation de Weierstrass.

Definition :

Une courbe elliptique E sur un corpsF2m est d´efinie par :

E/F2m:y2+xy =x3+ax2+b

(16)

Addition de points

P = (x1, y1)∈E(F2m)

Q= (x2, y2)∈E(F2m)

SiP 6=−Q alors nous obtient

R=P +Q = (x3,y3) grˆace aux

formules suivantes :

x3 =λ2+λ+x1+x2+a

y3=λ(x1+x3) +x3+y1

(17)

Doublement de point

P = (x1, y1)∈E(F2m) Siy16= 0 alors nous obtient R= 2P = (x3,y3) grˆace aux formules suivantes :

x3 =λ2+λ+a

y3 =x12+λx3+x3

(18)

Coordonn´

ees projectives

Standard : le point projectif (X :Y :Z), avec Z 6= 0, correspond au point affine (X/Z,Y/Z)

Jacobian : le point projectif (X :Y :Z), avec Z 6= 0, correspond au point affine (X/Z2,Y/Z3)

L´opez-Dahab : le point projectif (X :Y :Z), avec Z 6= 0, correspond au point affine (X/Z,Y/Z2)

Coordonn´ees Addition Addition (mixte) Doublement

Affine I+ 2M · · · I + 2M

Proj. Standard 13M 12M 7M

Proj. Jacobienne 14M 10M 5M

(19)

Bissection de point

1999, E. Knudsen et R. Schroeppel (ind´ependamment).

Op´eration inverse du doublement de point : ´etant donn´e un point Q = (u,v), on cherche le point P de coordonn´ees (x,y) tel queQ = 2P.

Cela consiste donc `a r´esoudre

u =λ2+λ+a pour λ

(20)

Bissection de point

L’efficience de l’op´eration de bissection repose sur :

le calcul de la fonction trace

le calcul de la fonction demi-trace (´equation quadratique)

(21)

Multiplication scalaire

La multiplication scalaire sur les courbes elliptiques est not´ee

kP o`u k est un entier et P un point d’une courbe elliptique.

Cette op´eration ajoute un pointP ∈E(F2m) k fois :

kP =P+P + · · · +P

| {z }

k fois

Diff´erentes m´ethodes pour calculer cette op´eration :

(22)

Multiplication scalaire : utilisant le doublement

Algorithme 1M´ethode Addition-et-Doublement, de ”droite `a gauche” Entr´ee: k = (kt−1,kt−2, ...,k1,k0)2,P∈E(F2m) ;

Sortie: kP;

1: Q ← O;

2: for i= 0to t1 do

3: if ki = 1then QQ+P;

4: P2P;

5: end for 6: return (Q) ;

Coˆut : t doublements inconditionnels et moyenne de t

2 additions

Repr´esentation ω-NAF: r´eduit la densit´e de 0 dans la

(23)

Multiplication scalaire : utilisant la bissection

L’id´ee est de recoder l’entier k en une forme k′ qui permet

l’utilisation de la bissection plutˆot que du doublement.

Analogie sur les entiers :

”doubling”

letx = 6

2x= 12

”halving” let x′= 4x = 24

(24)

Multiplication scalaire : utilisant la bissection

Recodification :k′ = 2(t−1)k mod(n) ⇐⇒ k = 2(tk−′1) mod(n)

Algorithme 2M´ethode Addition-et-Bissection, de ”droite `a gauche” Entr´ee: k′= (k

t, ...,k1′,k0′)2, P∈E(F2m). Sortie: kP.

1: Q ← ∞.

2: for i from 0 tot do

3: ifk

i = 1 thenQ←Q+P.

4: PP/2.

(25)

Multiplication scalaire : formulation parall`

ele

Entr´ee: ω,INDEX, scalairek,P∈E(F2m) ;

Sortie: kP;

1: recodifier le scalaire :k′= 2INDEXk mod n;

2: obtenir la repr´esentationωNAFdek′; 3: Q1← O;

4: DEBUT THREAD 0 DEBUT THREAD 1

5: pr´e-calculerPi =iP initialiserQi =O pouri∈ {1,3,5, . . . ,2ω1

−1}; pouri∈ {3,5, . . . ,2ω1

−1}; 6: fori=ttoINDEX+ 1do fori=INDEX to0do

7: Q1←2Q1; ifki′>0then

8: if k

i >0then Qk′

i ←Qki′+P;

9: Q1Q1+Pk

i; end if

10: end if ifk′

i <0then

11: if k′

i <0then Q−k′

i ←Q−ki′−P; 12: Q1←Q1−P−ki; end if

13: end if PP/2 ;

14: end for end for

15: FIN THREAD 0 FIN THREAD 1

16: Q←P2

ω1

−1

i=1 iQi;

(26)

Plan

1 Corps finis

2 Courbes elliptiques

(27)

Parall´

elisation

Deux grandes tendances actuellement :

Vectorisation

Instruction SIMD = SSE pour Intel

Nouvelle instruction ”Carry-Less Multiplication”

(28)
(29)

esultats exp´

erimentaux

Plateforme : GCC version 4.5, Intel Core i5 (32nm), langage C.

Op´eration Ce travail Ce travail [1], 2008

E(F2233) (ch) (µs) (µs)

Mul. (doublement ouτ) 277199 83 349 (τ)

Mul. (bissection ouτ−1) 235538 71 345 (τ−1)

Mul. (parall`ele) 155363 47 187

Acc´el´eration 34 % 46 %

[1] : O. Ahmadi, D. Hankerson et F. Rodr´ıguez-Henr´ıquez,Parallel

(30)
(31)

Bilan

SSE = obligatoire

Carry-Less Multiplication = grand changement ?

(32)

Prolongements

ECDSA : Elliptic Curve Digital Signature Algorithm

Op´eration clef :kP +lQ

M´ethode : interleaving (r´eduire le nombre de doublements)

(33)
(34)

Referencias

Documento similar

Sin embargo, en el caso de la primera tarea, la Caverna de los tesoros precisa que el trabajo es la construcción del arca (ܐܬܘܒܩܕ ܐܕܒܥܠ), una informa- ción que ha sido

Systématiquement, sur toutes leurs toiles, l'Égypte est représentée cornme un pays de cocagne, baignant dans le luxe et la richesse, véritable paradis d'une joie

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)