Можно ли восстановить исходные данные по хешу?

Почему у криптографического хеша нет операции расшифровки, но слабые пароли иногда удаётся угадать. Разница между исходным сообщением и подходящим прообразом.

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Это не равнозначно утверждению «исходные данные никогда не удастся узнать». Если известно, что вход — одно слово из небольшого списка, можно вычислить хеш каждого кандидата и сравнить результаты. Совпадение даёт подходящий прообраз; с учётом дополнительных ограничений он может оказаться искомым исходным значением.

Поэтому быстрый SHA-256 сам по себе недостаточен для безопасного хранения пользовательских паролей. Применяют специализированное парольное хеширование с индивидуальной солью и настроенной вычислительной стоимостью. Соль мешает повторному использованию заранее подготовленных результатов, но не превращает слабый пароль в сильный. См. OWASP Password Storage.

Не смешивайте поиск прообраза и коллизии: в первом случае задан конкретный хеш, во втором ищется любая пара разных входов с одинаковым результатом. Также не все хеш-функции криптографические: требования к обычному хешу таблицы данных существенно слабее.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку