70
скую функцию
H
, которая применяется к
сообщению
M
произвольной дли-
ны и возвращает значение
h
фиксированной длины (рис. 3.12).
Рис. 3.12. Схема хеш-функции
Основные
требования, которые предъявляются к криптографическим
хеш-функциям:
1. Для любого
M
вычисление
(
)
H M
должно выполняться относительно
быстро.
2. При известном
h
должно быть трудно (практически невозможно)
найти
M
, для которого
(
)
h
H M
.
3. При известном сообщении
M
должно быть трудно найти другое со-
общение
M
M
, такое, что
(
)
(
)
H M
H M
.
4. Должно быть трудно найти какую-либо
пару различных сообщений
M
и
M
, для которых
(
)
(
)
H M
H M
.
Первые два требования устанавливают однонаправленность хеш-
функции: легко вычислить значение хеш-функции
h
по сообщению
M
, но
трудно получить сообщение
M
, зная только значение
h
. Знание дайджеста
не дает возможности восстановить исходное сообщение, но зато позволяет
проверить целостность данных. Четвертое требование
является более силь-
ным, чем третье (т. е. при выполнении четвертого автоматически выполняет-
ся и третье).
Хеш-функции используются также для необратимого шифрования паро-
лей. В большинстве случаев парольные фразы не хранятся в исходном виде,
71
а хранятся лишь их хеш-коды. Хранить исходные пароли небезопасно, по-
скольку злоумышленник может получить к ним доступ, а при хранении хеш-
значений он не сможет обратить их в первоначальный вид. В ходе процеду-
ры проверки введенного пользователем пароля вычисляется его хеш-код и
сравнивается с сохранённым.
В настоящее время предложены и практически
используются хеш-
функции MD5, SHA-1, SHA-256, SHA-512, RIPEMD-160, алгоритм российского
стандарта ГОСТ Р 34.11–2012 и др.
Теперь с использованием хеш-функции процесс подписи документа бу-
дет выглядеть так (рис. 3.13).
Рис. 3.13. Схема электронной подписи документа
Рассмотрим порядок действий:
1. Боб вычисляет значение дайджеста документа.
2. Боб шифрует этот дайджест своим личным ключом,
таким образом
72
подписывая документ.
3. Боб отправляет Алисе документ и электронную
цифровую подпись
(зашифрованное значение дайджеста).
4. Алиса вычисляет дайджест документа, присланного Бобом.
5. Далее расшифровывает подписанное значение дайджеста с помощью
открытого ключа Боба. Если подписанное значение дайджеста совпадает с
рассчитанным, то цифровая подпись верна и сообщение не было подвергну-
то никаким изменениям (рис. 3.13).
Чтобы избежать атаки повторного использования в цифровую подпись
дополнительно включают метку времени – дату и время подписания доку-
мента.
Do'stlaringiz bilan baham: