# Knowing md5(c+x), is it possible to find md5(x)?

Suppose:

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).

-
Is md5 the standard hash function ? "+" means concatenation? – joro Sep 18 '12 at 9:18
crypto.stackexchange.com 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 mathoverflow.net/howtoask 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