Documentation du Chiffrement
Ce programme implémente un chiffrement robuste basé sur l'algorithme AES-256-GCM (Advanced Encryption Standard en mode Galois/Counter Mode) pour la protection des données. Il assure à la fois la confidentialité et l'intégrité des fichiers chiffrés.
Caractéristiques de Sécurité
Algorithme de Chiffrement
- AES-256-GCM : Standard de chiffrement avancé avec une clé de 256 bits
- Mode GCM pour l'authentification des données
- Protection contre les attaques par modification
Gestion des Clés
- Dérivation de clé via PBKDF2 avec SHA-256
- Sel cryptographique unique par fichier
- Nombre d'itérations configurable pour la dérivation
Sécurité Additionnelle
- Vecteurs d'initialisation (IV) uniques par bloc
- Tags d'authentification pour vérifier l'intégrité
- Protection contre les attaques par rejeu
Fonctions Principales
chiffrer_fichier(source: &str, destination: &str, password: &str) -> Result<(), Error>
Chiffre un fichier avec AES-256-GCM :
- Génère un sel aléatoire et un IV unique
- Dérive une clé de 256 bits à partir du mot de passe
- Chiffre les données avec authentification
- Sauvegarde le fichier chiffré avec les métadonnées
Exemple :
chiffrer_fichier("document.txt", "document.enc", "mot_de_passe_complexe")?;
dechiffrer_fichier(source: &str, destination: &str, password: &str) -> Result<(), Error>
Déchiffre un fichier protégé :
- Extrait le sel et l'IV des métadonnées
- Dérive la clé avec le mot de passe
- Vérifie l'authenticité des données
- Déchiffre et restaure le fichier original
Exemple :
dechiffrer_fichier("document.enc", "document.txt", "mot_de_passe_complexe")?;
Interface en Ligne de Commande
Chiffrement
ntk encrypt [options] <fichier_source>
Options :
--output <fichier>
: Spécifie le fichier de sortie--iterations <nombre>
: Nombre d'itérations PBKDF2 (défaut: 100000)--memory <MB>
: Limite de mémoire pour le chiffrement
Déchiffrement
ntk decrypt [options] <fichier_chiffré>
Options :
--output <fichier>
: Spécifie le fichier de sortie--no-verify
: Désactive la vérification d'intégrité (non recommandé)
Format du Fichier Chiffré
Structure des données :
[Magic Number: "NTK"] (3 bytes)
[Version] (1 byte)
[Salt] (32 bytes)
[IV] (12 bytes)
[Encrypted Data]
[Auth Tag] (16 bytes)
Interface Graphique
L'interface Tauri intègre le chiffrement avec :
- Sélection du fichier par glisser-déposer
- Gestion sécurisée des mots de passe
- Barre de progression en temps réel
- Indicateur de force du mot de passe
- Options de chiffrement avancées
Sécurité et Bonnes Pratiques
-
Choix du Mot de Passe
- Utilisez des mots de passe longs et complexes
- Évitez les mots du dictionnaire
- Combinez lettres, chiffres et symboles
-
Gestion des Fichiers
- Supprimez les fichiers originaux de manière sécurisée
- Sauvegardez les fichiers chiffrés
- Ne partagez jamais les mots de passe en clair
-
Considérations de Performance
- Le chiffrement AES-256-GCM est plus lent que XOR
- Utilisez les options de mémoire pour les gros fichiers
- La vérification d'intégrité ajoute un délai supplémentaire
Conclusion
Cette implémentation offre un niveau de sécurité élevé grâce à AES-256-GCM, un standard reconnu et validé par la communauté cryptographique. L'ajout de l'authentification des données et de la dérivation de clé sécurisée en fait une solution adaptée à la protection de données sensibles en environnement réel.