Меня немного вдохновила эта запись в блоге http://blogs.technet.com/dmelanchthon/archive/2009/07/23/windows-7-rtm.aspx (немецкий)
Текущее мнение состоит в том, что md5 и sha1 несколько сломаны. Не легко и быстро, но по крайней мере для md5 в диапазоне практических возможностей. (Я вовсе не эксперт по криптографии, поэтому, возможно, я ошибаюсь в таких вещах).
Поэтому я спросил себя, возможно ли создать файл A', который имеет такой же размер, такую же сумму md5 и такую же сумму sha1. strong> как исходный файл A.
Во-первых, возможно ли это вообще?
Во-вторых, возможно ли это на самом деле, с существующим аппаратным/программным обеспечением?
Если нет, то не будет ли самым простым способом гарантировать целостность файла всегда использовать два разных алгоритма, даже если у них есть какая-то слабость?
Обновлено:
Просто чтобы уточнить: идея состоит в том, чтобы иметь файл A и файл A', который выполняет условия:
size(A) == size(A') && md5sum(A) == md5sum(A') && sha1sum(A) == sha1sum(A')
md5немного сломан,sha1несколько сломан, вероятность обнаружения совместного столкновения будетP(md5sum(A) == md5sum(A')) * P(sha1sum(A) == sha1sum(A')), так как они взаимно независимы, что означает, что они действительно малы. Но для обмена файлами, я думаю, это слишком много работы для слишком большого выигрыша, так как вы можете повторно загрузить файл из официального источника. Для быстрой проверки достаточноmd5. - person Esteban Küber   schedule 24.07.2009