Устойчивость к столкновениям

редактировать

В криптографии, Устойчивость к коллизиям - это свойство криптографических хэш-функций : хеш-функция H устойчива к коллизиям, если трудно найти два входа, которые хешируют один и тот же выход; то есть два входа a и b, где a ≠ b, но H (a) = H (b). Принцип означает, что любая хеш-функция с большим количеством входов, чем выходов, обязательно будет иметь такие коллизии; чем сложнее их найти, тем более криптографически безопасна хеш-функция.

«парадокс дня рождения » устанавливает верхнюю границу сопротивления столкновениям: если хеш-функция производит N битов вывода, злоумышленник, который вычисляет только 2 (или 2 N {\ displaystyle \ scriptstyle {\ sqrt {2 ^ {N}}}}\ scriptstyle {\ sqrt {2 ^ {N}}} ) хеш-операции над случайным вводом могут найти два совпадающих вывода. Если существует более простой метод, чем эта атака полным перебором, это обычно считается недостатком хэш-функции.

Криптографические хеш-функции обычно предназначены для защиты от коллизий. Однако многие хеш-функции, которые когда-то считались устойчивыми к столкновениям, позже были сломаны. В частности, MD5 и SHA-1 опубликовали методы, более эффективные, чем грубая сила для обнаружения коллизий. Однако у некоторых хэш-функций есть доказательство того, что обнаружение коллизий по крайней мере так же сложно, как и сложная математическая задача (например, целочисленная факторизация или дискретный логарифм ). Эти функции называются доказуемо защищенными.

Содержание
  • 1 Определение
  • 2 Обоснование
  • 3 См. Также
  • 4 Ссылки
Определение

Семейство функций {h k : {0, 1} → {0, 1}}, сгенерированный некоторым алгоритмом G, является семейством устойчивых к коллизиям хэш-функций, если | m (k) |>| l (k) | для любого k, т. е. h k сжимает входную строку, и каждый h k может быть вычислен за полиномиальное время, заданное k, но для любого вероятностного полиномиального алгоритма A мы имеем

Pr [k ← G (1), (x 1, x 2) ← A (k, 1) st x 1 ≠ x 2, но h k(x1) = h k(x2)] < negl(n), (glass)

где пренебрежение (·) обозначает некоторую незначительную функцию, а n - параметр безопасности.

Обоснование

Устойчивость к столкновениям желательна по нескольким причинам.

  • В некоторых системах цифровой подписи сторона удостоверяет документ, публикуя подпись открытого ключа на хеш-коде документа. Если возможно создать два документа с одним и тем же хешем, злоумышленник может заставить одну сторону подтвердить один, а затем заявить, что сторона засвидетельствовала другой.
  • В некоторых доказательствах -work пользователи предоставляют хеш-коллизии как доказательство того, что они выполнили определенный объем вычислений, чтобы их найти. Если существует более простой способ обнаружения конфликтов, чем грубая сила, пользователи могут обмануть систему.
  • В некоторых системах с распределенным контентом стороны сравнивают криптографические хэши файлов, чтобы убедиться, что у них одинаковая версия. Злоумышленник, который может создать два файла с одним и тем же хешем, может заставить пользователей поверить в то, что у них есть одна и та же версия файла, хотя на самом деле это не так.
См. Также
Ссылки
Последняя правка сделана 2021-05-15 03:09:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте