Executando verificação de segurança...
1

Eu gero um número aleatório, testo se ele é divisível pelos primos abaixo de 5000, se ele não passar, eu adiciono 2 e tento denovo, se ele passar dessa etapa, eu teto-o usando o Teste de Miller-Rabin, com 10 checagens, se ele falhar, ele volta o processo todo, mas a quantidade de checagens pode ser alterada passando o parametro -checks (o numero desejado)
Ex:
pgen -bits 1024 -checks 5

Obrigado por ter me avisado do repo

Carregando publicação patrocinada...
1

Acredito que não seria necessário testar se ele é divisível pelos primos abaixo de 5000, apenas se ele não é par. se \sqrt[]{n} for próximo de 5000 daí então o teste faz sentido, se for igual não é necessário continuar com o código e se for menor o mesmo ocorre.