I. Présentation : La méthode RSA est un système cryptographique

I. Présentation :
La méthode RSA est un système cryptographique asymétrique [*]. Il a été inventé en 1977 par
Ron Rivest, Adi Shamir et Len Adleman, 3 chercheurs en informatique, nommant alors ce chiffre
RSA d’après leurs initiales.
La grande innovation de ce système est le principe de cryptage avec une clé publique, et de
décryptage via une clé privée :
La clé publique est divulguée librement et a pour but de chiffrer un message en sens unique, sans
permettre de le déchiffrer.
La clé privée est en revanche unique et à usage personnelle, elle à pour rôle d’inverser l’effet de
la clé publique.
D’un point de vue mathématique, la clé publique est en partie constituée de 2 nombres appelés
littéralement p et q, premiers, et dont le produit est égal à n. Ne connaissant que le nombre n, il est
extrêmement difficile de retrouver les nombres p et q d’autant plus que ces nombres soient grands.
En effet, si p et q sont de l’ordre de 1065, n est de l’ordre de 10130, et il faudrait alors plus de 5 ans
pour factoriser ce nombre à la fréquence de 1000MHz (puissance moyenne d’un ordinateur en l’an
2000). Aujourd’hui, l’ordre de grandeur de n pour les transactions bancaires est de 10308. La
sécurité est donc assurée, jusqu’à ce qu’un nouveau procédé de factorisation rapide soit inventé
(comme l’ordinateur quantique), ou que de nouveaux moyens mathématiques soient découverts, ce
qui réduirai immédiatement l’efficacité d’un tel système.
II. Principe et fonctionnement :
Imaginons qu’une personne veuille envoyer un message d’une manière sécurisé à un destinataire,
de façon à ce que même si ce message soit intercepté par un tiers, il ne serait pas déchiffrable.
Comment procéder ?
D’abord, le destinataire du message va préparer 2 clés :
Une clé publique (qui sera divulgué librement)
Une clé privée (qui sera conservé précieusement)
Ensuite, l’émetteur va préparer son message puis le crypté grâce à la clé publique du destinataire. Il
peut alors lui envoyer le message.
Enfin, le récepteur de ce message va pouvoir le déchiffrer à l’aide de sa clé privée, qui est le seul à
détenir.
1) Préparations des clés :
a) Clé publique
1. Trouver deux nombres premiers p et q distincts (p et q doivent restés confidentielles)
2. Calculer n = p × q
3. Calculer φ (n) = (p-1) × (q-1)
4. Choisir un nombre e quelconque premier avec f (le PGCD de e avec f doit être égal à 1)
Notre clé publique est (n ; e)
b) Clé privée
1. Trouver d tel que e × d 1 [φ (n)]
2. La relation précédente peut aussi s’écrire : e × d = φ (n) × k + 1
3. Les conditions suivantes doivent alors êtres respectés : 1 ≤ d < φ (n) et k est un nombre entier.
Notre clé privée est (p ; q ; d)
2) Préparations du message :
a) Numérisation
1. Transcrire le message d’un langage alpha-numérique en un langage numérique (remplacement
des lettres, symboles et caractères en langage décimal).
2. Pour cela, il est possible d’utiliser le code ASCII.
b) Découpage
1. Il faut à présent découper le message numérique en tranche t, comportant un chiffre de moins
que le nombre de chiffres de n.
3) Cryptage :
L’émetteur crypte le message pour l’envoyer au destinataire.
1. Il chiffre chacune des tranches T en tranche Tgrâce à la relation : Te T [n].
Cette étape équivaut à verrouiller le cadenas du "coffre" contenant le message.
2. Il envoie ensuite le message crypté contenant les différentes tranches T’.
4) Décryptage :
Le destinataire reçoit le message crypté et le déchiffre.
1. Il déchiffre chacune des tranches T’ en tranche T grâce à la relation : T’d T [n]. Cette étape
équivaut à déverrouiller le cadenas avec la clé privée.
2. Il retrouve alors les tranches t d’origines.
3. À présent, il ne reste plus qu’à rassembler les tranches t puis à les retranscrire en langage
d’origine.
4. Le message a bien été transmis et reçu d’une façon confidentielle !
III. Exemple :
1) Préparations des clés :
a) Clé publique
Choisissons : p = 19 ; q = 23.
Ainsi, n = p × q = 19 × 23 = 437,
Donc n = 437.
φ (n) = (p-1) × (q-1) = 18 × 22 = 396
Donc (n) = 396.
Plusieurs valeurs sont possibles pour e.
PGCD (e ; (n)) = 1
Prenons e = 43
Notre clé publique est (n ; e), donc égal à (437 ; 43)
b) Clé privée
e × d 1 [ (n)]
43d 1 [396]
On a donc d = 175 (d = (396k + 1) / 43 avec k
I
N ici k = 19)
Pour determiner le nombre k, Nous entrons la fonction (396x + 1) / 43 sur le tableur de sa
calculatrice, et nous regardons pour quelle valeur de x, le résultat est un entier.
La clé privée est (p ; q ; d), donc égal à (19 ; 23 ; 175)
2) Préparations du message :
a) Numérisation
1. Il s’agit de convertir le message en nombres, en utilisant le code ASCII de façon à transcrire
numériquement le message...
2. Le message « MATHS » devient alors 7765847283 en langage décimal.
b) Découpage
1. À présent, nous découpons le message numérique en tranche T, d’un chiffre de moins que le
nombre de chiffres de n.
n = 437, il y a 3 chiffres, donc chaque tranches T comportera 3 - 1 = 2 chiffres.
Ainsi, on a : 77 65 84 72 83.
3) Cryptage :
Il s’agit maintenant de crypter le message.
1. Pour ce faire, nous utilisons la clé publique pour chaque bloc :
7743 210 [437]
6543 293 [437]
8443 388 [437]
7243 146 [437]
8343 235 [437]
Le message codé est donc M = 210 293 388 146 235.
4) Décryptage :
Décryptons le message crypté : M = 210 293 388 146 235.
1. On utilise donc la clé privée pour décrypter ce message, et récupérer le véritable contenu.
Chacun des blocs de 3 chiffres est élevé à l’exposant d de la clé privée, ici égale à 175, et congru
au message d’origine modulo 437 :
210175 77 [437]
293175 65 [437]
388175 84 [437]
146175 72 [437]
235175 83 [437]
2. Ainsi M = 77 65 84 72 83.
3. À présent, il ne reste plus qu’à retranscrire le message en langage d’origine :
77 65 84 72 83 = « MATHS »
4. Le message a été correctement transféré !
*. Cryptographie asymétrique : La cryptographie asymétrique, ou cryptographie à clé publique est
fondée sur l’existence de fonctions à sens unique, c’est-à-dire qu’il est simple d’appliquer cette
1 / 10 100%

I. Présentation : La méthode RSA est un système cryptographique

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 !