16 июня 2011
Оглавление: 1. HMAC 2. Описание 3. Принцип работы 4. HMAC параметры и обозначения 5. Примеры 6. Вопросы использования
Продемонстрируем пример работы алгоритма для различных входных данных.
Первый параметр 160-битный ключ. Второй параметр передаваемое сообщение. На выходе мы получаем 160 битный код аутентификации.
HMAC = HMAC = 740ca4e7a701540b385df12fe57cff57
HMAC = HMAC = a0e026219366a56cf843bd2051831327
HMAC = HMAC = c6b1d8489a204918643086ce346b86bc
Рассмотрим более подробно алгоритм HMAC на примере хэш-функции SHA-1 с 20-байтовым ключом:
Имеем: текстовое сообщение
Text: Hello World
и 20-байтовый ключ в шестнадцатеричном виде
Key:
0x707172737475767778797a7b7c7d7e7f80818283
1 шаг:
Дополняем Key нулевыми байтами до размера блока SHA-1
K0:
70717273 74757677 78797a7b 7c7d7e7f
80818283 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
2 шаг:
Побитовое исключающее ИЛИ
K0 ipad:
46474445 42434041 4e4f4c4d 4a4b4849
b6b7b4b5 36363636 36363636 36363636
36363636 36363636 36363636 36363636
36363636 36363636 36363636 36363636
3 шаг:
Конкатенация исходного сообщения с результатом на шаге 2
||text:
46474445 42434041 4e4f4c4d 4a4b4849
b6b7b4b5 36363636 36363636 36363636
36363636 36363636 36363636 36363636
36363636 36363636 36363636 36363636
48656c6c 6f20576f 726c64
4 шаг:
Применим SНA-1 к результату, созданному на шаге 3
Hash||text):
0d42b899 d804e19e bfd86fc4 4f414045 dfc9e39a
5 шаг:
Побитовое исключающее ИЛИ
K0 opad:
2c2d2e2f 28292a2b 24252627 20212223
dcdddedf 5c5c5c5c 5c5c5c5c 5c5c5c5c
5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c
5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c
6 шаг:
Конкатенация результата хеширования на шаге 4 с результатом на шаге 5
|| Hash||text):
2c2d2e2f 28292a2b 24252627 20212223
dcdddedf 5c5c5c5c 5c5c5c5c 5c5c5c5c
5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c
5c5c5c5c 5c5c5c5c 5c5c5c5c 5c5c5c5c
0d42b899 d804e19e bfd86fc4 4f414045
dfc9e39a
7 шаг:
Применим SНA-1 к результату, созданному на шаге 6
HMAC = Hash || Hash||text)):
2e492768 aa339e32 a9280569 c5d02626 2b912431
получили 20 байтовый HMAC
Просмотров: 5053
|