Crypto Examen Corrige PDF
Crypto Examen Corrige PDF
Crypto Examen Corrige PDF
Feuille d’exercices 8
Avertissement : tous les exercices ne seront pas traités durant les séances ; pour en suivre l’avancement veuillez
consulter mon site personnel dans la rubrique Forum.
Cryptosystèmes
Exercice 1. — Soit E la cubique définie sur F11 d’équation
y 2 = x3 + x + 6.
1. Montrer que E est une courbe elliptique sur F11 .
2. Déterminer l’ordre du groupe E(F11 ).
On constate que le point P = (2, 7) appartient à E(F11 ). Bob souhaite envoyer le message M = (9, 1) ∈
F11 × F11 à Alice (M n’est pas un point de E) en utilisant le cryptosystème de Menezes-Vanstone associé au
couple public (E, P ). La clé secrète d’Alice est l’entier s = 7.
3. Calculer la clé publique d’Alice.
4. Bob choisit aléatoirement l’entier k = 6. Quel est le message chiffré envoyé par Bob à Alice et comment Alice
retrouve-t-elle le message M ?
Exercice 2. — Soit G = E(F41 ) où E est donné par y 2 = x3 + 2x + 1. Soient P = (0, 1) et Q = (30, 40) ; en
utilisant l’algorithme Baby step Giant step, trouver k tel que Q = kP .
Exercice 3. — Soit E une courbe elliptique sur Fq et soient P, Q ∈ E(Fq ). On suppose que l’ordre N de P est
premier avec q.
1. Montrer qu’il existe k tel que Q = kP si et seulement si N Q = O et l’accouplement de Weil vérifie eN (P, Q) =
1.
2. Soit m tel que E[N ] ⊂ E(Fqm ) et on considère l’algorithme suivant :
(a) on choisit aléatoirement un point T ∈ E(Fqm ) ;
(b) on calcule l’ordre M de T ;
M
(c) soit d = M ∧ N et T1 = d T de sorte que T1 est d’ordre d qui divise N ;
(d) on calcule ζ1 = eN (P, T1 ) et ζ2 = eN (Q, T1 ) qui appartiennent donc à µd ⊂ F×
qm ;
(e) on résoud le logarithme discret ζ2 = ζ1k dans F×
q m ce qui donne k modulo d ;
(f ) on répète avec d’autres T jusqu’à ce que le ppcm des d obtenus est N ce qui détermine k modulo N .
3. Soit E/Fq une courbe supersingulière avec a = 0 ; montrer que si P ∈ E(Fq ) est d’ordre N alors E[N ] ⊂
E(Fq2 ).
Exercice 4. — Soit p ≡ 2 mod 3 et E la courbe elliptique définie sur Fp dont une équation affine est y 2 = x3 + 1.
1. Montrer que E/Fp est supersingulière, i.e. de cardinal p + 1.
2. Soit ω ∈ Fp2 une racine cubique de l’unité. Montrer que l’application β : (x, y) 7→ (ωx, y) définit un endo-
morphisme de E(Fp2 ) en posant β(O) = O.
3. Soit P ∈ E[n] de sorte que β(P ) ∈ E[n] ; on suppose que 3 ne divise pas n montrer alors que en (P, β(P )) est
une racine primitive n-ème de l’unité.
4. En vous aidant de l’exercice précédent, résolvez le problème de décision de Diffie-Hellmann : connais-
sant P , aP , bP des points de E(Fq ) et un point Q ∈ Fq , peut-on déterminer si Q = abP ?
5. Protocole de Diffie-Hellmann tripartite : soit P un point d’ordre n ; Alice, Bob et Chris choisissent
des entiers secrets a, b, c modulo n respectivement et publient aP , bP et cP . Alice calcule ẽn (bP, cP )a , Bob
ẽn (aP, cP )b et Chris ẽn (aP, bP )c ce qui constitue leur clef commune.
Exercice 5. — Pour factoriser 4453, considèrez la courbe elliptique d’équation
1
2
1. Solutions
1 1) Le discriminant de E est 4 (modulo 11Z), il est non nul, donc E est une courbe elliptique définie sur F11 . 2)
³ ´
z
Soit N l’ordre du groupe E(F11 ). Pour tout z ∈ F11 , notons χ(z) = 11 le symbole de Legendre (cf. l’exercice 1).
On a l’égalité
X¡ ¢
(1) N =1+ 1 + χ(x3 + x + 6) .
x∈F11
3) La clé publique d’Alice est le point KA = 7P . Afin de calculer les coordonnées de KA , on utilise les égalités
KA = P + 2P + 4P = P + 2P + 2(2P ). On vérifie que l’on a
2P = (5, 2), 4P = (10, 2), 6P = (7, 9) et KA = (7, 2).
4) Conformément au cryptosystème utilisé, Bob calcule les points
C1 = 6P et 6KA = (x, y).
On a 6KA = 42P = 3P , d’où 6KA = (8, 3), d’où x = 8 et y = 3. Ensuite, Bob calcule le couple
C2 = (9x, y) = (6, 3) ∈ F11 × F11 .
³ ´
Il envoie alors à Alice le couple (C1 , C2 ) = (7, 9), (6, 3) . Alice retouve le message M en procédant comme suit.
Avec sa clé secrète, elle calcule le point 7C1 = 6KA , ce qui lui permet de déterminer le couple (x, y). En utilisant
C2 , elle en déduit M vu que l’on a M = (8−1 6, 3−1 3) et que 8−1 = 7.
2 D’après le théorème de Hasse, G est de cardinal au plus 54 de sorte que m = 8. Les points iP pour 1 ≤ i ≤ 7
sont
(0, 1), (1, 39), (8, 23), (38, 38), (23, 23), (20, 28), (26, 9).
On calcule alors Q − jmP pour j = 0, 1, 2 ce qui donne
(30, 40), (9, 25), (26, 9),
et on s’arrête car on retrouve P7 . On obtient alors Q = (7 + 2µ.8)P = 23P .
3 1) Si Q = kp alors N Q = kN P = 0 et eN (P, Q) = eN (P, P )k = 1k = 1. Réciproquement si N Q = O alors
Q ∈ E[N ] et comme N ∧ q = 1, on a E|N ] ' (Z/N Z)2 . On choisit R tel que (P, R) est une base de E[N ] et alors
Q = aP = bR avec eN (P, R) = ζ une racine primitive N -ième de l’unité. Ainsi si eN (P, Q) = 1, on a
1 = eN (P, Q) = eN (P, P )a eN (P, R)b = ζ b
de sorte que b ≡ 0 mod N et bR = O et donc Q = aP .
2)
3) L’endomorphisme de Frobenius φq vérifie φ2q − aφq + q = 0 et comme a = 0 alors φ2q = −q. Soit S ∈ E[N ] ;
comme E(Fq ) est de cardinal q + 1 et comme il existe un point d’ordre N , on a N |q + 1 soit −q ≡ 1 mod N et
donc Φ2q (S) = −qS = 1.S d’où le résultat
4 1) cf. l’exercice 4 de la feuille 7.
2) L’image β(E(Fp2 )) est clairement contenue dans E(Fp2 ) ; par ailleurs comme (x, y) 7→ (ω −1 x, y) est inverse
de β, on a égalité. On vérifie aussi que c’est un morphisme (via les formules d’addition...)
3) Le résultat découle directement du fait que P et β(P ) forment une base de E[n], ce que nous allons prouver.
Soient u, v des entiers tels que uP = vβ(P ) alors β(vP ) = vβ(P ) = uP . Si vP = O alors uP = O et donc u ≡ 0
4
mod n. Si vP 6= O écrivons vP √
= (x, y) avec x, y ∈ Fq alors (ωx, y) = β(vP ) ∈ E(Fq ). Puisque ω 6∈ Fq nous devons
avoir x = 0 et ainsi vP = (0, ± b) qui est d’ordre 3 ce qui est impossible puisque par hypothèse 3 ne divise pas n.
4) On utilise l’accouplement de Weil, cf. l’exercice précédent, pour vérifier que Q est un multiple de P , i.e. si
en (P, Q) = 1. Dans ce cas Q = tP et on pose ẽn (P1 , P2 ) = en (P1 , β(P2 )) de sorte que
ẽn (aP, bP ) = ẽn (P, P )ab = ẽn (P, abP ) et ẽn (Q, P ) = ẽn (P, P )t .
Si 3 ne divise pas n, alors ẽn (P, P ) est une racine primitive n-ème de l’unité et donc
Q = abP ⇔ t ≡ ab mod n ⇔ ẽn (aP, bP ) = ẽn (Q, P ).
5 1) On calcule 2P : la pente de la tangente en P est
3x2 + 10 13
= ≡ 3713 mod 4453.
2y 6
Comme 6 ∧ 4453 = 1, on calcule 6−1 ≡ 3711 mod 4453 et donc 2P = (x, y) avec
x ≡ 37132 − 2 ≡ 4432, y ≡ −3713(x − 1) − 3 ≡ 3230.
On calcule 3P = P + 2P : la pente est
3230 − 3 3227
= .
4332 − 1 4331
Comme 4331 ∧ 4453 = 61 6= 1 ce qui ne permet pas d’évaluer la pente mais fournit un diviseur 61 de 4453 = 61.73.
2) On calcule 2P ; la pente de la tangente en P est
3x2 + 3 3
= ≡ 2228 mod 4453.
2y 2
Comme 2 ∧ 4453 = 1, on calcule 2−1 ≡ 2227 mod 4453 et donc 2P = (x, y) avec
x ≡ 3340 mod 4453, y ≡ 1669 mod 4453.
On calcule 3P = 2P + P ; la pente est
1669 − 2
≡ 746 mod 4453.
3340 − 1
Comme 3339 ∧ 4453 = 1, on calcule 3339−1 ≡ 1483 mod 4453. On obtient alors 3P = (x, y) avec
x ≡ 1003 mod 4453, y ≡ 610 mod 4453.
On calcule ensuite 6P = 3P +3P ; le dénominateur de la pente est 2.610 = 1220 et nous voyons que 1220∧4453 = 61.
6 1) Soit p un facteur premier de n ; en réduisant modulo p, l’image de P a un ordre divisant m mais ne divisant
pas m/q puisque t ∈ (Z/nZ)× . Puisque q est premier il divise l’ordre de l’image de P dans E(Fp ) et donc ce √ dernier
√
est de cardinal supérieur ou égal à q et donc, d’après le théorème de Hasse q ≤ ( p + 1)2 . Ainsi pour p ≤ n, on
√
obtient q ≤ ( 4 n + 1)2 d’où contradiction.
2) Soit p premier divisant n = pf n1 avec p ∧ n1 = 1 alors E(Z/nZ) = E(Z/pf Z) ⊕ E(Z/n1 Z). La réduction
modulo p de Pi est alors d’ordre li et donc li divise le cardinal de E(Fp ) soit
k
Y
√ √ √
( 4 n + 1)2 < li ≤ ]E(Fp ) < p + 1 + 2 p = ( p + 1)2 ,
i=1
√
et donc p > n et donc n premier.
3) Posons G = E(Z/nZ) ; supposons que pour tout P ∈ G nous avons (m/q)P = O alors G ' Z/d1 Z ⊕ Z/d2 Z
avec d2 |d1 avec m = d1 d√2 ≤ d21 ≤ (m/q)
√
2 et donc q 2 ≤ m. Utilisant notre hypothèse sur la taille de q et le théorème
2
de Hasse, nous avons ( n + 1) < n + 1 ce qui est absurde.
4
7 (1) Le message envoyé est (562, 576), (581, 395), (484, 214), (501, 220), (1, 0), (1, 0), (144, 565).
(2) ICANT
(3) (676, 182), (385, 703), (595, 454), (212, 625), (261, 87), (77, 369), (126, 100), (66, 589), (551, 606), (501, 530),
(97, 91), (733, 110), (63, 313), (380, 530).
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: