HMAC

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

HMAC (сокращение от англ. hash message authentication code, хеш-код идентификации сообщений) — алгоритм усиления криптостойкости других криптоалгоритмов (чаще всего MD5). Авторы — Хьюго Кравчик, Михир Беллар и Ран Каннетти.

Алгоритм

Хеш-функция разделяет сообщения на блоки фиксированного размера и применяет к ним функцию сжатия. (MD5 или SHA-1 используют блоки 512 бит). После применения HMAC размер результата не меняется (128 или 160 бит для MD5 и SHA-1).

Функция HMAC определяется следующим образом:

<math>\mathrm{HMAC}_K(m) = h\Bigg((K \oplus \mathrm{opad}) \| h\Big((K \oplus \mathrm{ipad}) \| m\Big)\Bigg)</math>, где:

  • h — хеш-функция
  • К — секретный ключ, дополненный нулями до размера блока
  • m — сообщение для идентификации
  • <math>\|</math> — конкатенация
  • <math>\oplus</math> — xor
  • opad — 0x5c5c..5c (длина равна размеру блока)
  • ipad — 0x3636..36 (длина равна размеру блока)

Если длина секретного ключа превышает размер блока, то ключ необходимо укоротить, преобразовав его с помощью функции h, и дополнить нулями до размера блока.

Использование

HMAC используется в протоколах IPSec (для AH и ESP) и TLS.

Стандартизация

Конструкция HMAC стандартизирована организациями ANSI, IETF, ISO и NIST.

См. также

Источники

  • У. Блэк — Интернет протоколы безопасности, Москва, издательство «Питер», 2001 ISBN 5-318-00002-9 (ISBN 0-13-014249-2 английский оригинал)
  • RFC 2104


cs:HMAC de:Keyed-Hash Message Authentication Code en:HMAC fr:Keyed-Hash Message Authentication Code it:HMAC ja:HMAC pl:HMAC sk:HMAC

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....