Vous êtes sur la page 1sur 3

Université Ibn Tofail,

Faculté des Sciences, Kenitra


Département Informatique

Correction TD3
Exercice 1 : RSA
Dans un crypto système asymétrique (ou crypto-système à clés publiques), les clés existent
par paires:
- Une clé publique pour le chiffrement ;
- Une clé secrète pour le déchiffrement.
Ainsi, dans un système de chiffrement à clé publique, les utilisateurs choisissent une clé
aléatoire qu'ils sont seuls à connaître (il s'agit de la clé privée). A partir de cette clé, ils
déduisent chacun automatiquement un algorithme (il s'agit de la clé publique). Les
utilisateurs s'échangent cette clé publique au travers d'un canal non sécurisé. Lorsqu'un
utilisateur désire envoyer un message à un autre utilisateur, il lui suffit de chiffrer le message
à envoyer au moyen de la clé publique du destinataire (qu'il trouvera par exemple dans un
serveur de clés tel qu'un annuaire LDAP). Ce dernier sera en mesure de déchiffrer le message
à l'aide de sa clé privée (qu'il est seul à connaître).
1- sous quelle condition M mod n = M
La condition M mod n = M est correct si et seulement si M<n
2- fabrication des clés par RSA : l’utilisateur A choisi les facteurs premiers p = 11 et q =
23. Trouvez n, e et d ?
Fabrication des clés par RSA
𝑛 = 𝑝 ∗ 𝑞 = 11 ∗ 23 = 253
et
𝛷(𝑛) = (𝑝 − 1)(𝑞 − 1) = 220
Prenons e=7 (pour faciliter le calcule en prend e un petit nombre premier avec Φ(n)) on
s’assure (Euclide) que e est premier avec 220 On a :
𝑃𝐺𝐶𝐷(𝑒, 𝑛) = (7,220) = 1
220 = 31 ∗ 7 + 3
7 = 3∗ 2 + 1
1 = 7 – (3 ∗ 2) => 1 = 7 – ((220 – (31 ∗ 7)) ∗ 2) = 7 ∗ 63 – 2 ∗ 220
𝑋 = 𝑥° + 𝑛/(𝑎, 𝑛) 𝑘 , 𝑘 𝜖 𝑍
𝑋 = 63/(7,220) − 220/(7,220)
Et en suppose 𝑘 = −1, on obtient donc :
𝑋 = 𝑑 = 63 + 220 = 283
- La clé publique est (e,n) = (7,253) (=clé d'encryptage)
- La clé privée est (d,n) = (283,253) (=clé de décryptage)
Si on prend e=3 :
𝑃𝐺𝐶𝐷(𝑒, 𝑛) = (7,220) = 1
220 = 73 ∗ 3 + 1
1 = 220 − 73 ∗ 3
73 220
𝑋=− +
(3,220) (3,220)

On suppose𝑘 = 1, on obtient donc :


𝑋 = 𝑑 = −73 + 220 = 147

Pr. Khalil IBRAHIMI 2019-2020


Université Ibn Tofail,
Faculté des Sciences, Kenitra
Département Informatique

3- Chiffrement par RSA : chiffrez le message M = 165 et le résultat est noté par C
L’espace des messages en clair est constitué de tous les messages m avec 𝟎 ≤ 𝒎 < 𝒏.
Le message en clair m est chiffré par la relation :
𝐶 = 𝑚𝑒 𝑚𝑜𝑑 𝑛.
𝐶 = 1657 𝑚𝑜𝑑253 = 77
4- Déchiffrement par RSA : déterminez à partir du cryptogramme C précédent le message
M
Le message c est déchiffré par la relation :
77283 𝑚𝑜𝑑 253 = 165
Exercice 2
Donner le protocole d’échange de clé avec cet algorithm
Diffie et Hellman ont proposé en 1976 un protocole d'échange de clés totalement sécurisé
Le protocole d'échange de clés de Diffie et Hellman repose sur l'arithmétique modulaire, et
sur le postulat suivant
Étant donnés des entiers n,g,m, avec n premier et 1 ≤ 𝑔 ≤ 𝑛 − 1:
- Il est facile de calculer l'entier 𝑦 = 𝑔𝑚 (𝑚𝑜𝑑 𝑛).
- Si on connait 𝑦 = 𝑔𝑚 (𝑚𝑜𝑑 𝑛).g et n, il est très difficile de retrouver m, pourvu que n soit
assez grand.
Exercice 3 : Clés du système El Gamal
1- Trouver les clés publique et privée de ce systèm
On a un nombre premier n = 13 et g = 3
On choisit ensuite un entier m tels que 0≤m≤n-1
Choisissons m = 7, On a alors :
𝑦 = 𝑔𝑚 𝑚𝑜𝑑 𝑛 = 37 𝑚𝑜𝑑 13 = 3
La clé publique est donc le triplet (13, 3,3) et la clé secrète l'entier 7.
2- Trouver la signature S(M)
On choisit un entier k tels que : 0 ≤ 𝑘 ≤ 𝑛 − 1 et 𝑝𝑔𝑐𝑑(𝑘, 𝑛 − 1) = 1
Choisissons 𝑘 = 11 :
On suppose que le schéma El Gamal est utilisé sans fonction de hachage
On calcule l’inverse de k modulo n-1 au moyen de l’algorithme d’Euclide étendu qui
donne.
Exercice 4
1- Donner les informations qu’il contient un certificat numérique
- Un certificat peut être vu comme une carte d'identité numérique. Il est utilisé
principalement pour identifier et authentifier une personne physique ou morale, mais aussi
pour chiffrer des échanges. Il est signé par un tiers de confiance qui atteste du lien entre
l'identité physique et l'entité numérique (virtuelle). Le standard le plus utilisé pour la création
des certificats numériques est le X.509
- X.509 est une norme de cryptographie de l'Union internationale des télécommunications
pour les infrastructures à c lés publiques (PKI). X.509 établit entre autres les formats
standards de certificats électroniques et un algorithme pour la validation de chemin de
certification.
-X.509 a été créé en 1988 dans le cadre de la norme X.500. Il repose sur un système
hiérarchique d'autorités de certific ation, à l'inverse des réseaux de confiance (comme PGP),
où n'importe qui peut signer (et donc valider) les certificats des autres.
2- Discuter les cas suivants :

Pr. Khalil IBRAHIMI 2019-2020


Université Ibn Tofail,
Faculté des Sciences, Kenitra
Département Informatique

- Deux certificats différents contiennent la même clé publique.


- Deux certificats différents ont la même signature
Structure d'un certificat La définition originelle est disponible dans la RFC 2459 (section 4) ou
dans la dernière version (RFC 5280), qui contient une spécialisation de X.509 pour les
applications Internet. La partie authentifiée contient les champs suivants :
- Version
- Numéro de série
- Algorithme de signature du certificat
- DN (Distinguished Name) du délivreur (autorité de certification)
- Validité (dates limite)
o Pas avant
o Pas après
- DN du détenteur du certificat
- Informations sur la clé publique :
o Algorithme de la clé publique
o Clé publique proprement dite
- Identifiant unique du signataire (optionnel, X.509v2)
- Identifiant unique du détenteur du certificat (optionnel, X.509v2)
- Extensions (optionnel, à partir de X.509v3)
o Liste des extensions
- Signature des informations ci-dessus par l'autorité de certification

Pr. Khalil IBRAHIMI 2019-2020