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


16

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

Ответы:


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 был скопирован правильно и полностью.


Это уже не сложно. И как сложнее бежать 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 широко используется, потому что он широко использовался, и разрывы еще не настолько значительны, чтобы быть очевидной проблемой в существующих системах.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.