3.14.5. Хэш-функции. Защита целостности сообщений
Совместно с ЭЦП обычно применяются хэш-функции. Они служат для того, чтобы помимо аутентификации отправителя, обеспечиваемой ЭЦП, гарантировать, что сообщение не имеет искажений, и получатель получил именно то сообщение, которое подписал и отправил ему отправитель.
Хэш-функция — это процедура обработки сообщения, в результате действия которой формируется строка символов (дайджест сообщения) фиксированного размера. Малейшие изменения в тексте сообщения приводят к изменению дайджеста при обработке сообщения хэш-функцией. Таким образом, любые искажения, внесенные в текст сообщения, отразятся в дайджесте.
Алгоритм применения хэш-функции заключается в следующем:
перед отправлением сообщение обрабатывается при помощи хэш-функции. В результате получается его сжатый вариант (дайджест). Само сообщение при этом не изменяется и для передачи по каналам связи нуждается в шифровании описанными выше методами;
полученный дайджест шифруется закрытым ключом отправителя (подписывается ЭЦП) и пересылается получателю вместе с сообщением;
получатель расшифровывает дайджест сообщения открытым ключом отправителя;
получатель обрабатывает сообщение той же хэш-функцией, что и отправитель и получает его дайджест. Если дайджест, присланный отправителем, и дайджест, полученный в результате обработки сообщения получателем, совпадают, значит, в сообщение не было внесено искажений.
Существует несколько широко применяемых хэш-функции: MD5, SHA-1 и др.