8
votes

Y a-t-il un moyen d'inverser une crypte () en C?

Je ne sais pas si cela est possible mais je veux pouvoir commencer par une chaîne, puis déterminer ce que l'entrée doit être dans la crypt afin d'obtenir cette chaîne.

ou peut-être que c'est impossible, ce qui serait tout ce qui serait de toute façon?

Oui, il y a un sel dans le code où j'essaye ça.


1 commentaires

Oui, c'est ce qu'on appelle le mot de passe craquant en.wikipedia.org/wiki/password_cracking


7 Réponses :


-1
votes

Nope .. C'est une fonction à sens unique.


0 commentaires

1
votes

Non.

crypt () n'est pas un algorithme réversible (il utilise une fonction à sens unique) qui est rendu plus difficile à la force brute par l'ajout de sel à la valeur cryptée.

édité par commentaires.


1 commentaires

Le sel n'est pas ce qui le rend irréversible. "Sel" est ce qui rend plus difficile l'utilisation d'un algorithithme séparé avec une recherche de table exhaustive pour trouver l'inverse d'un sous-ensemble de sa gamme.




0
votes

Non, il n'est pas possible de jeter un coup d'œil sur ce site (en supposant que vous utilisez la bibliothèque GNU C) http://www.gnu.org/s/libc/manual/html_node/crypt.html

La manière dont la crypte est salée garantira à peu près que ce que vous essayez de faire ne va pas fonctionner.


1 commentaires

Le sel n'a rien à voir avec l'algorithme étant réversible ou non. Le sel est là pour protéger contre les attaques de recherche de table arc-en-ciel.



0
votes

Cette fonction étant à sens unique est la colonne vertébrale de chaque système de mot de passe au monde. Si quelqu'un était ici pour répondre "Oui, et voici comment ...", le gouvernement serait obligé de supprimer immédiatement leur commentaire, de brûler leur maison et de les séduire à un endroit non divulgué.

En bref, non.


3 commentaires

Nah, ils perdent chaque jour des données confidentielles sur les ordinateurs portables. Pensez-vous qu'ils se soucient vraiment si vous craquez un hachage à sens unique obsolète? ;) Bien sûr, si vous craquez la dernière DRM Britney Spears à la place, préparez vos bagages pour des vacances à Guantanamo :)


CRYPT () est basé sur l'algorithme MD5 ou des des des des des des des des affaires (par rapport à GNU .org / s / libc / manuel / html_node / crypt.html ). MD5 est bien connu pour ne pas être suffisamment efficace et que, comme pour les des Algorihms anciens de l'Old des Algorihms, il y a beaucoup de nouvelles versions, je ne crois pas que tout gouvernement utiliserait exactement cette mise en œuvre comme colonne vertébrale pour hachage ( Surtout que la NSA qui est responsable du DEST crée un algorithme basé sur SHA en remplacement).


Pour les deux: MD5 est considéré comme "obsolète" car il n'utilise pas suffisamment de morceaux pour survivre aux attaques de force de butée, pas parce que l'algorithme a des problèmes. Si vous pouviez déterminer comment inverser l'algorithme, vous seriez capable de craquer n'importe quelle crypte (peu importe la taille du bit) qui utilise la même méthode mathématique. Les mots de passe et les communications cryptées dans le monde entier pourraient vous être ouvertes.



4
votes

Si c'est une ancienne implémentation de crypt (3) , en utilisant DES, alors vous pouvez presque (mais pas tout à fait) la force brutale.

Dans ce schéma, l'entrée est tronquée à 8 caractères et chaque caractère à 7 bits, ce qui signifie qu'il y a un espace 56 bits de mots de passe distincts à la recherche.

Pour les seuls, vous pouvez rechercher dans tout l'espace dans environ 18 jours sur une valeur de 10 000 $ de FPGAS ( http://fr.wikipedia.org/wiki/data_encyption_standard#brute_force_attack ), donc l'heure prévue est de 9 jours. Mais je suppose que vous n'avez pas 10 000 $ pour dépenser sur le problème. Donnez-lui quelques années de plus et qui sait si des craquelins se dérouleront en temps plausible sur le GPU d'un PC.

Même alors, Crypt (3) implique traditionnellement 25 tours de DES, avec de légères modifications à l'algorithme sur la base du sel, vous vous attendez donc au moins 25 fois plus ralentissement de brute -force.

Les nouvelles implémentations de crypt (3) sont bien au-delà de la force brute, car elles sont basées sur de meilleurs algorithmes de hachage que celui des OLD CRYPT (3) utilisé.

Bien sûr, si la chaîne n'est pas aléatoire (par exemple, si c'est un mot de passe choisi par certains humains), vous pourrez peut-être obtenir un temps attendu beaucoup mieux que la force brute.


1 commentaires

BTW, il suffit de courir un test de jouet, et mon craqueur de crypte "le plus simple possible" prendrait environ 300 000 ans pour couvrir l'espace clé en utilisant un noyau de mon ordinateur portable. -Lcrypt avec GCC me donne la version 8Char x 7 bits de Crypt. Donc, ce n'est pas fissuré par moi, mais aussi pas sûr de supposer que ce n'est pas fissuré par quelqu'un.



14
votes

Par intention de conception, crypt () est un hasch à sens unique. Comme tout le monde l'a dit, cela signifie que l'intention est que cela serait informellement infaisable de découvrir une chaîne de plainte qui produit le même hachage.

Quelques facteurs ont un effet sur cette intention de conception.

  1. Calcul est un lot moins cher qu'il n'était que lorsque crypt () a été conçu. Pire, le taux auquel le calcul a été moins cher n'a pas été anticipé, il est donc beaucoup moins cher que cela ne l'a été imaginé que cela pourrait être.

  2. des ne s'est pas levé aussi bien qu'on le pensait. C'était probablement le meilleur choix compte tenu de l'état public de la connaissance à l'époque, cependant.

  3. Même si le calcul n'est pas encore assez bon marché pour faire votre propre craquage, le nuage qui est Internet a déjà fait beaucoup de travail pour vous. Les gens ont été informatiques et publiés Tables arc-en-ciel permettant de raccourcir beaucoup de calcul requis pour inverser un hachage particulier. ( Jeff avait un article de blog sur les tables arc-en-ciel .) Sel aide à protéger contre l'arc-en-ciel tables (car vous auriez besoin d'une tablette de table pour chaque valeur possible du sel), mais la taille du sel utilisé dans la mise en œuvre classique de crypt () est de seulement 12 bits de sorte que ce ne soit pas aussi énorme un bloc comme on pourrait l'espoir.

    pire encore, pour certaines fonctions de hachage haute valeur (comme le LM Hash inventé pour vieux Mots de passe Microsoft Lan Manager mais utilisé pour un mot de passe court dans toutes les versions de Windows avant Vista) des dictionnaires presque complets de hashhes et leurs inverses existent.


0 commentaires