Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Signature Cryptographique


Présentation

Tout système cryptographique basé sur une fonction à sens unique peut servir à signer un message.

Plaçons-nous dans le cadre d'un cryptage RSA, et supposons par exemple qu'Alice souhaite :

  • envoyer un message $m$ à Bob,
  • qu'elle ne souhaite pas que ce message soit secret,
  • qu'elle tienne, en revanche, à ce que son correspondant puisse être sûr que le message vient bien d'elle.

Il suffit à Alice d'envoyer le message : $(m,s)$, où $s = m^d$.

On peut aussi envoyer $(m, M^d)$, où $M$ est la valeur hachée de $m$, par exemple avec le SHA-256 : cet algorithme de hachage étant publique, Bob le possède. Il pourra donc calculer la valeur hachée de $m$, et la comparer à $(M^d)^e$.

En effet, Alice prouve ainsi qu'elle sait inverser la fonction, puisqu'en calculant $(m^d)^e$, Bob retrouvera $m$.

Cette méthode s'adapte sans problème à El Gamal, et à tout autre algorithme de chiffrement asymétrique.

Il existe un protocole pour faire en sorte que Bob soit le seul à pouvoir s'assurer de l'identité de l'expéditeur.

Travaux pratiques

  1. Mettre en oeuvre la signature de messages, à partir de RSA.
  2. Réaliser le DSA, signature numérique basée sur El Gamal.
  3. Chercher des renseignements sur le protocole permettant que Bob soit le seul à pouvoir s'assurer de l'identité d'Alice, et l'implémenter.

Page Actions

Recent Changes

Group & Page

Back Links