Fatore um grande número com eficiência com gmp

Preciso obter todos os fatores primos de grandes números que podem facilmente chegar a 1k bits. Os números são praticamente aleatórios, portanto não deve ser difícil. Como faço isso de forma eficiente? Eu uso C ++ com biblioteca GMP.

Edição: Eu acho que todos vocês me entendeu mal.
O que quero dizer com número primo é obter todos os fatores primos do número.
Desculpe pelo meu inglês, no meu idioma prime e factor são os mesmos :)

esclarecimento (do outro post do OP):

O que eu preciso é uma maneira de fatorar eficientemente (encontrar fatores primos de um número) números grandes (pode chegar a 2048 bits) usando C ++ e GMP (Gnu Multiple Precession lib) ou menos preferencialmente de qualquer outra maneira. Os números são praticamente aleatórios, então há pouca chance de ser difícil de fatorar, e mesmo se o número for difícil de fatorar, eu posso rolar novamente o número (embora não seja possível escolher).

questionAnswers(4)

yourAnswerToTheQuestion