La signature électronique


  La cryptographie à clé publique permet de s'affranchir du problème de l'échange de la clé, facilitant le travail de l'expéditeur. Mais comment s'assurer de l'authenticité de l'envoi? Comment être sûr que personne n'usurpe l'identité d'Alice pour vous envoyer un message? Comment être sûr qu'Alice ne va pas nier vous avoir envoyé ce message?

  Là encore, la cryptographie à clé publique peut résoudre ce problème. Alice veut donc envoyer un message crypté à Bob, mais Bob veut s'assurer que ce message provient bien d'Alice. Ils se sont mis d'accord sur un système de cryptographie à clé publique commun, Alice possédant le couple clé publique/clé privée (PA,SA), et Bob le couple (PB,SB). Alice veut envoyer M.

  • Phase d'envoi : Alice calcule SA(M), à l'aide de sa clé secrète, puis PB(SA(M)), à l'aide de la clé publique de Bob.
  • Phase de réception : A l'aide de sa clé privée, Bob calcule SB(PB(SA(M)))=SA(M). Seul lui peut effectuer ce calcul (=sécurité de l'envoi). Puis il calcule PA(SA(M))=M. Il est alors sûr que c'est Alice qui lui a envoyé ce message, car elle-seule a pu calculer SA(M).

Fonctions de hachage?

  Ce protocole, s'il est fiable, est lent puisque deux fois plus lent qu'un algorithme à clé publique (lui-même déjà très lent!). En outre, il ne garantit pas l'intégrité du message, c'est-à-dire que celui-ci n'est pas altéré par des erreurs de transmission. L'utilisation des fonctions de hachage résout ces problèmes.

  Une fonction de hachage calcule le résumé d'un texte. Ce résumé doit être à sens unique, pour éviter de reconstituer le message initial connaissant seulement le résumé. Il doit être très sensible, c'est-à-dire qu'une petite modification du message entraîne une grande modification du résumé. En expédiant un message accompagné de son résumé (on dit aussi son haché), on peut s'assurer de l'intégrité du message, en recalculant le résumé à l'arrivée.

  Mais il y a mieux : la fonction de hachage, couplée à la cryptographie à clé publique, permet d'authentifier l'expéditeur.
  • Phase d'envoi : Alice calcule h(M) - le résumé - et envoie à Bob PB(M) (calculé à l'aide de la clé publique de Bob) accompagné de SA(h(M)).
  • Phase de réception : Bob calcule SB(PB(M))=M'. Puis il calcule PA(SA(h(M))), qu'il compare à h(M'). Si les quantités sont égales, il est sûr que c'est bien Alice qui a envoyé le message, et que celui-ci a été correctement transmis.
  Remarquons pour terminer qu'une signature numérique est plus sûre qu'une signature papier, car elle est infalsifiable, inimitable : la signature change en effet à chaque message!

Et encore, dans la cryptographie expliquée...


Sommaire de la Cryptographie Expliquée - Plan du site - Retour à la BibM@th - Tous droits réservés - Frédéric Bayart -