4

Я не был уверен, стоит ли спрашивать об этом на stackoverflow или superuser.

В документации по truecrypt говорится, что контейнер truecrypt неотличим от случайных данных. Мой вопрос: как truecrypt узнает, когда ему был задан правильный пароль и правильно декодирован зашифрованный контейнер?

Есть ли у дешифрованных данных какой-то заголовок, который идентифицирует, что они были дешифрованы правильно, например, заголовок "truecrypt volume"?

1 ответ1

11

Он знает правильный пароль, потому что внутри этого зашифрованного контейнера есть известный заголовок.

Когда Trucrypt расшифровывает большой блок данных и заголовок соответствует ожидаемому, он сообщает, что расшифровка прошла успешно. Если вы используете неверный пароль, он все равно будет "расшифровывать" текст, но расшифровывает заголовок, чтобы выдать ошибку и провалит проверку дешифрования.

Вот ссылка на спецификацию (зеркало), вы можете видеть, что есть много вещей, которые должны быть истинными, чтобы он был действительным заголовком (байты 64-67 после дешифрования должны всегда быть значением ASCII TRUE , байты 132-251 должны все быть 0 , и т. д.). Если вы расшифровываете блок данных, и он не соответствует этому формату заголовка, вы знаете, что расшифровка не удалась.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .