Académique Documents
Professionnel Documents
Culture Documents
: 2021/2022
FACULTÉ P OLYDISCIPLINAIRE DE B ENI M ELLAL Master : STRI
D ÉPARTEMENT DE M ATHÉMATIQUES - I NFORMATIQUES Semestre 2
C HIFFREMENT RSA
24 mars 2022
Lina effectue, une fois pour toute, les opérations suivantes (en secret) :
• elle choisit deux nombres premiers distincts p et q (dans la pratique ce sont de très grand
nombres, jusqu’à des centaines de chiffres),
• elle calcule n = p × q,
• elle calcule ϕ(n) = (p − 1) × (q − 1).
Exemple 1.
• p = 5 et q = 17
• n = p × q = 85
• ϕ(n) = (p − 1) × (q − 1) = 64.
Vous noterez que le calcul de ϕ(n) n’est possible que si la décomposition de n sous la forme
p × q est connue. D’où le caractère secret de ϕ(n) même si n est connu de tous.
Exemple 2.
• p = 101 et q = 103
• n = p × q = 10403
• ϕ(n) = (p − 1) × (q − 1) = 10200.
Lina continue :
• elle choisit un exposant e tel que pg cd (e, ϕ(n)) = 1,
• elle calcule un inverse d de e modulo ϕ(n) : d ×e ≡ 1[ϕ(n)]. Ce calcul se fait par l’algorithme
d’Euclide étendu.
Exemple 1.
• Lina choisit par exemple e = 5 et on a bien pg cd (e, ϕ(n)) = pg cd (5, 64) = 1,
• Lina applique l’algorithme d’Euclide étendu pour calculer les coefficients de Bézout cor-
respondant à pg cd (e, ϕ(n)) = 1. Elle trouve 5 × 13 + 64 × (−1) = 1. Donc 5 × 13 ≡ 1[64] et un
inverse de e modulo ϕ(n) est d = 13.
Exemple 2.
• Lina choisit par exemple e = 7 et on a bien pg cd (e, ϕ(n)) = pg cd (7, 10200) = 1.
• L’algorithme d’Euclide étendu pour pg cd (e, ϕ(n)) = 1 donne 7 × (−1457) + 10200 × 1 = 1.
Mais −1457 ≡ 8743[ϕ(n)], donc pour d = 8743 on a d × e ≡ 1[ϕ(n)].
Clé publique
La clé publique de Lina est constituée des deux nombres : n et e, et comme son nom
l’indique Lina communique sa clé publique au monde entier.
Exemple 1. n = 85 et e = 5.
Exemple 2. n = 10403 et e = 7.
Clé privée
Chiffrement du message
Yahya veut envoyer un message secret à Lina. Il se débrouille pour que son message soit
un entier (quitte à découper son texte en bloc et à transformer chaque bloc en un entier).
Message
Message chiffré
Yahya récupère la clé publique de Lina : n et e avec laquelle il calcule, à l’aide de l’algo-
rithme d’exponentiation rapide, le message chiffré : x ≡ m e [n]. Il transmet ce message x à
Lina.
Exemple 1. m = 10, n = 85 et e = 5 donc x ≡ 105[85].
On peut ici faire les calculs à la main, on trouve x ≡ 40[85]. Le message chiffré est donc x = 40.
Exemple 2. m = 1234, n = 10403 et e = 7 donc x ≡ m e [n] ≡ 12347[10403]. On utilise l’ordina-
teur pour obtenir que x = 10378.
Déchiffrement du message
Lina reçoit le message x chiffré par Yahya, elle le décrypte à l’aide de sa clé privée d , par
l’opération : m ≡ x d [n], qui utilise également l’algorithme d’exponentiation rapide. Nous
avons prouver dans le lemme de déchiffrement, que par cette opération Lina retrouve bien
le message original m de Yahya.
Exemple 1. c = 40, d = 13, n = 85 donc x d ≡ (40)13 [85].
Calculons à la main 4013 modulo 85, on trouve x d ≡ 4013 ≡ 408 ×404 ×40 ≡ 50×55×40 ≡ 10[85]
qui est bien le message m de Yahya.
Exemple 2. c = 10378, d = 8743, n = 10403. On calcule par ordinateur x d ≡ (10378)8 743[10403]
qui vaut exactement le message original de Yahya m = 1234.