Réponse courte.
Si nous formulons une version appropriée du problème de décision du problème du logarithme discret, nous pouvons montrer qu'il appartient à l'intersection des classes de complexité NP , coNP et BQP .
Une version de problème de décision du journal discret.
Le problème du logarithme discret est le plus souvent formulé comme un problème de fonction , mappant des tuples d'entiers à un autre entier. Cette formulation du problème est incompatible avec les classes de complexité P , BPP , NP , etc. que les gens préfèrent considérer, qui ne concernent que les problèmes de décision (oui / non). On peut considérer une version problème de décision du problème de log discret qui est effectivement équivalente:
Journal discret (problème de décision). Étant donné un premier , un générateur les unités multiplicatives modulo , un entier et une borne supérieure , déterminent s'il existe tel qu'un .a ∈ Z × N N 0 < c < N b ∈ N 1 ⩽ L ⩽ bNa∈Z×NN0<c<Nb∈N1⩽L⩽baL≡c(modN)
Cela nous permettrait de calculer réellement log a ( c ) modulo N par recherche binaire, si nous pouvions le résoudre efficacement. On peut alors se demander à quelles classes de complexité appartient ce problème. Notez que nous l'avons formulé comme un problème de promesse: nous pouvons l'étendre à un problème de décision en suspendant les exigences que soit premier et un générateur, mais en ajoutant la condition que ces restrictions valent pour toute instance «OUI» du problème.Na∈Z×N
Le journal discret est en BQP.
En utilisant l'algorithme de Shor pour calculer le logarithme discret ( algorithmes à temps polynomial pour la factorisation principale et logarithmes discrets sur un ordinateur quantique ), nous pouvons facilement contenir un journal discret dans BQP . (Pour tester si est réellement un générateur, nous pouvons utiliser l'algorithme de recherche d'ordres de Shor dans le même article, qui est la base de l'algorithme du logarithme discret, pour trouver l'ordre d' et comparer avec .)a∈Z×NaN−1
Le journal discret est en NP ∩ coNP.
S'il est en fait vrai que est premier et est un générateur, un certificat suffisant soit pour un 'OUI' soit un 'NON' du problème de décision est l'entier unique tel qu'un . Il suffit donc de montrer que l'on peut certifier si les conditions sur et respectées. Suivant une note de Brassard sur la complexité de la cryptographie , si c'est à la fois le cas où est premier et est un générateur, alors c'est le cas que
a ∈ Z × N 0 ⩽ L < N - 1 a L ≡ cNa∈Z×N0⩽L<N−1a N N a ∈ Z × N r N - 1 ≡ 1aL≡c(modN)aNNa∈Z×NZ × N N - 1
rN−1≡1(modN)andr(N−1)/q≢1(modN) for primes q dividing N−1
par définition (en utilisant le fait que a l'ordre ).
Z×NN−1
Un certificat que les contraintes qui pèsent sur et fois Conclure une liste des facteurs premiers division , ce qui nous permettra de tester les contraintes de congruence ci - dessus. (Nous pouvons tester si chaque est premier en utilisant le test AKS si nous le souhaitons, et tester que ce sont tous les facteurs premiers de en essayant de trouver la factorisation en puissance première de avec seulement ces nombres premiers.)a q 1 , q 2 , … N - 1 q j N - 1 N - 1Naq1,q2,…N−1qjN−1N−1
Un certificat qu'une des contraintes sur ou échec serait un entier qui divise , tel que . Il n'est pas nécessaire de tester la primauté de dans ce cas; cela implique immédiatement que l'ordre de est inférieur à , et donc il n'est générateur du groupe multiplicatif que si ne parvient pas à être premier.a q N - 1 a ( N - 1 ) / q ≡ 1NaqN−1a(N−1)/q≡1(modN)qaN−1N