Интернет магазин китайских планшетных компьютеров



Компьютеры - HMAC - Принцип работы

16 июня 2011


Оглавление:
1. HMAC
2. Описание
3. Принцип работы
4. HMAC параметры и обозначения
5. Примеры
6. Вопросы использования



Эффективная реализация HMAC

На рисунке 1 показан общий алгоритм HMAC:

  1. Если длина ключа К = b, то K0 = K . Переходим сразу к шагу 4.
  2. Если длина ключа K > b, то применяем H к ключу K для получения L-байтовой строки. Добавить нули к левой части этой строки для создания b-байтовой строки K0.Переходим сразу к шагу 4.
  3. Если длина ключа K < b то добавляем нули к левой части K для создания b-байтовой строки K0.
  4. K0 \oplus ipad — для получения b-байтового блока Si.
  5. Сложить М с Si.
  6. Применить Н к потоку, созданному на шаге 5.
  7. K0 \oplus opad для получения b-байтового блока So.
  8. Сложить результат хеширования на шаге 6 с So.
  9. Применить Н к потоку, созданному на шаге 8 и вывести результат.

или если выразить одной математической формулой : \mathrm{HMAC}_K = h\Bigg \| h\Big \| m\Big)\Bigg)

Более эффективная реализация возможна, как показано на рисунке 2. Где F является функция сжатия для хэш-функции, которая принимает в качестве аргументов: переменную N и блок длиной b байт, и производит разбиение блока в цепочку блоков с длиной каждого N байтов. Эти операции необходимо выполнить только в самом начале и каждый раз, когда ключ изменяется. В этой реализации, появляется только один дополнительный элемент - функция сжатия F для нормальной работы хэш-функции. Это реализация особенно целесообразна, если большинство сообщений, для которых вычисляется MAC , короткие.



Просмотров: 4816


<<< GSS-API