Рейтинг:2

Pre-image атака на некриптографические хеш-функции

флаг us

Я не силен в криптографии, так что пожалуйста :)

После прочтения этого обсуждение теперь мне ясно, что хххэш не устойчив к атакам столкновений и не является безопасным для МАК Применение. Но после прочтения я так и не понял, насколько устойчив XXH3 (один из семейства xxHash) к атакам прообразов.

Да, выход XXXH3 есть $64$/$128$ бит, что означает, что вероятность найти изображение равна $2^{64}$/$2^{128}$ соответствующий. Но я также читать что хэши, которые не устойчивы к атаке столкновений, легче восстановить. Учтите это, чтобы вернуть эту хеш-функцию ($128$ битовая версия) с помощью перебора $2^{64}$ имеет расчеты, которые занимают огромное количество времени. Согласно этому вопрос даже если XXH3 в 1000 раз быстрее, чем SHA-512/64, для возврата потребуется как минимум $\frac{2^{64}}{1000 * 2^{20}}$ секунд или 557 лет.

Что подводит меня к моему первому вопросу. Верен ли мой вывод, и XXH3 почти так же устойчив к атакам с предварительным изображением, как SHA-512/64? Я что-то пропустил? Может есть какая-то не брутфорс атака?

И второй вопрос, который меня сильно беспокоит. Не секрет, что хэши (особенно XXH3) вызывают коллизии. Для криптографических хэшей их сложно найти, но они существуют. Когда мы успешно запустили атаку прообраза, как мы можем быть уверены, что найденное нами значение является исходным значением? Если злоумышленнику удастся получить изображение, насколько вероятно, что это исходное изображение, а не одно из многих столкновений?

Заранее спасибо.

Рейтинг:3
флаг my

Но после прочтения я так и не понял, насколько устойчив XXH3 (один из семейства xxHash) к атакам прообразов.

Вовсе нет — легко создать изображение, которое хеширует произвольное значение.

Да, вывод XXH3 — 64/128 бит, что означает, что вероятность найти изображение равна $2^{64}/2^{128}$ соответствующий.

Вероятности сохраняются, если вы используете стратегию «выберите изображение, хешируйте его и посмотрите, что получится в результате». Есть гораздо более эффективные стратегии.

Может есть какая-то не брутфорс атака?

Уверенный.

xxhash состоит из шагов, которые:

  • Преобразовать текущее состояние обратимым образом; или же

  • Добавьте слово, которое зависит (опять же, обратимым образом) от следующего слова изображения (и никакая другая операция внутри xxhash не зависит от этого входного слова).

Следовательно, чтобы сгенерировать изображение, которое хешируется до определенного значения, все, что вам нужно сделать, это выбрать шаблон, состоящий из значений, кроме одного слова; затем вы оцениваете xxhash в прямом направлении, пока не дойдете до этого одного слова, получая значение внутреннего состояния A. Затем вы берете целевое значение хеш-функции и вычисляете xxhash в обратном направлении, пока не дойдете до этого одного слова, придумывая значение внутреннего состояния B. Затем все, что вам нужно сделать, это выбрать одно неизвестное слово, которое преобразует значение состояния A в значение состояния B — это легко; вставьте это слово в шаблон, и все готово.

И, чтобы ответить на ваш последний вопрос:

Для криптографических хэшей их сложно найти, но они существуют. Когда мы успешно запустили атаку прообраза, как мы можем быть уверены, что найденное нами значение является исходным значением?

Очевидно, что коллизии неизбежны для любой функции, преобразующей потенциально длинную строку в более короткую строку фиксированной длины. Теперь, если мы найдем изображение, которое хешируется до того же значения, как мы можем гарантировать, что это то же самое изображение, которое было изначально хешировано? Ответ: в общем случае не можем, если только мы много не знаем об исходном изображении (например, в приведенной выше атаке на xxhash мы знали все слова ввода, кроме одного). С другой стороны, для большинства атак против криптографических хэшей нам все равно — злоумышленник обычно выигрывает, если он может найти Любые прообраз.

Eugene Sirkiza avatar
флаг us
Большое спасибо @poncho за ваш ответ. Есть ли способ оценить, сколько нужно, чтобы найти «правильный» хэш? Я имею в виду, что это наверняка вопрос другого рода, но, учитывая ваш ответ, меня интересует следующее. Какова сложность поиска всех возможных изображений, хэш которых соответствует указанному значению? И можем ли мы оценить, сколько существует таких прообразов?

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

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