Vous êtes sur la page 1sur 6

Comment fonctionne un système de chiffrement RSA ?

Un système de chiffrement RSA est une méthode de chiffrement asymétrique simple


d’utilisation, très populaire dans de nombreux domaines nécessitant des transferts de
données par Internet. Il se compose de deux clés de chiffrement RSA, l’une publique et
l’autre privée. Alors que la clé publique est utilisée pour le chiffrement, la clé privée sert à
déchiffrer les données. Étant donné qu’aucun algorithme n’est capable de décoder la clé
privée à partir de la clé publique, cette méthode est vue comme un processus sûr. En plus du
chiffrage, le système de chiffrement RSA permet également de générer ses propres
signatures numériques.

SOMMAIRE :
1. C’est quoi le chiffrage RSA
2. Comment sont utilisés les clés de chiffrement RSA
3. A quoi servent les systèmes de chiffrement RSA
4. Le chiffrage RSA au service de signatures numériques
Qu’est-ce que le chiffrage RSA ?
Le chiffrement asymétrique a pour principale caractéristique de nécessiter deux clés pour le
décodage d’un fichier (par exemple), au lieu d’une seule habituellement. Dans le cas du
chiffrage RSA, il s’agit d’une clé publique accessible à tous et d’une clé privée uniquement
connue d’une seule personne (si possible). Le chiffrement initial s’effectue à partir de la clé
publique de chiffrement RSA. Pour la décoder, il est toutefois indispensable d’utiliser la clé
privée de chiffrement RSA. Si vous ne connaissez pas celle-ci, il est quasiment certain que
vous ne parviendrez pas à décoder le chiffrement.
Le système de chiffrement RSA est basé sur une fonction à sens unique, bien connue dans le
domaine des mathématiques. Il s’agit ici d’une fonction qui ne peut être inversée qu’avec
l’introduction d’une information supplémentaire. Si vous ne disposez pas d’une telle
information, il y a trop de variables et il est donc impossible de calculer une solution dans un
délai raisonnable. Pour le système de chiffrement RSA, c’est la clé privée de chiffrement RSA
qui renferme cette information supplémentaire.
Comment sont utilisées les clés de chiffrement RSA ?
Un système de chiffrement RSA peut être utilisé pour encoder des données, du texte ou un
fichier image avec un algorithme, les rendant ainsi quasiment illisibles. Sans la clé privée de
chiffrement RSA, le fichier correspondant reste indéchiffrable à l’œil nu, et aucun
programme ne peut le décoder. Les données sous-jacentes sont converties en nombres
naturels avant d’être encodées à l’aide de la clé publique de chiffrement RSA. Les clés
publiques et privées de chiffrement RSA se composent d’une paire de chiffres, l’un de ces
deux chiffres étant identique sur l’une comme sur l’autre ; il s’agit du module RSA.
Les deux autres chiffres correspondent aux exposants de chiffrement et de déchiffrement.
Ils sont formés à partir de nombres premiers choisis au hasard et doivent avoir à peu près le
même ordre de grandeur, sans pour autant être trop proches l’un de l’autre. Les nombres
sont ensuite calculés avec plusieurs formules mathématiques. Le procédé de chiffrement,
accessible au public, est facilement reproductible. Pour déchiffrer le texte, il faut faire appel
à la clé privée de chiffrement RSA en plus de la clé publique. Jusqu’ici, aucun algorithme
n’est parvenu à identifier les facteurs premiers d’un nombre de manière fiable.
À quoi servent les systèmes de chiffrement RSA ?
Le chiffrage RSA est utilisé dans de nombreux domaines numériques au quotidien. À titre
d’exemple, les protocoles de communication HTTPS (Hypertext Transfer Protocol Secure) ou
encore les certificats SSL sont la plupart du temps sécurisés à l’aide d’un chiffrage RSA. Un
système de chiffrement RSA permet également d’encoder les emails ou messages d’une
boîte de messagerie, des données d’images ou même un disque dur. Sans la clé de
chiffrement RSA nécessaire, il serait trop long de décoder ces données, même avec la
puissance de calcul la plus élevée qui soit. Ce processus est donc considéré comme étant
relativement sécurisé.
Dans la majorité des cas, le système de chiffrement RSA est associé à d’autres méthodes de
chiffrage. Ainsi, le contenu ou les données ne peuvent absolument pas être ouverts ni lus
sans autorisation. Même si vous décidez de passer votre site Web en SSL, une combinaison
de différents procédés de chiffrement est utilisée la plupart du temps.

Le chiffrage RSA au service des signatures numériques


Le chiffrage RSA peut par exemple être utilisé dans le cadre de protocoles SSL ou TLS, mais
cette technique convient également à la création d’une signature numérique. En créant ce
type de signature à l’aide de la clé privée de chiffrement RSA, vous pouvez attester de
l’authenticité d’un message ou d’un fichier et vous assurer que celui-ci ne fera l’objet
d’aucune modification ultérieure. À l’aide de la clé publique, vous pouvez ensuite vérifier si
la signature et le fichier auquel elle est associée correspondent toujours.
-------------------------------------------------
Nous étudierons seulement le RSA car c’est la méthode la plus répandu, il existe cependant
un très grand nombre d’autres méthodes comme AES, DESX, PGP, SSL, IPSEC…
Qu’est ce que le chiffrement RSA ?
L’acronyme RSA composé des initiales des 3 inventeurs de cette méthode : Rivest Ronald,
Shamir Adi et Adleman Leonard, 3 chercheurs du Massachusetts Institute of technologie
(M.I.T).
Le RSA est un algorithme de cryptographie asymétrique qui permet l’échange de données
sur internet de façon confidentielle. Il a été créé en 1977 par ces 3 inventeurs et fut breveté
par le M.I.T en 1983 aux Etats-Unis.
Fonctionnement Mathématique du RSA:
Algorithme du RSA :
Il faut d’abord choisir 2 nombres premiers p et q.
De là on en déduit le module de chiffrement (noté « n ») par la formule :
n=p x q
Puis l’on calcule l’indicatrice d’Euler (voir indicatrice d’Euler) noté φ(n) :

Il faut en ensuite choisir un entier e tel que e soit un premier avec φ(n)
(leurs PGCD soit égale a 1).
On en déduit d appelé exposant de déchiffrement tel que :

Cette formule est issue Théorème de Bézout. ( voir Théorème de Bézout)


On peut alors former des clés pour chiffrer et déchiffrer des données:
Le couple (n ; e) forme la clé publique
Le couple (n ; d) forme la clé privée

Mais pourquoi cela fonctionne-t-il?


On peut expliquer le fonctionnement du RSA grâce au petit théorème de Fermat : (voir
petit théorème de Fermat)
« Si p est un nombre premier, et a un nombre entier non divisible, alors :
ap-1 – 1 est un multiple de p »
Autrement dit :

donc ap – a est un multiple de p.


Pourquoi est-il utile en cryptographie?
Il nous est utile ici dans le cadre de la cryptographie car :
Soit d l’inverse de e modulo φ(n) avec n = p x q

Démonstration :
 d inverse de e modulo de φ(n) avec n = p x q


D’après le petit théorème de Fermat :
Utilisons le RSA pour transmettre un message:
Pour chiffrer:

On prend:
avec M la valeur du code ASCII (voir ASCII) ci-dessous pour la lettre que l’on veut chiffrer et X
est le code chiffré
on a e= 13 et n=55 qui est la clé publique de notre correspondant:

on transforme d’abord « Salut » en code ASCII ce qui correspond à : « 083065076085084 »


(chaque caractère possède 3 chiffres c’est comme cela qu’on repère le code d’un caractère
du code au caractère suivant).
Puis on chiffre en appliquant la formule donnée précédemment, on obtient alors un nombre
tout à fait différent. « salut » crypté donne « 018010021050024 ».
on envoie le message: « 018010021050024 » à notre correspondant.
Pour déchiffrer:

d’après le petit théorème de fermat:

avec m le message déchiffré et X le message chiffré


On a d= 37 et n=55 qui constituent la clé privée du destinataire.

*on a rajouté 55 au résultat de X^d(mod n) car le code ASCII va jusque 127 donc le modulo
doit être supérieur à 127
On retrouve donc le message de l’expéditeur.
en résumé:
L'indicatrice d'Euler est la fonction φ, de l'ensemble ℕ* des entiers strictement positifs dans
lui-même, définie par exemple :
 φ(8) = 4 car parmi les nombres de 1 à 8, seuls les quatre nombres 1, 3, 5 et 7 sont premiers
avec 8 ;
 φ(12) = 4 car parmi les nombres de 1 à 12, seuls les quatre nombres 1, 5, 7 et 11 sont
premiers avec 12 ;
 un entier p > 1 est premier si et seulement si tous les nombres de 1 à p – 1 sont premiers
avec p, c.-à-d. si et seulement si φ(p) = p – 1 ;
 φ(1) = 1 car 1 est premier avec lui-même (c'est le seul entier naturel qui vérifie cette
propriété, si bien que pour tout entier n > 1, on peut remplacer non seulement m ∈ ℕ* par
m ∈ ℕ mais m ≤ n par m < n, dans la définition ci-dessus de φ(n)).
 Arithmétique modulaire[modifier | modifier le code]
 L'indicatrice d'Euler est une fonction essentielle de l'arithmétique modulaire ; elle est à la
base de résultats fondamentaux, à la fois en mathématiques pures et appliquées.
 Si a divise b alors φ(a) divise φ(b).
 Si n a q diviseurs premiers impairs distincts, φ(n) est divisible par 2q.
 Ces deux propriétés peuvent se déduire du calcul explicite de φ.
 Pour tout entier n > 2, φ(n) est pair et la somme de tous les entiers positifs inférieurs et
premiers à n est égale à n φ(n)/2.
 Exemples d’utilisation du RSA
 Tout d’abord, un exemple trivial qui vous permettra de vérifier le fonctionnement de ce
système même si vous n’avez pas de calculatrice sous la main.
Prenons par exemple les nombres p = 3 et q = 5. Nous calculons alors n = p×q = 15 et (p-
1)×(q-1) = 8. Dans ce cas, e = 3 est premier avec 8. On peut choisir d = 3 puisque
e×d = 3×3 = 9 = 8×1 + 1.
Soit enfin le nombre à coder A = 2. Nous avons Ae = 23 = 8, donc Ae est congruent à 8 modulo
15. Le nombre codé est donc B = 8.
Pour décoder, nous prenons le reste de la division de Bd par n. Bd = 83 = 512. En faisant la
division euclidienne de 512 par 15, nous obtenons : Bd = 512 = 34×15 + 2. Le reste est donc 2,
c’est-à-dire A, le nombre que nous avons codé au départ.
 Imaginons maintenant un exemple un peu plus complexe. L’auteur de ce document, adepte
du chiffrement RSA, sait qu’il doit recevoir de la part de ses lecteurs des messages
hautement confidentiels d’une grande importance. Il choisit d’utiliser le système RSA, et
génère deux nombres premiers, p = 17 et q = 11. Il choisit également le nombre e = 7 qui est
premier avec (p – 1) (q – 1) = 160. Il calcule à partir de ce nombre e sa clé privée qu’il ne
divulguera jamais. Pour ce faire, il doit chercher un nombre d tel qu’il existe un entier m tels
que ed + m (p – 1) (q – 1) = 1. Il décide de le faire par tâtonnement plutôt que d’utiliser
l’algorithme d’Euclide, et cherche le plus petit m > 0 tel que m (p-1) (q-1) + 1 soit divisible
par e = 7. Pour m = 1, il observe que m (p – 1) (q – 1) + 1 = 161 = 7 × 23. Sa clé privée ultra-
secrète sera donc d = 23.
 L’auteur rend aussi publique une correspondance entre lettres et chiffres afin de coder des
messages textuels, et choisit la convention suivante :

a = 01 j = 10 s = 19 . = 28 7 = 37
b = 02 k = 11 t = 20 ? = 29 8 = 38
c = 03 l = 12 u = 21 0 = 30 9 = 39
d = 04 m = 13 v = 22 1 = 31 ! = 40
e = 05 n = 14 w = 23 2 = 32 ‘ = 41
f = 06 o = 15 x = 24 3 = 33 …
g = 07 p = 16 y = 25 4 = 34
h = 08 q = 17 z = 26 5 = 35
i = 09 r = 18 , = 27 6 = 36

 L’espace entre deux mots sera codé par 00. L’auteur envoie donc à tous ses honorables
correspondants la clé (n = 187, e = 7), appelée clé publique et garde pour lui seul, bien caché,
le nombre d = 23, appelé clé privée.
 Un des lecteurs de ce document, appelons-le Bob, décide de communiquer un message
ultra-secret à l’auteur : « les maths, c’est génial ! ». Bob va donc coder ce message avec la clé
publique (n, e). Pour commencer, il convertit les lettres en chiffres, en utilisant la
correspondance convenue, et obtient ainsi le nombre :
1205190013012008190003410519200007051409011240
 Il regroupe ce nombre en tranches de chiffres strictement inférieurs à n = 187 :
120 51 90 013 012 008 19 000 34 105 19 20 000 70 51 40 90 112 40
 Chacun de ces nombres inférieurs à n sera codé en utilisant la clé privée. Il s’agit donc pour
Bob d’élever chaque nombre à la puissance 7 et d’en prendre le reste par la division par 187.
Il utilise pour cela une calculatrice ou un ordinateur, afin de gagner du temps. Il note chaque
mot codé en ajoutant des zéros à gauche afin que chaque nombre soit composé de trois
chiffres et il obtient le code :
120017095106177134145000034096145147000060017116095073116
C’est ce message codé qu’il envoie à l’auteur du document.
 Toute personne recevant ce message est incapable de retrouver le message original envoyé
par Bob, s’il ne connaît pas la clé secrète. Néanmoins, l’auteur, lui, possède la clé secrète
d = 23. Pour décoder le message, il lui suffit de découper le message en tranches de nombres
à trois chiffres, de prendre chaque nombre de cette décomposition, de l’élever à la puissance
d puis de diviser le résultat par n et de noter le reste obtenu. Il va alors retrouver 120 pour
177, 51 pour 146, et ainsi de suite. L’auteur va ainsi obtenir le message non codé. Il ne lui
reste plus qu’à prendre son tableau de correspondance alphabétique pour retrouver le
message original « les maths, c’est génial ! ».
 Bien entendu, codage et décodage se font sur ordinateur, en raison de la longueur des
opérations. Mais si le reste de la division d’un nombre par un autre peut se calculer
informatiquement de façon très efficace en utilisant l’algorithme d’Euclide, et que le temps
de calcul est linéaire en fonction du nombre de chiffres du nombre à diviser, il n’en est pas
de même pour le problème de la factorisation d’un nombre (c’est-à-dire le problème de
décomposer ce nombre en produit de facteurs premiers). Il n’existe pas de méthode connue
pour le diviser en temps polynomial, c’est-à-dire dont le temps de calcul croîtrait comme une
puissance de la taille du nombre à factoriser. Supposons donc maintenant qu’un ennemi de
l’auteur aimerait bien connaître le message envoyé par Bob. Il connaît la clé publique
(n = 187, e = 7), il ne peut cependant pas décrypter le message car il lui faudrait avoir la clé
secrète d = 23. Pour l’obtenir, il doit décomposer n en facteurs premiers, ce qui est certes
facile avec 187, mais impossible actuellement — à moins d’y consacrer des siècles et des
milliers d’ordinateurs ou de recourir à la divination — avec un nombre de 150 à 200 chiffres

Vous aimerez peut-être aussi