Théorie sur le Cryptage RSA

Créer des clés publiques et privées

Chiffrement par clé Asymétrique

Introduction

Dans les années 1970, la cryptographie n'est plus seulement l'apanage des militaires. Les banques, pour la sécurité de leurs transactions, sont devenues de grandes consommatrices de messages codés. Les chiffrements disponibles alors, comme le célèbre DES, sont sûres, au égard des possibilités d'attaque contemporaines. Le problème essentiel est alors la distribution des clés, ce secret que l'envoyeur et le destinataire doivent partager pour pouvoir respectivement chiffrer et déchiffrer. Les armées et les états ont recours aux valises diplomatiques pour ces échanges, mais ceci n'est pas accessible aux civils...
En 1976, Whitfield Diffie et Martin Hellman propose une nouvelle façon de chiffrer, qui contourne cet écueil. Commençons par expliquer leur procédé de façon imagée. Un ami doit vous faire parvenir un message très important par la poste, mais vous n'avez pas confiance en votre facteur que vous soupçonnez d'ouvrir vos lettres. Comment être sûr de recevoir ce message sans qu'il soit lu? Vous commencez par envoyer à votre ami un cadenas sans sa clé, mais en position ouverte. Celui-ci glisse alors le message dans une boite qu'il ferme à l'aide du cadenas, puis il vous envoie cette boite. Le facteur ne peut pas ouvrir cette boite, puisque vous qui possédez la clé pouvez le faire. Cette image concrète reflète le fonctionnement de la cryptographie (ou chiffrement) à clé publique et clé privé.

Chiffrement

L’algorithme de chiffrement décrit ici est le RSA (Rivest, Shamir, et Adelman, les trois inventeurs). Comme décrit dans l’introduction, on utilise une clef publique (le cadenas) pour crypter un message. Cette clé Publique est composée de cette manière {n,e} avec n= p*q.

Déchiffrement

Pour décrypter un méssage il faudra utilisé la clé privé composé de {n,d}

Diagramme Chiffrement/Déchiffrement

Avantage/Inconvénient de ce type de chiffrement

► Le problème consistant à se communiquer la clé de déchiffrement n'existe plus, dans la mesure où les clés publiques peuvent être envoyées librement. Le chiffrement par clés publiques permet donc à des personnes d'échanger des messages chiffrés sans pour autant posséder de secret en commun.

► En contrepartie, tout le challenge consiste à (s') assurer que la clé publique que l'on récupère est bien celle de la personne à qui l'on souhaite faire parvenir l'information chiffrée ! La notion de certificat est abordée par la suite.

Signature electronique

Introduction

Le paradigme de signature électronique (appelé aussi signature numérique) est un procédé permettant de garantir l'authenticité de l'expéditeur (fonction d'authentification) et de vérifier l'intégrité du message reçu.
La signature électronique assure également une fonction de non-répudiation, c'est-à-dire qu'elle permet d'assurer que l'expéditeur a bien envoyé le message (autrement dit elle empêche l'expéditeur de nier avoir expédié le message).

Fonction de Hachage

Une fonction de hachage est une fonction permettant d'obtenir un condensé (appelé aussi condensat ou haché ou en anglais message digest) d'un texte, c'est-à-dire une suite de caractères assez courte représentant le texte qu'il condense. La fonction de hachage doit être telle qu'elle associe un et un seul « haché » à un texte en clair (cela signifie que la moindre modification du document entraîne la modification de son haché). D'autre part, il doit s'agir d'une fonction à sens unique (one-way function) afin qu'il soit impossible de retrouver le message original à partir du condensé. S’il existe un moyen de retrouver le message en clair à partir du haché, la fonction de hachage est dite « à brèche secrète ».

Ainsi, le haché représente en quelque sorte l'empreinte digitale (en anglais finger print) du document. Les algorithmes de hachage les plus utilisés actuellement sont :

►MD5 (MD signifiant Message Digest). Développé par Rivest en 1991, MD5 crée une empreinte digitale de 128 bits à partir d'un texte de taille arbitraire en le traitant par blocs de 512 bits. Il est courant de voir des documents en téléchargement sur Internet accompagnés d'un fichier MD5, il s'agit du condensé du document permettant de vérifier l'intégrité de ce dernier)

►SHA (pour Secure Hash Algorithm, pouvant être traduit par Algorithme de hachage sécurisé) crée des empreintes d'une longueur de 160 bits SHA-1 est une version améliorée de SHA datant de 1994 et produisant une empreinte de 160 bits à partir d'un message d'une longueur maximale de 264 bits en le traitant par blocs de 512 bits.

Le scellement des données

L'utilisation d'une fonction de hachage permet de vérifier que l'empreinte correspond bien au message reçu, mais rien ne prouve que le message ait bien été envoyé par celui que l'on croit être l'expéditeur.
Ainsi, pour garantir l'authentification du message, il suffit à l'expéditeur de chiffrer (on dit généralement signer) le condensé à l'aide de sa clé privée (le haché signé est appelé sceau) et d'envoyer le sceau au destinataire.

A réception du message M, il suffit au destinataire de déchiffrer le sceau avec la clé publique de l'expéditeur, puis de comparer le haché du Message M, obtenu avec la fonction de hachage, au haché reçu en pièce jointe. Ce mécanisme de création de sceau est appelé scellement.