Vous êtes sur la page 1sur 9

Performances des cryptosystèmes basés sur les courbes elliptiques

Rakotondraina T. E.1, Randimbindrainibe F.2, Razakarivony J.3

Laboratoire d’Informatique appliquée, Images, Signal, Télécommunication, Automatique


et Mathématiques appliquées (LIISTAM)

Département Télécommunication – Ecole Supérieure Polytechnique Antananarivo

Université d’Antananarivo
BP 1500, Ankatso – Antananarivo 101 - Madagascar
1
tahina.ezechiel@gmail.com, 2falirandimby@yahoo.fr, 3nainajd@yahoo.fr

Résumé Abstract

Cet article compare deux cryptosystèmes à clé This paper compares two cryptosystems using
publique à savoir le cryptosystème RSA et le public-key: RSA cryptosystem and the
cryptosystème basé sur la courbe elliptique. Cette cryptosystem based on the elliptic curve or Elliptic
comparaison permet de mener une étude plus Curve Cryptosystem (ECC). This comparison
approfondie pour ce dernier. L’utilisation du allows doing a thorough study for the second case
logarithme discret comme algorithme de base sur ECC. Using discrete logarithm as the basis of the
ce cryptosystème basé sur la courbe elliptique algorithm, the cryptosystem based on the elliptic
permet d’obtenir un niveau de sécurité élevé pour curve makes it possible to obtain high security
une taille de clé moindre. En effet, la difficulté de level with a less size of key. Indeed, the difficulty
la résolution du problème du logarithme discret, les of the resolution of the discrete logarithm problem,
caractéristiques et les propriétés des courbes the characteristics and the properties of the elliptic
elliptiques font que ce cryptosystème offre une curves make ECC sure and offer an optimization to
optimisation au niveau de la taille des clés et des the size-key level and resources allocated to
ressources allouées aux calculs et stockages des calculations and data storages. These results lead to
données. Ces résultats mènent vers une perspective a prospect on an implementation of this
sur une implémentation de ce cryptosystème sur cryptosystem on the restricted resource systems
les systèmes présentant des ressources limitées like the smart cards and the wireless networking.
comme les cartes à puce et les réseaux sans fils.

Mots clés : Cryptographie, cryptosystème, courbe Keywords: Cryptography, cryptosystem, elliptic


elliptique, logarithme discret, RSA curve, discrete logarithm, RSA, public-key

1
1. Introduction complexes et les plus riches qui soient. Nous
verrons une définition générale des courbes
La cryptographie est l’étude des techniques
elliptiques ainsi que les opérations qui leurs sont
mathématiques relatives aux aspects de sécurité de
associées, puis des algorithmes pour effectuer des
l’information, telles celles concernant la
calculs sur ces courbes le plus rapidement possible.
confidentialité, l’intégrité et l’authentification des
données ou de leur origine. Les algorithmes utilisés 2. Moyens et Méthodes
se séparent en deux groupes : les cryptosystèmes
2.1 Cryptosystème RSA
symétriques ou à clé secrète et les cryptosystèmes
asymétriques ou à clé publique. C’est sur ce RSA est le cryptosystème le plus utilisé de nos
dernier que notre étude est fondée. La principale jours. Son fonctionnement est le suivant :
caractéristique du cryptosystème à clé asymétrique
Choisir deux nombres entier premier et , de
est l’utilisation d’une clé de chiffrement qui est
l'ordre de 100 chiffres au minimum, pour rendre la
publique et d’une clé de déchiffrement secrète
factorisation hors de porter, même avec les
connue seulement du récepteur.
meilleurs ordinateurs.
Parmi les protocoles et cryptosystèmes qui furent
1) Calculer = ∗
développés au cours de l'histoire, nous allons en
étudier deux types. Dans un premier temps, on 2) Calculer = ( − 1)( − 1)
développe le cryptosystème le plus utilisé RSA,
3) Choisir un nombre entier tel que > 2 et
pour Rivest, Shamir, Adleman [8], afin de
( , ) = 1
connaître ses inconvénients ainsi que ses
faiblesses. En deuxième lieu, notre étude est basée 4) Calculer tel que ∗ ∗ = 1
sur les courbes elliptiques, il permet une
On prendra comme clé publique et et comme
cryptographie efficace pour des tailles de clés
clé privée et .
moins longues que celles des autres protocoles
asymétriques. La cryptographie basée sur les Connaissant la clé publique et , et le message à
courbes elliptiques est née en 1985, découverte chiffrer , on peut le chiffrer de la manière
indépendamment par Miller V. [7] et Koblitz N. suivante :
[4]. Le message doit être remplacé par un chiffre.
Ensuite on découpera le message par bloc de
Notre recherche s'appuie sur les ouvrages Elliptic
longueurs avec < . Le bloc B est chiffré par la
Curves Number Theory and Cryptography [10] et
formule :
Guide to Elliptic Curve Cryptography [3].
= ∗ ( ) (01)
Etudiées depuis des siècles, les courbes elliptiques C'est un bloc de message chiffré à envoyer vers le
sont parmi les objets mathématiques les plus destinataire.

2
Pour le déchiffrement on va pratiquer quasiment de En cryptologie, les courbes elliptiques sont
la même façon que le chiffrement mais avec la utilisées dans le corps avec un nombre
formule inverse : premier strictement supérieur à 3.

= ∗ ( ) (02) Soit E une courbe elliptique définie sur .


L’équation affine de Weierstrass de E peut être
Ce qui permettra au destinataire de trouver le
simplifiée, pour ≠ 2,3, par :
message clair.
= + + (03)
2.2 Définition d’une courbe elliptique
La courbe définie par cette formule admet un
Soit K un corps, on appelle courbe elliptique sur K
unique point à l’infini (i.e. avec = 0), de
une courbe dans le plan projectif ℙ²( ), cubique et
coordonnées (0 :1 :0). C’est en général ce point qui
sans points singuliers, et munie d’un point
sera distingué. On appelle discriminant de cette
distingué qui jouera un rôle particulier : élément
courbe l’élément −16(4 + 27 ) de K.
neutre. Elle est donc définie par un polynôme
irréductible homogène en trois variables à Le facteur entre parenthèse est le discriminant du

coefficient dans K [3]. Par un changement de polynôme membre de droite :

variables homographique, on peut toujours se 4 + 27 ² ≢ 0( ) (04)


ramener à une équation dite de Weierstrass :
Soient = ( , ) et = ( , ) deux points
² + + ²= + ² + ²+
sur E :
Avec , , , , ∈ .
• Le point ( , − ) est l’opposé du point P et il
La courbe elliptique E est l’ensemble des points est noté −P.
( , ) ∈ K² satisfaisant cette équation et d’un point
• Si ≠ et ≠ − , alors le point =
imaginaire appelé point à l’infini [10].
+ = ( , ) est défini par
2.3 Loi de Groupe −
= − −

(05)
Les applications des courbes elliptiques en −
= + ( − )

cryptographie sont principalement dues à
l’existence d’une loi de groupe que nous pouvons • Si = , alors le point 2 = ( , ) est
définir sur ces dernières. En effet, l’ensemble défini par :
∪ peut être équipé avec une opération 3 +
= −2
d'addition qui produit un groupe abélien dont 2
(06)
3 +
l’élément neutre est le point à l’infini [10]. = + ( − )
2

• Si = mais ≠ , alors =

• Si = et = 0, alors =
3
Courbe Elliptique et Opération sur cette courbe
3

1
Q P*Q
P

0
y

P+Q
-1

-2

-3
-3 -2 -1 0 1 2 3
x

Figure 01 : Courbe elliptique d’équation y2 = 3x3 − 3x

Remarque : Notons le point distingué de E. On + +


# =1+ 1+ (07)
montre qu’il existe une loi de groupe sur les points ∈

de E telle que soit l’élément neutre et que


Si le corps de base est un corps fini, la courbe
l’identité + + = soit vérifiée pour tout
elliptique est un groupe fini et le théorème suivant
triplet de point alignés. Lorsque la convention
donne un renseignement très utile sur son ordre
= (0 : 1 : 0) est en vigeur, l’opposé de chaque
[6].
point de E est son symétrique par rapport à l’axe
des abscisses [4]. Intéressons-nous sur les courbes elliptiques E sur

La somme de deux points , finis et non un corps fini (avec = ).


opposés est donc le point de coordonnées ( ) a au maximum 2 + 1 points c’est à dire le
( , − ) ù , sont donnés par la relation
point à l’infini plus 2 paires ( , ) ∈
(04). Bien sur, lorsque l’un des points est à
Théorème 01 : (Théorème de Hasse)
l’infini, ou lorsqu' ils sont symétriques l’un de
l’autre, on a les identités + = et + Soit une courbe elliptique sur le corps fini . Le
(− ) = . nombre de point de E vérifie :

2.4 Calcul du nombre de points d’une courbe +1−2 ≤# ≤ +1+2 (08)

elliptique sur un corps fini D’autre part, deux éléments suffisent pour
engendrer le groupe d’une courbe elliptique et,
Soit E une courbe elliptique d’équation (03) sur
bien souvent, il est même cyclique.
(avec p premier).
Le nombre de points de E est donné par :
4
2.5 Problème du logarithme discret un nombre étant donné le point et le point
= où = + +⋯+
Soit G un groupe (noté additivement) cyclique fini
d'ordre N engendré par un élément P. Actuellement, le meilleur algorithme pour
résoudre le ECDLP est en temps exponentiel en la
Soit Q un élément de G. Comme G est un groupe taille de la clé , en contraste avec les algorithmes
cyclique engendré par P, il existe un unique entier sous-exponentiels connus pour factoriser les
compris entre 1 et N tel que = . Cet entier grands entiers. Ceci permet donc aux
est appelé le logarithme discret de Q en base P cryptosystèmes basés sur les courbes elliptiques
et nous le noterons ( ) [10]. d’utiliser, à sécurité équivalente, des clés
beaucoup plus courtes que les cryptosystèmes
Cependant le groupe que nous utiliserons par la asymétriques classiques comme RSA ou ElGamal
suite est usuellement noté additivement et nous [2].
garderons donc les notations initiales. Notons bien
que signifie + + … + fois où le 2.7 Protocole d’échange de clés de Diffie-

signe « + » est la loi du groupe G. Hellman

La multiplication scalaire d'un point par un entier Un des moyens pour sécuriser les données

est l'opération de base et l'opération la plus chère transitant entre l’émetteur et la récepteur est qu’ils

des protocoles basés sur les courbes elliptiques. établissent une clé privée entre eux. La méthode
de Diffie-Hellman [1] permet justement de faire
Pour réduire le temps de calcul, on peut utiliser cela.
des algorithmes très connus d'exponentiation pour
1) Alice et Bob choisissent une courbe elliptique
le calcul de [ ] pour un grand. On peut
E définie sur un corps fini tel que le
également améliorer le calcul pour un petit.
logarithme discret soit difficile à résoudre. Ils

2.6 Problème du logarithme discret sur les choisissent aussi un point ∈ tel que le

courbes elliptiques sous-groupe généré par ait un ordre de


grande taille. (E et P sont choisis dont l’ordre
Les cryptosystèmes utilisant les courbes soit un grand nombre premier.)
elliptiques sont basés sur l’analogue du problème
du logarithme discret sur les courbes elliptiques. 2) Alice choisit un nombre entier secret a,
calcule = et envoie Pa à Bob.
Soit E une courbe elliptique définie sur un corps
fini et soit un point sur la courbe E. 3) Bob choisit un nombre entier secret b, calcule

Le problème du logarithme discret sur les courbes = et envoie Pb à Alice.

elliptiques (noté par ECDLP, Elliptic Curve


4) Alice calcule = et Bob calcule
Discrete Logarithm Problem) consiste à trouver
=
5
5) Alice et Bob utilisent une méthode Bien entendu, ce résultat est valable pour tous les
quelconque connue pour extraire une clé niveaux de sécurité, c'est-à-dire que si l'on
secrète de . Par exemple, ils peuvent souhaite une sécurité de 2 bits, il faut des clés de
utiliser les derniers 256 bits de la première 2 bits.
coordonnée de comme clé, ou ils
RSA, qui n'est pas basé sur le problème du
peuvent hacher une des coordonnées de
logarithme discret mais sur la factorisation en
avec une fonction de hachage pour laquelle ils
facteurs premiers, est sans doute le cryptosystème
se sont mis d’accord.
le plus utilisé mais pour une sécurité de 280
opérations, il nécessite des clés de 1024 bits, c'est-
2.8 La taille des clés
à-dire des clés près de 7 fois plus longues que

Sur le groupe des points d'une courbe elliptique pour ECC.

définie sur un corps fini, les meilleures attaques


Plus les niveaux de sécurité augmentent, plus ce
connues du logarithme discret sont des attaques
rapport augmente.
génériques.
Il est donc plus avantageux, en terme de taille de
Lorsque l'on choisit une courbe, on essaie de
clés, d'utiliser ECC que RSA.
trouver un groupe E tel que # = ℎ ℒ avec ℎ
petit et ℒ premier. Cependant, si en termes de stockage, ECC est plus
performant, on va voire après ce qu'il en est en
Le point de base P qui servira à la multiplication
termes de vitesse de calcul.
[ ] sera choisi dans le sous-groupe d'ordre ℒ.

2.9 Inconvénients du RSA


Dans le cas où ℎ = 1, # = ℒ. D'autre part, le
théorème de Hasse dit que # ( ) ∼ . Ce cryptosystème se réside sur la difficulté de

Les attaques génériques (par exemple l'algorithme factorisation d’un grand nombre entier. Le

Pollard-Rho qui est une attaque par collision basée problème est que le niveau de sécurité s’accroit

sur le paradoxe des anniversaires se font avec la taille de la clé qui est de l’ordre de 200

en (√ℒ) [9]. chiffres décimaux. La longueur de cette clé pose


donc problème au niveau des calculs, de la
Pour une sécurité de 2 opérations, on voudra vérification des clés, de l’authentification et du
donc √ℒ ≥ 2 soit √ℒ ≥ 2 , or # ( ) ∼ , stockage des données.
pour # ( ) ≥ 2 , on choisira ≥ 2 . Il
nous faut donc travailler avec des corps d'ordre au
moins égal à 2160, c'est-à-dire travailler modulo un
nombre premier d'au moins 160 bits dans le cas
d'un corps premier.

6
3. Résultats et discussions Les deux autres entrées sont les coefficients a et b
et en faisant une boucle on vérifie le
3.1 Calcul de la cardinalité
discriminant 4 + 27 ≢ 0 ( ) d'après
La cardinalité : Une courbe elliptique est l'équation (04).
considérée comme sûre lorsque sa cardinalité ou Ce premier programme permet donc d’obtenir un
son ordre est quasi-premier. nombre premier, de vérifier le discriminant et en
bouclant toutes ces données on a une cardinalité
Compter le nombre de points fait donc partie des
d’ordre quasi-premier.
problématiques importantes en cryptographie,
Nous obtenons les résultats suivants pour une liste
c’est une étape indispensable dans la recherche de
des nombres premiers inférieurs à 1000
courbes cryptographiquement sûres.
compatibles avec, comme entrées, les coefficients
Pour cela, on a mis au point un algorithme qui a et b.
représente en entrée un nombre entier et avec une
fonction random() le programme choisit au hasard
un nombre premier inférieur à cet entier.

544 et 1454
-2 et 3 1 et 1 8 et 5 123 et 12
(pour p < 1000)

p 5 11 2 7 3 11 23 7 19 3 7 5 3 12 73 97 7 5 29 239 397

#E 5 5 2 5 2 7 13 5 11 3 2 2 2 11 61 97 7 3 23 227 389

Tableau 01 : Quelques résultats de la cardinalité

Ces quatre programmes se diffèrent par leur


3.2 Calcul du temps de chiffrement
temps d’exécution qui est la conséquence de
Dans tout système cryptographique il est l’optimisation des algorithmes pour permettre
nécessaire d’avoir un temps de d’éviter quelques attaques [5] mais aussi pour
chiffrement/déchiffrement suffisamment court. diminuer le temps de calcul.
Quatre (4) algorithmes utilisant ECC ont été
Le chiffrement d’un mot présenté en entrée donne
programmés et comparés par rapport à un
les proportions en temps (en seconde) suivantes
programme de chiffrement avec RSA.
pour chacun des algorithmes :

7
Moyenne des temps de chiffrement
0.14

0.12

0.1

temps en s 0.08

0.06

0.04

0.02

0
doubleAndAdd doubleAndAddAlw mulNaf montgomery rsa
Algorithmes

Figure 02 : Estimation du temps de chiffrement des cinq algorithmes

4. Conclusion et Perspectives 5. Références

L’analyse de la performance apportée par la [1] W. Diffie, M. E. Hellman, « New


cryptographie basée sur la courbe elliptique nous directions in cryptography », IEEE
Trans. Inform. Theory, vol. 22, n°6, pp.
mène vers une nouvelle perspective sur
644-654, 1976.
l’utilisation d’un tel cryptosystème. Par rapport au
[2] T. ElGamal, « A public key cryptosystem
cryptosystème le plus utilisé RSA, la
and a signature scheme based on
cryptographie basée sur les courbes elliptiques discrete logarithms», IEEE Transactions
offre un niveau de sécurité élevée et surtout une on Information Theory, vol.31, pp.473-
performance du fait de la rapidité du temps de 481, 1985.

chiffrement des données. Vue la taille minime des [3] D. Hankerson, A. Menezes, Vanstone S,
clés pour un niveau de sécurité élevé, et « Guide to Elliptic Curve Cryptography
», Springer, 2004.
l'optimisation du temps de calcul, il est donc
intéressant d'envisager l’implémentation de l’ECC [4] N. Koblitz, « Elliptic curve crypto-
systems», Math. of Comp., vol. 48
(Elliptic Curve Cryptosystem) sur les systèmes
n°177, pp. 203-209, 1987.
présentant des ressources en calcul et stockage de
données limitées. On pourra ainsi optimiser et [5] A.J. Menezes, P. C. Oorschot, S. A.
Vanstone, « Handbook of Applied
rendre plus performant un système utilisant une
Cryptography », CRC Press, 1996.
faible bande passante et nécessitant plusieurs
[6]
A. J. Menezes, S. A. Vanstone, « Elliptic
opérations et calculs comme les cartes à puce, les
curve cryptosystems and their
réseaux sans fils. implementation ». Journal of
Cryptology, vol. 6, pp. 209-224, 1993.

8
[7] V. S. Miller, « Use of elliptic curves in
cryptography», Advances in Cryptology
CRYPTO’85, Lecture Notes in
Computer Science, pp. 417-426.
[8] R. L. Rivest, A. Shamir, L. Adleman, «
A method for obtaining digital signature
and public key cryptosystems ». Comm.
ACM, vol. 21, pp.120-126, Feb 1978.

[9] J. Walter, «The role of ECDSA in


wireless communication (implement-
tation and evaluation of ECDSA on
constrained devices) », Los Angeles,
2002.

[10] L. C. Washington, « Elliptic Curves


Number Theory and Cryptography »,
Chapman & Hall/CRC, 2003.

Vous aimerez peut-être aussi