Académique Documents
Professionnel Documents
Culture Documents
TD1 : Signatures
Signatures
1. Montrez que si m et m sont deux documents signés par Alice, alors il est facile de fabriquer une
signature pour m m .
1 2
2. Montrez qu'une attaque à message choisi nous permet de signer n'importe quel document.
1 2
Correction :
1. Soit s (respectivement s ) les signatures des messages m et m .
On a
1 2 1 2
d
s = m mod n,
1 1
et d
s = m mod n.
2 2
Alors
s1 s2 = (m1 m2 )d mod n.
2. Pour signer m, il sut de demander à Alice de signer m/2 et 2.
Exercice 3 : Attaque de signature El Gamal
Soit p un nombre premier, et g un générateur de F . ∗
Vérication : Tester si y r = g .
r s h(m)
1. Montrez que si on connait les signatures de deux messages diérents signés avec le même aléa, alors
on peut calculer la clé privée d'Alice.
2. On suppose que le schéma El Gamal est utilisé sans fonction de hachage. soit (α, β) un couple choisi
par l'attaquant.
(a) Montrez que (r, s), avec r = g y mod p et s = −rβ mod p − 1 est une signature valide.
α β −1
Correction :
s2 − s1 = k −1 (h(m2 ) − h(m1 )) ,
ce qui nous donne la valeur de k. On retrouve a an calculant
a = (h(m) − ks1 )/r.
2. On suppose que le schéma El Gamal est utilisé sans fonction de hachage. soit (α, β) un couple choisi
par l'attaquant.
(a) On vérie : y r = y g y = g y = g car par construction, r + βs = 0 mod p − 1.
r s r αs βs αs r+βs αs
Interfaces PKI
Exercice 4 :
1. Quelle est la diérence entre l'émetteur et le détenteur du certicat?
2. Comment sait-on qu'un certicat est intègre? Qu'il est authentique?
3. Quand est-ce qu'un certicat est valide/invalide?
4. Quel protocole déployé à grande échelle de nos jours utilise le système d'autorités de conance?
5. Comment peut-on obtenir un certicat pour sa clé publique sans divulguer sa clé privée?
Correction :
1. émetteur = CA; détenteur = propriétaire de la clé.
2. Les certicats sont signés par leur émetteur donc si la signature est vériée par le CA, l'intégrité
et l'authenticité du certicat sont assurées. Si l'on fait conance à l'émetteur, cela signie que les
informations (clés publique et identité du détenteur) ont été vériées par l'émetteur, et donc que
l'ensemble est authentique.
3. Un certicat est valide si : 1. La date actuelle est dans son intervalle de validité, 2. La signature qu'il
contient est vériée par une CA, 3. Le certicat de l'émetteur (CA) est lui aussi vérié, ou est de
conance.
4. Le protocole SSL/TLS, utilisé par exemple par le protocole HTTPS, utilise un système d'autorités de
conance pour valider les certicats.
5. Pour réaliser un certicat, on a besoin principalement de deux choses : la clé publique, et les informa-
tions d'identités. La clé privée n'est pas utile dans ce cas là. On transmet les informations utiles au
RA (signée avec la clé secrète, pour prouver que l'on possède bien cette clé). Le RA transmet au CA,
qui crée un certicat, le signe, et nous le retourne. La clé privée n'a jamais transité, mais le RA/CA
ont pu constater que l'utilisateur en dispose (puisqu'il a signé).