2014-02-12 30 views
4

我的問題涉及BigIntegerisProbablePrime()方法的「確定性」因子。 Java的API指出,這就是:澄清isProbablePrime中的確定性因子

「的不確定性的度量,來電者是願意忍受」

這是一個不確定性的百分比或其他一些因素。我需要512位的素數。

+0

除了給出的正確答案,請不要推出自己的加密(學習除外)。從[rsa](http://stackoverflow.com/questions/tagged/rsa)標籤看來你想實現一些RSA?使用'Cipher's並且不要手動實現它,並且您不需要擔心實現中的問題。 – dst

回答

8

Javadocs for BigInteger's isProbablePrime method

確定性 - 不確定性的措施,調用者願意忍受:如果調用返回true即此BigInteger黃金超過的概率(1 - 1/2 確定性

因此,較高你通過certainty數量越多,你一定可以的,即100意味着它主要以概率1 - (1/2),這非常接近1.

Java通過執行Miller-Rabin素數測試來完成此操作,其數量基於certainty(和Lucas-Lehmer測試)。

+2

僅供參考:如果「確定」爲10,則「1 - 1/2^10」約爲99.9%。 –