Рейтинг:0

Обратное хэш-значение SHA256 из нескольких экземпляров, где известна часть хеш-значения

флаг in

Заранее извиняюсь, если на этот вопрос уже был ответ. Однако мне не удалось найти существующий ответ, несмотря на то, что случай довольно простой и распространенный, как мне кажется. Возможно, есть какая-то терминология, которой я не знаю, из-за которой я упускаю очевидное.

Итак, вот:

Предположим, что мы повторно SHA256-хешируем «секретное» значение, объединенное с разными числами, и позволяем злоумышленнику узнать хешированные значения и объединенное число для каждого хэшированного значения.

Например:

Допустим, секрет — «Pa55word», затем мы хешируем следующие значения и сообщаем злоумышленнику целое число и хешированное значение для каждого хэша:

Pa55word0,

Pa55word1,

Pa55word2,

Pa55word3...

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

Или просто схема безопасна?

kelalaka avatar
флаг in
Добро пожаловать в Cryptography.SE. Каков размер секрета? Злоумышленник не будет выполнять атаку предварительного изображения. Он будет искать секрет, поэтому, если есть [небольшое пространство для ввода] (https://crypto.stackexchange.com/a/81652/18298), они пойдут на это. Какова ваша настоящая цель?
Thomas Sylvest avatar
флаг in
Спасибо @kelalaka Я представил себе секрет как случайно сгенерированный гид (или, возможно, два гида). Фактический вариант использования включает механизм обратного вызова через Интернет. То, что я пытаюсь выполнить, - это проверить, соответствует ли полученное сообщение обратного вызова невыполненному запросу, не выполняя поиск в базе данных для идентификатора. Есть надежда, что это сделает систему более устойчивой к атакам типа «отказ в обслуживании».
poncho avatar
флаг my
@kelalaka: безопасность этой системы не следует напрямую из сопротивления прообразу; он спрашивает о безопасности от ряда связанных прообразов, от которых, как мы полагаем, защищен SHA-256, но это не следует ни из одного из трех стандартных предположений о безопасности хеширования.
kelalaka avatar
флаг in
@poncho да, это лучше сформулировать.
Рейтинг:0
флаг in

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

Если при заданном H(x) вы можете вычислить H(x||c), не зная x, из этого следует, что сообщение пользователю H(x||c),c в дополнение к H(x) заметно не поможет в извлечении x .

Из-за заполнения это не относится непосредственно к SHA256, но я все же вижу в этом сильный аргумент в пользу безопасности. т. е. знание SHA256(x||c),c для нескольких значений c не упрощает поиск x по сравнению только с известным SHA256(x).

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

poncho avatar
флаг my
Эта логика применима (только с одним правдоподобным предположением) в случае, когда $x$ имеет длину, кратную 64 байтам (правдоподобное предположение состоит в том, что SHA-256 без заполнения устойчив к прообразу для сообщений, кратных 64 байтам). ). Теперь это не относится к другим длинам (поскольку байты из $c$ перемешиваются с байтами из $x$ при планировании сообщений), но это, безусловно, лучше, чем я думал - спасибо
Meir Maor avatar
флаг in
Вы, конечно, правы относительно длины часов. Для очень специфических суффиксов злоумышленник может увеличить длину. И поскольку в предлагаемом сценарии в вопросе нет злоумышленника, выбирая суффиксы, если нет конкретной уязвимости суффикса, атака также будет работать на расширенных вариантах длины и, следовательно, работать также с необработанным хешем.

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

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