Eu me pergunto em quais grupos de complexidade (por exemplo, para computadores clássicos e quânticos) se enquadram e quais abordagens (por exemplo, algoritmos) são as melhores para realizar essa tarefa.
O link da Wikipedia acima não oferece tempos de execução muito concretos. Espero algo mais parecido com o que os métodos mais conhecidos são para encontrar tal.
Respostas:
Resposta curta.
Se formularmos uma versão apropriada do problema de decisão do problema do Logaritmo Discreto, podemos mostrar que ele pertence à interseção das classes de complexidade NP , coNP e BQP .
Uma versão com problema de decisão do Registro Discreto.
O problema do logaritmo discreto é mais frequentemente formulado como um problema de função , mapeando tuplas de números inteiros para outro número inteiro. Essa formulação do problema é incompatível com as classes de complexidade P , BPP , NP e assim por diante que as pessoas preferem considerar, que dizem respeito apenas a problemas de decisão (sim / não). Podemos considerar uma versão do problema de decisão do problema de log discreto que é efetivamente equivalente:
Isso nos permitiria calcular o log a ( c ) módulo N por pesquisa binária, se pudéssemos resolvê-lo com eficiência. Podemos então perguntar a quais classes de complexidade esse problema pertence. Observe que o definimos como um problema promissor: podemos estendê-lo a um problema de decisão suspendendo os requisitos de que é primo e um gerador, mas adicionando a condição que essas restrições mantêm para qualquer instância 'SIM' do problema.N a ∈ Z×N
O registro discreto está no BQP.
Usando o algoritmo de Shor para calcular o logaritmo discreto ( algoritmos de tempo polinomial para fatoração primária e logaritmos discretos em um computador quântico ), podemos facilmente conter o log discreto no BQP . (Para testar se é realmente um gerador, podemos usar o algoritmo de busca de ordem de Shor no mesmo artigo, que é a base do algoritmo de logaritmo discreto, para encontrar a ordem de e compare com .)
O Registro Discreto está no NP ∩ coNP.
Se, na verdade, é primo e é um gerador, um certificado suficiente para uma instância 'YES' ou 'NO' do problema de decisão é o inteiro único tal que . Por isso, é suficiente para mostrar que nós podemos certificar ou não as condições em e espera. Na sequência do Brassard Uma nota sobre a complexidade da criptografia , se é tanto o caso em que é primo e é um gerador, então é o caso que
Um certificado de que as restrições sobre e tanto espera seria uma lista dos fatores primos dividindo , o que nos permitirá testar as restrições de congruência acima. (Podemos testar se cada é primo usando o teste AKS, se desejarmos, e testar se esses são todos os fatores primos de , tentando encontrar a fatoração de potência primária de apenas com esses primos.)a q 1 , q 2 , … N - 1 q j N - 1 N - 1N uma q1, q2, … N- 1 qj N- 1 N- 1
Um certificado de que uma das restrições em ou falha seria um número inteiro que divide , de modo que . Não é necessário testar para primidez neste caso; Implica imediatamente que a ordem de é menor que e, portanto, é um gerador do grupo multiplicativo apenas se falhar em ser primo.a q N - 1 a ( N - 1 ) / q ≡ 1N uma q N- 1 uma(N- 1 ) / q≡1(modN) q uma N- 1 N
fonte
Nos cenários geral e no pior dos casos, a resposta de Niel de Beaudrap está correta, tanto quanto sei.
No entanto, no caso em que o possui apenas pequenos fatores primos, o algoritmo de Pohlig-Hellman encontra o logaritmo no tempo . Portanto, para este caso, o problema Discreta Log é em . Assim, quando um protocolo criptográfico depende da dureza desse problema, é importante escolher o módulo , de modo que o tenha grandes fatores primos.O ( l S g de 2 ( N ) ) P N N - 1N- 1 O ( l o g2( N) )) P N N- 1
fonte
desde que , então . (O significado de força bruta está em EXP.)b = O ( N )| a | =O(N) b = O ( N)
Para uma máquina não determinística, há uma testemunha polinomial, pois podemos fazer exponenciação modular em P. (isto é, o problema está em .)NP
A teoria de que logaritmos discretos estão em mas não em é a base da criptografia moderna, mas isso obviamente não está comprovado.PNP P
O método de Shor (vinculado a essa página da wikipedia) é executado em tempo polinomial em um computador quântico.
fonte