Здається, що в MD5 добре зареєстровані вразливості, але він все ще залишається широко розповсюдженим. Хтось має якісь причини, щоб він залишався життєздатним варіантом, коли інші альтернативи (наприклад, SHA-2) здаються більш надійними?
Здається, що в MD5 добре зареєстровані вразливості, але він все ще залишається широко розповсюдженим. Хтось має якісь причини, щоб він залишався життєздатним варіантом, коли інші альтернативи (наприклад, SHA-2) здаються більш надійними?
Відповіді:
Генерувати це швидко, і часто той факт, що теоретично можливі зіткнення, не є масовою проблемою. тобто перевірити, чи змінився кешований файл, щоб уникнути завантаження нової копії.
Швидкий тест зроблено в 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 для тієї ж інформації.
Хеш MD5 "досить хороший" для більшості найважливіших завдань. Нагадаємо, що все ще неймовірно складно створити значущі зіткнення в однаковій кількості байтів.
Наприклад, скажіть, що ви завантажуєте новий Ubuntu 9.10 наступного тижня з надійного дзеркала. Ви хочете переконатися, що файл завантажено правильно та повністю. Просто запустіть MD5 і хеште ISO. Порівняйте хеш із опублікованим хешем. Якщо хеші відповідають, ви можете бути впевнені, що ISO було скопійовано правильно та повністю.
а безпеку можна покращити, засоливши її.
MD5 широко використовується як хеш-функція контрольної суми, оскільки його швидкість і надзвичайно низький коефіцієнт зіткнення. Контрольна сума MD5 складається з 32 шістнадцяткових цифр, які разом забезпечують коефіцієнт зіткнення 1 в ~ 3,42е34. Теоретично ви можете хеш-файли всіх файлів на всіх комп'ютерах у країні розміром з США і не створювати зіткнення (*).
Для криптографії MD5 є вагомою альтернативою, якщо безпека викликає лише помірне занепокоєння. Це дуже життєздатний варіант для хешування паролів баз даних або інших полів, що потребують внутрішньої безпеки, здебільшого для своєї швидкості, але також тому, що MD5 дійсно пропонує розумний рівень безпеки, коли сильне шифрування не викликає особливих проблем.
(*) для більшості цілей контрольної сутички зіткнення має значення лише в тому випадку, якщо воно відбувається між двома об'єктами подібного походження та однакового розміру. Незважаючи на високу ймовірність унікальності MD5, зіткнення можуть з часом статися між двома дуже різними файлами. Скажімо, файл бази даних 1,5 Мб і файл gif розміром 35 Кб. Для більшості цілей це безглузде зіткнення. Тим більше, що MD5 - це лише один елемент індексації файлів. Ще один важливий розмір файлу.
MD5 широко застосовується, оскільки він широко застосовується, а перерви ще недостатньо значні, щоб стати очевидною проблемою в існуючих системах.
sha256sum filename.iso
замістьmd5sum filename.iso
?