Mis à jour le jeudi 21 novembre 2013
  • 20 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

RSA ? Qu'est-ce donc ?

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

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.

Les inventeurs du système RSA

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).

Image utilisateur

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...

Comment ça fonctionne ?

Image utilisateur

Dans l'univers de la cryptographie, on distingue deux types de chiffrement : le chiffrement asymétrique et symétrique. Les systèmes symétriques utilisent une seule clé pour chiffrer et déchiffrer (exemple : Chiffre de César). On peut utiliser la métaphore du coffre fort : le coffre fort dispose d'une seule clé qui est la même pour ouvrir et fermer le coffre. En revanche, les systèmes asymétriques utilisent deux clés. Une pour chiffrer et une autre pour déchiffrer. On appelle clé publique la clé servant à chiffrer et clé privée la clé servant à déchiffrer.

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.

On peut ainsi voir la clé publique comme une espèce de boite aux lettres (où n'importe qui peut mettre - chiffrer - des messages) et seul le propriétaire de la clé de la boite (clé privée) peut lire - déchiffrer - les messages)

Le système de chiffrement RSA est un système de chiffrement dit asymétrique.

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 :p )
J'ai donc l'honneur de vous présenter nos chers compagnons, en chair et en os, Alice :

Image utilisateur

et Bob :

Image utilisateur

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 la 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 ?

  1. 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é.

  2. 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" :

Image utilisateur

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...

Image utilisateur

Voilà, normalement vous devriez avoir compris comment on pouvait, en théorie, chiffrer et déchiffrer des messages avec un système asymétrique.
Dans le prochain chapitre, on va voir comment créer les clés privée, et publique ! (Là, il y aura un peu de mathématiques ^^ )

Exemple de certificat de réussite
Exemple de certificat de réussite