Cât de ușor este să creezi un fișier-b fals care are aceleași hashe-uri ca fișierul-a? crc32, md5 și sha1?
Aceasta este cunoscută în cercurile criptografice ca problema „a doua preimagine”.
Cu CRC32, este ușor; luați doar mesajul original și adăugați (adică xor) câteva copii deplasate ale polinomului CRC și asta nu va schimba hash-ul. Dacă nu aveți fișierul original-a (aveți doar hash), atunci construirea fișierului-b ar implica rezolvarea a 32 de ecuații booleene simultane - doar puțin mai dificilă.
Cu MD5 și SHA-1, nu există nicio modalitate practică cunoscută. În ambele cazuri, cea mai bună abordare pe care o avem este să încercăm un număr mare de fișiere-b arbitrare până când ne împiedicăm de unul cu hash-ul așteptat - aceasta este o cantitate de muncă imposibilă în ambele cazuri.
Acum, ceea ce se știe cu MD5 și SHA-1 este cum să construiți două fișiere diferite cu același hash. Cu toate acestea, aceste metode necesită posibilitatea de a specifica ambele fișiere și nu se aplică dacă unul dintre fișiere este deja dat.
Poate computerul mediu cu un GPU să calculeze coliziunea hash triplă a fișierului-a?
Nu există nicio modalitate cunoscută de a face acest lucru (în timp practic, de exemplu, înainte ca soarele să se transforme într-un Gigant Roșu...)