With a knowledge of how md5 works, would it be possible to use a population based algorithm such as genetic programming to break simple passwords?
For examples, given a md5 hash for a string that is between 5 to 10 characters, we are to try to get the string back.
If yes, what could be
- A good representation for an individual of the population
- Selction criteria
- Recombination methods
This is to understand the application of genetic algorithms and to know if anyone has done anything of this sort.
Not really.
With just 5 characters, you could brute force it in not too unreasonable amounts of time, but presumably you’re asking more about GAs than you are about breaking MD5. The problem is that there’s no exploitable structure in an MD5 hash. Strings that are “close together” do not generate hashes that are “close together” under any useful distance relationship. The fitness function will basically be random.