(extended abstract), IACR ePrint archive Report 2006/105 , 18 March, 2006, pdf: English ,Czech , the source code version 0 (non optimized), the source code version 1 (a collision in 31 seconds on a notebook).
Giuseppe Vitto from the University of Trento (Italy) rewrited the code. The code is commented, OS independent (compiles on 32/64bit with gcc - tested on MacOS 10.11.6, Ubuntu Mate, Windows 7 (Cygwin) ), mask bits for tunnels are generated by a dedicated function (generate_mask), block computation is handled by main, tunnels can be selectively disabled, some little logics are changed (i.e. use of a dedicated “bit" function to retrieve the i-th bit of an integer instead of using an AND with a mask). At compile time you can choose if: blocks are written to disk, a summary of the collision found is written to disk, final hash computation is printed, final hash is printed in the summary. If the compiler doesn’t do it automatically, to compile is necessary to link the math library: gcc *.c -lm. In the head comment he reported a seed that permits to generate a collision under a second (he found lots of them). In mean a collision took 15-20 seconds, but sometimes happen that it tooks 40-50 seconds and rarely more than a minute. Tests are performed on MacOS with a Macbook Pro (Intel Core i5 dual-core @2,7GHz). He created a new github profile and uploaded there the whole project. Now, anyone from around the world can modify and improve the code. The github repository is located at https://github.com/s1fr0/md5-tunneling .
Daniel Joscak: Finding Collisions in Cryptographic Hash Functions, diploma work, MFF UK, Prague, April 21, 2006. Abstract: The main interest of this paper is finding collisions in the hash function MD5. We present our new algorithm based on Wangs et al. methods of finding collisions in MD5. While writing this thesis Stevens and Klima published their fast algorithms for nding collisions. We give a description of these algorithms and the calculation of computianal complexity of all three algorithms.
Give me any three files and I will give you another three with the same MD5 hash... More info The program pack3 was written by Ondrej Mikle. It is based on MD5 collision program by Vlastimil Klima. Usage: pack3 file1 file2 file3 file4 file5 file6 will create two packages, package1.exe and package2.exe. Both will have the same MD5 sum, while package1.exe will extract files 1-3 and package2.exe will extract files 4-6.
Marc Stevens, "Fast Collision Attack on MD5", 17 March 2006, IACR ePrint archive Report 2006/104 , pdf and source code .
Quick test of both Klima and Stevens programs is here .
Pavel Dufek: Modification of Klima´s program (version 1), this modified program enables to choose the initialization value as a program parameter. It creates new text and binary files, also. The source code and executable program is here .
J. Black, M. Cochran, T. Highland: "A Study of the MD5 Attacks: Insights and Improvements", FSE 2006, pdf (March 3, 2006) , toolkit .
Jun Yajima and Takeshi Shimoyama: Wang’s sufficient conditions of MD5 are not sufficient, Cryptology ePrint Archive: Report 2005/263, 10 Aug 2005, http://eprint.iacr.org/2005/263.pdf .
Yu Sasaki and Yusuke Naito and Noboru Kunihiro and Kazuo Ohta: Improved Collision Attack on MD5, Cryptology ePrint Archive: Report 2005/400, 7 Nov 2005, http://eprint.iacr.org/2005/400.pdf .
Liang J. and Lai X.: Improved Collision Attack on Hash Function MD5, Cryptology ePrint Archive: Report 425/2005, 23 Nov 2005, http://eprint.iacr.org/2005/425.pdf .
Vlastimil Klima: Finding MD5 Collisions on a Notebook PC Using Multi-message Modifications, IACR ePrint archive, Report 2005/102, pdf: English, Czech, March 31, 2005, 3rd Int. Conference Security and Protection of Information 2005, Brno, Czech Republic, May 3 - 5, 2005, powerpoint presentation.
Vlastimil Klima: Finding MD5 Collisions – a Toy For a Notebook, Cryptology ePrint Archive, Report 2005/075, pdf: English, Czech, March 5, 2005.
Ondrej Mikle: Practical Attacks on Digital Signatures Using MD5 Message Digest, Cryptology ePrint Archive, Report 2004/356, 2nd December 2004, homepage.
Xiaoyun Wang, Hongbo Yu: How to Break MD5 and Other Hash Functions, pdf, published on the web on March 6, 2005.
Xiaoyun Wang, Xuejia Lai, Dengguo Feng, Hui Chen, Xiuyuan Yu: Cryptanalysis of the Hash Functions MD4 and RIPEMD, pdf, published on the web on March 6, 2005
Arjen Lenstra, Xiaoyun Wang, Benne de Weger: Colliding X.509 Certificates, homepage, report.
Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu: Collision Search Attacks on SHA1, report.
Back to main page.