Is it possible to interrupt hash-md5 using genetic algorithms?

Given how md5 works, is it possible to use a population-based algorithm such as genetic programming to break simple passwords?

For examples, given the xd5 hash for a string between 5 and 10 characters long, we should try to return the string.

If so, what could be

  • Good performance for the individual population.
  • Selection criteria
  • Recombination methods

This is an understanding of the application of genetic algorithms and to know if anyone has done anything like that.

+4
source share
4 answers

Not really.

With only 5 characters, you can use it in a not too unreasonable amount of time, but you are probably asking more about GA than about breaking MD5. The problem is that there is no structure available in the MD5 hash. Strings that are โ€œclose togetherโ€ do not generate hashes that are โ€œclose to each otherโ€ at any usable distance. The fitness function will be mostly random.

+7
source

I think the answer is no. Because you cannot get any crossover function. And the fitness function will be logical. GA with a single mutation operator and such a fitness function is brute force.

+1
source

No, this is unlikely.

A genetic algorithm is used, for example. to find the local / global maximum / minimum of some function. In the case of the md5 hash, if you change the value for which you calculate the md5 hash, the md5 hash is completely changed, so narrowing the range of input values โ€‹โ€‹is completely inefficient. The MD5 algorithm was designed for a hash of the generated value if the input data changes in any way. The only way to find the correct value is when you apply the mutation, but this leads to checking random input values โ€‹โ€‹to see if they generate the given hash (which, as oxilumin said, is just a brute force attack).

You can learn more about finding the value that created the particular md5 hash here (rainbow tables) .

+1
source

Although the answer is probably no, there is one caveat: published collisions are strings that differ only in a few key bytes: https://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities

Guessing the plaintext using the genetic algorithm is not guaranteed, but it is perhaps more efficient to detect such a collision.

Or, if it is in PHP and compares the md5 hash with the == operator ... https://eval.in/108854

+1
source

All Articles