我的问题涉及isProbablePrime()
BigInteger
方法的“确定性”因素。 Java API声明这是:
“衡量来电者愿意容忍的不确定因素”
这是不确定性的百分比还是其他因素。我需要2位素数的512位。
答案 0 :(得分:13)
来自Javadocs for BigInteger
's isProbablePrime
method:
确定性 - 调用者愿意容忍的不确定性的度量:如果调用返回true,则此BigInteger为素数的概率超过(1 - 1/2 确定性)
所以,你通过的certainty
数字越高,你就越肯定,即100
意味着它的概率为1 - (1/2) 100 ,非常接近1。
Java通过执行Miller-Rabin素数测试来实现这一点,测试的数量基于certainty
(以及Lucas-Lehmer测试)。