Рейтинг:1

Почему HMAC использует хэш дважды?

флаг cn

Согласно спецификации HMAC в RFC2104, HMAC вычисляется следующим образом:

HMAC(K, текст) = H(K XOR opad, H(K XOR ipad, текст))

куда ЧАС является базовой хеш-функцией, , это конкатенация и К имеет длину одного блока.

Теперь мне интересно, в чем польза от применения здесь хеш-функции дважды, то есть почему бы ее не определить так:

HMAC'(K, текст) = H(K XOR ipad, текст)

Существуют ли атаки, которые возможны против HMAC'а, но не против HMAC?

kelalaka avatar
флаг in
Отвечает ли это на ваш вопрос? [Почему $H(k\mathbin\Vert x)$ не является безопасной конструкцией MAC?](https://crypto.stackexchange.com/questions/1070/why-is-hk-mathbin-vert-x-not- a-secure-mac-конструкция).Обратите внимание, что ipad вообще не обеспечивает жесткости в вашей схеме.
DannyNiu avatar
флаг vu
Я согласен со связанным дубликатом. Хотя вопрос задает разные вещи, ответ и рассуждение применимы в обоих случаях.
kelalaka avatar
флаг in
И еще один очень связанный [Почему HMAC использует два разных ключа?] (https://crypto.stackexchange.com/q/15734/18298)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.