La cryptographie asymétrique prend source dans les travaux de Whitfield Diffie et Martin Hellman. Leur article publié en 1976 a révolutionné la cryptographie. En effet, grâce à l’algorithme qu’ils ont proposé, les communicants n’ont plus besoin de s’entendre préalablement sur une clé commune secrète. Il résout ainsi le problème de la transmission de la clé vu précédemment.

1. Principe

On l’appelle cryptographie asymétrique (ou aussi cryptographie à clé publique) car la clé pour chiffrer un message est différente de la clé pour le déchiffrer. Avec la cryptographie asymétrique chaque entité dispose deux clés : une clé publique et une clé privée. La clé publique, comme son nom l’indique, peut être connue de tous et ainsi publiée dans un annuaire ou sur une page web. La clé privée est secrète. Les deux clés sont liées mathématiquement mais il est très difficile d’en déduire la clé privée connaissant la clé publique car demande un temps de calcul beaucoup trop long.

2. Illustration

Typical asymmetric encryption process

Figure 3.1 Processus d’encryption général de chiffre asymétrique

La Figure 3.1 illustre comment fonctionne de manière générale la cryptographie asymétrique. Imaginons qu’Alice veuille communiquer de manière confidentielle avec Bob sur un canal non sécurisé tel qu’interet. Alice se rend sur le site web de Bob, accessible à quiconque, sur lequel est mentionné sa clé publique. Alice chiffre ensuite le message qu’elle désire transmettre à Bob avec sa clé publique, obtenue précédemment. Ensuite Alice envoie le cryptogramme à Bob par email. A réception de l’email, Bob, lui seul, pourra déchiffrer le message avec sa clé privée. Evidemment Alice et Bob doivent utiliser le même algorithme de chiffrement.

3. Inconvénient majeur

La cryptographie asymétrique est toutefois vulnérable à l’attaque de l’homme du milieu (man-in-the-middle attak ou MITM en abrégé). Voyons pas à pas comment cette attaque se déroule.

  1. Alice aimerait connaitre la clé pulibique de Bob. Dans ce but, elle envoye le email suivant à Bob :
    Salut Bob, peux-tu me donner ta clé publique. Alice.
  2. Le message d’Alice est capturé par MITM. MITM renvoie simplement le message à Bob.
  3. Bob reçoit le message. Il croit que ce dernier provient d’Alice directement et répond :
    Salut Alice. Ma clé publique est 40UmQ3B3Ku. Bob.
  4. MITM reçoit le message de Bob, le modifie en mettant sa propre clé publique et renvoie à Alice :
    Salut Alice. Ma clé publique est FdMY0LBX41. Bob.
  5. Alice reçoit le message modifié de MITM et croit qu’il provient directement de Bob. Elle répond le message suivant : Bob, j'ai flashé sur toi ! Alice. Elle chiffre le message avec la clé publique de MITM et l’envoie à Bob.
  6. MITM capture à nouveau le message. MITM peut le déchiffrer avec sa clé privée. Il peut le modifier, par exemple comme suit :
    Bob, t'es pas mon style ! Alice. et le chiffrer avec la clé publique de Bob qu’il avait obtenu précédemment et l’envoyer à Bob, et ainsi de suite.
MITM attack over the time

MITM attaque dans le temps

La Figure 3.2 détaille les différents événements dans le temps. Dans cette attaque, un tiers (souvent un programme informatique) détourne la communication et se fait passer une autre entité.

Nous verrons comment le certificat numérique résout ce problème.

5. Chiffres populaires

Mentionnons quelques chiffres asymétriques connus, tels que RSA et El Gamal.