Re: Авторизация

Pavel V. pavel2000 at ngs.ru
Fri Jan 24 10:19:23 UTC 2014


Здравствуйте, Михаил.

>>> Полным перебором это ломается. Просто процессоры стали сильно быстрые
>>> и многоядерные. SHA1 считается слишком быстро.

>> Почему тогда нет проблемы если использовать HMAC-SHA1 ?

>> Из-за того, что считается sha1 от вычисленного в sha1,
>> что  дает "сброс внутреннего состояния" хеширующей функции?

> Нет.  Вместо конкатенации данных и секретного ключа HMAC размазывает и
> перемешивает биты ключа по всему хэшу.

> Двойной  sha1  видимо  так  же  ломается. Иначе применяли бы его, а не
> изобретали HMAC.

Я смотрел, как работает HMAC, и конечно же не имел ввиду чистую sha1(sha1(key||message)).

Фактически HMAC-SHA1 это sha1(key_pad1 || sha1 (key_pad2 || message)) что не сильно далеко ушло
от sha1(sha1(key||message)). В вычислениях HMAC key_pad1 и key_pad2 это сугубо статические значения,
зависящие от ключа.

Не совсем понятно, как происходит это размазывание и почему нельзя выбрать два _произвольных_
key_pad1 и key_pad2. Фактически блочный XOR ключа (приведенного до нужной длинны) на значения
$36 и $5C дает произвольные значения, разве нет?

В общем, тема интересная, читать можно много, были бы где "наглядные объяснения" )
А может оно и лучше, что "наглядных объяснений" не так много, а то переломали бы половину интернета.


-- 
С уважением,
 Pavel                          mailto:pavel2000 at ngs.ru



Подробная информация о списке рассылки nginx-ru