Module 1 : Fondamentaux Cryptographiques
Durée estimée : 1 heure
Objectifs du Module
Ă la fin de ce module, vous serez capable de :
- Distinguer chiffrement, hashing et encodage
- Expliquer la différence entre cryptographie symétrique et asymétrique
- Choisir l'algorithme approprié selon le cas d'usage
- Appliquer les recommandations ANSSI pour les tailles de clés
1. Les 3 Piliers de la Cryptographie
Avant de manipuler des certificats, il faut comprendre les concepts fondamentaux.
Vue d'ensemble
graph TD
A[Données] --> B{Objectif ?}
B -->|Confidentialité| C[Chiffrement]
B -->|Intégrité| D[Hashing]
B -->|Transport| E[Encodage]
C --> F[Réversible avec clé]
D --> G[Irréversible]
E --> H[Réversible sans clé]
| Concept | Réversible | Utilise des clés | Objectif | Exemples |
|---|---|---|---|---|
| Chiffrement | Oui | Oui | Confidentialité | AES, RSA, ChaCha20 |
| Hashing | Non | Non | Intégrité | SHA256, bcrypt |
| Encodage | Oui | Non | Transport/Format | Base64, Hex |
1.1 Chiffrement (Encryption)
Le chiffrement transforme des données lisibles en données illisibles, réversible uniquement avec la bonne clé.
Texte clair + ClĂ© â [Chiffrement] â Texte chiffrĂ©
Texte chiffrĂ© + ClĂ© â [DĂ©chiffrement] â Texte clair
Cas d'usage :
- Protection de fichiers sensibles
- Communications sécurisées (HTTPS, SSH)
- Chiffrement de disque (BitLocker, LUKS)
- Messagerie chiffrée (Signal, WhatsApp)
Vocabulaire Français Correct
| Terme | Définition | Usage |
|---|---|---|
| Chiffrer | Transformer avec une clé | Correct |
| Déchiffrer | Inverser avec la clé | Correct |
| Décrypter | Inverser sans la clé (attaque) | Contexte sécurité |
| Crypter | N'existe pas en français | à éviter |
1.2 Hashing (Hachage)
Le hashing produit une empreinte de taille fixe, impossible Ă inverser.
DonnĂ©es â [Fonction Hash] â Empreinte (digest)
"Hello" â SHA256 â 2cf24dba5fb0a30e26e83b2ac5b9e29e...
"Hello!" â SHA256 â 33d7c290db4c... (complĂštement diffĂ©rent)
Propriétés essentielles :
- DĂ©terministe : MĂȘme entrĂ©e = mĂȘme sortie
- Sens unique : Impossible de retrouver l'original
- Effet avalanche : 1 bit modifié = hash totalement différent
- RĂ©sistance aux collisions : Difficile de trouver deux entrĂ©es avec le mĂȘme hash
Cas d'usage :
- Stockage de mots de passe (avec salt !)
- Vérification d'intégrité de fichiers
- Signatures numériques
- Blockchain
1.3 Encodage (Encoding)
L'encodage change le format des données pour le transport. Ce n'est PAS de la sécurité !
Encodage â SĂ©curitĂ©
Base64 n'est pas du chiffrement. N'importe qui peut le décoder instantanément.
Cas d'usage :
- PiĂšces jointes email (MIME)
- URLs (URL encoding)
- Certificats (format PEM = Base64)
- JSON avec données binaires
2. Symétrique vs Asymétrique
2.1 Chiffrement Symétrique
Une seule clé secrÚte pour chiffrer ET déchiffrer.
âââââââââââââââââââââââââââââââââââââââ
â ClĂ© SecrĂšte â
â (partagĂ©e entre les deux) â
ââââââââââââââââŹâââââââââââââââââââââââ
â
ââââââââââââŽâââââââââââ
⌠âŒ
[Chiffrer] [Déchiffrer]
â â
Clair â ChiffrĂ© ChiffrĂ© â Clair
| Avantages | Inconvénients |
|---|---|
| TrÚs rapide | Distribution de la clé complexe |
| Efficace pour gros volumes | Si la clé fuite, tout est compromis |
| Simple à implémenter | Besoin d'un canal sécurisé pour l'échange |
Algorithmes recommandés :
| Algorithme | Taille de clé | Usage |
|---|---|---|
| AES-256 | 256 bits | Standard, trÚs répandu |
| ChaCha20 | 256 bits | Mobile, performance |
| 3DES | 168 bits | Déprécié, à éviter |
Exemple pratique :
2.2 Chiffrement Asymétrique
Deux clés liées mathématiquement : une publique, une privée.

Pour le Chiffrement (Confidentialité)
ClĂ© publique chiffre â ClĂ© privĂ©e dĂ©chiffre
sequenceDiagram
participant Alice
participant Bob
Bob->>Alice: Envoie sa clé PUBLIQUE
Alice->>Alice: Chiffre le message avec clé publique de Bob
Alice->>Bob: Envoie le message chiffré
Bob->>Bob: DĂ©chiffre avec sa clĂ© PRIVĂE
Pour la Signature (Authentification)
ClĂ© privĂ©e signe â ClĂ© publique vĂ©rifie
sequenceDiagram
participant Bob
participant Alice
Bob->>Bob: Signe le document avec sa clĂ© PRIVĂE
Bob->>Alice: Envoie document + signature
Alice->>Alice: Vérifie avec la clé PUBLIQUE de Bob
Alice->>Alice: "Oui, c'est bien Bob qui a signé"
| Avantages | Inconvénients |
|---|---|
| Pas de problĂšme de distribution | Beaucoup plus lent |
| Signatures numériques | Taille de données limitée |
| Non-répudiation | Calculs complexes |
Algorithmes recommandés (ANSSI) :
| Algorithme | Taille de clé minimale | Recommandation |
|---|---|---|
| RSA | 3072 bits | 4096 bits pour long terme |
| ECDSA | P-256 (256 bits) | P-384 recommandé |
| Ed25519 | 256 bits | Moderne, performant |
2.3 Chiffrement Hybride (Le Monde Réel)
Les systĂšmes modernes combinent les deux approches :
- Asymétrique pour échanger une clé de session
- Symétrique pour chiffrer les données (rapide)
flowchart LR
A[Handshake TLS] --> B[Ăchange clĂ© RSA/ECDH]
B --> C[Clé de session AES]
C --> D[Chiffrement rapide des données]
style A fill:#FF9800800f43
style B fill:#f44336
style C fill:#54a0ff
style D fill:#5f27cd
Exemple : HTTPS (TLS)
- Le client et le serveur négocient avec RSA/ECDH
- Ils génÚrent une clé AES-256 partagée
- Tout le trafic est chiffré en AES (rapide)
3. Recommandations ANSSI
L'ANSSI (Agence Nationale de la Sécurité des SystÚmes d'Information) publie des recommandations pour les environnements sensibles (SecNumCloud, etc.).
Algorithmes et Tailles de Clés
| Type | Algorithme | Minimum | Recommandé |
|---|---|---|---|
| Symétrique | AES | 128 bits | 256 bits |
| Asymétrique RSA | RSA | 3072 bits | 4096 bits |
| Asymétrique EC | ECDSA | P-256 | P-384 |
| Hash | SHA | SHA-256 | SHA-384/512 |
Durée de Validité des Certificats
| Type de certificat | Durée maximale |
|---|---|
| Certificat public (web) | 1 an (398 jours) |
| Certificat interne | 2-3 ans |
| Certificat CA intermédiaire | 5-10 ans |
| Certificat CA Root | 20-30 ans |
Certificats Expirés
Un certificat expiré = service indisponible.
La gestion du cycle de vie est critique en production.
4. Exercice Pratique
Objectif
Manipuler les différents concepts avec OpenSSL.
TĂąches
Exercice 1 : Hashing
Créez un fichier texte et calculez son hash SHA256. Modifiez un seul caractÚre et recalculez. Que constatez-vous ?
Exercice 2 : Chiffrement Symétrique
Chiffrez un fichier avec AES-256, puis déchiffrez-le.
Exercice 3 : Clés Asymétriques
Générez une paire de clés RSA 4096 bits.
Solutions
Exercice 1 : L'effet avalanche fait que le hash change complĂštement, mĂȘme pour une modification minime.
Exercice 2 : Le fichier .enc contient des données binaires illisibles. Seul le bon mot de passe permet de récupérer le contenu.
Exercice 3 : La clé privée contient tous les paramÚtres (p, q, d, e, n), tandis que la clé publique ne contient que (e, n).
Exercice : Ă Vous de Jouer
Mise en Pratique
Objectif : MaĂźtriser les concepts cryptographiques fondamentaux et leur mise en Ćuvre avec OpenSSL
Contexte : Vous travaillez dans l'équipe sécurité d'une entreprise qui souhaite protéger des fichiers sensibles avant leur archivage. Vous devez comprendre et appliquer les différentes techniques cryptographiques pour garantir confidentialité et intégrité.
Tùches à réaliser :
- Créez un fichier texte contenant des données sensibles (ex: "Données confidentielles de l'entreprise XYZ")
- Calculez l'empreinte SHA-256 de ce fichier, puis modifiez un seul caractĂšre et recalculez pour observer l'effet avalanche
- Chiffrez le fichier avec AES-256-CBC en mode symétrique, vérifiez qu'il est illisible, puis déchiffrez-le
- Générez une paire de clés RSA 4096 bits conforme aux recommandations ANSSI
- Extrayez la clé publique et comparez les informations avec la clé privée
CritĂšres de validation :
- [ ] Le hash SHA-256 change complĂštement mĂȘme avec une modification mineure
- [ ] Le fichier chiffré en AES-256 est totalement illisible sans la clé
- [ ] Le déchiffrement restaure exactement le contenu original
- [ ] La clé RSA générée fait bien 4096 bits
- [ ] La clé publique ne contient que les paramÚtres (e, n) tandis que la privée contient tous les paramÚtres
Solution
Ătape 1 : CrĂ©ation du fichier et calcul de hash
# Créer le fichier
echo "Données confidentielles de l'entreprise XYZ" > secret.txt
# Calculer le hash SHA-256
sha256sum secret.txt
# Ou avec OpenSSL
openssl dgst -sha256 secret.txt
# Modifier un caractĂšre
echo "Données confidentielles de l'entreprise XYz" > secret.txt
# Recalculer le hash
sha256sum secret.txt
Observation : L'empreinte SHA-256 change complĂštement, dĂ©montrant l'effet avalanche. MĂȘme une modification d'un seul bit produit un hash totalement diffĂ©rent.
Ătape 2 : Chiffrement symĂ©trique AES-256
# Recréer le fichier original
echo "Données confidentielles de l'entreprise XYZ" > secret.txt
# Chiffrer avec AES-256-CBC
openssl enc -aes-256-cbc -salt -pbkdf2 -in secret.txt -out secret.enc
# Entrez un mot de passe fort quand demandé
# Vérifier que le fichier est illisible
cat secret.enc
# Affiche des caractĂšres binaires illisibles
# Déchiffrer
openssl enc -d -aes-256-cbc -pbkdf2 -in secret.enc -out decrypted.txt
# Entrez le mĂȘme mot de passe
# Vérifier le contenu
cat decrypted.txt
# Doit afficher : Données confidentielles de l'entreprise XYZ
Explication : Le chiffrement AES-256 transforme les données en contenu binaire illisible. Seul le bon mot de passe permet de récupérer le contenu original. L'option -pbkdf2 renforce la sécurité de la dérivation de clé.
Ătape 3 : GĂ©nĂ©ration de clĂ©s RSA 4096 bits
# Générer la clé privée RSA 4096 bits
openssl genrsa -out private_rsa.pem 4096
# Vérifier la taille de la clé
openssl rsa -in private_rsa.pem -text -noout | head -1
# Doit afficher : Private-Key: (4096 bit, 2 primes)
# Extraire la clé publique
openssl rsa -in private_rsa.pem -pubout -out public_rsa.pem
# Examiner la clé privée (premiers 30 lignes)
openssl rsa -in private_rsa.pem -text -noout | head -30
# Contient : modulus (n), publicExponent (e), privateExponent (d),
# prime1 (p), prime2 (q), etc.
# Examiner la clé publique
openssl rsa -pubin -in public_rsa.pem -text -noout
# Contient uniquement : modulus (n) et Exponent (e)
Explication : La clé privée contient tous les paramÚtres mathématiques nécessaires au chiffrement et au déchiffrement (notamment les nombres premiers p et q), tandis que la clé publique ne contient que le modulus n et l'exposant public e. C'est pourquoi la clé privée doit rester secrÚte.
Points clés à retenir :
- Le hashing (SHA-256) est irréversible et détecte toute modification
- Le chiffrement symétrique (AES-256) est rapide mais nécessite un partage sécurisé de la clé
- Le chiffrement asymétrique (RSA) utilise deux clés liées mathématiquement
- Les recommandations ANSSI (RSA 4096, SHA-256+, AES-256) garantissent une sécurité à long terme
5. Quiz de Validation
Question 1 : Quelle est la différence entre chiffrement et hashing ?
Réponse : Le chiffrement est réversible avec la bonne clé, le hashing est irréversible (sens unique).
Question 2 : Base64 est-il sécurisé pour protéger des données ?
Réponse : Non ! Base64 est un encodage, pas du chiffrement. N'importe qui peut le décoder.
Question 3 : Quelle taille de clé RSA recommande l'ANSSI ?
Réponse : Minimum 3072 bits, recommandé 4096 bits pour le long terme.
Question 4 : Dans TLS/HTTPS, quel type de chiffrement est utilisé pour les données ?
Réponse : Chiffrement symétrique (AES), aprÚs échange de clé en asymétrique.
Question 5 : Pourquoi utilise-t-on l'asymétrique pour les signatures ?
Réponse : Car seul le détenteur de la clé privée peut signer, mais tout le monde peut vérifier avec la clé publique. Cela garantit l'authenticité et la non-répudiation.
Résumé
| Concept | Ă retenir |
|---|---|
| Chiffrement symétrique | 1 clé, rapide, pour les données |
| Chiffrement asymétrique | 2 clés, lent, pour l'échange et les signatures |
| Hashing | Irréversible, pour l'intégrité et les mots de passe |
| Encodage | Changement de format, pas de sécurité |
| ANSSI | RSA 4096, AES-256, SHA-256 minimum |
PrĂȘt pour la suite ? Module 2 : Certificats X.509
Retour au : Programme de la Formation | Catalogue des Formations
Navigation
| â Programme | Module 2 : Certificats X.509 en Pratique â |