Существуют ли алгоритмы криптографии с открытым ключом, которые доказуемо NP-трудно победить? [закрытый]

Если практические квантовые вычисления станут реальностью, мне интересно, есть ли какие-либо криптографические алгоритмы с открытым ключом, основанные на NP-полных проблемах, а не на целочисленной факторизации или дискретных логарифмах.

Edit:

пожалуйста, ознакомьтесь с разделом "квантовые вычисления в теории вычислительной сложности" статья wiki о квантовых компьютерах. он указывает, что класс задач квантовые компьютеры могут ответить (BQP) является считается, что строго проще, чем NP-complete.

Edit 2:

"на основе NP-complete" - плохой способ выразить то, что меня интересует.

то, что я хотел спросить,-это алгоритм шифрования с открытым ключом со свойством, что любой метод взлома шифрования также может быть использован для взлома основной NP-полной проблемы. Это означает, что нарушение шифрования доказывает P=NP.

11 ответов


Я отвечаю на эту старую тему, потому что это очень распространенный и важный вопрос, и все ответы здесь неточны.

короткий ответ на первоначальный вопрос-однозначное "нет". Нет известных схем шифрования (не говоря уже об открытых ключах), которые основаны на NP-полной задаче (и, следовательно, все они, при полиномиальных сокращениях времени). Некоторые из них" ближе", чем другие, поэтому позвольте мне уточнить.

есть много, чтобы уточнить здесь, поэтому давайте начнем со значения " на основе NP-полной проблемы."Общепринятой интерпретацией этого является:" может быть доказана безопасность в конкретной формальной модели, предполагая, что для NP-полных задач не существует алгоритмов полиномиального времени". Чтобы быть еще более точным, мы предполагаем, что нет алгоритма, который всегда решает NP-полную проблему. Это очень безопасное предположение, потому что это действительно трудно для алгоритма - это, по-видимому, много проще придумать алгоритм, который решает случайные экземпляры задачи с хорошей вероятностью.

никакие схемы шифрования не имеют такого доказательства. Если вы посмотрите на литературу, за очень немногими исключениями (см. ниже), теоремы безопасности читаются следующим образом:

Теорема: эта схема шифрования доказуемо безопасна, предполагая, что нет полиномиальный алгоритм существует для решение случайных экземпляров некоторой проблемы X.

обратите внимание на часть "случайные экземпляры". Для конкретного примера можно предположить, что не существует алгоритма полиномиального времени для факторинга произведения двух случайных N-разрядных простых чисел с некоторой хорошей вероятностью. Это очень отличается (менее безопасно) от предположения, что для всегда факторинга все произведения двух случайных N-разрядных чисел.

в "случайных случаях" против "худшем случае случаев" вопрос это то, что сработало несколько ответчиков выше. Схемы шифрования типа McEliece основаны на очень специальной случайной версии декодирования линейных кодов - а не на фактической наихудшей версии, которая является NP-полной.

выход за рамки этой проблемы "случайных экземпляров" потребовал некоторых глубоких и красивых исследований в теоретической информатике. Начиная с работы Миклоша Айтая, мы нашли криптографические алгоритмы, в которых предположение о безопасности является " наихудшим случаем "(более безопасным) предположение вместо случайного случая. К сожалению, наихудшие предположения относятся к проблемам, которые, как известно, не являются NP-полными, и некоторые теоретические данные свидетельствуют о том, что мы не можем адаптировать их для использования NP-полных проблем. Для заинтересованных, посмотрите "решетчатая криптография".


были предложены некоторые криптосистемы на основе NP-жестких задач (например,Меркле-Хеллмана криптосистема, основанная на проблеме подмножества-суммы, и naccache-Stern ранец криптосистемы на основе проблемы рюкзака), но все они были сломаны. Почему так? Лекция 16 Скотта Ааронсона великие идеи в теоретической информатике что-то говорит об этом, что я думаю, вы должны принять как окончательное. То, что он говорит-это следующий:

в идеале мы хотели бы построить [криптографический генератор псевдослучайных сигналов] или криптосистему, безопасность которой была основана на NP-полной проблеме. К сожалению, NP-полные проблемы всегда в худшем случае. В криптографии это переводится в утверждение типа " there существует сообщение, которое трудно декодировать", что не является хорошей гарантией для криптографической системы! Сообщение должно быть трудно расшифровать с подавляющей вероятностью. Несмотря на десятилетия усилий, до сих пор не было обнаружено способа связать худший случай со средним случаем для NP-полных проблем. И вот почему, если мы хотим вычислительно-безопасные криптосистемы, нам нужно сделать более сильные предположения, чем P≠NP.

Это был открытый вопрос в 1998 году:

о возможности базирования криптографии на предположении, что P != NP Одед Голдрич, Реховот Израиль, Шафи Голдвассер

из аннотации: "наш вывод заключается в том, что вопрос остается открытым".

--интересно, изменилось ли это за последнее десятилетие?

Edit:

насколько я могу судить, вопрос все еще открыт, с недавним прогрессом в направлении ответа нет такого алгоритм существует.

Ади Акавиа, Одед Голдрич, Шафи Голдвассер и Дана Мошковиц опубликовали эту статью в ACM в 2006 году:на основывать односторонние функции на NP-твердости "наши основные выводы следующие два отрицательных результата"

Стэнфордский сайт Сложность Зоопарк полезно в decripting, что эти две отрицательные результаты означают.


в то время как многие формы были разбиты, проверить Меркле-Хеллмана, основанный на форме NP-полной "проблемы рюкзака".


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

Я могу порекомендовать прочитать раздел введения http://eprint.iacr.org/2008/521 а затем чеканка ссылок на криптосистемы.

Также см. конспект лекций по http://www.cs.ucsd.edu / ~daniele / CSE207C/, и Чейз ссылки для книги, если вы хотите.


Googling для шифрования NP-complete и открытого ключа находит ложные срабатывания ... это на самом деле небезопасно. Это мультяшный pdf появляется, чтобы показать алгоритм шифрования открытого ключа на основе minimium доминирующий набор проблем. Читая дальше, он затем признает ложь, что алгоритм безопасен ... основная проблема NP-полная, но ее использование в алгоритме PK не сохраняет трудности.

еще один ложноположительный поиск Google: криптоанализ криптосистемы Голдрайха-Голдвассера-Халеви из Crypto ' 97. Из аннотации:

в Crypto '97 Голдрайх, Голдвассер и Халеви предложили криптосистему с открытым ключом, основанную на ближайшей векторной задаче в решетке, которая, как известно, NP-жесткая. Мы показываем, что в дизайне схемы есть большой недостаток, который имеет два последствия: любой шифротекст утекает информацию о открытом тексте, а проблема дешифрования шифротекстов может быть сведена к специальная ближайшая векторная задача, которая намного проще, чем общая проблема.


есть веб-сайт, который может иметь отношение к вашим интересам: Пост-Квантовой Криптографии.


вот мои рассуждения. Поправьте меня, если я ошибаюсь.

(i)" взлом " криптосистемы обязательно является проблемой в NP и co-NP. (Взлом криптосистемы включает инвертирование функции шифрования, которая является однозначной и вычисляемой в полиномиальное время. Таким образом, учитывая зашифрованный текст, открытый текст является сертификатом, который может быть проверен в полиномиальное время. Таким образом, запрос открытого текста на основе зашифрованного текста находится в NP и в co-NP.)

(ii) Если есть NP-трудная проблема в NP и co-NP, то NP = co-NP. (Эта проблема будет NP-полной и в co-NP. Поскольку любой язык NP сводим к этому языку co-NP, NP является подмножеством co-NP. Теперь используйте симметрию: любой язык L в co-NP имеет-L (его комплимент) в NP, откуда-L находится в co-NP---то есть L = - L находится в NP.)

(iii) I думаю что это вообще считается, что NP != co-NP, так как в противном случае существуют полиномиальные доказательства того, что булевы формулы не являются выполнима.

вывод: теоретико-сложные гипотезы подразумевают, что NP-жестких криптосистем не существует.

(в противном случае у вас есть NP-трудная проблема в NP и co-NP, откуда NP = co-NP--- - который считается ложным.)


в то время как RSA и другие широко используемые криптографические алгоритмы основаны на сложности целочисленной факторизации (которая, как известно, не является NP-полной), существуют некоторые алгоритмы криптографии с открытым ключом, основанные на NP-полных проблемах. Поиск google для "открытого ключа" и "NP-complete" покажет некоторые из них.

(Я неправильно сказал раньше, что квантовые компьютеры ускорят NP-полные проблемы, но это не так. Я поправляюсь.)


Как указывалось многими другими плакатами, можно основывать криптографию на NP-жестких или NP-полных проблемах.

однако общие методы криптографии будут основаны на сложной математике (трудно взломать, то есть). Правда в том, что легче сериализовать числа как традиционный ключ, чем создать стандартизированную строку, которая решает NP-трудную проблему. Поэтому практическая криптография основана на математических задачах, которые еще не доказаны NP-жесткий или NP-полный (поэтому возможно, что некоторые из этих проблем находятся в P).

в шифровании ElGamal или RSA для его взлома требуется взломать дискретный логарифм, поэтому посмотрите на это Википедия статьи.

не известен эффективный алгоритм вычисления общих дискретных логарифмов logbg. Наивный алгоритм состоит в том, чтобы поднять b до все более и более высоких степеней k, пока не будет найден желаемый g; это иногда называется пробным умножением. Этот алгоритм требует линейного времени работы в размере группы G и, следовательно, экспоненциального числа цифр в размере группы. Существует эффективный квантовый алгоритм из-за Питера Шора, однако (http://arxiv.org/abs/quant-ph/9508027).

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

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

широко распространено мнение, что они NP-полные, но, возможно, не могут быть доказаны. Отмечать что квантовые компьютеры могут эффективно взломать криптографию!


поскольку никто не ответил на вопрос, я должен дать вам подсказку: "McEliece". Сделайте несколько поисков на нем. Его проверенный NP-жесткий алгоритм шифрования. Для этого требуется o(n^2) Время шифрования и дешифрования. Он также имеет открытый ключ размера O (n^2), что плохо. Но есть улучшения, которые снижают все эти границы.