У каждой технологии есть свой жизненный цикл, не исключением являются и хэш-функции. Программист и писатель Валери Аврора (в прошлом она работала ведущим программистом в Red Hat, сейчас — директор The Ada Initiative и журналист-фрилансер) составила небольшую табличку. Судя по всему, у владельцев веб-сервисов не остаётся другого выхода, кроме как менять хэш-алгоритм каждые пару лет в поисках оптимального соотношения производительности и защищённости (в смысле, защищённости хотя бы на несколько лет вперёд).
Комментарий к табличке ещё более интересный. Как различные стадии жизненного цикла хэш-алгоритмов воспринимаются экспертами-криптологами, программистами и неэкспертами (обычная публика на компьютерных форумах).
Стадия | Реакция экспертов | Реакция разработчиков | Реакция гиков |
---|---|---|---|
Первое предложение | Выражают скептицизм, не рекомендуют использовать на практике | Ждут мнения экспертов, прежде чем добавить в OpenSSL | SHA-что? |
Публичный анализ | Умеренные попытки найти дыры и опубликовать статью без особенных усилий | Самые авантюрные разработчики начинают использовать хэш для специфических задач | Упоминание новой хэш-функции на тусовках, чтобы впечатлить других гиков |
Общее принятие | Исследователи высшего класса начинают серьёзную работу по поиску слабостей (и международного признания) | Даже Microsoft теперь использует эту хэш-функцию | Матерят каждого, кто пробует предположить, что новый хэш-алгоритм может быть взломан на протяжении нашей жизни |
Обнаружена незначительная уязвимость | Массово скачивают препринт научной работы с arXiv, призывают к разработке новой хэш-функции | Начинают рассматривать другие хэши в качестве альтернативы | Длинные полуматематические посты, сравнивающие сложность атаки с количеством протонов во Вселенной |
Обнаружена серьёзная уязвимость | Горячие дебаты на криптоконференциях. Полный взлом считают нереальным | Немедленно мигрируют на новые хэш-функции, где это необходимо | Обращают внимание, что реальных коллизий ещё не найдено |
Найдена первая коллизия | Раскупоривают шампанское. Интересуются деталями взлома, но не выражают удивления | Собираются вокруг компьютера коллеги, сравнивают данные, порождающие коллизию и запускают на нём хэш-функцию | Объясняют, почему простая атака на получение коллизии остаётся бессмысленной, считают что только второй такой случай может иметь какое-то значение |
Конкретные коллизии, которые можно сгенерировать на домашнем ПК | Прелестно! Но я вообще-то занят взломом новой хэш-функции | Посылают друг другу совпадающие сертификаты X.509 в качестве шалости | Говорят на тусовках, что они всегда знали, что этот хэш-алгоритм неизбежно будет взломан |
Коллизии подбираются вручную | Запоминают метод, чтобы показать весёлый фокус на следующем университетском собрании | Изумляются | Пробуют запомнить, как делить большие числа в столбик |