HMAC,
или Hash-based Message Authentication Code, представляет собой
криптографический механизм, используемый для аутентификации сообщения, а
также для проверки его целостности. Фундаментальной концепцией HMAC
является применение криптографической хэш-функции в сочетании с
секретным ключом. Данный алгоритм является протоколом, который позволяет
убедиться, что данные не были изменены в процессе передачи, и что они
исходят от законного отправителя.
Принципиальная схема работы
HMAC может быть описана следующим образом. Исходное сообщение и
секретный ключ передаются на вход хэш-функции. Однако, в отличие от
простого хэширования, HMAC не просто объединяет ключ и сообщение. Вместо
этого он использует более сложный и защищённый процесс. Алгоритм
включает две последовательные операции хэширования. Сначала, секретный
ключ комбинируется с внутренним блоком заполнения, затем результат
хэшируется с частью сообщения. Полученный промежуточный результат
хэшируется ещё раз, но уже с д