Pull to refresh

Comments 25

Так он лет 10, наверное, уже считается небезопасным.

Лет 10 устаревшим (а.к.а. "криптографически уязвимым и непригодным для использования"), а небезопасным все 15-20.

В 1996 году Ганс Доббертин (Hans Dobbertin) объявил о коллизии в алгоритме[4], и уже в то время было предложено использовать другие алгоритмы хеширования.

Да, что-то напоминает анекдот про дедушку, который 50 лет поезда под откос пускает. md5 уже чёрт знает сколько времени используется для первичной проверки, что что-то там неодинаковое, но не более того.

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

Breaking news, всего-то 15 лет потребовалось. Но более того, никакой криптографический хеш не рекомендовано использовать в чистом виде для парольной аутентификации, хоть с солью, хоть без.

Причина очень простая - например, RTX 3090 дает 9.5 GH/s на SHA-256 (и 95 GH/s на MD5, для сравнения). Для парольной аутентификации существуют PBKDF, scrypt, bcrypt, argon2 и прочие функции, созданные специально для этих целей.

Спасибо за внимание к нашей статье!

Действительно, хорошее пояснение.

Причина очень простая - например, RTX 3090 дает 9.5 GH/s на SHA-256 (и 95 GH/s на MD5, для сравнения)

Простите за глупый вопрос, но мне все же не очень понятно.
Если пароль нормальный, допустим 16 символов в нижнем и верхнем регистре + цифры.
Условный YmLUa8BBZDp9SvPS

Это по идее (2*26 + 10)^16 = 47672401706823533450263330816 комбинаций
95GH/s это как я понимаю 95 * 10^9 хешей в секунду = 95000000000

47672401706823533450263330816 / 95000000000 ~= 47672401706823533450 секунд ~= 1511681941489 годов подбора на указанной вами скорости. Звучит не очень впечатляюще если честно.

Я скорее всего ошибаюсь, но как я понимаю, если у вас нормальный пароль, то вполне безопасно хранить его и в md5. Возможно стоит упоминать это. Просто когда говорят "md5 небезопасный", то как будто имеется в виду, какой бы у вас пароль не был захеширован этим алгоритм, злоумышленник его узнает легко и просто.

Как я понимаю у алгоритма md5 есть уязвимости и проблемы с коллизиями. Но он разве вот прям легко взламывается? И это легко мне докажут, я полагаю? Предлагаю написать варианты паролей, md5 от которых будет равен 0a592abfeb0bd49c4179c999b7f00043 (я спрашиваю потому что не один из сервисов, предложенные в статье, не подобрали пароль на этот хеш)

Когда пароль обладает энтропией в 95 бит, выбор алгоритма хеширования действительно вторичен, да и соль там не особо нужна.

Однако большинством систем пользуются обычные люди, у которых пароли имеют намного меньшую энтропию, иногда настолько меньшую, чтобы быть взломанными онлайн-атаками, не говоря уже о 95 гигахешах в секунду. Пароли могут повторяться, могут быть "любимые" пароли, может использоваться один пароль с вариацами, может быть подверженность словарным атакам и множество других особенностей, резко снижающих пространство перебора.

Угу, я понял. То есть корректней все таки утверждать, что хеши md5 небезопасно использовать в случае слабых и легко подбираемых паролей. Конечно, если вы не контролируете то, каким будет пароль, то лучше md5 не использовать. Это логично. В общем случае конечно лучше использовать PBKDF, scrypt, bcrypt, argon2.

RTX 3090 дает

А расплодившиеся ASIC'и и того больше )

argon2 против асиков и придумана. Ну а так да, странно читать про "закат МД5", который уже давно закатился )

Хотя s3 использует его для хешей файлов.

UFO just landed and posted this here

Создание хеша MD5 является односторонним процессом. Поэтому не подразумевает обратного декодирования первоначального значения. 

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

Вы или крестик снимите или трусы наденьте

s/требуется/хочется/

хочется != всегда получается

Почему у меня ощущение, что автор не понимает о чем пишет, а просто компилирует найденную информацию?
UFO just landed and posted this here

Я думал, нашли что-то быстрее и надёжнее, чем MD5, чтобы проверять хеш-суммы тех же файлов, а тут вот оно как...

Так sha1 же. Весь гит на нем живет )

Насколько помню по своим замерам - он быстрее md5

md5 специально медленный. Типа против перебора (сейчас не актуально).

Ну а насчет "надежности" - argon2 сейчас.

Ну тут вопрос еще что вы подразумеваете под "надежностью" ?

В вашем ответе мимо примерно всё.
Для SHA-1 уже давно есть коллизии, он такой же небезопасный как и MD5.
MD5 никакой специально не медленный.
Если нужно быстрее и надёжнее чем MD5 - blake2 (3) в помощь

Давайте определимся, что мы обсуждаем: хеширование пароля (длина исходного сообщения меньше длины хеша) или проверку целостности данных (длина исходного сообщения больше длины хеша, почти всегда сильно больше). Во втором случае коллизии будут по определению — главное, чтобы к коллизиям не приводили часто встречающиеся на практике ошибки (например, прочитанный с диска блок, в результате ошибки заполненный сплошными нулями, должен вызывать изменение хеша).

Давайте определимся, что мы обсуждаем

Да, вот тоже "надежность" по этому в кавычки взял )

Для SHA-1 уже давно есть коллизии, он такой же небезопасный как и MD5.

Я не утверждал что нет коллизий. Но нет, он безопаснее МД5 в области коллизий.

Давайте я вам дам хеш, а вы найдете коллизию sha1 ?

Если на МД5 это можно сделать на любой хеш, то для sha1 можно просто подобрать 2 файла с одинаковым хешем (что в практическом смысле бесполезно). Это если моя память меня не подводит.

Для md5 тоже не на любой хэш.

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

Но без добавления суффикса подбора коллизии для произвольного сообщения все ещё нет.

Например, сообщение plain text на человеко-читаемом языке все ещё безопасно подписывать, т.к. подобрать человекочитаемый суффикс вряд ли получится.

а вот pdf уже нельзя, т.к. внутрь pdf произвольный бинарный блоб можно вставить.

А если нужно быстрее и файлы xxhash murmurhash или cityhash

Ну, а нельзя выпустить в свет MD7 поправленный наконец? MD6 вроде бы уже тоже был...

На фоне sha3 blake2 и некриптохешей типа xxhash -- он не выделяется ни скоростью ни надёжностью

Sign up to leave a comment.

Articles