Рейтинг:1

Если секрет S неизвестен злоумышленнику, а константа K и SHA3(K + SHA3(S)) известны злоумышленнику, можно ли обнаружить S?

флаг pe

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

Другими словами, злоумышленник не должен иметь возможности узнать секрет С:

  • С = "моя секретная фраза"

Но злоумышленник имеет полное представление об обоих:

  • постоянный К = "общеизвестная константа"
  • комбинированный хэш обоих К и хэш С = SHA3 ​​(К + SHA3 (С)) = 9cc2679d4eb37c26cb82db4fdec8ac3787b3eff6efd18ec839397798a9ed402f
Рейтинг:1
флаг in
  • Первый взгляд на $\operatorname{SHA3}(S)$

    $\имя_оператора{SHA3}$ — это криптографическая хэш-функция, созданная для прообраза, вторичного прообраза и защиты от коллизий. Если вы используете $\имя_оператора{SHA3}-512$ тогда вы получите 512-битное сопротивление первого и второго предварительного изображения и 256-битное сопротивление коллизиям.

    В вашем случае сопротивление прообраза важно, а успех нахождения прообраза — ничтожное событие. В среднем злоумышленнику нужно попытаться $2^{512}$ различные входные данные, чтобы найти прообраз.

    Единственным проблемным случаем здесь является размер секрета. Если секрет меньше 512-бит, то защита перед изображением не 512-битная, а $= \min\{512,bitLen(секрет)\}$ поскольку злоумышленнику нужно искать только это пространство. Поэтому держите тайну хотя бы больше 256¡ бит для достижения по крайней мере 256-битной безопасности.

  • $h = \имя_оператора{SHA3}(K + \имя_оператора{SHA3}(S))$

    Атташе получает $К$ и $ч$. Как и выше, на этот раз с полной защитой от предварительного образа (512 бит) злоумышленник не сможет получить $SHA3(S)$ но только доступ $S$. Тем не менее, они все еще могут искать $S$ так что все же у нас есть $ \мин\{512,битДлен(секрет)\}$ безопасность. Хороший размер секрета для $S$ требуется, опять же.

Даже один $\имя_оператора{SHA3}$ звонка достаточно, дубль $\имя_оператора{SHA3}$ вызов является излишним с хорошим размером ключа (секрета).

Ваша конструкция похожа на HMAC, где используется двойной хэш, поскольку хеш-функции MD уязвимы для атак с расширением длины. SHA3, с другой стороны, устойчив к этому, как и BLAKE2.

Уже существует структура MAC из SHA3, называемая KMAC, которая, говоря простым языком, благодаря устойчивости к атакам с увеличением длины.

$$\имя_оператора{KMAC}(ключ,m) = \имя_оператора{SHA3}(ключ\mathbin\|m)$$

в ваших обозначениях

$$\operatorname{KMAC}(S,K) = \operatorname{SHA3}( S\mathbin\|K)$$

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

¡Некоторые могут возразить, что 128-битной защиты достаточно. Однако будущие разработки, такие как криптографические квантовые компьютеры, представляют угрозу для 128-битных прообразов хеш-функций, и в качестве контрмеры против многоцелевых атак также следует использовать как минимум 256-битную защиту.

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

Я пытаюсь понять, насколько S защищен от злоумышленника.

Для атаки на один экземпляр (с определенным значением K) злоумышленнику доступна только одна атака — сделать огромное количество догадок в $S$; вычислять $SHA3(K+SHA3(S))$ для каждого и проверьте, происходит ли целевое значение. В этом легко убедиться, заметив, что этот тег является функцией $SHA3(S)$ - мы считаем, что SHA3 устойчив к прообразам.

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

Итак, чтобы ответить на ваш вопрос: насколько безопасен S, будет зависеть от того, насколько его невозможно угадать. Если это одна фраза, такая как «моя секретная фраза», что ж, это может быть одним из значений, которое злоумышленник пытается использовать на ранней стадии, и поэтому он быстро ее найдет. С другой стороны, если секретная фраза, скажем, CNjlOQn,FXyEPAxNSYz/0VAP0Gxd,osl4zQlXQNqE7K5gPjiwld3n1f$rcmh что ж, можно с уверенностью сказать, что злоумышленник не попытается использовать это значение.

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

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