Насколько легко создать поддельный файл-b с теми же хэшами, что и файл-а? crc32, md5 и sha1?
В криптографических кругах это известно как проблема «второго прообраза».
С CRC32 это просто; просто возьмите исходное сообщение и добавьте (то есть xor) несколько смещенных копий полинома CRC, и это не изменит хэш. Если у вас нет исходного файла-а (у вас есть только хеш), то создание файла-b потребует одновременного решения 32 логических уравнений, что лишь немного сложнее.
С MD5 и SHA-1 нет известного практического способа. В обоих случаях лучший подход, который у нас есть, состоит в том, чтобы попробовать огромное количество произвольных файлов-b, пока мы не наткнемся на один с ожидаемым хешем — это невыполнимый объем работы в обоих случаях.
Что известно о MD5 и SHA-1, так это о том, как создать два разных файла с одним и тем же хэшем. Однако эти методы требуют возможности указать оба файла и не применяются, если один из файлов уже задан.
Может ли средний компьютер с графическим процессором вычислить тройное столкновение хэшей файла-а?
Неизвестно, как это сделать (на практике, например, до того, как солнце превратится в красного гиганта...)