Quão difícil é encontrar o logaritmo discreto?


20

ba c Nab=cmodNacN

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.


Não sei qual é o melhor algoritmo, mas você pode encontrar alguns algoritmos no capítulo 5 desta nota de aula de Johan Hastad. Eu resumiria esses algoritmos, mas eu não ler este capítulo, então eu só fornecer o link;)
Marc Bury

Respostas:


21

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:

Log Discreto (Problema de Decisão). Dado um primo , um gerador do módulo multiplicativo , um número inteiro e um limite superior , determinam se existe tal que .a Z × N N 0 < c < NNaZN×N0<c<N 1 L b a LcbN1LbaLc(modN)

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.NumaZN×


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 .)umaZN×umaN-1


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 NumaZN×a Lc0 0eu<N-1a N N a Z × N r N - 11umaeuc(modN)umaNNumaZN×Z × N N - 1

rN-11(modN)er(N-1)/q1(modN)  para primos q dividindo N-1
por definição (usando o fato de que tem a ordem ).ZN×N-1
  • 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 - 1Numaq1,q2,...N-1qjN-1N-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 ) / q1NumaqN-1uma(N-1)/q1(modN)qumaN-1N


3

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-1O(euog2(N))PNN-1


-1

desde que , então . (O significado de força bruta está em EXP.)b = O ( N )|uma|=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.PNPP

O método de Shor (vinculado a essa página da wikipedia) é executado em tempo polinomial em um computador quântico.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.