Skip to content

Jalil03/security-tp01-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TP Sécurité – Manipulation de la Cryptographie en Python

Ce projet contient une série de scripts Python permettant d'explorer plusieurs primitives cryptographiques : hachage, chiffrement symétrique (DES, AES), dérivation de clé (PBKDF2), chiffrement asymétrique (RSA), signature numérique, génération de secrets sécurisés, et vérification d'intégrité.

📁 Structure du projet

  • aes_cbc_simple.py — Chiffrement AES CBC basique
  • aes_file.py — Chiffrement / déchiffrement AES sur fichier
  • aes_lowlevel.py — Implémentation AES bas niveau (Cipher, CBC)
  • aes_pbkdf2.py — AES CBC + dérivation PBKDF2
  • checksum_md5.py — Hachage MD5 d’un fichier
  • des_encrypt_decrypt.py — Chiffrement DES en mode ECB
  • fernet_basic.py — Chiffrement de texte avec Fernet
  • fernet_file.py — Chiffrement de fichier avec Fernet
  • fernet_pbkdf2.py — PBKDF2 + Fernet
  • hash_file.py — Hachage SHA-256 d’un fichier
  • hash_password.py — Hash SHA-256 / SHA-512 d’un mot de passe
  • hash_salt.py — Hachage sécurisé avec sel
  • rsa_etape6.py — Génération RSA + signature + vérification + chiffrement/déchiffrement
  • secrets_password.py — Génération d’un mot de passe sécurisé
  • secrets_token.py — Génération d’un token cryptographique sécurisé
  • verify_integrity.py — Vérification d’intégrité entre deux fichiers

🔐 Concepts abordés

  • Hachage cryptographique :

    • MD5, SHA-256, SHA-512
    • Vérification d’intégrité
  • Chiffrement symétrique :

    • DES (ECB)
    • AES (CBC)
    • Padding PKCS#7
    • Chiffrement de fichiers
  • Dérivation de clé :

    • PBKDF2 (PyCryptodome)
    • PBKDF2HMAC (cryptography)
  • Chiffrement asymétrique :

    • Génération de clés RSA
    • Signature numérique (SHA-256)
    • Vérification de signature
    • Chiffrement RSA OAEP
  • Secrets et jetons sécurisés :

    • secrets.token_urlsafe()
    • Mots de passe aléatoires résistants aux attaques

▶️ Exécution

Assurez-vous d'utiliser un environnement virtuel :

python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate   # Windows

Installer les dépendances :

pip install pycryptodome cryptography

Puis exécuter n’importe quel script :

python aes_cbc_simple.py

⚠️ Sécurité

Ce projet contient des clés générées uniquement pour le TP.
Ne jamais publier de vraies clés privées RSA dans un environnement de production.

👤 Auteur

Abdeljalil BOUZINE
Master IA & Digital Computing – FST Settat
GitHub : https://github.com/Jalil03


ℹ️ Ce README accompagne le rapport LaTeX complet fourni dans le cadre du TP.tp1_python.pdf

About

TP1-python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages