Université Hassan Premier
Faculté des sciences et techniques
Rapport Technique — Mini-projet OpenSSL
Sécurité des données avec OpenSSL :
Chiffrement et hashage
Réalisé Par : Encadré Par :
BELHAJ AYMEN Pr. Soukaina MIHI
YAMANI ADAM
Année Universitaire 2024 – 2025
Table des matières
Rapport Technique — Mini-projet OpenSSL................................................................................1
1. Introduction..............................................................................................................................3
2. Présentation d’OpenSSL..........................................................................................................3
3. Préparation de l’environnement..............................................................................................3
4. Chiffrement Symétrique..........................................................................................................4
5. Chiffrement Asymétrique........................................................................................................4
6. Hashage des mots de passe.......................................................................................................5
7. Cas d’usage concrets................................................................................................................6
8. Conclusion.................................................................................................................................6
9. Références.................................................................................................................................7
1. Introduction
La sécurité des données est un enjeu fondamental dans le domaine informatique. Que ce soit
pour sécuriser les communications, garantir l'intégrité des fichiers ou protéger les identifiants
des utilisateurs, des techniques de chiffrement et de hashage fiables sont indispensables.
Ce mini-projet vise à explorer les fonctionnalités d'OpenSSL, un outil libre et puissant
permettant d'appliquer concrètement des techniques de sécurité comme le chiffrement
symétrique et asymétrique, ainsi que le hachage.
Objectifs du projet :
Mettre en œuvre les méthodes de chiffrement symétrique et asymétrique
Expérimenter différents algorithmes de hachage
Comprendre les enjeux de sécurité associés
2. Présentation d’OpenSSL
OpenSSL est une bibliothèque open source qui fournit une implémentation robuste des
protocoles SSL/TLS ainsi que de nombreux outils cryptographiques accessibles via une
interface en ligne de commande.
Fonctionnalités principales :
Génération de paires de clés (RSA, ECC)
Création et gestion de certificats numériques
Chiffrement et déchiffrement de fichiers
Calcul d'empreintes de fichiers (hash)
Signature et vérification de fichiers
3. Préparation de l’environnement
Installation d’OpenSSL
Linux (Debian/Ubuntu) :
Vérification de la version
4. Chiffrement Symétrique
4.1 Définition
Le chiffrement symétrique repose sur une seule clé secrète pour chiffrer et déchiffrer les
données. Il est plus rapide que le chiffrement asymétrique mais nécessite un échange sécurisé
de la clé.
4.2 Algorithmes supportés et description
AES (Advanced Encryption Standard) : algorithme moderne de chiffrement par
blocs avec des tailles de clé de 128, 192 ou 256 bits. Il est très sécurisé et largement
utilisé.
DES (Data Encryption Standard) : ancien algorithme à clé de 56 bits, aujourd’hui
obsolète car vulnérable.
3DES (Triple DES) : applique DES trois fois pour augmenter la sécurité, mais reste
lent comparé à AES.
Blowfish : algorithme rapide à clé variable (jusqu’à 448 bits), encore utilisé dans
certaines applications.
RC4 : algorithme de chiffrement par flot rapide, mais déconseillé à cause de failles
connues.
4.3 Exemple avec AES-256-CBC
4.4 Avantages & Inconvénients
Très rapide et efficace pour de gros volumes
Moins sûr si la clé est interceptée
5. Chiffrement Asymétrique
5.1 Définition
Ce type de chiffrement utilise une paire de clés :
Une clé publique pour chiffrer
Une clé privée pour déchiffrer
Il est plus sécurisé mais plus lent, souvent utilisé pour l’échange de clés ou la signature
numérique.
5.2 Algorithmes supportés et description
RSA (Rivest–Shamir–Adleman) : repose sur la difficulté de factoriser de grands
entiers. Très utilisé pour le chiffrement, l’échange de clés et la signature.
DSA (Digital Signature Algorithm) : utilisé uniquement pour la signature
numérique. Moins polyvalent que RSA.
EC (Elliptic Curve) : cryptographie à courbes elliptiques offrant un haut niveau de
sécurité avec des clés plus courtes. Rapide et efficace.
5.3 Implémentation avec RSA
6. Hashage des mots de passe
6.1 Définition
Le hashage consiste à transformer une donnée d’entrée en une empreinte fixe et irréversible.
Cela permet de stocker les mots de passe de manière sécurisée (on compare les empreintes,
jamais les mots de passe réels).
6.2 Algorithmes disponibles et description
MD5 (Message Digest 5) : rapide mais vulnérable aux collisions. À éviter pour des
applications sécurisées.
SHA-1 (Secure Hash Algorithm 1) : plus robuste que MD5 mais également obsolète.
SHA-256 / SHA-512 : membres de la famille SHA-2, très utilisés actuellement.
Offrent une grande sécurité et sont recommandés.
6.3 Exemples de commandes
6.4 Bonnes pratiques
Éviter MD5 et SHA1 (trop faibles face aux attaques)
Utiliser SHA256 avec salage manuel
Utiliser des fonctions dédiées au hashage de mot de passe comme bcrypt ou Argon2
dans un environnement applicatif
7. Cas d’usage concrets
Connexion HTTPS : Exemple de création d’un certificat auto-signé avec OpenSSL
pour sécuriser une connexion HTTPS.
Signature de documents : Exemple de signature d'un fichier avec une clé privée et
vérification avec la clé publique.
Stockage sécurisé des mots de passe : Mentionne des bonnes pratiques de stockage
des mots de passe dans les bases de données, comme l’utilisation de HMAC (Hash-
based Message Authentication Code).
Protection des fichiers sensibles : Exemple de chiffrement de fichiers sensibles avec
AES.
8. Conclusion
Ce mini-projet a permis d’explorer les fonctionnalités fondamentales d’OpenSSL dans le
domaine de la sécurité des données. De la génération de clés à la mise en œuvre de techniques
de chiffrement et de hashage, l’ensemble des expériences réalisées renforce la compréhension
des mécanismes cryptographiques utilisés dans les systèmes modernes.
La maîtrise de ces outils est cruciale pour tout développeur ou administrateur travaillant sur
des applications sensibles.
9. Références
Site officiel OpenSSL
OpenSSL Command-line documentation
OWASP - Password Storage Cheat Sheet
RFC 3447 – PKCS #1: RSA Cryptography Standard