Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ SOC IA : Interception & Cryptanalyse Automatisée

Python Scikit-Learn Streamlit Cybersecurity

📖 Présentation du Projet

Ce projet simule un SOC (Security Operations Center) doté d'une Intelligence Artificielle. Il est capable d'intercepter des trames de texte chiffré inconnues, d'en déterminer l'algorithme cryptographique sous-jacent grâce au Machine Learning, puis de tenter un décodage autonome en s'appuyant sur des règles heuristiques et du NLP (Natural Language Processing).

L'IA a été entraînée sur un jeu de données dynamique et bilingue (Français/Anglais) pour reconnaître les signatures mathématiques de 10 algorithmes différents : Texte Clair, Base64, Hexadécimal, Binaire, Morse, César, Atbash, Vigenère, Playfair et AES.


Alt text for the image

✨ Fonctionnalités Clés

  • 🧠 Détection IA (Random Forest) : Analyse de 9 caractéristiques mathématiques complexes (Entropie de Shannon, Indice de Coïncidence, Ratio J/W, etc.) pour classifier le texte avec plus de 95% de précision.
  • 🌐 Analyse Linguistique Bilingue (NLP) : Utilisation de dictionnaires de fréquence FR/EN pour valider les décryptages par force brute (ex: César) sans intervention humaine.
  • 🔀 Routage Intelligent : Le système sait résoudre de lui-même les ambiguïtés mathématiques (ex: l'IA confond l'Atbash et le César car leurs entropies sont identiques. Le SOC teste l'Atbash en millisecondes avec le NLP, valide, ou redirige vers César).
  • 🖥️ Interface Web Réactive : Une application web élégante propulsée par Streamlit pour une utilisation simple et fluide.

🏗️ Architecture du Système

Le pipeline est divisé en 4 modules indépendants :

  1. datagen.py (L'Usine à Données) : Génère un dataset massif de 30 000 échantillons chiffrés à partir de livres PDF (bilingue) avec des tailles de fragments dynamiques (100 à 600 caractères).
  2. feature_engineering.py (L'Extracteur) : Transforme les textes bruts en un DataFrame de signatures mathématiques pures.
  3. train_model.py (Le Cerveau) : Entraîne l'algorithme d'apprentissage supervisé (Random Forest) et sauvegarde le modèle optimisé (modele_crypto.pkl).
  4. decoders.py & app_web.py (L'Interface et les Outils) : L'interface utilisateur qui intercepte les requêtes, interroge le modèle IA, et exécute les fonctions de décodage appropriées.

🚀 Installation & Déploiement

1. Prérequis

Assurez-vous d'avoir Python 3.8 ou supérieur installé sur votre machine. Clonez ce dépôt puis installez les dépendances requises via le fichier requirements.txt :

git clone https://github.com/YacIneTheBox/CryptographyMLSorting.git
cd CryptographyMLSorting
pip install -r requirements.txt

2. Entraînement de l'IA (Optionnel si modèle fourni)

Si vous souhaitez regénérer le modèle depuis zéro (nécessite des fichiers .pdf dans un dossier Ressources/) :

python DataGeneration/datagen.py
python FeaturesEngineer/feature_engineering.py
python FeaturesEngineer/train_model.py

3. Lancement de l'Interface Web

Pour démarrer le SOC et ouvrir l'interface dans votre navigateur local :

streamlit FeaturesEngineer/run app_web.py

🎯 Exemples d'Utilisation

Interception de Base64 :

    Entrée : Q2UgcHJvamV0IGVzdCBtYWduaWZpcXVlICE=

    Réponse du SOC : Détection BASE64 (Confiance 100%) -> Affichage du texte en clair.

Interception de César (Désambiguïsation) :

    Entrée : Xn vzts jxy zs yjcyj ij yjxy utzw ajwnknjw qj hfsfq hjfxfw.

    Réponse du SOC : Détection César/Atbash -> Échec test Atbash -> Lancement Brute-Force César -> Validation NLP au décalage -5 -> Affichage du texte en clair.

Interception de chiffrement fort (AES) :

    Entrée : 4b8c9d2f... (chaîne hexadécimale à entropie maximale)

    Réponse du SOC : Détection AES -> Alerte : Décryptage automatique impossible. Algorithme fort détecté. Clé requise.

🛠️ Améliorations Futures

[ ] Ajouter une attaque par dictionnaire bilingue pour casser les clés Playfair simples.

[ ] Intégrer un module de détection de stéganographie (images).

About

No description, website, or topics provided.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages