TP Chiffrement
TP Chiffrement
TP Chiffrement
LP-ARSSI
2021/2022
Travaux pratiques de chiffrement avec OpenSSL
1 CHIFFREMENT SYMETRIQUE
La commande qui vous permet d’utiliser le chiffrement symétrique est la commande enc (en tapant enc –help vous aurez
toutes les options associées)
Question 1 :
Soit un fichier donné fichier_nom_eleve (choisissez un fichier.txt qui contient des données textuelles).
Ecrire la commande qui permet de le chiffrer et produit ainsi un fichier fichier_nom_eleve.enc
On peut alors vérifier que le message fichier_nom_eleve.enc est bien inintelligible. Il est chiffré.
Ce même message est transmis à votre camarade qui pourra également le déchiffrer.
On peut alors vérifier que le message ainsi déchiffré est bien identique à fichier_nom_eleve ...
Il vous est bien sûr de comprendre l’ensemble des manipulations associées.
Il vous est demandé de diversifier les algorithmes. D’utiliser également l’option –a pour produire un fichier chiffré lisible donc codé
en base64 (lisible ne veut pas dire en clair).
Solution :
Openssl> enc -in fichier.txt -out fichier.enc -e -des3 (c’est pour chiffrer)
Openssl> enc -in fichier.enc -out fichier.dec -d -des3 (c’est pour déchiffrer)
Leur demander de diversifier leurs algorithmes. D’utiliser par exemple DES, RC2, RC4, AES, BF (BlueFich) , …
Question 2 :
Pourquoi quand on applique deux fois la commande enc une fois au fichier en clair et une fois au fichier chiffré on n’obtient pas un
résultat en clair.
1
Réponse :
Au fichier chiffré on rajoute des entêtes qui ne font pas partie des données. Ainsi qu’on applique deux fois de suite la commande avec
l’option –e il chiffre et les données et les entêtes. Quand on utilise l’option –d il applique la même fonction sauf qu’il extrait du
chiffrement les données structurelles.
2 CHIFFREMENT ASYMETRIQUE
Génération de clé privée/publique RSA :
Le format de sortie par défaut est du PEM (Privacy Enhanced Mail).
A l’aide de l’option –outform ou -inform on peut changer le format. Deux formats sont supportés par cette option PEM et DER.
Vous avez un fichier de configuration de OPENSSL qui s’appelle ‘openssl.cnf’ ou ‘openssl.txt’. Vous pouvez le placer dans le
répertoire BIN.
Pour créer la clé privée/publique, vous pouvez taper la commande suivante :
OpenSSL> genrsa -out key 1024
2
CHIFFREMENT/DECHIFFREMENT DE DONNEES AVEC RSA
On peut chiffrer des données avec une clé publique RSA. Pour cela on utilise la commande rsautl
• clépublique est le fichier contenant la clé RSA. Si ce fichier ne contient que la parte publique de la clé, il faut
rajouter l'option -pubin.
Pour déchiffrer, on remplace l'option -encrypt par -decrypt. Le fichier contenant la clé doit obligatoirement contenir la partie privée.
3 SIGNATURE DE FICHIERS
Il n'est possible de signer que de petits documents. Pour signer un gros document on calcule d'abord une empreinte de ce document.
La commande dgst permet de le faire.
Fichierempreine : c’est le fichier empreinte du document. Il est de petite taille (128 bits, 160 bits, …)
Signer un document revient à signer son empreinte. Pour cela, on utilise l'option -sign de la commande rsautl
Remarque :
Ce TP peut être attrayant si les élèves s’échangent les fichiers et les clés : par leurs disques flach ou par mail, … Et puis, les étudiants
essayent de déchiffrer ce que leurs collègues les ont envoyé.