MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


md5(c1 + x) = c2

md5(x) = y

Is it possible to find y, if c1 and c2 are known and x is uknown? Basically, I know md5(salt + key) and I want to find md5(key).

share|cite|improve this question
Is md5 the standard hash function ? "+" means concatenation? – joro Sep 18 '12 at 9:18 might be a better place to ask this question. – Someone Sep 18 '12 at 9:47
Hi Max, I've voted to close this question because as written it is not well-suited here. Be sure to read over and the FAQ --- questions here should be written in the language of professional research mathematics. Myself, I have no idea what "md5", "salt", or "key" mean, nor even what area they are in (googling suggests md5 to have something to do with computer encryption). If this is a research mathematics question, feel free to revise your question to include some definitions, motivation, and what you already know. – Theo Johnson-Freyd Sep 18 '12 at 14:47
Quick answer: there are 2 ways to get md5(x)=y. One is by finding x, where no method is known to be better than bruteforcing x. Another way, which your question seems to suggest, is to study related-keys and try to get md5(x) without finding x. To my best of knowledge there are no results of this kind. There are studies on the differential probabilities, which is very low as you can imagine, very unlikely to beat bruteforcing. However, if the salt is fixed, one may use rainbow tables so that future searches are faster. – Ng Yong Hao Sep 18 '12 at 17:26

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.