TS SPE DEVOIR MAISON no 5 correction

publicité
DEVOIR MAISON no 5
TS SPE
correction
SYSTEME RSA
On se propose d’étudier une procédure de cryptage à clé publique.
L’idée est que chaque utilisateur possède deux clés ; l’une publique et l’autre privée. Pour envoyer un message, on le code
avec la clé publique que n’importe qui peut connaitre, mais que seul le récepteur peut déchiffrer avec sa clé privée.
L’avantage est que la clé privée ne circule jamais par les moyens de communication.
L’un de ces procédes est le sytème RSA du nom des trois mathématiciens, Rivest, Shamir et Adleman qui l’ont mis au point
en 1978.
Rappel : (Petit théorème de Fermat) : si p est un nombre premier et a est un nombre non divisible par p alors :
ap−1 ≡ 1 (mod p).
A. Principe du RSA
• clé publique : on choisit 2 nombres premiers p et q très grands et on calcule n = pq
on pose m = (p − 1)(q − 1)
on choisit un entier e premier avec m
La clé publique est le couple (n , e)
(cette clé est connue de tous)
• chiffrement : un entier x est chiffré par un entier y tel que : y ≡ xe (mod n)
• déchiffrement : on détermine l’entier d tel que de ≡ 1 (mod m)
la clé privée est l’entier d
un entier y est chiffré par l’entier x tel que : x ≡ y d (mod n)
Dans la pratique pq est public mais pas p et q (ils sont gardés secrets).
Si l’on ne peut pas factoriser pq alors on ne peut calculer m = (p − 1)(q − 1) et il est impossible de déchiffrer.
Le sécurité du sytème RSA repose donc sur la difficulté à factoriser l’entier pq.
B. Deux exemples
1. Alex choisit une clé publique (n , e) et sa clé privée d et veut envoyer un message à Bob.
Il prend p = 37 q = 13 donc n = 481 (p et q sont volontairement petits).
a. m = (p − 1)(q − 1) = 36 × 12 = 432
432 n’est pas divisible par 7 qui est premier. 432 et 7 sont premiers entre eux donc e = 7 convient.
b. Les lettres de l’alphabet sont chiffrées par : A correspond à 01, B à 02 et ainsi de suite, Z correspond à 26.
Alex crypte le message "CRYPTOGRAPHIE".
lettre
entier
entier codé
C
3
263
R
18
346
Y
25
324
P
16
419
T
20
318
O
15
479
G
7
071
R
18
346
A
1
001
P
16
419
H
8
473
I
9
386
E
15
203
2. Bob reçoit un deuxième message d’Alex. Alex a choisit p = 3, q = 13 donc n = 39. e = 29 convient. Pour décrypter
ce message, il faut déterminer l’entier d tel que 29d ≡ 1 (mod 24)
a. p = 3 q = 13 n = pq = 39 m = 2 × 12 = 24
e = 29 est un nombre premier donc 29 est premier avec 24 .
29 et 24 sont premiers entre eux, d’après le théorème de Bézout, il existe 2 entiers d et v tels que : 29d+24v = 1
donc il existe un entier d tel que : 29d ≡ 1 (mod 24)
b. 29u − 24v = 1
Le couple (5 ; 6) convient
c. On résout l’équation : 29u − 24v = 1 (résolution classique ! ! !)
Les couples solutions sont de la forme (5 + 24k ; 6 + 29k) avec k entier relatif.
d est de la forme 5 + 24k donc une valeur possible de d est 5 (pour k = 0)
d.
entier codé
entier décodé
lettre
15
6
F
05
5
E
12
12
L
03
9
I
09
3
C
03
9
I
11
20
T
01
1
A
11
20
T
03
9
I
06
15
O
14
14
N
28
19
S
C. Une justification
On pose n = pq avec p et q deux nombres premiers.
On pose m = (p − 1)(q − 1) et e un entier premier avec m.
1.
a. e est premier avec m donc d’après le théorème de Bézout, il existe deux entiers u et v tels que : eu − mv = 1
(u0 , v0 ) est une solution particulière ce cette équation.
On résout l’équation : eu − mv = 1 (résolution classique ! ! !)
Les couples solutions sont de la forme (u0 + mk ; v0 + ek) avec k entier relatif.
b. d est de la forme : d = u0 + mk.
On veut d > 0
u0 + mk > 0
k>
− u0
m
− u0
− u0
est un entier alors on prend k =
m
m
− u0
− u0
n’est pas un entier alors on prend pour k le premier entier supérieur à
• si
m
m
• si
2. Soit x un entier.
a. • p est premier et si x n’est pas divisible par p alors d’après le petit théorème de Fermat :
xp−1 ≡ 1 (mod p)
xp−1
(q−1)
≡ 1q−1 ≡ 1 (mod p)
xm ≡ 1 (mod p)
(xm )v ≡ 1 (mod p)
xmv ≡ 1 (mod p)
• comme ed = 1 + mv alors xed = x × xmv ≡ x × 1 ≡ x (mod p)
b. Si x est divisible par p alors x ≡ 0 (mod p) et de même xed ≡ 0 (mod p)
Donc xed ≡ x (mod p)
c. Même raisonnement
d. D’après les 2 questions précédentes : xed ≡ x (mod p) et xed ≡ x (mod q)
Donc xed − x est divisible par p et par q
Comme p et q sont premiers alors xed − x est divisible par pq = n
soit xed − x ≡ 0 (mod n)
soit xed ≡ x (mod n)
Téléchargement