I'm stuck on an assignment of mine and maybe someone has some advice for me. I have the following task: I have to modify two files, which differ in exactly one byte, so that they have the same MD5 hash. The files are structured as follows, it starts with a X byte long prefix, which I can vary in length, but must be constructed according to a certain structure. Then follows the byte in which both files differ. For example file 1 should have 0x01 and file 2 0x05. After that two fixed bytes follow. Another specification is that the calculation time of the tool/alogrithm should be in the range of minutes.

I have already looked at the repo of Korkami about MD5 collisions and in this context I have already experimented with Hashclash. With the chosen prefix collision from Hashclash I manage to solve the task, but this takes several hours. I have also tried the identical prefix attack with my prefix, which is much faster and in the range of minutes. But there I don't know how to keep the last two bytes fixed and still set the differing byte in the collision. Maybe someone could give me a hint how to solve this.

Thanks in advance for your advices

  • $\begingroup$ Block alignment? Can you get a collision that only differs in the last byte? $\endgroup$
    – kelalaka
    Jan 14 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.