Рейтинг:0

Имеет ли SHA384 смысл с HMAC-SHA256?

флаг cn

В смысле уровня безопасности (как это определено, например, Фергюсоном и Шнайером в книге «Практическая криптография»), есть ли смысл использовать SHA384 с HMAC-SHA256 в общих настройках. По парадоксу дня рождения HMAC-SHA256 даст уровень безопасности 128 бит, а SHA384 даст 192 бита. Насколько я понимаю, общий уровень безопасности будет ограничен 128 битами, а SHA384 просто притворяется.

Более конкретные настройки: Передаваемый пакет:

(х, у, г)

куда

у = SHA384 (ш)     
г = HMAC-SHA256 (х | | у)
x и w - любые произвольные значения

Фергюсон и Шнайер также заявляют, что SHA384 относительно бесполезен (так как мы делаем всю работу SHA512, а затем выбрасываем биты). Он по-прежнему действителен для всех возможных реализаций SHA384?

Рейтинг:1
флаг in

Хэш с ключом не подвержен коллизиям / парадоксу дня рождения, поскольку у злоумышленника нет ключа; из-за этого вы не можете выполнять какие-либо предварительные вычисления и создавать набор известных хэшей (ну, вы могли бы, если бы у вас был Oracle с ключом, но в этом случае Oracle будет подписывать доставленные ему случайные данные).

Таким образом, вы недооцениваете безопасность, предлагаемую HMAC; в большинстве случаев он предлагает безопасность, которая примерно равна выходному размеру/размеру ключа. Смотрите также keylength.com/рекомендации NIST например (вам нужно посмотреть «Hash (B)» для HMAC в таблице).


Однако вы используете у = SHA384(ш). Теперь, если злоумышленник может попытаться создать коллизию для определенных значений ж, что будет означать, что коллизия хэшей используется во входных данных HMAC, что, конечно же, также приведет к тому же значению HMAC. Так что здесь применяется ограничение по дню рождения.

Так что да, в этом случае вы можете попробовать использовать SHA-384 или SHA-512 (поскольку атаки с расширением длины не приведут к коллизии, так что это не по теме). SHA-384 можно использовать, если вы подозреваете, что при использовании SHA-512 требуется еще один блок хеширования; Тогда SHA-384 может быть немного более эффективным, если такая эффективность вообще требуется.

Однако обратите внимание, что мы обычно предполагаем, что SHA-256 уже имеет мощность 128 бит даже при предполагаемых атаках дня рождения, поэтому даже в этом случае нет острой необходимости использовать SHA-384.

Curious avatar
флаг cn
Ваш ответ мне не очень ясен. Можете ли вы объяснить немного? В частности, я интерпретирую ваш последний абзац как то, что здесь нет особого смысла использовать SHA384 вместо SHA256. Но ваш второй последний абзац как бы противоречит тому, что его можно использовать. Что касается первого абзаца, каков, по вашему мнению, уровень безопасности HMAC-SHA256? В связи с этим существует ли какой-либо консенсус в отношении уровней безопасности криптопримитивов? Если да, есть ли подлинный и актуальный источник, где можно найти актуальную информацию об этом?
Maarten Bodewes avatar
флаг in
Консенсус? Эм, да, вроде. Мы просто предполагаем наихудшую из известных атак против примитивов.Если у нас нет намека на то, что легко возможна более сильная атака, то порядок атаки определяет уровень безопасности. Если уровень безопасности отличается всего на один или два бита, мы обычно просто используем первоначальную силу (например, атаки на AES около $2^{127}$ не изменяют существенно 128-битную безопасность). Я связался с keylength.com/NIST, чтобы дать представление о степени безопасности.
Maarten Bodewes avatar
флаг in
Что касается SHA-384: ну да, для защиты от коллизий его можно использовать, но он обеспечивает большую безопасность, чем 128-битный, который обычно считается невозможным взломать. Тем не менее, это меньшая безопасность, чем предлагает HMAC-SHA-256, поэтому вы можете выбрать SHA-512, чтобы обеспечить безопасность ~ 256 бит.

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

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