115 lines
3.4 KiB
Markdown
115 lines
3.4 KiB
Markdown
# Mirage
|
|
|
|
## 📌 Description
|
|
|
|
Ce projet est un **outil graphique** développé en Python qui permet de :
|
|
|
|
- **Chiffrer** et **déchiffrer** du texte en utilisant l'algorithme **Fernet** (chiffrement symétrique).
|
|
- **Cacher** et **extraire** du texte dans des images (stéganographie).
|
|
|
|
L'interface utilise **Tkinter** pour une interaction simple et intuitive, avec des zones de texte (`ScrolledText`) pour faciliter le **copier-coller** et la manipulation de données.
|
|
|
|
---
|
|
|
|
## 🛠 Prérequis
|
|
|
|
Pour exécuter ce projet, assurez-vous d'avoir installé les dépendances suivantes :
|
|
|
|
|
|
| Dépendance | Version | Description |
|
|
| -------------- | ------------------ | --------------------------------------- |
|
|
| Python | 3.8+ | Langage principal |
|
|
| `tkinter` | Inclus avec Python | Bibliothèque pour l'interface graphique |
|
|
| `Pillow` | 9.0.0+ | Traitement des images |
|
|
| `numpy` | 1.21.0+ | Calculs numériques |
|
|
| `cryptography` | 36.0.0+ | Chiffrement Fernet |
|
|
|
|
|
|
---
|
|
|
|
### Installation des dépendances
|
|
|
|
1. **Python** :
|
|
```bash
|
|
apt install python3 python3-pip python3-tk
|
|
```
|
|
2. **Cloner le dépôt** (si applicable) :
|
|
```bash
|
|
git clone fra1od.freeboxos.fr/mirage
|
|
cd mirage
|
|
```
|
|
3. **Créer un environnement virtuel** (recommandé) :
|
|
```bash
|
|
python -m venv venv
|
|
source venv/bin/activate # Linux/Mac
|
|
venv\Scripts\activate # Windows
|
|
```
|
|
4. **Installer les dépendances** :
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
|
|
---
|
|
|
|
## 🚀 Utilisation
|
|
|
|
### 1. Lancer l'application
|
|
|
|
Exécutez le script principal :
|
|
|
|
```bash
|
|
python3 mirage.py
|
|
```
|
|
|
|
### 2. Fonctionnalités disponibles
|
|
|
|
- **Chiffrement/Déchiffrement** :
|
|
- Saisissez du texte dans la zone prévue.
|
|
- Cliquez sur **Encoder** pour chiffrer le texte.
|
|
- Cliquez sur **Décoder** pour déchiffrer le texte (nécessite la même clé).
|
|
- **Stéganographie** *(si implémenté)* :
|
|
- Chargez une image via le bouton **Ouvrir une image**.
|
|
- Cachez du texte dans l'image ou extrayez-le.
|
|
|
|
---
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- **Mot de passe** : Le chiffrement utilise une clé générée à partir d'un mot de passe (par défaut : `votre_mot_de_passe`).
|
|
**Pour plus de sécurité**, modifiez le code pour demander le mot de passe à l'utilisateur via une boîte de dialogue.
|
|
- **Clé Fernet** : La clé est dérivée du mot de passe en utilisant **SHA-256** et encodée en **base64**.
|
|
|
|
---
|
|
|
|
## 📂 Structure du projet
|
|
|
|
```
|
|
.
|
|
├── mirage.py # Script principal de l'application
|
|
├── README.md # Documentation (ce fichier)
|
|
└── requirements.txt # Liste des dépendances (optionnel)
|
|
```
|
|
|
|
---
|
|
|
|
## 🤝 Contribution
|
|
|
|
Les contributions sont les bienvenues ! Ouvrez une **issue** ou soumettez une **pull request** pour :
|
|
|
|
- Ajouter des fonctionnalités (ex : support de fichiers audio).
|
|
- Améliorer l'interface utilisateur.
|
|
- Corriger des bugs.
|
|
|
|
---
|
|
|
|
## ⚠️ Limitations
|
|
|
|
- **Pas de gestion des erreurs avancée** : Les erreurs de décodage (ex : clé incorrecte) sont affichées dans une boîte de dialogue.
|
|
- **Stéganographie basique** : Actuellement, seul le chiffrement de texte est implémenté. La partie stéganographie (cacher du texte dans des images) peut être ajoutée.
|
|
|
|
---
|
|
|
|
## 📜 Licence
|
|
|
|
Ce projet est sous licence **MIT**. Vous êtes libre de l'utiliser, le modifier et le distribuer. |