Chaˆınes d’additions euclidiennes et logarithme discret
F. Herbaut ([email protected])
IMATH, Universit´e de Nice, France
N. M´eloni ([email protected])
Department of Electrical and Computer Engineering, Universit´e de Waterloo, Canada
P. V´eron ([email protected])
IMATH, Universit´e du Sud Toulon-Var, France
1. Introduction
En cryptographie, la principale op´eration sur une courbe elliptique est le calcul de kP o`u k
est un entier et Pun point de la courbe. De nombreuses m´ethodes ont ´et´e d´evelopp´ees pour
am´eliorer la vitesse de cette op´eration [3, 4, 5]. Cependant la plupart d’entre elles ne tiennent
pas compte des attaques de type SPA. R´ecemment, un nouvel algorithme efficace pour le calcul
de kP et r´esistant `a ces attaques SPA a ´et´e d´evelopp´e [2]. Ce dernier repose sur l’existence d’une
chaˆıne d’addition euclidienne suffisamment “courte” calculant l’entier k.
DEFINITION 1. Une chaˆıne d’addition euclidienne (CAE) de longueur sest une suite (bi)i=1...s
avec bi∈ {0,1}. L’entier kassoci´e `a cette chaˆıne est obtenu en consid´erant la suite (vi, ui)i=0..s
telle que v0= 1,u0= 2 et i>1,(vi, ui) = (vi1, vi1+ui1)si bi= 1 (petit pas), ou
(vi, ui) = (ui1, vi1+ui1)si bi= 0 (grand pas). L’entier kvaut vs+us.
Exemple : la suite (10110) calcule l’entier 23 de la fa¸con suivante : (1,2) (1,3) (3,4)
(3,7) (3,10) (10,13) 23.
Cependant il subsiste essentiellement deux probl`emes dans la m´ethode ecrite dans [2] :
1. tout entier kde 160 bits n’admet pas forc´ement de CAE de taille voulue (environ 260 bits
pour que l’algorithme d´ecrit dans [2] soit performant),
2. la recherche d’une CAE de petite taille ecessite de nombreux calculs ce qui enalise les
performances g´en´erales de l’algorithme.
Dans ce papier nous abordons le probl`eme sous un autre angle. Nous proposons de remplacer
dans tout protocole la g´en´eration d’un entier al´eatoire kpour le calcul de kP par la g´en´eration
d’une CAE al´eatoire ce qui permet d’utiliser directement l’algorithme propos´e dans [2]. De ce
fait les points obtenus sont de la forme kP o`u kappartient `a un certain sous-ensemble de Zpce
qui nous am`ene `a consid´erer le probl`eme du logarithme discret restreint (CDLP) :
Donn´ees :pun entier premier, gun g´en´erateur d’un groupe G,SZp,yG.
Probl`eme : Trouver xStel que y=gx.
D’apr`es [1] la complexit´e de cette recherche n´ecessite Ω(p|S|) op´erations de groupe.
2. CAE et CDLP
L’id´ee d’utiliser des sous-ensembles d’entiers particuliers pour lesquels le calcul de l’exponentiation
est plus rapide en moyenne a ´egalement ´et´e propos´ee dans [6, 7]. Dans notre cas, nous consid´erons
les sous-ensembles d’entiers obtenus `a partir de CAE devant satisfaire les contraintes suivantes :
1. Le nombre d’entiers g´en´er´es doit ˆetre suffisamment grand (de l’ordre de 2160).
2. Les entiers obtenus doivent ˆetre bien distribu´es par rapport au tirage des CAE. En effet des
CAE distinctes peuvent engendrer un mˆeme point Qvia l’algorithme [2] (exemple : 1000110,
1001001, 1011000, 1100100 aboutissent au mˆeme point 41P).
2
3. La taille sdes CAE utilis´ees doit permettre d’optimiser l’algorithme propos´e dans [2] en
tenant compte du fait que ce dernier n´ecessite (5s8) multiplications et 2scalculs de carr´es
dans Zp, soit 6.6smultiplications en consid´erant qu’un calcul de carr´e correspond `a 0.8
multiplication.
Concernant le dernier point ´etant donn´e que l’algorithme classique double-and-add n´ecessite
(13.27.2) multiplications (o`u est la taille de l’exposant), une estimation rapide impose
l’utilisation de chaˆınes d’au plus 320 bits pour un meilleur temps d’ex´ecution.
Pour la suite, on notera Cnl’ensemble des CAE de longueur net χl’application de Cnde N
qui `a toute chaˆıne cde longueur ncalcule (via l’algorithme de la d´efinition 1) l’entier associ´e
χ(c).
3. Une premi`ere famille de CAE
Si de fa¸con g´en´erale, un entier kadmet plusieurs ant´ec´edents par χ, la proposition suivante
permet d’assurer l’injectivit´e d’une restriction de χ.
PROPOSITION 1. Soit C
2nle sous-ensemble de C2nconstitu´e des CAE dont les npremiers
´el´ements sont nuls. La restriction de χ`a C
2nest injective.
Etant donn´e que l’on souhaite utiliser des CAE d’au plus 320 bits et obtenir au moins 2160
entiers distincts, il est alors naturel de consid´erer l’ensemble C
320. Tirer al´eatoirement une CAE
dans cet ensemble revient `a chosir une suite al´eatoire de 160 bits `a laquelle on concat`enera 160
z´eros.
PROPOSITION 2. Soit File i`eme Fibonacci,
χ(C
2n)[(n+ 1)Fn+2 +Fn+3, F2n+4]
les deux extr´emit´es ´etant respectivement atteintes en (0 ...01 ...1) et (0 ...0).
Pour n= 160, cette famille nous permet donc de calculer 2160 points distincts dans l’intervalle
]2118,2224[ avec la mˆeme probabilit´e. Chaque point est de la forme kP avec kun entier de 224
bits. Cette m´ethode peut donc ˆetre utilis´ee dans les standards ANSI X9.63 ou NIST [8]. Le calcul
d’un point kP n´ecessite 2112 multiplications modulaires alors qu’avec la m´ethode standard on
obtient 2949 multiplications et de plus l’algorithme utilis´e r´esiste aux attaques SPA.
Remarque : Toutes les chaˆınes utilis´ees d´ebutant par une s´erie de 160 z´eros, on peut en pr´ecalculant
les deux points F162Pet F163Pdiviser par deux le nombre de multiplications n´ecessaires pour
le calcul de kP .
4. Une deuxi`eme famille de CAE
Parmi les autres standards d´ecrits dans [8] figure le cas o`u les entiers ksont de taille 160. Pour
obtenir de tels entiers il faudrait se placer avec la m´ethode pr´ec´edente dans C
230, ce qui ne
permet de calculer que 2115 points distincts. Il faut donc consid´erer une autre famille. Notons
Cℓ,p les CAE de longueur et de poids de Hamming p < ℓ/2.
PROPOSITION 3. Soit File i`eme Fibonacci, αp=(1+2)p+(12)p
2,βp=(1+2)p(12)p
22
(i)χ(Cℓ,p)[Fp+4 +pFp+2, F2p+4(αp+βp) + βpF2p+2],
(ii)la borne inf´erieure est atteinte uniquement en (1 ...10 ...0) et (0 ...01 ...1),
(iii)la borne sup´erieure est atteinte uniquement en (0101 ...010 ...0) et (0 ...010 ...10).
D’apr`es cette proposition en choisissant p= 81 et = 243 les CAE g´en´er´ees correspondent
`a des entiers de l’intervalle ]2119,2161[. Le calcul d’un point kP ecessite 1604 multiplications
modulaires au lieu de 2105 avec la m´ethode standard. L’´etude de la r´epartition des entiers u
obtenus semble ˆetre un probl`eme difficile qui peut ˆetre reformul´e de la fa¸con suivante (pour
= 3p) :
3
Soit uun entier fix´e et nun entier, combien existe-t-il d’entiers v < u tels que :
.(u, v) = 1,
. le d´eveloppement en fraction continue de u/v comporte exactement 2p+ 2 quotients qitels
que q1= 1 et P2p+2
i=2 qi= 3p+ 2.
Les r´esultats num´eriques semblent montrer qu’on obtient rapidement plus de 22pentiers
distincts dans le cas o`u = 3p(cf. table ci-dessous).
|χ(Cℓ,ℓ/3)| |χ(Cℓ,ℓ/3)|/22
3
15 807 0,79
18 3843 0,94
21 17834 1,09
24 79217 1,21
27 343175 1,31
30 1448055 1,38
33 6000793 1,43
36 24519247 1,46
39 99100995 1,48
Bibliographie
1. I. Mironov, A. Mityagin, K. Nissim, Hard Instances of the Constrained Discrete Logarithm Problem, 7th
Algorithmic Number Theory Symposium, LNCS 4076, pp. 582–598, 2006,
2. N.Meloni, New Point Addition Formulae for ECC Applications, Arithmetic of Finite Fields, WAIFI 2007,
LNCS 4547, pp. 189–201,
3. V. Dimitrov and L. Imbert and P. K. Mishra, The Double-Base Number System and its Application to
Elliptic Curve Cryptography, Mathematics of Computations 77, 2008, pp. 10751104,
4. P. Montgomery, Speeding the Pollard and Elliptic Curve Methods of Factorization, Mathematics of
Computation 48, 1987, pp. 243–264,
5. D. J. Bernstein and T. Lange, Analysis and optimization of elliptic-curve single-scalar multiplication, Finite
fields and applications: proceedings of Fq8 2007, LNCS 4833, pp. 29–50,
6. Y. Yacobi, Fast exponentiation using data compression, SIAM J. Comput., 28(2):700–703, 1998,
7. J. Hoffstein and J. H. Silverman, Random small Hamming weight products with applications to cryptography,
Discrete Apllied Mathematics, 130(1):37–49, 2003,
8. Certicom Research, SEC 2: Recommended Elliptic Curve Domain Parameters, Standards for efficient
cryptography, Sep. 2000,
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !