in reply to Password cracking algorithm

I am with Paladin on this one, but i felt compelled to reply none the less. As far as threading goes, this sounds like a trivally parallelizable problem. You could create N number of threads and pass each one different pieces to work on. Give each thread a different range of characters to check so that each thread works on new material only. I like to create a server thread that responds to requests for work from 'worker' threads. If a worker finds the 'answer', it signals back to the server so the server can stop further processing. Of course, if you are using a single processor then you aren't going to see speed up. This is a common misconception a lot people have about threads - that they just magically make things faster (barring super-linear speedups - they don't).

But let's stop there and think about something ... since you are wanting to put together every possible combination of characters that can be used in a password ... well, if your program finishes before you die, you will crack every password ever thought of, and no password will be good enough. Maybe you should concentrate on detecting the use of a password cracker instead, and how to track down the dog that is trying to compromise your system.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)
  • Comment on (jeffa) Re: Password cracking algorithm

Replies are listed 'Best First'.
Re: (jeffa) Re: Password cracking algorithm
by liz (Monsignor) on Jul 22, 2003 at 06:46 UTC
    You could create N number of threads and pass each one different pieces to work on.

    If you're interested in speed, I would not use Perl threads... ;-)

    Liz