No IMHO je to tak, že máme zprávu A a MD5 hash H. Prolomení v tomto prezentovaném smyslu znamená, že umíme efektivně zkonstruovat zprávu B, která má taky hash H. Efektivně znamená, že na to nejdeme úplně hrubou silou. Ani jeden algoritmus ale není zveřejněný, takže nevíme, jak pracuje a co přesně dělá.
Co je dále úspěch, tak kolizi lze efektivně hledat i pro předem danou zprávu A (jak zase plyne z textu). Komplementem této situace by byl stav, kdy bychom byli efektivně schopni nalézt dvě zprávy (A a B) se stejným hashem H, aniž bychom předem znali A nebo B. (Toto už by bylo z bezpečnostního hlediska skoro úplně na nic.)
Nikde se ale nepíše o formátu zprávy B. Tzn. jak to chápu já, tak zpráva B vzniká naprosto nahodile a agoritmus funguje jako B=md5_find_collision(H). Nikde se nepíše, že lze dopředu deklarovat \"máme A s hasem H, B začíná řetězcem X\". Pokud by to šlo a fungovalo by to takto (tzn. B=md5_find_collision(H, zacatek_noveho_B)), pak máte samozřejmě pravdu. Ale to by bylo prolomení MD5 na naprosto jiné úrovni a autoři by se s tím určitě rádi pochválili. Pak by šla MD5 fakticky zahodit.
Zase jsou to jenom moje doměnky, mohl jsem někde něco přehlédnout. Dále se samozřejmě rád nechám poučit od lidí, kteří ví víc než já. :)