Проблема с поиском когтей


Задача поиска когтей — классическая задача теории сложности , имеющая несколько приложений в криптографии . Короче говоря, при наличии двух функций f , g , рассматриваемых как оракулы , проблема состоит в том, чтобы найти x и y , такие как f ( x ) = g ( y ). Пара ( x , y ) тогда называется клешней. Некоторые проблемы, особенно в криптографии, лучше всего решать, если рассматривать их как задачу поиска когтей, поэтому любое улучшение алгоритма решения проблемы поиска когтей обеспечивает лучшую атаку на криптографические примитивы, такие как хеш-функции .

Пусть — конечные множества и , две функции. Пара называется клешней , если . Задача поиска когтей определяется как поиск такого когтя при условии, что он существует.

Если мы рассматриваем случайные функции, мы ожидаем, что коготь будет существовать тогда и только тогда . Точнее, есть ровно пары вида с ; вероятность того, что такая пара является когтем, равна . Итак, если , ожидаемое количество клешней не менее 1.