web-dev-qa-db-fra.com

Ce qui est plus rapide - forçage brute, ou en utilisant une attaque de dictionnaire contenant toutes les permutations possibles?

En supposant qu'un mot de passe de 6 caractères utilise le charert MixalPharmanicericer, donnant à chaque caractère un jeu de caractères de 62 et tout le mot de passe d'un espace de mot de passe de 62 ^ 6 = 46,6 milliards (Si mes calculs sont corrects) ...

Serait-ce plus rapide de brut-forcer le mot de passe ou de générer tout le clavier dans un dictionnaire et utilisez ce dictionnaire dans une attaque de dictionnaire?

Les deux approches sont-elles considérées comme équivalentes ou y aurait-il une différence de performance? Ce dernier est-il souvent fait? Sinon, pourquoi pas, et si oui, pourquoi n'est-ce pas plus commun?

Notez que l'exemple mentionné est juste que, et la question que je pose est une performance que l'une concernant les deux méthodes, quel que soit le clavier de votre mot de passe particulier et le temps réel pris.

7
Hashim

Il n'y a pas de différence ... jusqu'à ce que vous entriez dans les implémentations.

Des plates-formes de craquage efficaces telles que Hashcat et John Le Ripper exécutent une bruteforce directement sur le GPU/CPU à l'aide d'optimisations qui les rendent beaucoup plus rapides que les mots de passe candidats équivalents pourraient être introduits dans le processus de craquage à partir d'un dictionnaire externe.

La vraie bruteforce et les attaques connexes (comme des attaques à base de masques et de règles) doivent toujours être plus rapides qu'une attaque pure dictionnaire.

Mise à jour: Ma réponse s'applique pour les hayes rapides. Pascal a raison dans sa réponse que si le hachage est assez lent, ce serait la même chose.

10
Royce Williams