La signature numérique (parfois appelée signature électronique) est un mécanisme permettant de garantir l’intégrité d'un document électronique et d'en authentifier l'auteur, par analogie avec la signature manuscrite d'un document papier. Un mécanisme de signature numérique doit présenter les propriétés suivantes :
- Il doit permettre au lecteur d'un document d'identifier la personne ou l'organisme qui a apposé sa signature.
- Il doit garantir que le document n'a pas été altéré entre l'instant où l'auteur l'a signé et le moment où le lecteur le consulte.
Pour cela, les conditions suivantes doivent être réunies :
- Authentique : L'identité du signataire doit pouvoir être retrouvée de manière certaine.
- Infalsifiable : La signature ne peut pas être falsifiée. Quelqu'un ne peut se faire passer pour un autre.
- Non réutilisable: La signature n'est pas réutilisable. Elle fait partie du document signé et ne peut être déplacée sur un autre document.
- Inaltérable : Un document signé est inaltérable. Une fois qu'il est signé, on ne peut plus le modifier.
- Irrévocable : La personne qui a signé ne peut le nier.
La signature électronique n'est devenue possible qu'avec la cryptographie asymétrique.
Elle se différencie de la signature écrite par le fait qu'elle n'est pas visuelle, mais correspond à une suite de nombres.
Algorithme de signature numérique :
Un expéditeur A effectue les opérations suivantes:
1. Crée un message haché de l'information à transmettre.
2. Représente ce haché comme un entier m entre 1 et n -1.
3. Utilise sa clé privé (n, d) pour calculer la signature s = md mod n .
4. Envoie cette signature s au destinataire, B.
La vérification de signature :
Le destinataire B effectue les opérations suivantes:
1. L'expéditeur utilise la clé publique de A (n, e) pour calculer entier v = se mod n .
2. Extrait le message haché de cet entier.
3. Indépendamment calcule le message haché des informations qui ont été signés.
4. Si les deux messages hachés sont identiques, la signature est valide.