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é.
aes_cbc_simple.py— Chiffrement AES CBC basiqueaes_file.py— Chiffrement / déchiffrement AES sur fichieraes_lowlevel.py— Implémentation AES bas niveau (Cipher, CBC)aes_pbkdf2.py— AES CBC + dérivation PBKDF2checksum_md5.py— Hachage MD5 d’un fichierdes_encrypt_decrypt.py— Chiffrement DES en mode ECBfernet_basic.py— Chiffrement de texte avec Fernetfernet_file.py— Chiffrement de fichier avec Fernetfernet_pbkdf2.py— PBKDF2 + Fernethash_file.py— Hachage SHA-256 d’un fichierhash_password.py— Hash SHA-256 / SHA-512 d’un mot de passehash_salt.py— Hachage sécurisé avec selrsa_etape6.py— Génération RSA + signature + vérification + chiffrement/déchiffrementsecrets_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
-
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
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
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.
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