2LIOT TP sécurité informatique 2023-2024
TP3 – Cryptage/Décryptage « RSA » et Signature
Objectifs du TP
L’objectif de ce TP est d’utiliser l’outil OpenSSL afin de crypter/décrypter des fichiers en
utilisant l’algorithme RSA et de les signer.
Travail demandé
Partie A : Génération des clés privé et publique RSA
Pour générer une paire de clés RSA, utiliser la commande openssl genrsa. La syntaxe de cette
commande est la suivante : openssl genrsa -out <[Link]>
Il faut maintenant extraire la clé publique de la clé privée. Pour cela il faut utiliser la commande
suivante : openssl rsa -in <[Link]> -out <[Link]> -pubout
Partie B : Cryptage/Décryptage
1) Cryptage d'un fichier [Link] :
Pour crypter des données avec une clé RSA, utiliser la commande openssl rsautl. La syntaxe de
cette commande est la suivante :
$openssl rsautl -encrypt -in <fichier entrée> -inkey <clé> -out <fichier sortie>
• Fichier entrée : fichier des données à crypter.
• Clé : fichier contenant la clé RSA. Si ce fichier ne contient que la partie publique de la
clé, il faut rajouter l’option -pubin.
• Fichier sortie : fichier de données cryptées.
Pour décrypter l’option -encrypt doit être replacée par -decrypt. Le fichier contenant la clé
doit obligatoirement contenir la partie privée.
a) Commencer par créer un fichier [Link] et le remplir avec du texte.
b) Crypter le fichier déjà crée pour l’envoyer au client B.
c) Visualiser le contenu du fichier crypté. Conclure.
1
2LIOT TP sécurité informatique 2023-2024
2) Décryptage du fichier :
A la réception du fichier crypté, le client B va réaliser l’opération de décryptage pour récupérer
le fichier d’origine.
a) Décrypter le fichier obtenu à l’étape précédente.
b) Visualiser le contenu du fichier obtenu après décryptage. Contient-il le même
contenu du fichier d’origine ?
Partie C : Signature d’un fichier
Le but de cette partie est de signer un document. D’abord on va calculer l’empreinte du
document puis on va la crypter.
a) A l’aide de la commande openssl dgst calculer l’empreinte du document utilisé dans la
partie précédente. Utiliser la fonction de hachage MD5.
Syntaxe de la commande openssl dgst:
$openssl dgst -<hachage> -out <empreinte> < fichierentree >
b) Signer l’empreinte du fichier à l’aide de la commande openssl rsautl avec l’option
-sign. Syntaxe de la commande :
$openssl rsautl -sign -in <empreinte> -inkey <clé> -out <signature>
c) Visualiser le contenu du fichier résultat. Que contient-il ? expliquer
d) Vérifier la signature en utilisant la commande openssl rsautl avec l’option -verify.
Conclure. Syntaxe :
openssl rsautl -verify -pubin -inkey <clé> -in <empreinte> -sigfile <signature>
e) Modifier le contenu du document utilisé puis reprendre les question a), b) et c) et conclure