Vous êtes sur la page 1sur 3

Faculté des sciences

Département Informatique

Devoir 2
INFO4305
Cryptographie

100 points

Session : Hiver 2023


Directives
À remettre :
1. Ce fichier incluant les réponses à la suite de chaque question. Renommez le fichier comme suit :
INFO4305_H23_D2_<NI>_Nom_Prenom.docx (remplacez <NI> par votre NI : A00…)
2. Pour avoir la note complète aux exercices, veuillez détailler l’explication de vos résultats et vos
recherches. Toute tentative de plagiat sera sanctionnée.

Enoncé
Exercice 1 (40points)

1. Bob choisit comme nombre premier p = 17 et q = 19, comme exposant e = 5. Alice et lui
se fixent un protocole RSA dans lequel les messages sont des nombres en base 10 que l’on
code par bloc de 2 chiffres. Alice veut envoyer le message ”462739”.
2. Donnez la clé publique de Bob.
3. Donnez le clé secrète d de Bob.
4. Ecrivez le message chiffré que Alice envoie à Bob.
5. Déchiffrez le message qu’a reçu Bob et vérifiez que c’est bien celui qu’a envoyé Alice
6. On considère un module RSA avec n=pq, où p et q sont les inconnues. Une des méthodes
de cryptanalyse de tel système et la factorisation de n. Démontrer simplement que la
connaissance de Φ(n) permet de remonter à la factorisation de n.
Exercice 2 (20 points)
Un administrateur observe des certificats générés par la même autorité de certification dans le
cadre d’une infrastructure à clé publique (une PKI). Il examine des certificats différents. Pour fixer
les idées on suppose par exemple que les certificats sont générés selon la norme X509.

1. L’administrateur constate que deux certificats différents portent une signature identique.
Quelle peut être la source de cette situation ? Quel est le danger résultant (que doit faire
l’administrateur) ?
2. L’administrateur examine deux certificats différents et constate qu’ils portent des clés
publiques identiques. Quelle peut être la source de cette situation ? Quel est le danger
résultant ?
3. L’administrateur constate que deux certificats différents portent un numéro de série
identique. Quelle peut être la source de cette situation ? Quel est le danger résultant (que
doit faire l’administrateur) ?
4. L’administrateur constate que deux certificats différents sont signés au moyen de la même
clé privée. Quelle peut être la source de cette situation ? Quel est le danger résultant (que
doit faire l’administrateur) ?
Introduction aux travaux pratiques

OpenSSL est une boîte à outils cryptographiques implémentant les protocoles SSL et TLS qui
offre
1. une bibliothèque de programmation en C permettant de réaliser des applications client/serveur
sécurisées s’appuyant sur SSL/TLS.
2. une commande en ligne (OpenSSL) permettant :
– la création de clés RSA, DSA (signature)
– la création de certificats X509
– le calcul d’empreintes (MD5, SHA, RIPEMD160, ...)
– le chiffrement et déchiffrement (RSA, DES, IDEA, RC2, RC4, Blowfish, ...)
– la réalisation de tests de clients et serveurs SSL/TLS

Exercice 1 : Téléchargement et installation (40 points)


Télécharger OpenSSL pour Windows à partir du site web : ‘éviter la version light’
https://slproweb.com/products/Win32OpenSSL.html Installer l’outil et ajouter les deux chemins
ci-dessous de l’installation d’openssl dans les variables d’environnement de votre système.
>set OPENSSL_CONF=C:\Program Files\OpenSSL-Win64\bin\openssl.cnf
>set Path= C:\Program Files\OpenSSL-Win64\bin
1. Quelle est la version d’openssl installée ?
2. Afficher via une commande tous les algorithmes de cryptographie dans l’outil openssl ?
comment l’obtenir ?
3. Donner une explication détaillée de chacune des options suivantes en expliquant le niveau de
sécurité de chacune et le lien avec ceux qu’on a vu dans le cours :
i. aes-192-cbc
ii. aes-256-ecb
iii. cast5-cfb
iv. des-ede3-ofb
4. Quel est la signification de base64-encoding?
Tester cela avec la commande : openssl enc -base64 -in file.txt ou bien openssl enc -
base64 -in file.txt -out file.txt.enc
5. Choisir un fichier dans votre répertoire et générer le digest en SHA1, SHA2 et MD5.
6. Générez votre clé privée avec une longueur de 1024 bits.
7. Dériver la clé publique associée à la clé privée.
8. Générer une clé de 32bit comme une clé de cryptage symétrique pour une utilisation ultérieur.
9. Créer un fichier file.txt contenant un message secret.
10. Chiffrer le fichier file.txt avec l’algorithme AES 256 bits puis effectuer le déchiffrement.
Expliquer chaque élément de vos résultats.
Pour cela, il faut lire la documentation, elle comprend les différentes commandes nécessaires pour
cet exercice : https://wiki.openssl.org/index.php/Command_Line_Utilities
Chaque question du travail pratique doit être accompagnée d’une capture d’écran relative à votre
réponse et d’une explication des résultats de vos commandes.

Vous aimerez peut-être aussi