Embora a resposta do @Jens Erat fosse bastante abrangente, eu fiz uma pesquisa sobre a quebra do RSA (o algoritmo por trás do OpenPGP), então eu queria opinar:
Eu vou quebrar a norma e dar o TL; DR primeiro: É impossível você quebrar essa chave. Se estamos olhando para isso de forma realista, não há como você fatorar um inteiro de 1024 bits. Sua melhor aposta possível seria tentar quebrar alguma outra parte da cadeia de segurança (por exemplo, a área de trabalho em que o destinatário verifica seu e-mail).
Com o realismo fora do caminho, vamos considerar possíveis estratégias:
-
Adivinhação cega / Força bruta. Com um semprime de 1024 bits, há poucas chances de que isso funcione. Seria melhor usar seu tempo tentando adivinhar números de loteria aleatoriamente.
-
Gerando uma tabela do arco-íris. Tire o trabalho de adivinhação de fatoração tomando cada primo abaixo de 2 ^ 1024 e multiplicando-o por todos os outros primos, armazenando o resultado em uma tabela. Então tudo que você teria que fazer é procurar o par correto. Como você pode imaginar, isso também é impossível. Isso envolveria x! pares para x número de primos. Pela função de contagem de primos , você está vendo cerca de 2,95 * 10 ^ 307 primos - para comparação, estima-se que o número de átomos no universo observável esteja na magnitude de 10 ^ 83, portanto, mesmo que pudéssemos fazer cada átomo armazenar dois primos e seu produto de uma maneira que nosso computador pudesse indexar, seria impossível.
-
Use a peneira de campo de número geral . O GNFS é sua melhor aposta para fatorar um grande semiprime. Ele foi usado por Kleinjung e sua equipe para fatorar o RSA-768, um semiprimo de 768 bits. Infelizmente, isso levou sua equipe ao longo de três anos, e é uma ordem de grandeza menor do que os números que você deseja calcular. Mesmo se você gastasse milhões de dólares (por dia) alugando os melhores supercomputadores a plena capacidade, seria quase impossível calcular o número. O primeiro passo do GNFS é encontrar "relações" suficientes que permitam resolver os subproblemas, o que pode levar muito tempo.
Seu último recurso é usar um computador quântico, o que permitiria fatorar os números em um período de tempo viável. Infelizmente, estes ainda precisam ser desenvolvidos a um ponto de qualquer utilidade. Portanto, por enquanto, não podemos fatorar semprimes de 1024 bits e maiores (e, portanto, os algoritmos que dependem deles).