Yves Coudert
1
ENONCE : La méthode de codage RSA
(Niveau : Terminale S enseignement de spécialité)
La méthode de cryptographie RSA a été inventée en 1977 par Ron Rivest, Adi Shamir et Len Adleman ,au
Massachusetts Institute of Technology, à la suite de la découverte de la cryptographie à clé publique
(chiffrement asymétrique) par Diffie et Hellman. Le RSA est encore le système cryptographique à clé
publique le plus utilisé de nos jours.
Le RSA est basé sur la théorie des nombres premiers, et sa robustesse tient du fait qu’il n’existe aucun
algorithme de décomposition d’un nombre en facteurs premiers. Alors qu’il est facile de multiplier deux
nombres premiers, il est très difficile de retrouver ces deux entiers si l’on en connaît le produit.
Les clés publiques de codage sont deux entiers n et e, où n est le produit de deux nombres premiers p et q
très grands et e est un entier premier avec (p-1)(q-1).
La clé privée de décodage est d qui vérifie d x e 1 ( (p-1)(q-1) ).
Nous allons illustrer la méthode sur un exemple simplifié pour avoir des calculs abordables avec une
calculatrice en choisissant n = 26 = 2 x 13 et e =5. On va affecter à chaque lettre de l’alphabet un nombre
entier naturel compris entre 0 et 25. Par exemple, on peut utiliser le tableau suivant :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
A- Principe de codage RSA
On fait associe a chaque entier x représentant un symbole le reste y dans la division euclidienne de x
5
par 26.
1)
Coder le mot codage.
2)
a) Montrer que 5 et (2-1)(13-1)=12 sont premiers entre eux et écrire l’identité de Bézout associée.
b) Soit x un entier. Montrer que x
25
x (2) et x x
25
x (13) et conclure : x
25
x (26)
c) Vérifier que la clé de décodage est d= 5 soit : si y x
5
(26) alors y
d
x (26)
3)
Décoder le mot BON
B – Programmation du codage et décodage RSA
1) Ecrire un programme, à l’aide d’une calculatrice, qui permet de coder ou coder une « phrase »
constituée de nombres compris entre 0 et 26 avec soit les clés publiques n = 26 et e =5 ou la clé privée
d = 5. On pourra utiliser une liste pour entrer la phrase à coder ou décoder.
2) Appliquer le programme pour décoder : 5 10 7 8 6 8 15 0 15 8 14 13 18
Yves Coudert
2
Correction avec la Graph 35 + USB
Nous proposons ici une correction avec la calculatrice Graph 35 + USB qui est également applicable pour
les modèles graphiques Graph 75, Graph 95 et fx CG-20.
A- Le principe de codage RSA
1) Nous allons coder chaque lettre contenue dans le mot codage, en commençant par transformer
chaque lettre par un nombre : 2 14 3 0 6 4 pour coder 2 : 2
5
≡ 6 (26)
Sélectionner MENU puis se déplacer à l’aide du
bouton directionnel sur l’icône RUN MAT puis
faire EXE ou alors taper 1 .
Pour calculer le reste de la division de 2
3
par 33 on
va sélectionner la fonction modulo (MOD)
OPTN F6 (>) F4 (NUM) F6 (>) F4 (MOD)
Puis 2 ^ 5 , 2 6 EXE
On fait la même chose avec les autres nombres
Pour obtenir le message : 6 14 9 0 2 10
Soit : G O J A C K
2) a) 5 est un nombre premier, il est donc premier avec 12 qui n’est pas un multiple de 5 et on a :
5 × 5 − 2 × 12 = 1 qui est l’identité de Bézout qui traduit également que 5 et 12 sont premiers
entre eux.
b) Soit x un entier on utilise le corollaire du petit théorème de Fermat x
p
x (p) si p est premier
comme 2 et 13 sont premiers on a : x
25
x(x
12
)
2
x x
12
x(x
6
)
2
x (x
3
)
2
( x
2
x (2)
x
25
x
13
x
12
x x
12
x
13
x (13)
Donc x
25
– x est un multiple de 2 et de 13 comme 2 et 13 sont premiers entre eux d’après le
théorème de Gauss x
25
- x est multiple de 2 × 13 .
(En effet, ils existent m et m’ des entiers tels que : x
25
– x = 2 m = 13 m’ donc 2 divise m’
d’après le lemme de Gauss soit il existe m’’ tel que m’ = 2 m’’ donc x
25
– x = 13 (2 m’’)= 26 m’’,
d’où le résultat).
Conclusion : x
25
x (26)
c) si y x
5
(26) alors y
d
y
5
x
25
x (26) donc d = 5 constitue la clé privée de décodage.
3) Pour décoder le mot BON , on va transformer chaque lettre en nombre : 1 14 13
Pour décoder 14 : 14
5
14 (26)
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !