Vous êtes sur la page 1sur 79

Procédés de

signature

Introduction

Signature El
Gamal

Procédés de signature

1 / 18
Procédés de
signature
Table des matières
Introduction

Signature El
Gamal

1 Introduction

2 Signature El Gamal

2 / 18
Procédés de
signature

Introduction Une signature “conventionnelle” sur un document est une façon


Signature El
Gamal
d’engager la responsabilité du signataire.

3 / 18
Procédés de
signature

Introduction Une signature “conventionnelle” sur un document est une façon


Signature El
Gamal
d’engager la responsabilité du signataire.

Pour les documents électroniques on utilise les procédés de


signature.

3 / 18
Procédés de
signature

Introduction Une signature “conventionnelle” sur un document est une façon


Signature El
Gamal
d’engager la responsabilité du signataire.

Pour les documents électroniques on utilise les procédés de


signature. Une signature dans ce cas peut être transmise sur un
réseau informatique.

3 / 18
Procédés de
signature

Introduction Une signature “conventionnelle” sur un document est une façon


Signature El
Gamal
d’engager la responsabilité du signataire.

Pour les documents électroniques on utilise les procédés de


signature. Une signature dans ce cas peut être transmise sur un
réseau informatique.

Bien entendu, un procédé de signature doit satisfaire les mêmes


exigences qu’une signature conventionnelle.

3 / 18
Procédés de
signature

Introduction Une signature “conventionnelle” sur un document est une façon


Signature El
Gamal
d’engager la responsabilité du signataire.

Pour les documents électroniques on utilise les procédés de


signature. Une signature dans ce cas peut être transmise sur un
réseau informatique.

Bien entendu, un procédé de signature doit satisfaire les mêmes


exigences qu’une signature conventionnelle. Ainsi, une signature
électronique doit être “attachée” voire “collée” à un document.

3 / 18
Procédés de
signature

Introduction Une signature “conventionnelle” sur un document est une façon


Signature El
Gamal
d’engager la responsabilité du signataire.

Pour les documents électroniques on utilise les procédés de


signature. Une signature dans ce cas peut être transmise sur un
réseau informatique.

Bien entendu, un procédé de signature doit satisfaire les mêmes


exigences qu’une signature conventionnelle. Ainsi, une signature
électronique doit être “attachée” voire “collée” à un document.
Une signature électronique doit être vérifiable, i.e., que l’on
peut authentifier le signataire.

3 / 18
Procédés de
signature

Introduction

Signature El
Gamal
Un procédé de signature doit donc être composé d’un
algorithme de signature, privé, et d’un algorithme de
vérification, public.

4 / 18
Procédés de
signature

Introduction

Signature El
Gamal
Un procédé de signature doit donc être composé d’un
algorithme de signature, privé, et d’un algorithme de
vérification, public.

Bob signe un message x avec un algorithme (secret) sig. Puis


le résultat sig(x) peut être vérifié par l’algorihme (public) ver
de vérification :

4 / 18
Procédés de
signature

Introduction

Signature El
Gamal
Un procédé de signature doit donc être composé d’un
algorithme de signature, privé, et d’un algorithme de
vérification, public.

Bob signe un message x avec un algorithme (secret) sig. Puis


le résultat sig(x) peut être vérifié par l’algorihme (public) ver
de vérification : ver(x, y ) = vrai si y = sig(x) et
ver(x, y ) = faux si y 6= sig(x).

4 / 18
Procédés de
signature
Définition
Introduction

Signature El
Un procédé de signature est la donnée d’un ensemble de clefs
Gamal
K,

5 / 18
Procédés de
signature
Définition
Introduction

Signature El
Un procédé de signature est la donnée d’un ensemble de clefs
Gamal
K, et pour chaque clef K ∈ K,

5 / 18
Procédés de
signature
Définition
Introduction

Signature El
Un procédé de signature est la donnée d’un ensemble de clefs
Gamal
K, et pour chaque clef K ∈ K,

• une fonction de signature sigK ,

5 / 18
Procédés de
signature
Définition
Introduction

Signature El
Un procédé de signature est la donnée d’un ensemble de clefs
Gamal
K, et pour chaque clef K ∈ K,

• une fonction de signature sigK ,

• une fonction de vérification verK correspondante,

5 / 18
Procédés de
signature
Définition
Introduction

Signature El
Un procédé de signature est la donnée d’un ensemble de clefs
Gamal
K, et pour chaque clef K ∈ K,

• une fonction de signature sigK ,

• une fonction de vérification verK correspondante,

telles que pour chaque message x et chaque signature y ,


verK (x, y ) = vrai ⇔ sigK (x) = y .

5 / 18
Procédés de
signature
Définition
Introduction

Signature El
Un procédé de signature est la donnée d’un ensemble de clefs
Gamal
K, et pour chaque clef K ∈ K,

• une fonction de signature sigK ,

• une fonction de vérification verK correspondante,

telles que pour chaque message x et chaque signature y ,


verK (x, y ) = vrai ⇔ sigK (x) = y .

Les fonctions sigK et verK doivent être calculables en temps


polynomial (autrement dit, le temps d’exécution de ces
fonctions est un polynôme en la longueur de leurs arguments),

5 / 18
Procédés de
signature
Définition
Introduction

Signature El
Un procédé de signature est la donnée d’un ensemble de clefs
Gamal
K, et pour chaque clef K ∈ K,

• une fonction de signature sigK ,

• une fonction de vérification verK correspondante,

telles que pour chaque message x et chaque signature y ,


verK (x, y ) = vrai ⇔ sigK (x) = y .

Les fonctions sigK et verK doivent être calculables en temps


polynomial (autrement dit, le temps d’exécution de ces
fonctions est un polynôme en la longueur de leurs arguments),
sigK est secrète et verK est publique.

5 / 18
Procédés de
signature

Introduction

Signature El La contrefaçon par Oscar d’une signature de Bob pour un


Gamal
message x doit être infaisable.

6 / 18
Procédés de
signature

Introduction

Signature El La contrefaçon par Oscar d’une signature de Bob pour un


Gamal
message x doit être infaisable.

Autrement dit, pour un x donné, seul Bob doit être capable en


pratique de calculer une signature y telle que ver(x, y ) = vrai.

6 / 18
Procédés de
signature

Introduction

Signature El La contrefaçon par Oscar d’une signature de Bob pour un


Gamal
message x doit être infaisable.

Autrement dit, pour un x donné, seul Bob doit être capable en


pratique de calculer une signature y telle que ver(x, y ) = vrai.

Bien entendu, Oscar peut toujours tester toutes les signatures


possibles d’un message x jusqu’à tomber sur celle de Bob.
Cependant, le temps pour effectuer cette recherche exhaustive
doit être déraisonnablement long.

6 / 18
Procédés de
signature
RSA en mode signature
Introduction

Signature El
Gamal Soient Ke = (e, n) la clef publique de Bob, et Kd = (d, p, q) sa
clef privée (pour RSA).

7 / 18
Procédés de
signature
RSA en mode signature
Introduction

Signature El
Gamal Soient Ke = (e, n) la clef publique de Bob, et Kd = (d, p, q) sa
clef privée (pour RSA).

Bob signe un message x ∈ Zn comme sigKd (x) = x d mod n.

7 / 18
Procédés de
signature
RSA en mode signature
Introduction

Signature El
Gamal Soient Ke = (e, n) la clef publique de Bob, et Kd = (d, p, q) sa
clef privée (pour RSA).

Bob signe un message x ∈ Zn comme sigKd (x) = x d mod n.

L’algorithme de vérification est : verKe (x, y ) = vrai si, et


seulement si, x ≡ y e (mod n).

7 / 18
Procédés de
signature
RSA en mode signature
Introduction

Signature El
Gamal Soient Ke = (e, n) la clef publique de Bob, et Kd = (d, p, q) sa
clef privée (pour RSA).

Bob signe un message x ∈ Zn comme sigKd (x) = x d mod n.

L’algorithme de vérification est : verKe (x, y ) = vrai si, et


seulement si, x ≡ y e (mod n).

Comme Ke est public, tout le monde peut employer verKe afin


de vérifier une signature de Bob.

7 / 18
Procédés de
signature
RSA en mode signature
Introduction

Signature El
Gamal Soient Ke = (e, n) la clef publique de Bob, et Kd = (d, p, q) sa
clef privée (pour RSA).

Bob signe un message x ∈ Zn comme sigKd (x) = x d mod n.

L’algorithme de vérification est : verKe (x, y ) = vrai si, et


seulement si, x ≡ y e (mod n).

Comme Ke est public, tout le monde peut employer verKe afin


de vérifier une signature de Bob. Alice reçoit le document x
avec la signature y = x d mod n de Bob.

7 / 18
Procédés de
signature
RSA en mode signature
Introduction

Signature El
Gamal Soient Ke = (e, n) la clef publique de Bob, et Kd = (d, p, q) sa
clef privée (pour RSA).

Bob signe un message x ∈ Zn comme sigKd (x) = x d mod n.

L’algorithme de vérification est : verKe (x, y ) = vrai si, et


seulement si, x ≡ y e (mod n).

Comme Ke est public, tout le monde peut employer verKe afin


de vérifier une signature de Bob. Alice reçoit le document x
avec la signature y = x d mod n de Bob. Afin de s’assurer de
l’authenticité de y , elle calcule y e mod n, de sorte que y e
mod n = x si, et seulement, si y = x d mod n.

7 / 18
Procédés de
signature

Introduction

Signature El
Gamal

Observons que tout à chacun peut contrefaire une signature de


Bob de la façon suivante : on choisit y puis on calcule x = y e
mod n (e et n sont publics).

8 / 18
Procédés de
signature

Introduction

Signature El
Gamal

Observons que tout à chacun peut contrefaire une signature de


Bob de la façon suivante : on choisit y puis on calcule x = y e
mod n (e et n sont publics).

Alors y est une signature authentique pour le message x,

8 / 18
Procédés de
signature

Introduction

Signature El
Gamal

Observons que tout à chacun peut contrefaire une signature de


Bob de la façon suivante : on choisit y puis on calcule x = y e
mod n (e et n sont publics).

Alors y est une signature authentique pour le message x, dit


autrement, y = sigKe (x).

8 / 18
Procédés de
signature

Regardons comment on peut combiner la signature et le


Introduction chiffrement.
Signature El
Gamal

9 / 18
Procédés de
signature

Regardons comment on peut combiner la signature et le


Introduction chiffrement.
Signature El
Gamal
Supposons qu’Alice souhaite envoyer un message signé et chiffré
à Bob.

9 / 18
Procédés de
signature

Regardons comment on peut combiner la signature et le


Introduction chiffrement.
Signature El
Gamal
Supposons qu’Alice souhaite envoyer un message signé et chiffré
à Bob. Soient KeX = (e X , nX ) et KdX = (d X , p X , q X ) les clefs
publiques et privées de X ∈ { A, B } (“A” pour “Alice”, et “B”
pour “Bob”).

9 / 18
Procédés de
signature

Regardons comment on peut combiner la signature et le


Introduction chiffrement.
Signature El
Gamal
Supposons qu’Alice souhaite envoyer un message signé et chiffré
à Bob. Soient KeX = (e X , nX ) et KdX = (d X , p X , q X ) les clefs
publiques et privées de X ∈ { A, B } (“A” pour “Alice”, et “B”
pour “Bob”).

Pour un texte clair donné x, Alice calcule la signature


y = sigK A (x) et puis chiffre z = (EKeB (x), EKeB (y )) avec la clef
d
publique de Bob.

9 / 18
Procédés de
signature

Regardons comment on peut combiner la signature et le


Introduction chiffrement.
Signature El
Gamal
Supposons qu’Alice souhaite envoyer un message signé et chiffré
à Bob. Soient KeX = (e X , nX ) et KdX = (d X , p X , q X ) les clefs
publiques et privées de X ∈ { A, B } (“A” pour “Alice”, et “B”
pour “Bob”).

Pour un texte clair donné x, Alice calcule la signature


y = sigK A (x) et puis chiffre z = (EKeB (x), EKeB (y )) avec la clef
d
publique de Bob.

Bob reçoit z et le déchiffre avec DK B de sorte qu’il récupère


d
(x, y ).

9 / 18
Procédés de
signature

Regardons comment on peut combiner la signature et le


Introduction chiffrement.
Signature El
Gamal
Supposons qu’Alice souhaite envoyer un message signé et chiffré
à Bob. Soient KeX = (e X , nX ) et KdX = (d X , p X , q X ) les clefs
publiques et privées de X ∈ { A, B } (“A” pour “Alice”, et “B”
pour “Bob”).

Pour un texte clair donné x, Alice calcule la signature


y = sigK A (x) et puis chiffre z = (EKeB (x), EKeB (y )) avec la clef
d
publique de Bob.

Bob reçoit z et le déchiffre avec DK B de sorte qu’il récupère


d
(x, y ). Il vérifie alors la signature y d’Alice à l’aide de la clef
publique de cette dernière en calculant verKe A (x, y ).

9 / 18
Procédés de
signature

Introduction

Signature El Que se passe-t-il si Alice chiffre avant de signer ?


Gamal

10 / 18
Procédés de
signature

Introduction

Signature El Que se passe-t-il si Alice chiffre avant de signer ? Elle calcule


Gamal
y = sigK A (EKeB (x)), et transmet (z, y ) à Bob, avec
d
z = EKeB (x).

10 / 18
Procédés de
signature

Introduction

Signature El Que se passe-t-il si Alice chiffre avant de signer ? Elle calcule


Gamal
y = sigK A (EKeB (x)), et transmet (z, y ) à Bob, avec
d
z = EKeB (x).

Bob récupère donc (z, y ), déchiffre z et vérifie la signature y .

10 / 18
Procédés de
signature

Introduction

Signature El Que se passe-t-il si Alice chiffre avant de signer ? Elle calcule


Gamal
y = sigK A (EKeB (x)), et transmet (z, y ) à Bob, avec
d
z = EKeB (x).

Bob récupère donc (z, y ), déchiffre z et vérifie la signature y .

Un problème est qu’Oscar peut intercepter (z, y ), remplacer y


par sa propre signature y 0 et transmettre (z, y 0 ) à Bob.

10 / 18
Procédés de
signature

Introduction

Signature El Que se passe-t-il si Alice chiffre avant de signer ? Elle calcule


Gamal
y = sigK A (EKeB (x)), et transmet (z, y ) à Bob, avec
d
z = EKeB (x).

Bob récupère donc (z, y ), déchiffre z et vérifie la signature y .

Un problème est qu’Oscar peut intercepter (z, y ), remplacer y


par sa propre signature y 0 et transmettre (z, y 0 ) à Bob. S’il
persuade Bob d’utiliser son propre algorithme de vérification,
Bob sera berné.

10 / 18
Procédés de
signature
Table des matières
Introduction

Signature El
Gamal

1 Introduction

2 Signature El Gamal

11 / 18
Procédés de Le chiffrement d’El Gamal est basé sur le problème du
signature
logarithme discret.
Introduction

Signature El
Gamal

12 / 18
Procédés de Le chiffrement d’El Gamal est basé sur le problème du
signature
logarithme discret.
Introduction
Rappelons qu’un groupe cyclique (ou monogène) G est un
Signature El
Gamal groupe possédant un génerateur, i.e., il existe γ tel que tout
autre élément x du groupe soit de la forme γ n pour un certain
entier naturel n.

12 / 18
Procédés de Le chiffrement d’El Gamal est basé sur le problème du
signature
logarithme discret.
Introduction
Rappelons qu’un groupe cyclique (ou monogène) G est un
Signature El
Gamal groupe possédant un génerateur, i.e., il existe γ tel que tout
autre élément x du groupe soit de la forme γ n pour un certain
entier naturel n. γ est un générateur du groupe.

12 / 18
Procédés de Le chiffrement d’El Gamal est basé sur le problème du
signature
logarithme discret.
Introduction
Rappelons qu’un groupe cyclique (ou monogène) G est un
Signature El
Gamal groupe possédant un génerateur, i.e., il existe γ tel que tout
autre élément x du groupe soit de la forme γ n pour un certain
entier naturel n. γ est un générateur du groupe. Si G est de
surcroît fini, étant donné un générateur γ et un élément x ∈ G ,
il existe un plus petit entier logγ (x) tel que
0 ≤ logγ (x) ≤ |G | − 1 et γ logγ (x) = x.

12 / 18
Procédés de Le chiffrement d’El Gamal est basé sur le problème du
signature
logarithme discret.
Introduction
Rappelons qu’un groupe cyclique (ou monogène) G est un
Signature El
Gamal groupe possédant un génerateur, i.e., il existe γ tel que tout
autre élément x du groupe soit de la forme γ n pour un certain
entier naturel n. γ est un générateur du groupe. Si G est de
surcroît fini, étant donné un générateur γ et un élément x ∈ G ,
il existe un plus petit entier logγ (x) tel que
0 ≤ logγ (x) ≤ |G | − 1 et γ logγ (x) = x.

Le problème du logarithme discret consiste à trouver logγ (x) à


partir de γ et de x.

12 / 18
Procédés de Le chiffrement d’El Gamal est basé sur le problème du
signature
logarithme discret.
Introduction
Rappelons qu’un groupe cyclique (ou monogène) G est un
Signature El
Gamal groupe possédant un génerateur, i.e., il existe γ tel que tout
autre élément x du groupe soit de la forme γ n pour un certain
entier naturel n. γ est un générateur du groupe. Si G est de
surcroît fini, étant donné un générateur γ et un élément x ∈ G ,
il existe un plus petit entier logγ (x) tel que
0 ≤ logγ (x) ≤ |G | − 1 et γ logγ (x) = x.

Le problème du logarithme discret consiste à trouver logγ (x) à


partir de γ et de x.

À l’heure actuelle, le problème du logarithme discret est


considéré comme difficile pour G le groupe cyclique Z∗p (groupe
des éléments non nuls de Zp ) pour p un nombre premier d’au
moins 150 chiffres, et tel que p − 1 doit avoir au moins un
“grand” facteur premier.
12 / 18
Procédés de
signature
Procédé de chiffrement El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .
Gamal

13 / 18
Procédés de
signature
Procédé de chiffrement El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .
Gamal
On définit K = { ((p, γ, x), n) : x ≡ γ n (mod p) }.

13 / 18
Procédés de
signature
Procédé de chiffrement El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .
Gamal
On définit K = { ((p, γ, x), n) : x ≡ γ n (mod p) }.
Ke = (p, γ, x) et Kd = n.

13 / 18
Procédés de
signature
Procédé de chiffrement El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .
Gamal
On définit K = { ((p, γ, x), n) : x ≡ γ n (mod p) }.
Ke = (p, γ, x) et Kd = n.
Étant donné M ∈ Z∗p et un aléa k ∈ Zp−1 , on définit
EKe (M, k) = (γ k mod p, Mx k mod p).

13 / 18
Procédés de
signature
Procédé de chiffrement El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .
Gamal
On définit K = { ((p, γ, x), n) : x ≡ γ n (mod p) }.
Ke = (p, γ, x) et Kd = n.
Étant donné M ∈ Z∗p et un aléa k ∈ Zp−1 , on définit
EKe (M, k) = (γ k mod p, Mx k mod p).

Pour y1 , y2 ∈ Z∗p , on définit


DKd (y1 , y2 ) = y2 (y1n )−1 mod p.

13 / 18
Procédés de
signature
Procédé de chiffrement El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .
Gamal
On définit K = { ((p, γ, x), n) : x ≡ γ n (mod p) }.
Ke = (p, γ, x) et Kd = n.
Étant donné M ∈ Z∗p et un aléa k ∈ Zp−1 , on définit
EKe (M, k) = (γ k mod p, Mx k mod p).

Pour y1 , y2 ∈ Z∗p , on définit


DKd (y1 , y2 ) = y2 (y1n )−1 mod p.

Observons que ce procédé de chiffrement est non déterministe,


car l’opération dépend de M et d’une valeur aléatoire choisie
par Alice.
13 / 18
Procédés de
signature
Procédé de chiffrement El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .
Gamal
On définit K = { ((p, γ, x), n) : x ≡ γ n (mod p) }.
Ke = (p, γ, x) et Kd = n.
Étant donné M ∈ Z∗p et un aléa k ∈ Zp−1 , on définit
EKe (M, k) = (γ k mod p, Mx k mod p).

Pour y1 , y2 ∈ Z∗p , on définit


DKd (y1 , y2 ) = y2 (y1n )−1 mod p.

Observons que ce procédé de chiffrement est non déterministe,


car l’opération dépend de M et d’une valeur aléatoire choisie
par Alice. Il y a donc plusieurs textes chiffrés qui correspondent
à un même texte clair.
13 / 18
Procédés de
signature
Fonctionnement informel
Introduction

Signature El
Gamal

Le texte clair M est “masqué” par x k , en produisant y2 .

14 / 18
Procédés de
signature
Fonctionnement informel
Introduction

Signature El
Gamal

Le texte clair M est “masqué” par x k , en produisant y2 .

La valeur γ k est également transmise en tant que partie du


texte chiffré.

14 / 18
Procédés de
signature
Fonctionnement informel
Introduction

Signature El
Gamal

Le texte clair M est “masqué” par x k , en produisant y2 .

La valeur γ k est également transmise en tant que partie du


texte chiffré.

Bob, qui connaît l’exposant secret n, peut calculer x k à partir


de γ k = (x n )k mod p.

14 / 18
Procédés de
signature
Fonctionnement informel
Introduction

Signature El
Gamal

Le texte clair M est “masqué” par x k , en produisant y2 .

La valeur γ k est également transmise en tant que partie du


texte chiffré.

Bob, qui connaît l’exposant secret n, peut calculer x k à partir


de γ k = (x n )k mod p.

Il peut alors “enlever le masque” en divisant y2 par γ k et obtenir


M.

14 / 18
Procédés de
signature
Exemple
Introduction

Signature El
Gamal
Soient p = 2579, γ = 2 et n = 765.

15 / 18
Procédés de
signature
Exemple
Introduction

Signature El
Gamal
Soient p = 2579, γ = 2 et n = 765. Donc x = 2765
mod 2579 = 949.

15 / 18
Procédés de
signature
Exemple
Introduction

Signature El
Gamal
Soient p = 2579, γ = 2 et n = 765. Donc x = 2765
mod 2579 = 949.

Supposons qu’Alice souhaite transmettre le message M = 1299


à Bob.

15 / 18
Procédés de
signature
Exemple
Introduction

Signature El
Gamal
Soient p = 2579, γ = 2 et n = 765. Donc x = 2765
mod 2579 = 949.

Supposons qu’Alice souhaite transmettre le message M = 1299


à Bob. Pour commencer, elle tire au hasard k, disons k = 853,
et calcule y1 = 2853 mod 2579 = 435,

15 / 18
Procédés de
signature
Exemple
Introduction

Signature El
Gamal
Soient p = 2579, γ = 2 et n = 765. Donc x = 2765
mod 2579 = 949.

Supposons qu’Alice souhaite transmettre le message M = 1299


à Bob. Pour commencer, elle tire au hasard k, disons k = 853,
et calcule y1 = 2853 mod 2579 = 435, puis y2 = 1299 × 949853
mod 2579 = 2396.

15 / 18
Procédés de
signature
Exemple
Introduction

Signature El
Gamal
Soient p = 2579, γ = 2 et n = 765. Donc x = 2765
mod 2579 = 949.

Supposons qu’Alice souhaite transmettre le message M = 1299


à Bob. Pour commencer, elle tire au hasard k, disons k = 853,
et calcule y1 = 2853 mod 2579 = 435, puis y2 = 1299 × 949853
mod 2579 = 2396.

Lorsque Bob reçoit le texte chiffré y = (435, 2396), il calcule


M = 2396 × (435765 )−1 mod 2579 = 1299 qui est bien le texte
clair.

15 / 18
Procédés de
signature
Signature El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El
Gamal discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .

16 / 18
Procédés de
signature
Signature El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El
Gamal discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .

On rappelle que K = { ((p, γ, x), n) : x ≡ γ n (mod p) },


Ke = (p, γ, x) et Kd = n.

16 / 18
Procédés de
signature
Signature El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El
Gamal discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .

On rappelle que K = { ((p, γ, x), n) : x ≡ γ n (mod p) },


Ke = (p, γ, x) et Kd = n.

Pour k ∈ Z∗p−1 (aléa secret) et M ∈ Z∗p , on définit

sigKd (M, k) = (θ, δ)

où θ = γ k mod p et δ = (M − nθ)k −1 (mod p − 1).

16 / 18
Procédés de
signature
Signature El Gamal
Introduction
Soit p un nombre premier tel que le problème du logarithme
Signature El
Gamal discret dans Z∗p est difficile, et soit γ un générateur de Z∗p .

On rappelle que K = { ((p, γ, x), n) : x ≡ γ n (mod p) },


Ke = (p, γ, x) et Kd = n.

Pour k ∈ Z∗p−1 (aléa secret) et M ∈ Z∗p , on définit

sigKd (M, k) = (θ, δ)

où θ = γ k mod p et δ = (M − nθ)k −1 (mod p − 1).

Pour M, θ ∈ Z∗p et δ ∈ Zp−1 , on définit

verKe (M, θ, δ) = vrai ⇔ x θ θδ ≡ γ M (mod p).

16 / 18
Procédés de
signature

Introduction

Signature El
Gamal
Si la signature est construite correctement, alors la vérification
authentifie la signature car

x θ θδ ≡ γ nθ γ kδ (mod p)

17 / 18
Procédés de
signature

Introduction

Signature El
Gamal
Si la signature est construite correctement, alors la vérification
authentifie la signature car

x θ θδ ≡ γ nθ γ kδ (mod p)
≡ γ nθ+kδ (mod p)

17 / 18
Procédés de
signature

Introduction

Signature El
Gamal
Si la signature est construite correctement, alors la vérification
authentifie la signature car

x θ θδ ≡ γ nθ γ kδ (mod p)
≡ γ nθ+kδ (mod p) (1)
≡ γM (mod p)

où on a utilisé le fait que nθ + kδ ≡ M (mod p − 1).

17 / 18
Procédés de
signature
Exemple
Introduction Soient p = 467, γ = 2, n = 127,
Signature El
Gamal

18 / 18
Procédés de
signature
Exemple
Introduction Soient p = 467, γ = 2, n = 127, et donc
Signature El
Gamal
x = γn mod p

18 / 18
Procédés de
signature
Exemple
Introduction Soient p = 467, γ = 2, n = 127, et donc
Signature El
Gamal
x = γn mod p
= 2127 mod 467

18 / 18
Procédés de
signature
Exemple
Introduction Soient p = 467, γ = 2, n = 127, et donc
Signature El
Gamal
x = γn mod p
= 2127 mod 467
= 132.

18 / 18
Procédés de
signature
Exemple
Introduction Soient p = 467, γ = 2, n = 127, et donc
Signature El
Gamal
x = γn mod p
= 2127 mod 467 (2)
= 132.

Bob souhaite signer le message M = 100 en choisissant la


valeur k = 213 (on note que pgcd(213, 466) = 1 et que 213−1
mod 466 = 431).

18 / 18
Procédés de
signature
Exemple
Introduction Soient p = 467, γ = 2, n = 127, et donc
Signature El
Gamal
x = γn mod p
= 2127 mod 467 (2)
= 132.

Bob souhaite signer le message M = 100 en choisissant la


valeur k = 213 (on note que pgcd(213, 466) = 1 et que 213−1
mod 466 = 431).

On a θ = 2213 mod 467 = 29 et δ = (100 − 127 × 29)431


mod 466 = 51.

18 / 18
Procédés de
signature
Exemple
Introduction Soient p = 467, γ = 2, n = 127, et donc
Signature El
Gamal
x = γn mod p
= 2127 mod 467 (2)
= 132.

Bob souhaite signer le message M = 100 en choisissant la


valeur k = 213 (on note que pgcd(213, 466) = 1 et que 213−1
mod 466 = 431).

On a θ = 2213 mod 467 = 29 et δ = (100 − 127 × 29)431


mod 466 = 51.

N’importe qui peut authentifier la signature en vérifiant


13229 2951 ≡ 189 mod 467 et 2100 ≡ 189 mod 467. La
signature est donc valide.
18 / 18