_Crypt_DecryptFile returne true même si la résultat est fausse

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Mehdi350
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 04 févr. 2019 11:15
Localisation : Maroc
Status : Hors ligne

_Crypt_DecryptFile returne true même si la résultat est fausse

#1

Message par Mehdi350 »

j'ai un problème avec la fonction _Crypt_DecryptFile ( $sSourceFile, $sDestinationFile, $vCryptKey, $iAlgID )
j'ai crypter un fichier Excel avec _Crypt_Encrypt avec l'algorithme $CALG_AES_256 et avec $vCryptKey=123
mais lorsque j'ai lancé un brute force pour décrypter ce fichier malheureusement cette fonction Retourne True même si $vCryptKey est diffèrent de 123
Par exemple cette fonction returne true même si $vCryptKey= 27 et 143 et 067
est ce que il ya des troue négative à cette fonction
merci
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: _Crypt_DecryptFile returne true même si la résultat est fausse

#2

Message par jchd »

C'est normal. Le résultat indique le succès du déchiffrement quelle que soit la clé utilisée. Ca ne veut surtout pas dire que la clé utilisée est la bonne ! C'est vrai pour tout crypto-système.

Une fonction de déchiffrement accepte au minimum un "cyphertext" (le produit du chiffrement d'un texte) et une clé. Elle renvoie soit le "plaintext" correspondant à ces arguments (le message déchiffré avec cette clé), que ça fasse sens ou pas, soit un code indiquant une condition d'erreur.

Mais jamais un déchiffrement ne révèle "tu as utilisé la bonne clé". Il n'y a d'ailleurs aucune possibilité qu'une telle fonction puisse déduire cette information !

Prenons un exemple simple : le chiffrement par XOR.

Tu reçois le "ciphertext" suivant en hexadécimal :
2F 00 07 54 06 41 11 03 11 12 45 1C 55 53 1A 00 11 00 02 00 1D 06 00 53 0F

L'émetteur t'a dit d'utiliser la clé suivante :
63 65 74 74 65 20 63 6C 65 66 20 6F 75 20 75 6E 65 20 61 75 74 72 65 20 21

Tu décodes donc le "plaintext" suivant :
4C 65 73 20 63 61 72 6F 74 74 65 73 20 73 6F 6E 74 20 63 75 69 74 65 73 2E
ce qui signifie, en ASCII :
Les carottes sont cuites.

Si tu avais décidé d'essayer la clé :
66 6C 27 3A 21 38 31 62 31 62 24 6F 75 32 69 73 74 7A 22 64 78 26 67 32 75

tu aurais décodé le "plaintext" suivant :
49 6C 20 6E 27 79 20 61 20 70 61 73 20 61 73 73 65 7A 20 64 65 20 67 61 7A
ce qui signifie, en ASCII :
Il n'y a pas assez de gaz

Il n'y a aucun moyen de discerner la "bonne" clé et donc le véritable message d'origine.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Mehdi350
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 04 févr. 2019 11:15
Localisation : Maroc
Status : Hors ligne

Re: _Crypt_DecryptFile returne true même si la résultat est fausse

#3

Message par Mehdi350 »

merci beaucoup JCHD pour cette exemple
Mais à votre avis, est ce que il ya des moyens d'utiliser la fonction _Crypt_DecryptFile pour faire un brute force pour connaitre un mot de passe de cryptage d'un fichier ou non ?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: _Crypt_DecryptFile returne true même si la résultat est fausse

#4

Message par jchd »

Le seul moyen c'est de vérifier que le message (fichier) déchiffré a la structure attendue et vérifie les propriétés d'un format particulier, comme pour un .PDF ou .JPG

Par contre, brute force sur du AES-256 avec une longueur de clé inconnue, prévoir un délai et une énorme facture EDF !
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Mehdi350
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 04 févr. 2019 11:15
Localisation : Maroc
Status : Hors ligne

Re: _Crypt_DecryptFile returne true même si la résultat est fausse

#5

Message par Mehdi350 »

merci bien mon frère pour tes réponses
Répondre