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

5327
David in Dakota

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

17

5 ответов на вопрос

16
Rich Bradshaw

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

Быстрый тест сделан в 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
eleven81

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

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

[Это уже не сложно.] (Https://encrypted.google.com/search?q=md5+collision+generator) И как сложнее запустить `sha256sum filename.iso` вместо` md5sum filename.iso`? Mechanical snail 12 лет назад 0
Кроме того, если ваш провайдер является злым, MD5 не * гарантирует *, что ISO был загружен правильно. [Интернет-провайдер может изменить образ ISO, чтобы сделать что-то злое.] (Http://www.mscs.dal.ca/~selinger/md5collision/) Mechanical snail 12 лет назад 0
4
Josip Medved
  1. Это коротко - легче читать.
  2. Это широко распространено - отличная совместимость с другими системами
  3. Это обычно - все просто привыкли к этому.

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

3
A Dwarf

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

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


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

2
Douglas Leeder

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

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