Question:
Why can't the MD4 algorithm be done in reverse?
2012-07-08 10:33:41 UTC
If you have an MD4 hash, why couldn't someone perform the steps in reverse to get the original text before the digest? I know there is probably something that I just don't understand, but it seems as though if it couldn't be done in reverse, that would meant there is more than one value that would give you the same hash value.
Also, If you could show the steps of the algorithm that cant be reversed in more detail, that would be great too.
Three answers:
?
2012-07-09 14:52:44 UTC
A message digest isn't an encryption which seems to be how you understand it. An MD4 is 16 bytes long so any file that was longer than 16 bytes couldn't be reconstructed anyway.



Anyway, a message digest is presented along with the original text so you can verify that the original text is uncorrupted (either by accident or malicious intent). There is no need to reverse engineer it.



MD4 is flawed anyway so it doesn't work quite as planned.



Check out the wikipedia entries.
Gajanand
2015-07-22 07:40:44 UTC
MD4 hash algorighm is one way street. To give you an example,

C = A + B

If you know A and B then you can obviously calcualate C, but if you know C you can t go back and calcualte both A and B.

Now this is a very simple hash algorithm above and it is a bad one because as you pointed out, if you can t go reverse then there may exist other values for which we would get the same hash. So, in case of summation hash function its easy to find what is called a collision . (Finding more than one value with same hash). So, all better hash functions do is to create more and more clever hash functions so it would take really long to find a collision. Like collisions for MD4 and MD5 is already there and known. The collsion of SHA1, SHA2 should exist in theory but perhaps we can not hope to find it since it would take more than the age of the universe to find out with the world s fast super computer.
Pseudonym
2012-07-08 19:45:17 UTC
If you try implementing it, you'll find the problem fairly quickly. It's the four additions at the end of each block.



Of course it's POSSIBLE to go in reverse. But it's supposed to be computationally infeasible. (In reality, MD4 is very broken, both theoretically and practically.)


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...