# Is md5(x) xor md4(x) collision proof?

Suppose I have the following hash function: $$\newcommand{\md}[1]{\text{md#1}} \newcommand{\H}{\text{H}}$$

$$\H(x, y) = \md{5}(x) \oplus \md{4}(y)$$

How can I prove it's collision proof?

I tried to say "lets assume we have an oracle which know how to find a collision/pre image of $$\H$$" and find an algorithm to find $$\md5$$ collision. I didn't manage to find such algorithm.

How can it be proved?

• Actually, a standard birthday attack would take circa $2^{64}$ hash evaluations - plausible for some real-world entities... Dec 11, 2019 at 15:26
• Hint: when asked to prove something, first question if it is true or false. That'll get you a grasp on the problem.
– fgrieu
Dec 11, 2019 at 15:34
• I couldn't find a way to make a collision. Thus, the hint isn't usefull for me Dec 11, 2019 at 16:29
• You seem to think that md5 is collision resistant. I have bad news for you. Dec 11, 2019 at 17:37
• Well then fix $x$. Finding collisions in md4 is even simpler. It apparently takes less than 2 md4 invocations to find fresh md4 collisions. Dec 11, 2019 at 18:03