///////// Ce Compte-Rendu a été réalisé par Bauer Jérémy Balesdent Mathieu N1B promo 49 ISEN Lille //////////>
Menu |
Le mot cryptographie vient du grec kruptos qui signifie caché et graphein qu veut dire écrire. La cryptographie est don l'ensemble des techniques permettant de protéger une communication au moyen de codes secrets ( ou bien de trouver le code secret d'une communication). |
![]() |
Vocabulaire :
Un message étant
donné en langue naturelle, le
chiffrement ou encryptage
consiste à le traduire en langage codé.
Le déchiffrement
consiste à traduire le message codé en langue naturelle lorsqu'on connaît le
code. Le décryptage est la recherche d'une méthode qui permet
de trouve le code inconnu.
Tout système de
cryptage est composé d'un algorithme de codage plus ou moins compliqué
utilisant (ou non) une ou plusieurs clés de sécurité.
Il existe deux grands
types de cryptographie :
La cryptographie
symétrique à clé secrète : la
même clé est utilisée pour chiffrer et déchiffrer l'information. Le problème
est de transmettre de manière
sécurisée la clé à son correspondant.
La cryptographie
asymétrique à clé publique :
deux clés différentes servent à chiffrer et déchiffrer les messages.
L'utilisateur possède deux clés : une clé privée et une clé publique. La clé
publique est distribuée (publiée dans les annuaires), tandis que l'utilisateur
garde sa clé privée. Ainsi tout le monde peut lui écrire en codant à l'aide de
la clé publique, mais il est le seul à pouvoir déchiffrer ses messages à l'aide
de sa clé privée. Le système RSA est un exemple de système à clé publique.
Le principe du chiffrement à clé publique
Le paradigme de chiffrement
à clés publiques est apparu en 1976, avec la publication d'un ouvrage sur la
cryptographie par Whitfield Diffie et Martin Hellman.
Dans un cryptosystème
asymétrique (aussi appelé cryptosystème à clés publiques), les clés existent
par paires (on parle souvent de bi-clés):
Une clé publique pour
le chiffrement
Une clé secrète pour le déchiffrement
Ainsi, dans un système de chiffrement à clé publique, les utilisateurs
choisissent une clé aléatoire dont ils sont seuls connaisseurs (il s'agit de la
clé privée). A partir de cette clé, ils déduisent chacun automatiquement un
algorithme (il s'agit de la clé publique). Les utilisateurs s'échangent cette
clé publique au travers d'un canal non sécurisé.
Lorsqu'un utilisateur
désire envoyer un message à un autre utilisateur, il lui suffit de chiffrer le
message à envoyer au moyen de la clé publique du destinataire (qu'il trouvera
par exemple dans un serveur de clés tel qu'un annuaire). Ce dernier sera en
mesure de déchiffrer le message à l'aide de sa clé privée (qu'il est seul à
connaître).
Ce système est basé
sur une fonction facile à calculer dans un sens (appelée fonction à trappe à
sens unique ou en anglais one-way trapdoor function), mais qui est
mathématiquement très difficile à inverser sans la clé privée (appelée trappe).
Pour faire une image
avec le "monde réel", il s'agit pour un utilisateur de créer une clé
aléatoire (la clé privée), puis de fabriquer un grand nombre de cadenas (clé
publique) qu'il dispose dans un casier accessible par tous (le casier joue le
rôle de canal non sécurisé). Pour lui faire parvenir un document, chaque
utilisateur peut prendre un cadenas (ouvert), fermer une valisette contenant le
document grâce à ce cadenas, puis envoyer la valisette au propriétaire de la
clé publique (le cadenas). Seul le propriétaire sera alors en mesure d'ouvrir
la valisette avec sa clé privée.
Le problème consistant
à se communiquer la clé de déchiffrement n'existe plus, les clés publiques
pouvant être envoyées librement. Le chiffrement par clés
publiques permet donc à des personnes de s'échanger des messages crypté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é !