Какие задачи решает криптография и чем отличаются шифрование, хеширование и кодирование?

Конфиденциальность, целостность и подлинность; почему Base64 не защищает секрет, а хеш не является зашифрованной копией данных.

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

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

Криптография дает механизмы конфиденциальности, проверки целостности и подлинности. Шифрование скрывает данные с использованием ключа; криптографическое хеширование формирует отпечаток без операции расшифрования; кодирование меняет представление данных для хранения или передачи. Base64 — кодирование, а не защита секрета. Обычный хеш без доверенного эталона не подтверждает отправителя.

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

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

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

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

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

Кодирование меняет представление данных по известным правилам. Например, Base64 представляет байты текстовыми символами и декодируется без секретного ключа; его назначение описано в RFC 4648. Закодированный токен не становится защищенным от чтения.

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

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

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

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

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

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