My question concerns the the "certainty" factor for the isProbablePrime()
method for the BigInteger
. The Java API states that this is:
"a measure of the uncertainty that the caller is willing to tolerate"
Is this a percentage of uncertainty or some other factor. I need 2 prime number of 512 bit.
From the Javadocs for BigInteger
's isProbablePrime
method:
certainty - a measure of the uncertainty that the caller is willing to tolerate: if the call returns true the probability that this BigInteger is prime exceeds (1 - 1/2certainty)
So, the higher the certainty
number you pass, the more certain you can be, i.e. 100
means it's prime with probability 1 - (1/2)100, which is extremely close to 1.
Java accomplishes this by performing Miller-Rabin primality tests, the number of which is based on certainty
(and a Lucas-Lehmer test).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With