Vous êtes sur la page 1sur 65

Module : Cryptographie Avancée

Mme Mhenni Sourour


1 Introduction

2 Propriétés

Plan 3 Utilisation en cryptographie

4 Usage

5 Conclusion

The Power of PowerPoint | thepopp.com 2


Introduction
La cryptographie à Courbe elliptique

La cryptographie à courbe elliptique (ECC) est une technique de cryptage à clé


publique basée sur la théorie de la courbe elliptique qui peut être utilisée pour
créer des clés cryptographiques plus rapides, plus petites et plus efficaces.

L'usage des courbes elliptiques en cryptographie a été suggéré, de manière


indépendante, par Neal Koblitz et Victor Miller en 1985.

ECC génère des clés grâce aux propriétés de l’équation de la courbe elliptique au lieu
de la méthode de génération traditionnelle en tant que produit de très
grands nombres premiers .
Courbe elliptique ? C’est quoi ?
Une courbe elliptique est un objet très simple mais qui a des
propriétés tout à fait surprenantes.

La courbe elliptique 𝐸est une courbe algébrique qui peut être


représentée par l’équation Weierstrass :

𝟐 𝟑 𝟐
𝑬∶ 𝒚 + 𝒂𝟏 𝒙𝒚 + 𝒂𝟑 𝒚 = 𝒙 + 𝒂𝟐 𝒙 + 𝒂𝟒 𝒙 + 𝒂𝟔

On rajoute à cette courbe un point à l'infini noté O.


Courbe elliptique ?! C’est quoi ?!
la courbe 𝐸 est définie dans un corps 𝐾 ainsi les paramètres
𝑎1 , 𝑎2 , 𝑎3 , 𝑎4 , 𝑎6 ∈ 𝐸

Pour que la courbe soit lisse et ne contienne aucun point de


rebroussement, il faut que le discriminant de la courbe ∆≠ 0
𝟐 𝟑 𝟐
∆= −𝒅𝟐 𝒅𝟖
− 𝟖𝒅𝟒− 𝟐𝟕𝒅𝟔 + 𝟗𝒅𝟐 𝒅𝟒 𝒅𝟔
𝟐
𝒅𝟐 = 𝒂𝟏 + 𝟒𝒂𝟐
𝒅𝟒 = 𝟐𝒂𝟒 + 𝒂𝟏 𝒂𝟑
𝟐
𝒅𝟔 = 𝒂𝟑 + 𝟒𝒂𝟔
𝟐 𝟐 𝟐
𝒅𝟖 = 𝒂𝟏 𝒂𝟔 + 𝟒𝒂𝟐 𝒂𝟔 − 𝒂𝟏 𝒂𝟑 𝒂𝟒 + 𝒂𝟐 𝒂𝟑 + 𝒂𝟒
Courbe elliptique ?! C’est quoi ?!

Dans le domaine cryptographique, nous utilisons les courbes elliptiques


𝑛
qui sont définies dans un corps fini dont l’ordre 𝑞 = 𝑝 .

Ce corps peut être soit premier, soit binaire, et le choix de corps n’a pas
une influence importante sur la performance du crypto-système.
Courbe elliptique ?! C’est quoi ?!
L’équation Weierstrass d’une courbe elliptique peut être simplifiée, si
la courbe est définie sur un corps premier 𝐹𝑝 dont la caractéristique
est différente de 2 et de 3.

𝒚𝟐 = 𝒙 𝟑 + 𝒂𝒙 + 𝒃
Où : 𝒂𝟏 = 𝟎, 𝒂𝟐 = 𝟎 𝒆𝒕 𝒂𝟑 = 𝟎
𝒂𝟒 = 𝒂 ∈ 𝑭 𝒑
𝒂𝟔 = 𝒃 ∈ 𝑭 𝒑
∆ = −𝟏𝟔 𝟒𝒂𝟑 + 𝟐𝟕𝒃𝟐 𝒆𝒕 ∆ ≠ 𝟎
Courbe elliptique ? A quoi ressemble?
Contrairement à ce que l'on pourrait croire, une courbe elliptique n'est pas une ellipse.
Historiquement, le terme "courbe elliptique" vient en réalité de l'association de ces courbes
avec les intégrales elliptiques, ces dernières servant à calculer la longueur des arcs d'une
ellipse.

Pour son utilisation en cryptographie, une courbe elliptique est définie sur un corps fini K,
c'est-à-dire sur un ensemble fini d'éléments avec lesquels on est capable de faire des
additions, soustractions, multiplications et divisions. Par exemple, le corps fini K le plus
connu est l'ensemble {0,1} des booléens (dont les calculs sont faits sur un seul bit
d'information).
L'équation la plus simplifiée d'une courbe elliptique est de la forme

où a et b sont les coefficients de la courbe et appartiennent à K. La diapo suivante illustre


les différentes représentations graphiques d'une courbe elliptique avec son équation
simplifiée, dépendamment des valeurs de a et de b.
Courbe elliptique ?! C’est quoi ?!
Un exemple typique de courbe elliptique effectué par l’équation
𝟐 𝟑
𝒚 = 𝒙 − 𝟓𝒙 + 𝟑

o
Courbe elliptique ?!

Sur C :

Sur Z/pZ :
Propriétés
Propriétés de courbe elliptique
Comment fait-on des calculs sur une courbe elliptique?

On peut effectuer deux opérations mathématiques bien précises sur les courbes elliptiques :

L'addition de points :

quand on a deux points P et R sur une courbe elliptique EC, alors on peut calculer leur addition Q = P + R,
et le résultat Q appartient aussi à EC.

La multiplication de points :

quand on a un point P sur une courbe elliptique EC, alors on peut additionner k fois ce même point (p.ex.
si k = 2, alors on peut calculer P + P), ce qui résulte en la multiplication de points Q = k*P (p.ex. si k = 2,
alors Q = 2*P = P + P), et le résultat Q appartient aussi à EC.
Finalement, la multiplication de points n'est qu'une simple série d'additions de points. Par exemple :
Q = 3*P = P + P + P = (P + P) + P.
Si on considère que T = P + P, alors on peut remplacer P + P par T dans l'équation précédente, ce qui
revient à écrire que Q = T + P.
Propriétés de courbe elliptique

Graphiquement, l'addition de points peut se


dérouler des façons suivantes.
Pour définir l'addition Q = P + R, il faut tracer
une droite reliant P et R. Cette droite (en rouge
sur la figure 1.a) coupe la courbe elliptique en
un troisième point appelé -Q. Le symétrique de
ce point par rapport à l'axe des abscisses
(obtenu en suivant la droite pointillée verte sur
la figure 1.a) est le résultat Q de cette addition.
Propriétés de courbe elliptique
Pour définir l'addition d'un point P
avec lui-même, c'est-à-dire la
multiplication de points pour k = 2,
c'est-à-dire Q = P + P = 2P, il faut
tracer la tangente à la courbe
elliptique au point P. Cette droite
(en rouge sur la figure 1.b) coupe
la courbe elliptique en un point
appelé -Q. Comme pour l'addition
classique, le symétrique de ce
point par rapport à l'axe des
abscisses (obtenu en suivant la
droite pointillée verte sur la figure
1.b) est le résultat Q de cette
addition.
Utilisation en
cryptographie
Utilisation en cryptographie
L'utilisation des courbes elliptiques pour la cryptographie a été introduite
indépendamment par Neal Koblitz et Victor S. Miller en 1985. Ces deux chercheurs ont
vu le potentiel offert par la structure mathématique des courbes elliptiques.
pour l'adapter à la cryptographie. A la fin des années 1990, l'ECC a été standardisée par
un certain nombre d'organisations (p.ex. ANSI X9.63, IEEE P1363, ISO 15946, NIST SP
800-56), et elle a commencé à être acceptée pour commercialisation. De nos jours, l'ECC
est principalement utilisée dans les environnements à faible ressource tels que les
réseaux sans fil ad-hoc et les réseaux mobiles, car elle ne nécessite pas de longues clés
cryptographiques pour assurer un haut niveau de sécurité.
Pour être plus précis sur ce dernier point, un des problèmes majeurs des systèmes
conventionnels basés sur la PKC est que la longueur des clés doit être suffisamment
grande pour assurer un niveau de sécurité élevé. Ceci se traduit par une faible vitesse et
une grande consommation de la bande passante. C'est là que la force de l'ECC rentre en
jeu : comme l'a établit le NIST, là où le système cryptographique bien connu RSA a
besoin de clés de 1024 bits, l'ECC n'a besoin que de clés de 160 bits pour atteindre le
même niveau de sécurité.
Utilisation en cryptographie
la sécurité de l'ECC repose sur l'ECDLP (Elliptic Curve Discrete Logarithm
Problem en anglais). C’est-à-dire, si l'on a un point P sur une courbe
elliptique EC, alors :

➢ il est facile de calculer la multiplication de points Q = k*P pour un entier k


quelconque.

➢ mais il est très difficile de retrouver la valeur de k quand on ne connait


que P et Q.

L'ECC est principalement utilisée pour le chiffrement de données, la


signature digitale, la génération de nombres pseudo-aléatoires, et bien
d'autres. Parmi les schémas cryptographiques les plus connus, on retrouve
l'algorithme ECDSA (Elliptic Curve Digital Signature Algorithm) ou encore le
protocole d'échanges de clés ECDH (Elliptic Curve Diffie-Hellman).
Utilisation en cryptographie
 Chiffrage / déchiffrage
▪ ECIES : Elliptic Curve Integrated Encryption Scheme (El-
Gamal )

 Signature numérique (Digital Signature)


▪ ECDSA : Elliptic Curve Digital Signature Algorithme
▪ ECPVS : Elliptic Curve Pintsov Vanstone Signature
▪ ECNR: Elliptic Curve Nyberg Rueppel

 Echange de clé (Key Exchange)


▪ ECDH : Elliptic Curve Diffie-Hellman
▪ ECMQV : Elliptic Curve Menezes-Qu-Vanstone
Utilisation en cryptographie : Key Exchange
Rappel du protocole Diffie-Hellman classique
Alice p = nb premier Bob
aléatoire

g = nb aléatoire
Ax= nb aléatoire (privé) Bx = nb aléatoire (privé)
inférieur à p
Ay = g Ax mod(p) By =g Bx mod(p)

Ay Ay
By By

s = By Ax mod(p) s = Ay Bx mod(p)
Utilisation en cryptographie_ Key Exchange

Rappel du protocole Diffie-Hellman classique

Avantage : Présence du problème du logarithme discret.

Inconvénients : Les exponentiations coûtent chers en calcul et en


matériel.
Utilisation en cryptographie_ Key Exchange EC-DH
La figure suivante illustre le principe du
protocole ECDH. Tout d'abord, Alice et Bob
connaissent un point P sur une courbe
elliptique, P étant une donnée publique (la
couleur jaune). Ensuite, chacun va choisir un
secret : kAlice (en rouge) et kBob (en vert). A partir
de là, chacun va calculer la valeur publique de
son secret : QAlice = kAlice * P (en orange)
et QBob = kBob * P (en bleu). Alice et Bob
s'échangent ensuite leurs valeurs publiques.
cela ne réduit pas la sécurité du protocole étant
donné que la sécurité repose sur le problème
ECDLP. Enfin, Alice et Bob calculent le secret
partagé (en marron) : kAlice * QBob pour Alice,
et kBob * QAlice pour Bob. Ces deux calculs
mènent au même secret partagé :
Utilisation en cryptographie_ Key Exchange
EC-DH
Pour générer de clés secrètes, il nous faut le système suivant :
𝐸𝐶 − 𝐷𝐻: {𝑎, 𝑏, 𝑃, 𝐺, 𝑛, ℎ}
2 3
𝐸: 𝑦 = 𝑥 + 𝑎𝑥 + 𝑏 𝑚𝑜𝑑(𝑃)
𝒂, 𝒃 ∶ 𝒑𝒂𝒓𝒂𝒎è𝒕𝒓𝒆𝒔 𝒅𝒆 𝒍𝒂 𝒄𝒐𝒖𝒃𝒓𝒆 𝑬
𝑷 ∶ 𝒇𝒊𝒆𝒍𝒅 𝒎𝒐𝒅𝒆𝒍𝒐 𝑷
𝑮 ∶ 𝒈𝒆𝒏𝒆𝒓𝒂𝒕𝒐𝒓 𝒑𝒐𝒊𝒏𝒕 = 𝒑𝒐𝒊𝒏𝒕 𝒔𝒖𝒓 𝑬 Utilisant l'arithmétique
𝒏 ∶ 𝒐𝒓𝒅 𝑮 = 𝒕𝒂𝒊𝒍𝒍𝒆 𝒅𝒆 𝒔𝒐𝒖𝒔 − 𝒈𝒓𝒐𝒖𝒑𝒆 modulaire pour limiter
𝒏 ∶ 𝒏𝒃 𝒆𝒏𝒕𝒊𝒆𝒓 ȁ𝒏 ∗ 𝑮 = ∞ l'abscisse et l'ordonnée
𝑬(𝒁/𝒑𝒁) maximale de chaque
𝒉 ∶ 𝒄𝒐𝒆𝒇𝒂𝒄𝒕𝒐𝒓 = point.
𝒏
𝑬(𝒁/𝒑𝒁) ∶ 𝒏𝒐𝒎𝒃𝒓𝒆 𝒅𝒆𝒔 𝒑𝒐𝒊𝒏𝒕𝒔 𝒔𝒖𝒓 𝑬
𝒍′ 𝒊𝒅é𝒂𝒍 𝒉 = 𝟏
Utilisation en cryptographie_ Key Exchange
EC-DH
Utilisation en cryptographie_ Key Exchange
EC-DH
G = un point
aléatoire sur E

E = elliptic curve
Utilisation en cryptographie_ Key Exchange
EC-DH

 Le problème du logarithme discret, consiste à calculer α et β,


étant donné les valeurs de G, αG et βG, persiste encore.

Problème : Détermination d’une courbe elliptiques et choisissant


des points aléatoirement dans la courbe.
Utilisation en cryptographie_ Key Exchange
EC-DH_Curve choice example
𝐸= 𝑥, 𝑦 ∈ 𝐸 𝐹2𝑛 ȁ𝑦 2 + 𝑥𝑦 = 𝑥 3 + 𝑎𝑥 + 𝑏
1) Choisissant a et b aléatoirement ===> Pour avoir un point sur 𝐸, il
faut résoudre une équation du troisième degré sur 𝐸(𝐹2𝑛 ) ➔
Problème difficile. ⊗

2) Choisissant un point quelconque 𝑋0 , 𝑌0 𝑒𝑡 choisissant aussi a. ===>


b a alors une solution unique que l’on peut calculer facilement. ➔ 

 Si on doit choisit plusieurs points aléatoirement sur la courbe on


𝑛
calculera 𝑁(𝑋0 , 𝑌0 ) avec 𝑛 très grand aléatoire, En fait 𝑁 ≫ 2 .
Utilisation en cryptographie_ Key Exchange
EC-DH_example

2 3
𝐸: 𝑦 = 𝑥 + 2𝑥 + 2 𝑚𝑜𝑑 17
𝐺 = (5, 1)
Utilisation en cryptographie_ Key Exychange
EC-DH_example
Compute 2𝐺 = 𝐺 + 𝐺
2 3 52 +2
3 𝑥𝐺 +𝑎 −1
𝑠= ===>𝑠 ≡ ≡ 77. 2 ≡ 9 . 9 ≡ 13 mod(17)
2 𝑦𝐺 2 1
2 2
𝑥2𝐺 = 𝑠 − 2𝑥𝐺 ===>𝑥2𝐺 ≡ 13 − 2 5 ≡ 16 − 10 ≡ 6 𝑚𝑜𝑑(17)

𝑦2𝐺 = 𝑠 𝑥𝐺 − 𝑥2𝐺 − 𝑦𝐺
===>𝑦2𝐺 ≡ 13 5 − 6 − 1 ≡ −13 − 1 ≡ −14 ≡ 3 𝑚𝑜𝑑(17)

2𝐺 = (6,3)
Utilisation en cryptographie_ Key Exchange
EC-DH_example (8/9)
2𝐺 = (6,3) 10𝐺 = (7,11) 18𝐺 = (5,16)
3𝐺 = (10,6) 11𝐺 = (13,10) 19𝐺 = ∞
4𝐺 = (3,1) 12𝐺 = (0,11)
5𝐺 = (9,16) 13𝐺 = (16,4)
6𝐺 = (16,13) 𝑛 = 19
14𝐺 = (9,1) ቊ
ℎ=1
7𝐺 = (0,6) 15𝐺 = (3,16)
8𝐺 = (13,7) 16𝐺 = (10,11)
9𝐺 = (7,6) 17𝐺 = (6,14)
Utilisation en cryptographie_ Key Exchange
EC-DH_example
Utilisation en cryptographie_ Key Exchange

Si quelqu’un espionne (oskar) leurs communications et


intercepte les points A et B, le problème du logarithme
discret garantit qu’il ne sera pas en mesure de
déterminer les entiers α et β . Il ne pourra donc pas
reconstituer la clé αβG commune à Alice
et Bob.
LIMITE du ECDH
Oscar dispose cependant d’une manière d’espionner ces conversations s’il est en mesure de substituer un nouveau message
à celui d’Alice puis à celui de Bob :
La courbe E(K) et le point G étant connus de tous, il peut choisir un entier c et calculer
le point C = cG .
Oscar intercepte le message d’Alice, récupère le point A et le remplace par C.
De même il intercepte le message de Bob, récupère le point B et le remplace par C.
Il calcule alors les points QA = cA et QB = cB.
De leurs côtés Alice et Bob ont reçu tous les deux le point C = cP et ont alors calculé
respectivement les points αC = αcP=QA et βC = βcP.=QB
Lorsque Alice envoie un message à Bob, elle le chiffre alors avec la clé QA.
Oscar intercepte ce message, le déchiffre car il est en possession de la clé QA, puis le re-chiffre à l’aide de la clé QB. Il envoie
le message chiffré ( il peut modifier le message) à Bob qui le déchiffre grâce à sa clé QB.
→ Oscar peut alors intercepter toutes les conversations entre Alice et Bob.
→ Alice et Bob ne sont plus en mesure de déchiffrer ces messages sans l’intervention d’Oscar ( ils ne disposent pas de clé
commune).
→ perte de le confidentialité et l’intégrité des données
La faiblesse de ce protocole réside donc dans le fait qu’il ne permet pas d’authentifier les
auteurs des messages émis.
Utilisation en cryptographie
El-Gamal

El-Gamal permet de crypter un message de façon asymétrique et il


propose un protocole de chiffrement et de signature numérique basé
sur le protocole d’échange de clé Diffie-Hellman.
Utilisation en cryptographie - El-Gamal classique
Chiffrement/DéChiffrement
Utilisation en cryptographie_ EC-El-Gamal-
chiffrement/déchiffrement
M !!
Alice Bob
Kpu : clé publique de
n= nb entier aléatoire Bob = {E(𝐹𝑝 ), P, s.P}
(privé) E (a, b, k) = ellipticcurve
0≤𝑛 ≤𝑝−1 P = une point aléatoire
cal1 = n.P sur E
Cal2 = M + n.s.P s = clé secrète de Bob
cal1 cal1

cal2 cal2
cal3 = n.s.P
cal4 = (M + n.s.P)-n.s.P
M
Utilisation en cryptographie_ Signature numérique
EC-El-Gamal
M !!
Alice Bob
Ap: clé publique = {E(𝐹𝑝 ),
n= nb entier aléatoire (privé)
P, As.P}
0≤𝑛 ≤𝑝−1 E (a, b, K) = ellipticcurve
R= 𝑛. 𝑃 = (𝑥𝑅 , 𝑦𝑅 ) P = une point aléatoire
𝒓 ≡ 𝑥𝑅 𝑚𝑜𝑑 𝑝 ≠ 0 sur E
𝒆 = ℎ 𝑀 ȁℎ ∶ 𝑓𝑐𝑡 𝑑𝑒 ℎ𝑎𝑐ℎ𝑎𝑔𝑒 As = clé secrète de Alice
−1
𝒔 ≡ 𝑛 𝑒 + 𝑟. 𝐴𝑠 𝑚𝑜𝑑 𝑝 ≠ 0

(R, s) (R, s)
𝐕𝟏 = 𝑠 𝑅
𝑽𝟐 = ℎ 𝑀 . 𝑃 + 𝑟. 𝐴𝑝
𝑉1 ≟ 𝑉2
Utilisation en cryptographie_ Signature numérique
ECDSA_Définition

L'algorithme de signature numérique à courbe elliptique (ECDSA) est un algorithme de signature


numérique (DSA) qui utilise des clés dérivées de la cryptographie à courbe elliptique (ECC). Tout en
fonctionnant comme les autres algorithmes de signature numérique.

L’algorithme a été proposé en 1992 par Scott Vanstone, en réponse à un appel d'offre pour les
signatures numériques du NIST (National Institute of Standards and Technology).

ECDSA est défini par le standard ANSI X9.62-1998


Utilisation en cryptographie_ Signature numérique
ECDSA_Définition
Utilisation en cryptographie_ Signature numérique
Clé publique, clé privée

Soient les paramètres (A, B, P, G, n) tels que :

• La courbe C définie par : 𝑦 2 = 𝑥 3 + 𝐴𝑥 + 𝐵 𝑚𝑜𝑑(𝑃)


• G un point de la courbe
• n le nombre entier tel que n * G = O

Toutes les courbes ne se valent pas, et ces paramètres ne sont pas choisis au hasard. Plusieurs
courbes sont proposées par le Standards for Efficient Cryptography Group (SECG). Le protocole
Bitcoin, par exemple, utilise la courbe poétiquement nommée « secp256k1 » dont les paramètres
sont les suivants :
Utilisation en cryptographie_ Signature numérique
Clé publique, clé privée
Utilisation en cryptographie_ Signature numérique
Signature d’un message
Utilisation en cryptographie_ Signature numérique
Signature d’un message
un point P d’une courbe elliptique E(K) d’ordre n premier où K est un corps fini,
▪ H une fonction de hachage
▪ m le message à signer

La mise en place du schéma EC-DSA nécessite une paire de clés, l’une publique, l’autre
privée. La clé publique est accessible à tous et permet à chacun de vérifier l’intégrité du
message et l’authenticité de l’entité qui l’a envoyé.

Préparation des clés :


Alice souhaite envoyer un message m signé par le protocole EC-DSA à Bob. Pour cela
elle va choisir une paire de clé (clé publique, clé privée) en procédant comme suit :
– Elle choisit un entier s entre 1 et n − 1.
– Elle calcule Q = sP.
– Sa clé publique sera Q et sa clé privée s
Utilisation en cryptographie_ Signature numérique
Vérification d’une signature
Signature :

Alice dispose maintenant de la paire de clés dont elle a besoin. Pour signer son message
elle procède ainsi :
➢ Elle choisit de manière aléatoire un nombre k entre 1 et n − 1.
➢ Elle calcule :
➢ kP = (x, y)
➢ u = x mod n
➢ v = (H(m)+su) k mod n

Si u ou v sont nulles, elle recommence, sinon la signature est la paire (u, v).
Utilisation en cryptographie_ Signature numérique
Clé publique, clé privée
Vérification :

Bob reçoit le message m signé par le couple (u,v), il doit :


1- contrôler que u et v sont bien entre 1 et n − 1.
2- vérifier que Q est différent de (0, 0) et que Q appartient bien à la courbe elliptique E(K).
3- vérifier que n Q donne O. (c’est-à-dire le point à l infini)

4- calculer (x,y) sachant que :

5- vérifier si u = x mod (n).

Si on a égalité alors la signature est valide


Utilisation en cryptographie_ Signature numérique
Clé publique, clé privée
Quiquonque voudrait se faire passer pour Alice devrait être en mesure d’envoyer un couple
(u, v) vérifiant :

Pour cela il devra alors être capable de déterminer s connaissant Q, et donc résoudre le
problème du logarithme discret.
Utilisation en cryptographie_ Signature numérique
Clé publique, clé privée
Démonstration:

Exercice : montrer la validité de


l’algorithme ECSDA
G : point de base
(x,y) : la signature
K : nbre aléatoire choisi par le
signataire
la sécurité d'une clé dépend de sa
ECDSA vs RSA taille et de son algorithme.

Certains algorithmes sont plus


faciles à casser que d’autres et
nécessitent des clés plus grandes
pour le même niveau de sécurité.

Briser une clé RSA nécessite de


factoriser un grand nombre. Nous
sommes assez bons pour
factoriser de grands nombres
et pour nous améliorer tout
le temps .

Pour casser une clé ECDSA, vous


devez résoudre le problème de
logarithme discret à
courbe elliptique (ECDLP).
ECDSA : Normes actuelles et recommandations
Usage
Usages
Parfait pour périphériques mobiles
▪ Facile à gérer en hardware
▪ Clés réduites, réduit bande passante
▪ Faible consommation (chaleur, batterie)
Intérêts serveurs
▪ Faible consommation de ressource système
(plus de requêtes satisfaites)
▪ Consommation électrique réduite
Cryptographie conçue pour durer
Usages
Motorola
 Alcatel-Lucent:Certicom's technology
enables operators to offer virtual
private network (VPN) solutions to the
growing base of DSL users
RIM : large-scale deployment of
Certicom's high-performance, highly
efficient ECC within its secure wireless
devices
NSA
Usages

Le « ECC/TLS Interoperability Forum » a été créé en 2006


pour promouvoir l’usage de l’ECC dans le cadre du protocole
HTTPS. Les membres actuels sont des représentants de
Apache/OpenSSL, Certicom, IBM, Microsoft, Mozila/Firefox,
NSA, Red Hat, RSA, Sun et Verisign.
conclusion
Les points négatifs de l'ECC

Plusieurs questions et doutes mis en avant ont énormément retenu les industriels de se lancer dans
l'aventure ECC.
L'élément déclencheur a été l'histoire avec Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit
Generator), algorithme qui génère des nombres aléatoires en se basant sur les mathématiques des courbes
elliptiques. Le problème est que cet algorithme, standardisé par le NIST et promu par la NSA, ne semble
pas être si aléatoire que cela. Il semblerait en effet que la séquence de nombres renvoyés par l'algorithme
pourrait être complètement prédite par une personne connaissant certains paramètres secrets de la courbe
elliptique, c'est ce que l'on appelle un backdoor. Que cet algorithme ait été écrit spécifiquement avec cette
backdoor ou pas ne change pas la puissance des mathématiques sur les courbes elliptiques ; cela soulève
plutôt des questions sur les processus de standardisation des courbes elliptiques pour la cryptographie.

Cette histoire a créé une atmosphère de méfiance au sein de la communauté cryptographique vis-à-vis du
NIST. Même si aucune nouvelle faille ou backdoor n'a été trouvée jusqu'à présent pour les courbes
standardisées par le NIST, les cryptographes recommandent d'en utiliser d'autres, telles que celle de Dan
Bernstein, ou encore celles de Paulo Baretto et al. Malheureusement, ces courbes elliptiques non-
conventionnelles vont mettre beaucoup de temps à être acceptées et utilisées à grande échelle.
ECC

La cryptographie sur courbes elliptiques est l'une des plus puissantes techniques dans le
domaine.
Grâce à ses petites longueurs de clés, leur stockage peut se faire dans des environnements
limités (p.ex. les tags RFID des passeports biométriques) et les calculs sont exécutés plus
rapidement qu'avec de la cryptographie classique telle que RSA, tout en assurant un haut
niveau de sécurité.
L'ECC se montre donc très prometteuse pour le futur, malgré les doutes soulevés par la
communauté cryptographique vis-à-vis des recommandations et standards du NIST à son
sujet.
Test pratique
L exemple suivant montre l 'utilisation de
ECDH et de ECDSA au niveau du protocole
SSL de certains sites web, tels que celui de
Gmail. Notons que pour ce dernier, le
protocole d'échange de clés est ECDHE, une
variante de ECDH où les secrets choisis par
les deux entités communicantes sont
éphémères (d'où le "E" rajouté à
l'accronyme), c'est-à-dire utilisés que
temporairement, par exemple pour une seule
session de communication. Ce choix permet
ainsi de fournir une confidentialité
persistante (forward secrecy en anglais) :
même si un adversaire retrouve les secrets
éphémères d'une session compromettant
ainsi les communications correspondantes, il
ne sera pas capable de compromettre les
communications d'une session antérieure.
Wireshark (client to server)

”11 suites de chiffrement que vous ne saviez pas que je prise en


charge”
Wireshark (client to server)

“Ce sont mes trois préférés courbes."


Wireshark (client to server)

"OK, allons-y pour TLS_ECDHE_RSA_WITH_AES_128_CGM_SHA256. ”


Wireshark (client to server)

" Et la courbe NIST P-256. Et c'est mon point."


Wireshark (client to server)

"Salut, voici le mien!"


Conclusion

La cryptographie à courbe elliptique est une bonne idée parce que nous
pouvons atteindre avec bien petites clés, le meme niveau de sécurité
que d’autres algorithmes avec des longues clés.
ECC 256 bit ≈ RSA 3072 bits.
ECC 160 bit ≈ RSA 1024