Короткий ответ.
Если мы сформулируем подходящую версию задачи решения задачи дискретного логарифма, мы можем показать, что она принадлежит пересечению классов сложности NP , coNP и BQP .
Решение проблемной версии Discrete Log.
Проблема дискретного логарифма чаще всего формулируется как задача функции , отображающая кортежи целых чисел в другое целое число. Такая формулировка проблемы несовместима с классами сложности P , BPP , NP и т. Д., Которые люди предпочитают рассматривать, которые касаются только решения (да / нет) проблем. Мы можем рассмотреть вариант решения проблемы дискретного журнала, который эффективно эквивалентен:
Дискретный журнал (проблема решения). Для простого числа генератор мультипликативных единиц по модулю , целое число и верхняя граница определяют, существует ли такой, что .Na∈Z×NN0<c<Nb∈N1⩽L⩽baL≡c(modN)
Это позволило бы нам фактически вычислить log a ( c ) по модулю N с помощью бинарного поиска, если бы мы могли эффективно решить его. Затем мы можем спросить, к каким классам сложности относится эта проблема. Обратите внимание, что мы сформулировали это как проблему обещания: мы можем расширить ее до задачи решения, приостановив требования, что простое число и генератор, но добавив условие, что эти ограничения выполняются для любой «ДА» экземпляр проблемы.Na∈Z×N
Дискретный журнал находится в BQP.
Используя алгоритм Шора для вычисления дискретного логарифма ( алгоритмы полиномиального времени для простой факторизации и дискретные логарифмы на квантовом компьютере ), мы можем легко содержать дискретный лог в BQP . (Чтобы проверить, действительно ли является генератором, мы можем использовать алгоритм поиска порядка Шора в той же статье, которая является основой для алгоритма дискретного логарифма, чтобы найти порядок и сравните это с .)a∈Z×NaN−1
Дискретный журнал находится в NP ∩ coNP.
Если на самом деле простое, а - генератор, достаточным сертификатом для экземпляра «YES» или «NO» для решения задачи является уникальное целое число такой, что . Таким образом, достаточно показать, что мы можем подтвердить, выполняются ли условия для иПосле заметки Брассарда о сложности криптографии , если в обоих случаях простое, а - генератор, то это тот случай, когда
Na∈Z×N0⩽L<N−1aL≡c(modN)aNNa∈Z×N
rN−1≡1(modN)andr(N−1)/q≢1(modN) for primes q dividing N−1
по определению (используя тот факт, что имеет порядок ).
Z×NN−1
Свидетельство о том , что ограничения на и и удерживать бы список главных факторов разделительного , что позволит нам проверить вышеуказанные ограничения конгруэнции. (Мы можем проверить, является ли каждый простым, используя тест AKS, если мы хотим, и проверить, что это все факторы , пытаясь найти факторизацию первичной мощности только с этими простыми числами.)Naq1,q2,…N−1qjN−1N−1
Сертификат, одно из ограничений на или сбой будет целое число , которое делит , таким образом, что . В этом случае нет необходимости проверять на первичность; из этого сразу следует, что порядок меньше , и поэтому он является генератором мультипликативной группы, только если не может быть простым.NaqN−1a(N−1)/q≡1(modN)qaN−1N