Bem, eu não sou especialista no assunto, mas uma observação óbvia é que
para tentar na força bruta fatorar N, vc vai usar no máximo 2√N/ln(N)
divisões (pelo teorema dos números primos). Uma coisa bastante interessante
seria vc mostrar que seu algoritmo faz menos interação que isso, ou ainda
que na maioria dos casos ele é melhor.

Em ter, 11 de jan de 2022 10:03, Eric Campos Bastos Guedes <
ebastosgue...@gmail.com> escreveu:

> Proponho um algoritmo para quebrar o RSA. O algoritmo que eu propus antes
> trabalhava com números muito grandes e por isso podia não funcionar
> direito. Esse trabalha com números bem menores porque usa módulo N numa
> etapa. O algoritmo e sua explicação estão no YouTube com o mesmo título
> desse e-mail. São dois vídeos, o que conta é o mais recente deste ano de
> 2022.
>
> QUEBRA DO RSA - ALGORITMO N.2
>
> PASSO 1: a=3
>
> inicializando o valor de a
>
> PASSO 2: N é o inteiro a ser fatorado
>
> N é o número usado no RSA. N é o produto de dois números primos grandes
> não muito próximos.
>
> PASSO 3: M=N^512 (N elevado a 512)
>
> M é um número grande mas não muito grande. O valor de P não vai
> ultrapassar muito o valor de M. P é uma variável inteira que acumula
> fatores primos. Aí você faz MDC(P, N) para tentar fatorar N.
>
> PASSO 4: a=a+1
>
> O valor de a é atualizado para a+1, isto é,  é  acrescentado 1 ao valor de
> a
>
> PASSO 5: P=a
>
> O valor de P é inicializado
>
> PASSO 6: b = número aleatório entre 0 e 1
> PASSO 7: Se b > 1/2 faça c=1 senão faça c=-1
>
> O objetivo dos passos 6 e 7 é atribuir à variável c um valor que pode ser
> 1 ou -1. Isso nem precisa ser feito de modo aleatório, mas acho que vai
> funcionar melhor se for aleatório.
>
> PASSO 8: P=P(P+c)
>
> É uma atribuição de valor. O novo valor de P passa a ser P(P+c). Note que
> P+c é relativamente primo com P. Na prática são acrescentados novos fatores
> primos a P que vai acumular fatores primos.
>
> PASSO 9: Se P < M vá para o PASSO 6
>
> Esse passo determina um looping para acumular fatores em P.
>
> PASSO 10: Se MDC(P, N) for diferente de 1 vá para o PASSO 14
>
> Se MDC(P, N) for diferente de 1 ele pode ser um fator primo de N. Resta
> verificar se ele não é o próprio N. Isso vai ser feito no PASSO 14.
>
> PASSO 11: P = Resto da divisão de P por N
>
> Esse passo é para trabalharmos com números menores.
>
> PASSO 12: Se P < 4 faça P=4
>
> Talvez esse passo possa ser omitido
>
> PASSO 13: vá para o PASSO 6
>
> PASSO 14: Se MDC(P, N)=N vá para o PASSO 4
>
> Se MDC(P, N) = N não foram encontrados fatores primos e algoritmo recomeça
> do ponto apropriado.
>
> PASSO 15: MDC(P, N) é fator (primo) de N
>
> FIM
>
> Eu fui menção honrosa na Olimpíada Ibero-americana de Matemática
> Universitária em 2006. Acho que este meu trabalho merece ser avaliado.
>
>
>
>
> --
> Esta mensagem foi verificada pelo sistema de antivírus e
> acredita-se estar livre de perigo.

-- 
Esta mensagem foi verificada pelo sistema de antiv�rus e
 acredita-se estar livre de perigo.

Responder a