diff --git a/main.py b/main.py index 24377e4..a11f3e4 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,11 @@ +import sys +import time from src.detecteur_crypto import DetecteurCryptoOrchestrateur, ResultatAnalyse from src.analyzers.blowfish_analyzer import Blowfish_Analyzer from src.analyzers.aes_cbc_analyzer import Aes_Cbc_Analyzer from src.interface_console import consoleInterface import os +from rich.progress import track # print(DetecteurCryptoOrchestrateur().analyser_fichier_specifique('data/mission1.enc')) # try: @@ -14,4 +17,5 @@ # print("Erreur: Le fichier 'mission3.enc' est introuvable.") consoleInterface() -# print(DetecteurCryptoOrchestrateur().mission_complete_automatique('data/', 'keys/wordlist.txt')) \ No newline at end of file +# print(DetecteurCryptoOrchestrateur().mission_complete_automatique('data/', 'keys/wordlist.txt')) + diff --git a/rapport_mission.txt b/rapport_mission.txt index 68c6c92..fadd259 100644 --- a/rapport_mission.txt +++ b/rapport_mission.txt @@ -1 +1 @@ -RAPPORT DE SYNTHESE DU 11/08/25 à 04:19:59~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 0.013037919998168945 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 04:19:59~ Mission 3: BLOWFISH ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 15 ~-Temps d'exécution: 0.010114669799804688 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 04:19:59~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b"i'\xaaf\x99\xdc\xa0A\xed\xc6\xce\xfe`\xcc\xb9/\xf8\xa1\x0e~\x18\xd3\xbb\xeb\xa1\x9f\xc0|\xc8\xf1_\xdd" ~-Nombre de tentatives: 2 ~-Temps d'exécution: 0.016638517379760742 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~ \ No newline at end of file +RAPPORT DE SYNTHESE DU 11/08/25 à 04:19:59~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 0.013037919998168945 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 04:19:59~ Mission 3: BLOWFISH ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 15 ~-Temps d'exécution: 0.010114669799804688 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 04:19:59~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b"i'\xaaf\x99\xdc\xa0A\xed\xc6\xce\xfe`\xcc\xb9/\xf8\xa1\x0e~\x18\xd3\xbb\xeb\xa1\x9f\xc0|\xc8\xf1_\xdd" ~-Nombre de tentatives: 2 ~-Temps d'exécution: 0.016638517379760742 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 20:22:36~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8449676036834717 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 20:22:36~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.846740961074829 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 20:22:36~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8317999839782715 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 20:22:36~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8758742809295654 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 20:22:36~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.883533000946045 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 21:36:32~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.804067611694336 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 21:36:32~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8174095153808594 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 21:36:32~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8072869777679443 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 21:36:32~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.815427541732788 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 21:36:32~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.833231210708618 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:16:34~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.809861660003662 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:16:34~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.820404291152954 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:16:34~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8288893699645996 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:16:34~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.821235418319702 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:16:34~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.9292261600494385 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:18:07~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8102633953094482 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:18:07~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8158700466156006 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:18:07~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8213820457458496 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:18:07~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.825878143310547 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:18:07~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.87689471244812 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:23:27~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8107476234436035 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:23:27~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8236913681030273 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:23:27~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8276686668395996 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:23:27~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.812234401702881 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:23:27~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.88483452796936 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:29:59~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8070859909057617 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:29:59~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.811743974685669 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:29:59~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.816563367843628 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:29:59~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.81158447265625 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:29:59~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.843439817428589 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:34:18~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8125288486480713 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:34:18~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8086905479431152 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:34:18~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8266146183013916 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:34:18~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8134968280792236 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 22:34:18~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.859461545944214 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 11/08/25 à 23:05:08~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8123092651367188 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 11/08/25 à 23:05:08~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8141705989837646 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 23:05:08~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8092994689941406 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 23:05:08~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.811570405960083 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 11/08/25 à 23:05:08~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.836134433746338 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 00:52:40~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8126556873321533 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 00:52:40~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8121538162231445 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 00:52:40~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.822002410888672 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 00:52:40~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.814444065093994 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 00:52:40~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.823731899261475 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 00:56:24~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8041765689849854 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:06:48~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8076045513153076 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:06:48~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8127877712249756 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:06:48~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.818087577819824 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:06:48~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8063266277313232 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:06:48~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.827814340591431 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:13:16~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.806612014770508 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:13:16~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.805534839630127 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:13:16~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.806755542755127 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:13:16~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8085927963256836 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:13:16~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.824696063995361 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:23:17~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 2.8036506175994873 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:23:17~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8057382106781006 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:23:17~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.80607533454895 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:23:17~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 3.8066492080688477 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 01:23:17~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 6.817882299423218 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:06:20~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 7.838799238204956 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:06:20~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.832065105438232 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:06:20~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 13.020101547241211 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:06:20~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.837449789047241 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:06:20~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 27.890739917755127 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:38:36~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 7.815179347991943 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:38:36~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.828836441040039 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:38:36~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.83090877532959 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:38:36~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.837757110595703 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:38:36~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 27.918744325637817 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:46:06~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 7.8355937004089355 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:46:06~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.828813552856445 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:46:06~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.84999942779541 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:46:06~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.82745361328125 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 02:46:06~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 27.897154092788696 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:07:19~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 7.820234060287476 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:07:19~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.822321653366089 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:07:19~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.830206155776978 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:07:19~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.828877687454224 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:07:19~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 27.907915592193604 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:13:42~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 7.8096208572387695 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:13:42~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.825286626815796 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:13:42~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.908464193344116 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:13:42~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.817994832992554 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:13:42~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 27.868507146835327 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:21:53~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 7.809746503829956 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:21:53~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.855302333831787 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:21:53~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.823472499847412 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:21:53~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.824501991271973 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:21:53~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 27.98906946182251 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:27:01~ Mission 1: AES-CBC-256 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission1.enc',)~-Clé de déchiffrement identifiée: b'\xf7@[\xc1\xb5\x83c\xd8g?\xda\xcbO\xbd\rcZ\xfc\xfe\x9b\x0f\x88\r\xf1\x80\x89\xa1R\x0f\xd1f\xd8' ~-Nombre de tentatives: 1 ~-Temps d'exécution: 7.822182893753052 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 69.42(Succès)~-Texte déchiffré: Félicitations ! Vous avez déchiffré la mission 1.~Le secret de cette mission est : AES-256-CBC est toujours largement utilisé dans l'industrie.~Clé utilisée : paris2024~Algorithme : AES-256-CBC avec PBKDF2 ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:27:01~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission2.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.814265012741089 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:27:01~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission3.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.810919523239136 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:27:01~ Mission 2: CHACHA20 ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission4.enc',)~-Clé de déchiffrement identifiée: b'' ~-Nombre de tentatives: 0 ~-Temps d'exécution: 12.809131860733032 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 0(Echec)~-Texte déchiffré: b'' ~~RAPPORT DE SYNTHESE DU 12/08/25 à 04:27:01~ Mission 5: FERNET ~ I - Statistiques relatives à l'analyse du fichier~-Fichier crypté par cet algorithme: ('mission5.enc',)~-Clé de déchiffrement identifiée: b'aSeqZpncoEHtxs7-YMy5L_ihDn4Y07vroZ_AfMjxX90=' ~-Nombre de tentatives: 2 ~-Temps d'exécution: 27.845013856887817 ~ II - Résultats obtenus~-Taux réussite du déchiffrement: 66.0(Succès)~-Texte déchiffré: Magnifique ! Dernière mission complétée.~Message final : j'adore la cryptographie~Cette phrase était la clé elle-même !~Algorithme : Fernet (basé sur AES-128-CBC + HMAC) ~~ \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 07328da..3c0a3ae 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,6 @@ cffi==1.17.1 cryptography==43.0.0 pycparser==2.22 pycryptodome==3.23.0 -rich==14.1.0 \ No newline at end of file +rich==14.1.0 +tqdm==4.67.1 +colorama==0.4.6 \ No newline at end of file diff --git a/src/detecteur_crypto.py b/src/detecteur_crypto.py index 2f66d60..870d6a5 100644 --- a/src/detecteur_crypto.py +++ b/src/detecteur_crypto.py @@ -11,10 +11,11 @@ from src.analyzers.aes_gcm_analyzer import Aes_Gcm_Analyzer from src.analyzers.fernet_analyzer import FernetAnalyzer from src.rapport_mission import rapport_mission - # Import des modules utilitaries from src.utils import verifier_texte_dechiffre - +from rich.progress import Progress +from rich.markdown import Markdown +from rich.console import Console class ResultatAnalyse: """ Classe représentant un résultat d'analyse. @@ -36,6 +37,9 @@ class DetecteurCryptoOrchestrateur: -Lance et coordonnes le processus de dechiffrement """ + _NBR_OPERATION_MISSION = 4 + _NBR_OPERATION_ANALYSE = 3 + def __init__(self): """ Initialisation de tous les modules d'analyse disponibles @@ -55,7 +59,7 @@ def __init__(self): "tentatives_total": 0 } - def analyser_fichier_specifique(self, chemin_fichier_chiffre: str) -> ResultatAnalyse: + def analyser_fichier_specifique(self, chemin_fichier_chiffre: str, progress : Progress, task, error:bool, nbr_opr_mission: int) -> ResultatAnalyse: """ ANALYSE D'UN FICHIER SPÉCIFIQUE - Sélection du fichier à analyser @@ -64,7 +68,8 @@ def analyser_fichier_specifique(self, chemin_fichier_chiffre: str) -> ResultatAn Args: chemin_fichier_chiffre(str): chemin du fichier chiffré à analyser - + progress (Progress) : la progress bar à mettre à jour + error(bool): nécessaire pour déterminer les erreurs et définir le message de final de la progress bar Returns: ResultatAnalyse: résultat de l'analyse """ @@ -72,13 +77,23 @@ def analyser_fichier_specifique(self, chemin_fichier_chiffre: str) -> ResultatAn try: # Vérification de l'existence du fichier - time.sleep(0.3) # TODO : Intégrer la progress bar -> step : Verification du chemin de fichier fourni + avance = (100/(self._NBR_OPERATION_ANALYSE * nbr_opr_mission)) + time.sleep(0.3) # Done : Intégrer la progress bar -> step : Verification du chemin de fichier fourni + progress.update(task_id=task, description="Verification du chemin de fichier fourni", advance=avance * 0.3) + time.sleep(1) + if not os.path.isfile(Path('data')/f"{chemin_fichier_chiffre}"): - print("Erreur: Fichier non trouvé") + time.sleep(0.3) # TODO : Intégrer la progress bar -> step : Verification du chemin de fichier fourni + progress.update(task_id=task, description="Fichier non trouvé ⌠(Aborting...)", advance=((avance * self._NBR_OPERATION_ANALYSE) - avance * 0.3) ) + time.sleep(1) + error = True return ResultatAnalyse("", b"", 0.0, b"", 0.0, 0) # Initialisation des variables time.sleep(0.5) # TODO : Mise à jour de la progress bar -> step : Initialisation des utilitaires pour l'identification + progress.update(task_id=task, description="Initialisation des utilitaires pour l'identification", advance=avance*0.2) + time.sleep(1) + algorithme_detecte = "" cle = b"" score_probabilite = 0.0 @@ -87,22 +102,39 @@ def analyser_fichier_specifique(self, chemin_fichier_chiffre: str) -> ResultatAn # Parcours des algorithmes disponibles scores_algorithmes = {} + + # Pour les arrêts en cas d'erreurs, servira à upgrade la progress bar + cumul_progress_avance = 0 + for nom_algo, analyzer in self.analyzers.items(): + avance_algo = avance/(len(self.analyzers)*3 * 0.5) time.sleep(0.5) # TODO : Mise à jour de la progress bar -> step : Utilisation de {algrorithme} pour déterminer le chiffrement - + progress.update(task_id=task, description=f"Utilisation de {nom_algo} pour déterminer le chiffrement", advance=avance_algo) + time.sleep(1) + score = analyzer.identifier_algo(f"data/{chemin_fichier_chiffre}") scores_algorithmes[nom_algo] = score + time.sleep(0.5) # TODO : Mise à jour de la progress bar -> step : Analyse des résultats d'identification - # print(f"{nom_algo}: score {score:.2f}") + progress.update(task_id=task, description="Analyse des résultats d'identification", advance=avance_algo) + time.sleep(1) + + cumul_progress_avance += 2 * avance_algo if score > 0.9 : # Seuil de confiance time.sleep(1) # TODO : Mise à jour de la progress bar -> step : Détection réussie pour {algorithme} et préparation du rapport d'analyse + progress.update(task_id=task, description=f"Détection réussie pour {nom_algo} et préparation du rapport d'analyse", advance=((100/nbr_opr_mission) - cumul_progress_avance)) + time.sleep(1) + algorithme_detecte = nom_algo score_probabilite = score - # print(f"Algorithme détecté: {algorithme_detecte} (score: {score:.2f})") break else : - pass # TODO : Intégrer la progress bar -> step : Echec d'identification pour {algorithme} + time.sleep(1) # TODO : Intégrer la progress bar -> step : Echec d'identification pour {algorithme} + progress.update(task_id=task, description=f"Echec d'identification pour {nom_algo}", advance=avance_algo) + time.sleep(1) + cumul_progress_avance += avance_algo + if not algorithme_detecte: print("Aucun algorithme correctement détecté ") temps_execution = time.time() - debut_analyse @@ -115,15 +147,25 @@ def analyser_fichier_specifique(self, chemin_fichier_chiffre: str) -> ResultatAn except Exception as e: print(f"Erreur lors de l'analyse: {str(e)}") temps_execution = time.time() - debut_analyse + error = True return ResultatAnalyse("", b"", 0.0, b"", temps_execution, 0, chemin_fichier_chiffre) def __tenter_dechiffrement_avec_dictionnaire(self, chemin_fichier: str, cles_candidates: list[bytes], analyzer: CryptoAnalyzer, resultat: ResultatAnalyse): + """ + Tente de déchiffrer un fichier avec les clés candidates et l'analyzer correspondant + + Args: + chemin_fichier(str) : chemin vers le fichier + cles_candidates(list[bytes]) : les clés candidates retenus par le dossier de clés sur la base des indices + analyzer(CryptoAnalyzer) : l'Analyzer correspondant à ce fichier + resultat(ResultatAnalyse) : les résultats de l'analyse de fichier + + Returns : + bool : si une erreur est survenue ou non + """ for j, cle in enumerate(cles_candidates): resultat.nb_tentatives += 1 - - if j % 100 == 0: # retour visuel tous les 100 essais - print(f"Tentative {j+1}/{len(cles_candidates)}...") - + texte_dechiffre = analyzer.dechiffrer(chemin_fichier, cle).decode('utf-8') succes = verifier_texte_dechiffre(texte_dechiffre)['taux_succes'] @@ -132,9 +174,10 @@ def __tenter_dechiffrement_avec_dictionnaire(self, chemin_fichier: str, cles_can resultat.texte_dechiffre = texte_dechiffre resultat.taux_succes = succes print(f"Clé trouvée après {j+1} tentatives!") - return + return False print("Aucune clé valide trouvée") + return True def mission_complete_automatique(self, dossier_chiffres: str, chemin_dictionnaire: str) -> List[ResultatAnalyse]: """ @@ -152,75 +195,113 @@ def mission_complete_automatique(self, dossier_chiffres: str, chemin_dictionnair debut_mission = time.time() resultats: list[ResultatAnalyse] = [] - try: - # Récupération des fichiers .enc - fichiers_enc = [f for f in os.listdir(dossier_chiffres) if f.endswith(".enc")] - - if not fichiers_enc: - print("Aucun fichier .enc trouvé dans le dossier") - return [] - - print(f"{len(fichiers_enc)} fichiers .enc détectés") - print("\nANALYSE SÉQUENTIELLE DES FICHIERS") - - for i, fichier in enumerate(fichiers_enc, 0): - - print(f"\nFICHIER {i+1}/{len(fichiers_enc)}: {fichier}") - - chemin_fichier = os.path.join(dossier_chiffres, fichier) + with Progress() as progress : + # Récupération des fichiers .enc + fichiers_enc = [f for f in os.listdir(dossier_chiffres) if f.endswith(".enc")] - # Analyse du fichier - resultat = self.analyser_fichier_specifique(fichier) + if not fichiers_enc: + print("Aucun fichier .enc trouvé dans le dossier") + return [] - # Tentative de déchiffrement si algorithme détecté - if resultat.algo: - print(f"\nTENTATIVE DE DÉCHIFFREMENT") + print(f"{len(fichiers_enc)} fichiers .enc détectés") + print("\nANALYSE SÉQUENTIELLE DES FICHIERS") + time.sleep(0.5) + for i, fichier in enumerate(fichiers_enc, 0): + print(f"\nFICHIER {i+1}/{len(fichiers_enc)}: {fichier}") + + # TODO: New progress bar -> step: Analyse du fichier mission{i+1}.enc + task = progress.add_task(f"Analyse du fichier mission{i+1}.enc...", total=100) + time.sleep(0.5) + + chemin_fichier = os.path.join(dossier_chiffres, fichier) + + # Analyse du fichier + error = False + resultat = self.analyser_fichier_specifique(fichier, progress, task, error, self._NBR_OPERATION_MISSION) + + # Tentative de déchiffrement si algorithme détecté + if resultat.algo: + # TODO: MAJ de la progress bar -> step: Amorçage de la phase de déchiffrement + progress.update(task, description="Amorçage de la phase de déchiffrement...", advance=((100/self._NBR_OPERATION_MISSION) * 0.5)) + time.sleep(1) + + analyzer = self.analyzers[resultat.algo] + + # TODO: MAJ de la progress bar -> step: Récupération des clés candidates + progress.update(task, description="Récupération des clés candidates", advance=(100/self._NBR_OPERATION_MISSION)*0.5) + time.sleep(1) + + cles_candidates = analyzer.generer_cles_candidates(chemin_dictionnaire) + + if cles_candidates: + print(f"Test de {len(cles_candidates)} clés candidates...") + # TODO: MAJ de la progress bar -> step: Test de déchiffrement + progress.update(task, description="Test de déchiffrement", advance=(100/self._NBR_OPERATION_MISSION)) + time.sleep(3) + + error = self.__tenter_dechiffrement_avec_dictionnaire(chemin_fichier, cles_candidates, analyzer, resultat) + + else: + # TODO: MAJ de la progress bar -> step: Abort et récupération des résultats d'analyse + progress.update(task, description="Aucune clé candidate générée ⌠(Aborting ...)", advance=(100/self._NBR_OPERATION_MISSION)) + time.sleep(3) + error = True + - analyzer = self.analyzers[resultat.algo] - cles_candidates = analyzer.generer_cles_candidates(chemin_dictionnaire) + resultats.append(resultat) - if cles_candidates: - print(f"Test de {len(cles_candidates)} clés candidates...") + # retour visuel + if resultat.algo: + # TODO: MAJ de la progress bar -> step: Finalsation et retour de résultats + progress.update(task, description="Finalisation et retour des résultats", advance=(100/self._NBR_OPERATION_MISSION)) + time.sleep(3) - self.__tenter_dechiffrement_avec_dictionnaire(chemin_fichier, cles_candidates, analyzer, resultat) + print(f"{fichier}: {resultat.algo} (score: {resultat.score_probabilite:.2f})") + + message = "[bold green] Mission terminée. ✅[/bold green]\n\n" if not error else "[bold red] Mission terminée: Déchiffrement non concluant. ⌠[/bold red]\n\n" + Console().print(message) else: - print(" Aucune clé candidate générée") + progress.update(task, description="Aborting et récupération des résultats d'analyse...", advance=100) + time.sleep(0.5) # TODO: MAJ de la progress bar -> step: Abort et récupération des résultats d'analyse + Console().print(f"[bold yellow] Mission terminée: Aucun algorithme détecté. âš ï¸[/bold yellow]\n\n") + + progress.remove_task(task) - resultats.append(resultat) + # Rapport de synthèse final + with Progress() as progress : + task = progress.add_task("Préparation des rapports", total=100) # TODO: New progress bar -> step: Préparation des rapports (1 to 100%) + + while not progress.finished : + progress.update(task, description="Préparation des rapports", advance=2) + time.sleep(0.2) + for i in range(len(fichiers_enc)) : + resultat = { + 'algorithme': resultats[i].algo, + 'fichier': resultats[i].fichier, + 'cle': resultats[i].cle, + 'tentatives': resultats[i].nb_tentatives, + 'temps_execution': resultats[i].temps_execution, + 'taux_succes': resultats[i].taux_succes, + 'statut_succes' : 'Succès' if resultats[i].taux_succes > 60 else 'Echec', + 'texte_dechiffre' : resultats[i].texte_dechiffre + } + rapport_mission().generer_rapport_synthese(resultat) + progress.update(task, description="Mission complète effectuée.") # TODO: MAJ de la progress bar -> step: Mission complète effectuée + + # Mise à jour des statistiques globales + self.missions_completees.append({ + "dossier": dossier_chiffres, + "resultats": resultats, + "temps_total": time.time() - debut_mission + }) - # retour visuel - if resultat.algo: - print(f"{fichier}: {resultat.algo} (score: {resultat.score_probabilite:.2f}) \n\n") - else: - print(f"{fichier}: Aucun algorithme détecté") - - # Rapport de synthèse final - for i in range(6) : - resultat = { - 'algorithme': resultats[i].algo, - 'fichier': resultats[i].fichier, - 'cle': resultats[i].cle, - 'tentatives': resultats[i].nb_tentatives, - 'temps_execution': resultats[i].temps_execution, - 'taux_succes': resultats[i].taux_succes, - 'statut_succes' : 'Succès' if resultats[i].taux_succes > 60 else 'Echec', - 'texte_dechiffre' : resultats[i].texte_dechiffre - } - rapport_mission().generer_rapport_synthese(resultat) - - # Mise à jour des statistiques globales - self.missions_completees.append({ - "dossier": dossier_chiffres, - "resultats": resultats, - "temps_total": time.time() - debut_mission - }) - - return resultats + return resultats except Exception as e: print(f"Erreur lors de la mission complète: {str(e)}") return [] + def attaque_dictionnaire_manuelle(self, chemin_fichier: str, algorithme_choisi: str, chemin_dictionnaire: str) -> ResultatAnalyse: """ diff --git a/src/interface_console.py b/src/interface_console.py index 96ecc77..ccf7945 100644 --- a/src/interface_console.py +++ b/src/interface_console.py @@ -1,4 +1,5 @@ import re +import math from rich.console import Console from rich.traceback import install from rich.markdown import Markdown @@ -6,7 +7,9 @@ from rich.text import Text from rich.prompt import Prompt from rich.table import Table +from rich.progress import Progress from pathlib import Path +from tqdm import tqdm # from detecteur_crypto import Analyser_fichier_uniquement # from detecteur_crypto import Analyser_fichier_sequentiels from .detecteur_crypto import DetecteurCryptoOrchestrateur @@ -83,26 +86,26 @@ def menu_1(self): self.dynamiqueText("Veuillez entrer le chemin du fichier","yellow") fichier = self.prompt.ask("") time.sleep(0.02) - # chemin_fichier = self.prompt.ask("Veuillez entrer le chemin du fichier : ") - # resultat = Analyser_fichier_uniquement(chemin_fichier) - # self.console.clear() - # self.dynamiqueText("Analyse en cours...","green") - # time.sleep(0.02) - # self.console.clear() - self.dynamiqueText("Analyse terminée","green") - data = DetecteurCryptoOrchestrateur().analyser_fichier_specifique(fichier) - print(f"\n[bold]Algorithme détecté[/bold] : [yellow]{data.algo}[/yellow]") - # print(data.cle) - print(f"\n[bold]Score de probabilité[/bold] : [green]{data.score_probabilite}[/green]") - # print(data.texte_dechiffre) - print(f"\n[bold]Temps d'éxécution[/bold] : [green]{round(data.temps_execution,4)}[/green] s") + self.dynamiqueText("Analyse en cours...","green") + with Progress() as progress : + + task=progress.add_task(f"Analyse du {fichier}", total=100) + error = False + data = DetecteurCryptoOrchestrateur().analyser_fichier_specifique(fichier, progress, task, error, 1) + if data.algo : + print(f"\n[bold]Algorithme détecté[/bold] : [yellow]{data.algo}[/yellow]") + print(f"[bold]Score de probabilité[/bold] : [green]{data.score_probabilite}[/green]") + message = "[bold green] Analyse terminée. ✅[/bold green]" if not error else "[bold red] Mission terminée: Analyse non concluante. ⌠[/bold red]\n" + self.console.print(message) + else : + self.console.print("[bold yellow] Analyse terminée: Aucun algorithme détecté. âš ï¸[/bold yellow]") + progress.remove_task(task) + + print(f"[bold]Temps d'éxécution[/bold] : [green]{round(data.temps_execution,4)}[/green] s") esc=input("Veuillez appuyer sur la touche entrer pour retourner au menu principal") if esc=="": self.default_menu() else : self.default_menu() - # print(data.nb_tentatives) - # time.sleep(0.02) - # def menu_2(self): self.console.clear() @@ -229,5 +232,7 @@ def menu_6(self): self.dynamiqueText("😄​ Merci pour votre visite et à la revoyure 👋​ !","yellow") time.sleep(2) self.console.clear() - + # consoleInterface() + + diff --git a/src/utils.py b/src/utils.py index f1efea3..bc61927 100644 --- a/src/utils.py +++ b/src/utils.py @@ -1,16 +1,17 @@ -import math -import re -import string +import math, re, string, time from pathlib import Path from typing import Any, Dict, List, TypedDict - +from rich.console import Console +from threading import Thread class StatsDict(TypedDict): imprimable: float nombre_mots: int p_mots_valide: float non_mots: List[str] ponctuation_valide: int - + + + def calculer_entropie(bytes: bytes) -> float: ''' Calcul l'entropie (le désordre dans une suite de données) afin de déterminer le degré d'improbabilité d'une chaine de données.