Почему MD5 все еще используется в большой степени?

MD5, кажется, хорошо зарегистрировал уязвимости, и все же это остается широко распространенным в своем использовании. У кого-либо есть какие-либо причины его остающийся жизнеспособным вариантом, когда другие альтернативы (например, SHA-2), кажется, более устойчивы?

17
задан 27.10.2009, 16:22

5 ответов

Это быстро для генерации, и часто то, что коллизии теоретически возможны, не является серьезной проблемой. т.е. проверка, изменился ли кэшируемый файл, чтобы не загружать новую копию.

Быстрый сравнительный тест, сделанный в 1996, показывает следующее:

            Digest Performance in MegaBytes per Second

      Pentium P5     Power Mac    SPARC 4     DEC Alpha
          90 MHz        80 MHz      110 MHz      200 MHz

MD5         13.1          3.1         5.1          8.5
SHA1         2.5          1.2         2.0          3.3

Для современного использования - на встроенных микросхемах, MD5 может быть 2-3x быстрее для создания, чем SHA1 для той же информации.

16
ответ дан 07.12.2019, 10:36

Хеш MD5 "достаточно хорош" для большинства черных задач. Вспомните, что все еще невероятно трудно произвести значимые коллизии в том же числе байтов.

Например, скажите загрузку новой Ubuntu 9.10 на следующей неделе с доверяемого зеркала. Вы хотите проверить, что файл был загружен правильно и полностью. Просто разожгите MD5 и хешируйте ISO. Сравните хеш с опубликованным хешем. Если хеши соответствуют, можно быть уверены, что ISO был скопирован правильно и полностью.

10
ответ дан 07.12.2019, 10:36
  1. Это коротко - легче читать.
  2. Это широко распространено - большая совместимость с другими системами
  3. Это обычно - все просто привыкли к нему.

и безопасность может быть улучшена с солением его.

4
ответ дан 07.12.2019, 10:36

MD5 широко используется в качестве хеш-функции контрольной суммы, потому что его быстрое и представляет чрезвычайно низкое отношение коллизии. Контрольная сумма MD5 состоит из 32 шестнадцатеричных цифр, которые вместе обеспечивают 1 в ~3.42e34 разногласиях коллизии. Вы могли теоретически хешировать все файлы во всех компьютерах в стране размер США и не произвести коллизию (*).

Для криптографии MD5 является допустимой альтернативой, если безопасность является только умеренным беспокойством. Это - очень жизнеспособный вариант для хеширования паролей базы данных или других полей, требующих внутренней безопасности для ее скорости главным образом, но также и потому что MD5 действительно предлагает разумный уровень безопасности, где устойчивое шифрование не является беспокойством.


(*) в большинстве целей контрольной суммы, коллизия только значима, если это происходит между двумя объектами подобных источников и с тем же размером. Несмотря на MD5 высокая вероятность уникальности, коллизии могли в конечном счете произойти между двумя очень отличными файлами. Скажите, файл базы данных 1.5 МБ и 35k gif файл. В большинстве целей это - бессмысленная коллизия. Еще больше, потому что MD5 является всего одним элементом индексации файлов. Причем размер файла - другой важный.

3
ответ дан 07.12.2019, 10:36

MD5 широко используется, потому что он широко использовался, и повреждения еще не являются достаточно значительными быть очевидной проблемой в существующих системах.

2
ответ дан 07.12.2019, 10:36

Теги

Похожие вопросы