Como faço para gerar um número primo de 160 bits em java?

Eu quero gerar um número primo de 160 bits em java. Eu sei que vou ter que percorrer todos os números de 160 bits e para qualquer númeron, Eu vou ter que checar se eles são divisíveis por qualquer primo menor quesqroot(n) ou por qualquer teste de primality comoMiller-Rabin test. Minhas perguntas são:

Existe alguma biblioteca específica que faz isso?

Existe alguma outra maneira (melhor) de fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion