Функция люка
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2013 г. ) |

В теоретической информатике и криптографии функция -лазейка — это функция , которую легко вычислить в одном направлении, но трудно вычислить в противоположном направлении (нахождение ее обратной ) без специальной информации, называемая «люком». Функции-люки представляют собой частный случай односторонних функций и широко используются в криптографии с открытым ключом . [2]
С математической точки зрения, если f — функция-лазейка, то существует некоторая секретная информация t , такая, что по заданным f ( x ) и t легко вычислить x . Рассмотрим висячий замок и ключ от него. Переключить навесной замок с открытого на закрытый без использования ключа очень просто, вставив дужку в механизм замка. Однако, чтобы легко открыть замок, необходимо использовать ключ. Здесь ключ t — это люк, а замок — функция люка.
Пример простого математического люка: «6895601 — произведение двух простых чисел. Что это за числа?» Типичным решением « грубой силы » было бы попытаться разделить 6895601 на множество простых чисел, пока не будет найден ответ. Однако если человеку сказать, что 1931 — одно из чисел, то ответ можно найти, введя в любой калькулятор «6895601 ÷ 1931». Этот пример не является надежной функцией-лазейкой — современные компьютеры могут угадать все возможные ответы за секунду — но этот пример задачи можно улучшить, используя произведение двух гораздо больших простых чисел .
Функции лазейки приобрели известность в криптографии в середине 1970-х годов с публикацией асимметричного шифрования (или шифрования с открытым ключом) методов Диффи , Хеллмана и Меркла . Действительно, Диффи и Хеллман (1976) этот термин придумали . Было предложено несколько классов функций, и вскоре стало очевидно, что функции-лазейки найти труднее, чем предполагалось изначально. Например, одним из первых предложений было использование схем, основанных на проблеме суммы подмножества . Довольно быстро выяснилось, что это непригодно.
По состоянию на 2004 год [update], наиболее известными кандидатами на функции (семейства) с «лазейками» являются RSA и Рабина семейства функций . Оба записываются как возведение в степень по модулю составного числа, и оба связаны с проблемой факторизации простых чисел .
Функции, связанные со сложностью задачи дискретного логарифмирования (либо по модулю простого числа, либо в группе, определенной над эллиптической кривой ), как известно, не являются функциями с потайным ходом, поскольку о группе не существует известной информации о «потайном дверце», позволяющей эффективно выполнять вычисления. дискретных логарифмов.
Люк в криптографии имеет очень конкретное вышеупомянутое значение, и его не следует путать с бэкдором (они часто используются как взаимозаменяемые, что неверно). Бэкдор — это преднамеренный механизм, добавляемый к криптографическому алгоритму (например, алгоритму генерации пары ключей, алгоритму цифровой подписи и т. д.) или операционной системе, например, который позволяет одной или нескольким неавторизованным сторонам обходить или нарушать безопасность система в некотором роде.
Определение [ править ]
Функция -лазейка — это набор односторонних функций { f k : D k → R k } ( k ∈ K ), в которых все K , D k , R k являются подмножествами двоичных строк {0, 1} * , удовлетворяющий следующим условиям:
- Существует вероятностный полиномиальный алгоритм выборки (PPT) Gen st Gen(1 н ) = ( k , t k ) с k ∈ K ∩ {0, 1} н и t k ∈ {0, 1} * удовлетворяет | т к | < p ( n ), в котором p — некоторый полином. Каждый t k называется люком, соответствующим k . Из каждого люка можно эффективно взять пробу.
- Учитывая входные данные k , также существует алгоритм PPT, который x ∈ Dk . выводит То есть каждый D k может быть эффективно дискретизирован.
- Для любого k ∈ K существует алгоритм PPT, который правильно fk вычисляет .
- любого k ∈ K существует алгоритм PPT Ast любого x ∈ Dk x , пусть = A ( k , fk ( Для = ) , tk y , и тогда fk ( ) y ) fk для ( х ). То есть, имея люк, его легко перевернуть.
- Для любого k ∈ K , без лазейки t k , для любого алгоритма PPT вероятность правильно инвертировать f k (т. е. при заданном f k ( x ) найти прообраз x' такой, что f k ( x' ) = f k ( x )) незначительно. [3] [4] [5]
Если каждая функция в коллекции выше является односторонней перестановкой, то коллекция также называется перестановкой с люком . [6]
Примеры [ править ]
В следующих двух примерах мы всегда предполагаем, что факторизовать большое составное число сложно (см. Целочисленная факторизация ).
Предположение RSA [ править ]
В этом примере обратный из модуль ( Эйлера полная функция ) — это люк:
Если факторизация известно, то можно вычислить. При этом происходит обратное из можно вычислить , а затем дано , мы можем найти .Его твердость следует из предположения RSA. [7]
Рабина о квадратичном вычете Предположение
Позволять быть большим составным числом таким, что , где и большие простые числа такие, что и остается конфиденциальным для противника. Проблема в том, чтобы вычислить данный такой, что . Люк – это факторизация . С люком решения z могут быть заданы как , где . см. в китайской теореме об остатках Более подробную информацию . Заметим, что данные простые числа и , мы можем найти и . Здесь условия и гарантировать, что решения и может быть хорошо определен. [8]
См. также [ править ]
Примечания [ править ]
- ^ Островский, стр. 6-9.
- ^ Белларе, М. (июнь 1998 г.). «Функции-люки «многие к одному» и их связь с криптосистемами с открытым ключом». Достижения криптологии — КРИПТО '98 . Конспекты лекций по информатике. Том. 1462. стр. 283–298. дои : 10.1007/bfb0055735 . ISBN 978-3-540-64892-5 . S2CID 215825522 .
- ^ Заметки Пасса, деф. 56,1
- ↑ Конспекты лекций Гольдвассера, деф. 2.16
- ^ Островский, стр. 6-10, попр. 11
- ^ Заметки Пасса, защита 56.1; Защита Додиса 7, лекция 1.
- ^ Конспекты лекций Гольдвассера, 2.3.2; Заметки Линделла, с. 17, упр. 1.
- ^ Конспекты лекций Гольдвассера, 2.3.4.
Ссылки [ править ]
- Диффи, В .; Хеллман, М. (1976), «Новые направления в криптографии» (PDF) , IEEE Transactions on Information Theory , 22 (6): 644–654, CiteSeerX 10.1.1.37.9720 , doi : 10.1109/TIT.1976.1055638
- Пасс, Рафаэль, Курс криптографии (PDF) , получено 27 ноября 2015 г.
- Гольдвассер, Шафи, Конспекты лекций по криптографии (PDF) , получено 25 ноября 2015 г.
- Островский, Рафаил, Основы криптографии (PDF) , получено 27 ноября 2015 г.
- Додис, Евгений, Конспект лекций «Введение в криптографию» (осень 2008 г.) , получено 17 декабря 2015 г.
- Линделл, Иегуда, Основы криптографии (PDF) , получено 17 декабря 2015 г.