Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
2018/2019
Faculté des Sciences Rabat-Agdal
TP N°1
Objectif :
Le but de ce TP est :
Tester la stéganographie comme moyen de sécurité
La mise en œuvre de quelques algorithmes de chiffrement symétriques et asymétriques à
travers l’utilisation de la boite à outil cryptographique OpenSSL sous Windows.
N.B : Chaque binôme doit rendre un compte rendu qui détaille le travail réalisé durant le TP
(Réponses aux questions, commandes utilisées, résultats…).
Partie 1 : Stéganographie
1) Ouvrez l'invite de commandes cmd puis changer d’emplacement pour aller dans le bon répertoire :
cd "c:\Steghide"
2) Saisissez les commandes suivantes pour cacher le fichier texte "ensak.txt" dans une image quelconque
"test.jpg" : c:\Steghide> steghide embed -cf test.jpg -ef ensak.txt
On peut aussi rajouter des options pour extraire, en mode bavard "-v" et écrire directement le mot de passe
"-p".
2. Cacher un texte dans une image puis envoyez cette image à votre binôme par email.
Partie 2: Cryptographie
A-Cryptographie symétrique
Chiffrement symétrique avec openSSL
C’est la commande « enc » qui permet de chiffrer/déchiffrer avec openssl. ($openssl enc <options>)
Exercice2 :
Q 1. Quelle est la différence entre les deux modes de chiffrement CBC et ECB ? Chiffrer le même fichier
avec le mode CBC. Refaite la même opération avec le mode ECB.
Exercice 4 :
Q 1. Générer une clef aléatoire de 56 bits pour l’utiliser dans l’algorithme DES à l’aide de la commande
« openssl rand <option> ». Sauvegarder cette clef dans fichier nommé « clef_des ».
Q 2. Chiffrer un fichier « toto » avec l’algorithme DES et la clef aléatoire « clef_des ». Déchiffrer le
cryptogramme avec la même clef pour vérifier le bon fonctionnement de ce processus.
1 Sélectionnez une image BMP ; Utilisez l’éditeur Hexadécimal Free Hex pour éditer le fichier BMP.
Ensuite, supprimez l’en-tête de l’image BMP (les 54 premiers octets). Sauvegardez le fichier sous le
nom test.dat.
3. Editer le fichier testcrypt.dat avec l’éditeur Hexadécimal puis insérer l’en-tête que vous avez supprimé
à l’étape 1 ; Sauvegarder le fichier résultant sous le nom imagecrypt.bmp ; Visualisez le résultat.
B-Cryptographie asymétrique
Le but de cette partie est la mise en pratique du chiffrement RSA, l’utilisation des fonctions de hachage
ainsi que la signature numérique.
Par exemple, pour générer une paire de clés de 1024 bits, stockée dans le fichier maCle.pem,
on tape la commande
openssl genrsa -out maCle.pem 1024
Par exemple
openssl rsa -in maCle.pem -text -noout
Les différents éléments de la clé sont affichés en hexadécimal (hormis l'exposant public). On
peut distinguer le modulus (n), l'exposant public (e) (qui par défaut est toujours 65537),
l'exposant privé (d), les nombres premiers facteurs ( p et q) du modulus, plus trois autres
nombres qui servent à optimiser l'algorithme de déchiffrement.
2) Avec la commande rsa visualisez la clé publique. Attention vous devez préciser l’option
–pubin, puisque seule la partie publique figure dans le fichier maClePublique.pem.
cleest le fichier contenant la clé RSA. Si ce fichier ne contient que la parte publique
de la clé, il faut rajouter l’option –pubin.
fichier_sortie est le fichier de données chiffré.
1) Chiffrez un fichier texte de votre choix avec le système RSA en utilisant la clé publique
de votre destinataire (demandez-lui sa clé publique si vous ne l'avez pas). Envoyez-lui
le fichier chiffré.
2) Déchiffrer le fichier que vous avez reçu en utilisant votre propre clé privée.
6) 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 :
openssl dgst <hachage> -out <empreinte> <fichier_entree>
où hachage est une fonction de hachage. Avec openssl, plusieurs fonctions de hachage
sont proposées dont :
Signer un document revient à signer son empreinte. Pour cela, on utilise l'option -sign de
la commande rsautl comme suit:
openssl rsautl -verify -in <signature> -pubin -inkey <cle> -out <empreinte>
Il reste ensuite à vérifier que l'empreinte ainsi produite est la même que celle que l'on peut
calculer. L'option -pubin indique que la clé utilisée pour la vérification est la partie
publique de la clé utilisée pour la signature.