Дискретный логарифм такого же , как нахождение в , дан в , гр и N .a c N
Интересно, в каких группах сложности (например, для классических и квантовых компьютеров) это находится, и какие подходы (то есть алгоритмы) являются лучшими для выполнения этой задачи.
Ссылка на википедию, приведенная выше, на самом деле не дает очень конкретного времени выполнения. Я надеюсь на что-то более похожее на то, что наиболее известные методы для поиска таких.
Ответы:
Короткий ответ.
Если мы сформулируем подходящую версию задачи решения задачи дискретного логарифма, мы можем показать, что она принадлежит пересечению классов сложности NP , coNP и BQP .
Решение проблемной версии Discrete Log.
Проблема дискретного логарифма чаще всего формулируется как задача функции , отображающая кортежи целых чисел в другое целое число. Такая формулировка проблемы несовместима с классами сложности P , BPP , NP и т. Д., Которые люди предпочитают рассматривать, которые касаются только решения (да / нет) проблем. Мы можем рассмотреть вариант решения проблемы дискретного журнала, который эффективно эквивалентен:
Это позволило бы нам фактически вычислить log a ( c ) по модулю N с помощью бинарного поиска, если бы мы могли эффективно решить его. Затем мы можем спросить, к каким классам сложности относится эта проблема. Обратите внимание, что мы сформулировали это как проблему обещания: мы можем расширить ее до задачи решения, приостановив требования, что простое число и генератор, но добавив условие, что эти ограничения выполняются для любой «ДА» экземпляр проблемы.N a∈Z×N
Дискретный журнал находится в BQP.
Используя алгоритм Шора для вычисления дискретного логарифма ( алгоритмы полиномиального времени для простой факторизации и дискретные логарифмы на квантовом компьютере ), мы можем легко содержать дискретный лог в BQP . (Чтобы проверить, действительно ли является генератором, мы можем использовать алгоритм поиска порядка Шора в той же статье, которая является основой для алгоритма дискретного логарифма, чтобы найти порядок и сравните это с .)
Дискретный журнал находится в NP ∩ coNP.
Если на самом деле простое, а - генератор, достаточным сертификатом для экземпляра «YES» или «NO» для решения задачи является уникальное целое число такой, что . Таким образом, достаточно показать, что мы можем подтвердить, выполняются ли условия для иПосле заметки Брассарда о сложности криптографии , если в обоих случаях простое, а - генератор, то это тот случай, когда
Свидетельство о том , что ограничения на и и удерживать бы список главных факторов разделительного , что позволит нам проверить вышеуказанные ограничения конгруэнции. (Мы можем проверить, является ли каждый простым, используя тест AKS, если мы хотим, и проверить, что это все факторы , пытаясь найти факторизацию первичной мощности только с этими простыми числами.)N a q1,q2,… N−1 qj N−1 N−1
Сертификат, одно из ограничений на или сбой будет целое число , которое делит , таким образом, что . В этом случае нет необходимости проверять на первичность; из этого сразу следует, что порядок меньше , и поэтому он является генератором мультипликативной группы, только если не может быть простым.N a q N−1 a(N−1)/q≡1(modN) q a N−1 N
источник
Насколько мне известно, в общем и наихудшем сценариях ответ Ниль де Бодрапа является правильным.
Однако в случае, когда имеет только малые простые множители, алгоритм Pohlig-Hellman находит логарифм за времени. Таким образом, в этом случае, задача дискретного входа в . Таким образом, когда криптографический протокол зависит от сложности этой проблемы, важно выбрать модуль , такой, что имеет большие простые факторы.N−1 O(log2(N)) P N N−1
источник
поскольку , то . (Значение грубой силы в EXP.)|a|=O(N) b=O(N)
Для недетерминированной машины есть полиномиальный свидетель, поскольку мы можем сделать возведение в модуляр в P. (т.е. проблема в .)NP
Теория о том, что дискретные логарифмы есть в а не в является основой современной криптографии, но это явно недоказано.NP P
Метод Шора (ссылка на который есть на этой странице википедии) выполняется за полиномиальное время на квантовом компьютере.
источник