Comment Ca Marche l'informatique ?
 
 Comment Ça Marche - Articles - Cryptographie - Introduction à RSA
 Accueil
 Forums
 Astuces
 Guide d'achat
 
   
 
 
Livres Comment ça marche?
Tout sur le hardware PC
Tout sur la sécurité
Tout sur le webmastering
Présentation des trois premiers ouvrages de la collection CommentCaMarche.net
Page d'accueil
Ajouter aux favoris
Contribuer à cet article
Ecrire à Jean-Francois Pillou
Cryptologie
Introduction
Chiffrement par substitution
Chiffrement simple
Chiffrement par transposition
Chiffrement symétrique
Clefs privées
Chiffrement asymétrique
Clefs publiques
Clé de session
Signature électronique
Public Key Infractructure (PKI)
Certificats
Cryptosystèmes
Chiffrement Vigenère
Enigma
DES
RSA
PGP
Législation
Législation
Protcoles sécurisés
Secure Sockets Layers (SSL)
Secure Shell (SSH)
S-HTTP
Le protocole SET
S/MIME
Version 2.0.6
 
Introduction à RSA Page précédente Page suivante Retour à la page d'accueil

le système RSA

Le premier algorithme de chiffrement à clé publique (chiffrement asymétrique) a été développé par R.Merckle et M.Hellman en 1977. Il fut vite rendu obsolète grâce aux travaux de Shamir, Zippel et Herlestman, de célèbres cryptanalistes.

En 1978, l'algorithme à clé publique de Rivest, Shamir, et Adelman (d'où son nom RSA) apparaît. Cet algorithme servait encore en 2002 à protéger les codes nucléaires de l'armée américaine et russe.

fonctionnement de RSA

Le fonctionnement du cryptosystème RSA est basé sur la difficulté de factoriser de grands entiers.

Soit deux nombres premiers p et q, et d un entier tel que d soit premier avec (p-1)*(q-1)). Le triplet (p,q,d) constitue ainsi la clé privée.

La clé publique est alors le doublet (n,e) créé à l'aide de la clé privée par les transformations suivantes :

n = p * q
e = 1/d mod((p-1)(q-1))

Soit M, le message à envoyer. Il faut que le message M soit premier avec la clé n. En effet, le déchiffrement repose sur le théorème d'Euler stipulant que si M et n sont premiers entre eux, alors :

Mphi(n) = 1 mod(n)
Phi(n) étant l'indicateur d'euler, et valant dans le cas présent (p-1)*(q-1).

Il est donc nécessaire que M ne soit pas un multiple de p, de q , ou de n. Une solution consiste à découper le message M en morceaux Mi tels que le nombre de chiffres de chaque Mi soit strictement inférieur à celui de p et de q. Cela suppose donc que p et q soient grand, ce qui est le cas en pratique puisque tout le principe de RSA réside dans la difficulté à trouver dans un temps raisonnable p et q connaissant n, ce qui suppose p et q grands.

En pratique...

Supposons qu'un utilisateur (nommé Bob) désire envoyer un message M à une personne (nommons-là Alice), il lui suffit de se procurer la clé publique (n,e) de cette dernière puis de calculer le message chiffré c :

c = Me mod(n)

Bob envoie ensuite le message chiffré c à Alice, qui est capable de le déchiffrer à l'aide de sa clé privée (p,q,d) :

M =  Me*d mod(n) = cd mod(n)


Page précédente Page suivante

  Ce document intitulé « Cryptographie - Introduction à RSA » issu de Comment Ça Marche est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.