Рейтинг:10

Почему SHA3 более безопасен, чем SHA2?

флаг in

Почему алгоритмы SHA3 считаются более безопасными, чем их аналоги SHA2? Конечно, отчасти это связано с их устойчивостью к атакам удлинения. Но, в частности, при рассмотрении сопротивления столкновению они имеют одинаковое время атаки O (n).

Это потому, что они более устойчивы к атакам прообразов?

poncho avatar
флаг my
«Почему алгоритмы SHA3 считаются более безопасными, чем их аналоги SHA2?» - Я лично подозреваю, что большая часть причин, по мнению многих, заключается в том, что 3 доллара > 2 доллара...
kelalaka avatar
флаг in
Нет криптографической хеш-функции, которая сломала бы сопротивление прообразу, даже MD5 существующая атака прообраза не практична, чем грубая сила.
Maarten Bodewes avatar
флаг in
«Почему алгоритмы SHA3 считаются более безопасными, чем их аналоги SHA2?» Это не Википедия, но это просто требует \[нужна цитата\].
Dmitry Grigoryev avatar
флаг us
@poncho Напоминает, как в нерусскоязычных странах продажи экспортной модификации грузовиков [КАМАЗ](https://en.wikipedia.org/wiki/Камаз) были стабильно ниже модификации для внутреннего рынка, т.к. на последнем была русскоязычная версия логотипа ÐÐÐÐÐ, и люди предположили, что КАМА3 лучше, чем КАМА2.
Рейтинг:29
флаг ng

TL;DR: утверждение «SHA3 более безопасно, чем SHA2» не доказано, когда мы рассматриваем устойчивость к коллизиям или устойчивость к прообразам.

Дополнение: есть причины предпочесть SHA3, в том числе то, что он является более общим инструментом, поскольку это правдоподобная реализация случайного оракула (в отличие от SHA2 из-за свойства расширения длины). я имею в виду этот ответ для большего.


Мы не знаем, какой из SHA2 или SHA3 более устойчив к коллизиям. Оба пытаются достичь максимально возможной устойчивости к столкновениям. $n$-битный хеш, например. стоимость $2^{n/2}$ хэши (в пределах коэффициента, не слишком далекого от 1) для достижения столкновения с вероятностью 39% успеха.

Мы не знаем, какой из SHA2 или SHA3 более устойчив к прообразам. Оба пытаются достичь наилучшего возможного сопротивления прообразу для $n$-битный хеш, например. стоимость $2^n$ хэши (в пределах коэффициента, близкого к 1) для получения прообраза с вероятностью 63% успеха. Так было не всегда: на короткое время сопротивление прообраза черновика SHA3 было снижено, чтобы сделать его быстрее, намного ниже, чем (предполагаемое) для SHA2. Но это изменение вызвало споры и было отменено, см. это. Теперь мы должны использовать SHAKE, когда нам не нужна, возможно, излишняя устойчивость к прообразу SHA2, и вместо этого мы предпочитаем более высокую скорость.

Аргумент, которого мы не знаем: если бы мы знали, какой SHA2 или SHA3 является наиболее безопасным с точки зрения сопротивления коллизиям или прообразам (на коэффициент, превышающий разницу в скорости, что делает более быстрый алгоритм соответственно менее безопасным), один из С этой точки зрения SHA2 или SHA3 будут нарушены.

Patriot avatar
флаг cn
Точно: мы не знаем. История криптографии — это в значительной степени история людей, которые говорили, что что-то было определенным — до тех пор, пока это не было так.
флаг cn
«Но это изменение вызвало споры и было отменено». Что печально в этом решении, так это то, что увеличение количества циклов SHAKE-256 для соответствия производительности SHA3-512 привело бы к функции, которой я доверял бы гораздо больше, чем SHA3- 512.
corsiKa avatar
флаг us
@Patriot только ситхи имеют дело с абсолютами
Рейтинг:22
флаг cn

Это скорее дополнение к ответу fgrieu, чем ответ сам по себе, но выделяются 3 вещи, которые МОГ сделать SHA3 более безопасным, чем SHA2 с точки зрения дизайна.

Первым и наиболее очевидным является размер состояния, SHA3 значительно больше (1600 бит), чем даже SHA512... всего 512 бит. SHA3, являясь губчатой ​​функцией, получает уровень безопасности в зависимости от того, какую часть этого размера состояния он скрывает от конечного хэш-вывода, и это одна из причин, по которой он невосприимчив к атакам расширения длины. SHA-512 и SHA-256 выводят все свое состояние, остальная часть семейства SHA2 усекается до нужной длины. Наличие всего состояния может облегчить определенные атаки на хэши на основе блочного шифра, такие как SHA2, жесткое усечение может привести к другим атакам.

Во-вторых, со временем может измениться буфер безопасности или то, какая часть полного счета раундов не нарушена лучшими атаками на хеш-функцию. Для коллизий с SHA2 это составляет от 56% (практические коллизии для SHA-256) и 30% (псевдоколлизия для SHA-256) но колоссальные 79% для SHA3 (практическое столкновение 5 раундов)

И последнее, что больше касается того, как хеш может быть реализован в программном обеспечении, SHA3 на 64-битных платформах требует меньше кода для реализации, что означает, что меньше кода может быть реализовано небезопасно. Также считается (большинство людей, которых я знаю) более легким для чтения код SHA3, а константы округления могут быть сгенерированы алгоритмически во время выполнения.

Почему алгоритмы SHA3 считаются более безопасными, чем их аналоги SHA2

Конкурс SHA3 был создан из-за новых атак на MD5 и SHA-1, которые создали предполагаемую угрозу для будущего анализа SHA2, который может привести к практическим атакам. Этого не произошло, и SHA2 выстоял против криптоанализа.

Конкуренция SHA3 породила множество фантастических хэш-функций, которые были более функциональными, чем SHA2, имели лучшую аппаратную производительность или лучшее соотношение производительности и безопасности. Но это не означает, что SHA3 де-факто является БОЛЕЕ безопасной хеш-функцией.. но это также не означает, что SHA2 также является. Это очень разные конструкции, и SHA3 более эффективен, И SHA3 имеет потенциально более высокий буфер безопасности, но ни один из них не взломан (за исключением атак с расширением длины, но это уже было известно).

Рейтинг:10
флаг cn

Я знаю, что вы уже упомянули об атаках с увеличением длины в своем вопросе, но я не думаю, что важность этого можно переоценить в том, как работает SHA3. практически более безопасный, чем SHA2, особенно когда вы будете разрабатывать свои собственные криптографические протоколы/системы поверх него. Из-за атак на увеличение длины использование SHA2 может потребовать активных мер (например, HMAC) помимо самого хэша, чтобы использовать его безопасно, и большинство людей, использующих его, не понимают этого. Даже если это так, потребность занимает место в ментальной модели человека, которое можно было бы потратить на более ценные вещи.

Кроме того, реализации SHA2 могут быть подвержены сторонним каналам, которые в определенных контекстах дают утечку информации о хешируемых данных. Это может иметь решающее значение, когда хэш используется с ключевым материалом, например, в HMAC или подписях. Эта бумага утверждает, что успешно восстановил закрытые ключи из реализации WolfSSL Ed25519 (2017 г.) с использованием такого побочного канала. SHA3 ​​по своему дизайну не допускает утечек из боковых каналов.

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

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