Функция люка
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 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 A st для любого x ∈ D k , пусть y = A ( k , f k ( x ), t k ), и тогда f k ( y ) = f k ( х ). То есть, имея люк, его легко перевернуть.
- Для любого k ∈ K , без лазейки , tk для любого алгоритма PPT вероятность правильно инвертировать fk ( т.е. при заданном ( fk x ) , найти прообраз x' такой, что ( fk 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 г.