MD5 Fast Collision
2 Attachment(s)
MD5 Fast Collision:
generate two blocks with same MD5 hash. The program require Microsoft Visual C++ 2008 Redistributable Requirements: https://www7.zippyshare.com/v/hx08GIN8/file.html Source code: https://www2.zippyshare.com/v/NIpCbdj7/file.html |
Can you clarify if this is a pre-image (where the hash is given), second pre-image (where one block is given), or just a plain collision (two random blocks) as I suspect its the 3rd which is still not as useful as the prior 2.
|
From a quick glance at the source it looks like it is based on user input to generate the collisions but uses a static IV to do it:
Code:
// IV = 0123456789abcdeffedcba9876543210 |
It doesn't use static IV - MD5IV can be set by user,
but unfortunately it is just generate two random blocks with MD5 collision! |
MD5IV in that line is const, meaning it can't be changed during runtime.
It would have to be edited at compile time to be altered. If the exe alone was distributed, then it wouldn't be changeable unless someone hex edited/memory edited the exe. |
void CMD5_Fast_ColDlg::OnBnClickedOk()
{ ... uint32 IV[4] = { MD5IV[0], MD5IV[1], MD5IV[2], MD5IV[3] }; ... if (initialValues[0]!=0) { ... IV[0] = Endian_Conv(IV[0]); IV[1] = Endian_Conv(IV[1]); IV[2] = Endian_Conv(IV[2]); IV[3] = Endian_Conv(IV[3]); } So MD5 initial values can be set by user! |
All times are GMT +8. The time now is 21:59. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX