Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Безопасность: SHA1 больше нет

Пока я тут в отпуске был, в SHA1 нашли серьёзную уязвимость. О хешировании пароля через SHA1 придётся забыть. 252 вариантов, как сказали в комментариях к исходной статье, для хорошей сети компьютеров (например, ботнета) не проблема — меньше дня перебора. Если у вас что-то совсем уж секретное, то за вас возьмётся IBM Roadrunner, ему, чтобы сделать перебор этих комбинаций, нужно будет 4 минуты.

Переходить рекомендуется на SHA2 (хотя я выбрал бы TIGER). Ну а там, где хеширование используется не для сокрытия, а для уменьшения количества данных (например, получения ключа кеша по хешу URL), по-прежнему можно использовать SHA-1.

В PHP для этого можно использовать модуль hash (в версиях ниже 5.1.2 — mhash) или реализацию SHA-256 на чистом PHP. В Python — hashlib.

4 комментария
Азат Разетдинов (razetdinov.ya.ru) 2009

Мда, буквально вчера читал стенограмму со словами Линуса «Никто не может взломать SHA-1».
http://lib.custis.ru/index.php/%D0%9B%D0%B8%D0%BD%D1%83%D1%81_%D0%A2%D0%BE%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D1%81_%D0%BE_GIT_%D0%BD%D0%B0_Google_Talks
Хотя в случае с GIT, как я понимаю, цель как раз уменьшение количества данных.

Евгений Степанищев (bolknote.ru) 2009

Комментарий для razetdinov.ya.ru:

Линус как-то совсем не в теме. Уязвимостей в SHA-1 было найдено уже несколько. Это третья, кажется.

Азат Разетдинов (razetdinov.ya.ru) 2009

Комментарий для Евгения Степанищева:

Еле нашёл дату: оказывается, доклад двухгодичной давности.

piranha.org.ua 2009

Гм, к гиту и его ключам в sha1 эта трабла отношения не имеет — что там взламывать-то?