Respuesta corta.
Si formulamos una versión adecuada del problema de decisión del problema de Logaritmo discreto, podemos mostrar que pertenece a la intersección de las clases de complejidad NP , coNP y BQP .
Una versión de problema de decisión de Discrete Log.
El problema del logaritmo discreto se formula con mayor frecuencia como un problema de función , asignando tuplas de enteros a otro entero. Esa formulación del problema es incompatible con las clases de complejidad P , BPP , NP , etc., que las personas prefieren considerar, que se refieren solo a problemas de decisión (sí / no). Podemos considerar una versión de problema de decisión del problema de registro discreto que es efectivamente equivalente:
Registro discreto (problema de decisión). Dado un primo , un generador de las unidades multiplicativas módulo , un entero y un límite superior , determinan si existe tal que .Na∈Z×NN0<c<Nb∈N1⩽L⩽baL≡c(modN)
Esto nos permitiría calcular realmente el registro a ( c ) módulo N mediante búsqueda binaria, si pudiéramos resolverlo eficientemente. Entonces podemos preguntar a qué clases de complejidad pertenece este problema. Tenga en cuenta que lo hemos formulado como un problema prometedor: podemos extenderlo a un problema de decisión al suspender los requisitos de que sea primo y un generador, pero agregando la condición que cumplen estas restricciones para cualquier instancia 'SÍ' del problema.Na∈Z×N
El registro discreto está en BQP.
Usando el algoritmo de Shor para calcular el logaritmo discreto ( Algoritmos de tiempo polinómico para factorización prima y logaritmos discretos en una computadora cuántica ), podemos contener fácilmente el Discreto Log en BQP . (Para probar si es realmente un generador, podemos usar el algoritmo de búsqueda de orden de Shor en el mismo documento, que es la base del algoritmo de logaritmo discreto, para encontrar el orden de y compárelo con .)a∈Z×NaN−1
El registro discreto está en NP ∩ coNP.
Si en realidad es el caso de que es primo y es un generador, un certificado suficiente para una instancia 'SÍ' o 'NO' del problema de decisión es el entero único tal que . Por lo tanto, es suficiente para demostrar que podemos certificar si las condiciones de y bodega. Siguiendo la nota A de Brassard sobre la complejidad de la criptografía , si es tanto el caso de que es primo como es un generador, entonces es el caso que
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
por definición (usando el hecho de que tiene el orden ).
Z×NN−1
Un certificado que las limitaciones de y tanto espera sería una lista de los factores primos división , lo que nos permitirá poner a prueba los límites de congruencia anteriores. (Podemos probar si cada es primo usando la prueba AKS si lo deseamos, y probar que estos son todos los factores primos de al intentar encontrar la factorización de potencia prima de solo con esos primos).Naq1,q2,…N−1qjN−1N−1
Un certificado de que una de las restricciones en o error sería un número entero que divide , de modo que . No es necesario probar para la primacía en este caso; implica inmediatamente que el orden de es menor que , por lo que es un generador del grupo multiplicativo solo si no es primo.NaqN−1a(N−1)/q≡1(modN)qaN−1N