Signer un document

La signature numérique

Chiffrer garantit le secret. Hacher garantit l'intégrité. Mais comment prouver qui a écrit un message ?

Le principe : la clé publique à l'envers

Dans RSA, on chiffre avec la clé publique et on déchiffre avec la privée. La signature fait l'inverse :

  1. L'expéditeur calcule l'empreinte du document.
  2. Il chiffre cette empreinte avec sa clé privée : c'est la signature.
  3. Le destinataire déchiffre la signature avec la clé publique de l'expéditeur.
  4. Il calcule de son côté l'empreinte du document reçu.
  5. Si les deux empreintes coïncident, la signature est valide.

Ce que cela prouve

  • L'authenticité : seul le détenteur de la clé privée pouvait produire cette signature.
  • L'intégrité : si le document avait changé d'un seul bit, les empreintes différeraient.
  • La non-répudiation : l'expéditeur ne peut pas nier, lui seul possède la clé.

Ce que la signature ne fait pas : elle ne cache rien. Le document reste lisible par tous. Pour le secret, il faut chiffrer en plus.

Pourquoi signer l'empreinte et non le document

Deux raisons :

  • La rapidité. RSA est lent. Signer 256 bits est instantané ; signer un fichier de 4 Go serait interminable.
  • La taille. La signature reste courte, quelle que soit la taille du document.

Où vous en croisez tous les jours

  • Les certificats HTTPS : le cadenas de votre navigateur repose sur une chaîne de signatures.
  • Les mises à jour logicielles, signées par leur éditeur — sans quoi n'importe qui pourrait vous en pousser une vérolée.
  • Les paquets de votre distribution Linux.

Le maillon faible n'est pas la mathématique, c'est le lien entre une clé publique et une identité réelle. C'est tout le rôle des autorités de certification — et leur principale fragilité.