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

Ответы:

16

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

Быстрый тест сделано в 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-3 раза быстрее, чем SHA1 для той же информации.

Рич Брэдшоу
источник
10

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

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

eleven81
источник
Это уже не сложно. И как сложнее бежать sha256sum filename.isoвместо md5sum filename.iso?
Механическая улитка
Кроме того, если ваш провайдер является злым, MD5 не гарантирует, что ISO был загружен правильно. Интернет-провайдер может испортить образ ISO, чтобы сделать что-то плохое.
Механическая улитка
4
  1. Это коротко - легче читать.
  2. Это широко распространено - отличная совместимость с другими системами
  3. Это обычно - все просто привыкли к этому.

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

Иосип Медведь
источник
3

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

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


(*) для большинства целей контрольной суммы столкновение имеет смысл только в том случае, если оно происходит между двумя объектами одинакового происхождения и одинакового размера. Несмотря на высокую вероятность уникальности MD5, в конечном итоге могут возникнуть коллизии между двумя совершенно разными файлами. Скажем, файл базы данных 1,5 Мб и файл размером 35 Кб. Для большинства целей это бессмысленное столкновение. Тем более, что MD5 - это всего лишь один элемент индексации файлов. Размер файла является еще одним важным.

Гном
источник
2

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

Дуглас Лидер
источник