Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Le système RSA est un moyen puissant de chiffrer des données personnelles. Aujourd'hui, il nous entoure sans même que nous le sachions. Il est dans nos cartes bancaires, nos transactions, nos messageries, nos logiciels...
Pour commencer, voyons d'abord par qui il a été inventé. Nous finirons par étudier son fonctionnement général.
Le système de chiffrement RSA a été inventé par trois mathématiciens : Ron
Rivest, Adi
Shamir et Len
Adleman, en 1977 (On retrouve le sigle RSA dans les noms des inventeurs).

Voici une photo des trois mathématiciens en question
Ce système de chiffrement est beaucoup utilisé dans le e-commerce (paiement en ligne, etc...), mais aussi dans les cartes bleues, dans les logiciels (exemple :
OpenSSH), etc...

Le système de chiffrement RSA est un système de chiffrement dit
asymétrique.
Oulà.. asymétrique, c'est quoi ça ?!
Asymétrique, ça veut dire que l'on utilise deux clés distinctes. Une que l'on va appeler "publique", qui va servir à chiffrer, et une autre, appelée "privée", qui va servir à déchiffrer le message que l'on a reçu.
La clé publique est visible par tout le monde dans une espèce d'annuaire qui associe à chaque personne sa clé publique.
La clé privée n'est visible et connue que par son propriétaire. Il ne faut en aucun cas que quelqu'un d'autre que le propriétaire entre en possession de celle-ci. Si une quelconque personne obtenait une clé privée qui n'est pas la sienne, elle serait alors en mesure de lire les messages chiffrés qui ne lui sont pas destinés.
Pour la suite du tutoriel, on va prendre deux personnages : Alice et Bob.
(Ce sont les personnages que l'on utilise très souvent quand on parle de cryptographie, alors je ne vais pas changer
)
J'ai donc l'honneur de vous présenter nos chers compagnons, en chair et en os, Alice :

et Bob :
Alice et Bob possèdent tout deux une clé publique et une clé privée.
Comment Bob fait-il pour envoyer un message chiffré à Alice ?
Nous avons vu précédemment que pour chiffrer un message, on utilisait la clé publique. Bob va donc aller sur un annuaire et prendre la clé publique d'Alice. Une fois qu'il l'a possède, il chiffre le message qu'il veut envoyer à Alice, puis le lui envoie.
Comment Alice déchiffre-t-elle le message reçu ?
Alice vient de recevoir le message chiffré de Bob, grâce à sa clé privée (qu'elle seule possède), elle peut déchiffrer et lire le message que Bob a envoyé.
Où réside la force du système RSA ?
- Contrairement à de nombreux systèmes de chiffrement, tel que le chiffrement affine, qui sont des systèmes de chiffrement symétriques, dit à clé secrète, le système RSA ne nécessite pas de transfert de clé entre l'expéditeur et le destinataire. C'est un point de sécurité qui n'est nullement négligeable puisqu'ainsi personne d'autres que les concernés ne peuvent comprendre le message chiffré.
- Le système RSA, comme tous les systèmes asymétriques, est basé sur les fonctions à sens uniques. (C'est à dire qu'il est simple d'appliquer la fonction, mais extrêmement difficile de retrouver l'antécédent la fonction à partir de son image seulement). Pour inverser cette fonction, il faut un élément supplémentaire, une aide : la clé privée.
Mais, ce genre de système, ce n'est pas infaillible, si ?
Eh non, malheureusement, ce n'est pas infaillible...
Il existe plusieurs attaques contre le système RSA. Notamment les attaques de Wiener, Hastad, par chronométrage, ou encore l'attaque du milieu. Pour ma part, je vais détailler l'attaque du milieu, car c'est une attaque "type" des systèmes asymétriques
(Pour plus d'explications sur les autres types d'attaques cliquez ici)
Qu'est-ce que l'attaque du milieu ?
Afin d'expliquer le plus clairement possible ce qu'on appelle "attaque du milieu", je vais faire intervenir un troisième personnage, "l'espion" :
Le rôle de l'espion est de se faire passer pour Bob aux yeux d'Alice, et de se faire passer pour Alice aux yeux de Bob.
L'espion va se placer "au milieu" d'Alice et Bob.
Il va récupérer dans l'annuaire la clé publique d'Alice. Puis va s'arranger pour que Bob prenne sa clé publique au lieu de celle d'Alice (sans que Bob ne s'en aperçoive, évidement). Bob va donc chiffrer le message avec la clé publique de l'espion. Lors de l'envoi du message chiffré de Bob à Alice, l'espion va l'intercepter, et grâce à sa propre clé privée le déchiffrer et le lire. Une fois qu'il aura le message en clair, il peut éventuellement le re-chiffrer avec la clé publique d'Alice et lui envoyer le message afin de passer inaperçu...