# Atelier - Cryptographie
## 🎯 Objectif
Mettre en œuvre des **algorithmes de chiffrement simples** afin de comprendre les principes fondamentaux de la **cryptographie** : message clair, message chiffré, clé, chiffrement et déchiffrement.
## 📄 Énoncé
On souhaite protéger un message texte afin qu’il ne puisse pas être lu par une personne non autorisée.
Pour cela, on utilise des **méthodes de chiffrement symétrique simples**, reposant sur :
- un **algorithme**,
- une **clé secrète**,
- une transformation réversible du message.
Dans cet atelier, on s’intéresse notamment à :
- un **chiffrement par décalage (chiffre de César)**,
- un **chiffrement par substitution**.
👉 L’objectif est de **chiffrer et déchiffrer automatiquement un message** à l’aide d’un programme Python.
## 🧩 Travail demandé
1. Implémenter une fonction `chiffre(message, cle)` qui chiffre un message.
2. Implémenter une fonction `dechiffre(message_chiffre, cle)`.
3. Tester le programme sur différents messages.
4. (Bonus) Déchiffrer un message **sans connaître la clé** à l’aide d’une stratégie simple (force brute / analyse).
## 📎 Support de travail
- 💾 **Notebook – Exercices de cryptographie**
đź”— [ressource](https://github.com/unilasalle-apex/Python/blob/main/Cryptographie_Exercices.ipynb)
## ✅ Corrigés
- 💾 **Notebook – Exercices de cryptographie corrigés**
đź”— [ressource](https://github.com/unilasalle-apex/Python/blob/main/Cryptographie_Exercices_corrig%C3%A9s.ipynb)
## 🧠À retenir
- La cryptographie repose sur :
- un **algorithme**,
- une **clé**,
- un message clair et un message chiffré.
- Un chiffrement faible peut souvent être cassé sans la clé.
- Programmer un algorithme permet de **comprendre ses limites**.
## 🗓️ Historique
- **Créé le :** 05 février 2026
- **Auteur :** [[Julien DUQUENNOY]]