4 votes

Déchiffrage du cryptage Blowfish 224 bits

J'ai une série de fichiers cryptés que je veux décrypter (évidemment). J'ai découvert qu'ils sont chiffrés avec Blowfish en utilisant une clé de 224 bits après quelques recherches. Je sais à quoi ressemblent les premiers octets du texte en clair (c'est un peu un en-tête).

Notant que je ne suis pas la NSA et je n'ai pas de puissance de calcul ridicule, y a-t-il une chance que je force la clé dans un délai raisonnable (par exemple: pas la durée de vie de l'univers)?

J'ai lu quelque part que quelqu'un a publié une attaque sur le Blowfish complet (sans jeu de mots) qui réduit la recherche à 2^(n/2) mais elle a mystérieusement disparu. Apparemment c'était une sorte d'attaque MITM; bien que Blowfish utilise un réseau Feistel à 16 tours, donc elle doit être astucieuse si elle existe. Quelqu'un peut-il confirmer cela?

EDIT: J'ai accès à un grand nombre des clés utilisées, juste pas toutes. Peut-être serait-il plus judicieux pour moi d'essayer d'attaquer la génération des clés à la place?

5voto

David Thornley Points 39051

Il n'y a aucune chance que vous forcerez la clé*. En supposant qu'il y ait une attaque meet-in-the-middle pour Blowfish qui réduit le nombre de tests à 2^112 clés, il n'y a pas assez de puissance de calcul sur la planète pour avoir une chance décente de forcer la clé avant que le Soleil ne devienne froid. Même la NSA ne pourrait pas le faire, si cela peut vous consoler, bien qu'il soit concevable qu'ils puissent résoudre Blowfish plutôt que de deviner les clés.

À moins que vous ne trouviez les clés, vous ne pourrez pas lire les fichiers.

*Techniquement, vous avez une chance. Cependant, il est beaucoup plus probable que vous remporterez deux fois une loterie nationale (en supposant que vous achetiez un billet pour deux tirages).

4voto

erickson Points 127945

Non, vous ne pouvez pas récupérer le texte en clair à moins que le cryptage ait été fait de manière incorrecte.

Il existe une attaque de "texte en clair connu" publiée, mais elle nécessite des milliards de textes en clair connus pour fonctionner.


Mise à jour concernant "Modifier" : Encore une fois, si le cryptage a été fait correctement, l'examen des clés connues ne servira à rien, car un générateur de nombres cryptographiques utilisé pour générer de bonnes clés va avoir une complexité similaire à celle du chiffrement. Cependant, l'utilisation d'un mauvais générateur (ou d'un cryptage basé sur un mot de passe avec des mots de passe faibles) est une faille d'implémentation courante. Bonne chance !

0voto

2^(n/2) signifie dans ce cas 2^223 plutôt que 224, peut-être? Si c'est le cas, je ne vois pas en quoi cela vous aide beaucoup. Je pense que vous devez descendre à quelque chose comme 2^64 ou quelque chose comme ça pour le forcer brutalement sur un PC domestique en un temps raisonnable.

0voto

Bruno Rohée Points 1691

Savez-vous comment la clé a été choisie? Si elle est, par exemple, générée à partir d'un mot de passe et qu'aucune fonction de dérivation de mot de passe adéquate n'est utilisée, ceci pourrait être votre meilleure approche. En fonction du mode de chaînage utilisé, il pourrait y avoir d'autres failles, nous avons besoin d'en savoir plus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X