Various Random things (Was: Java 8 RFC 7189139: BigInteger's staticRandom field can be a source of bottlenecks)
Brian Burkhalter
brian.burkhalter at oracle.com
Tue Sep 3 19:06:23 UTC 2013
So it looks like there are two decisions to be made on this topic:
On Sep 3, 2013, at 1:21 AM, Paul Sandoz wrote:
>>> add the following method to BigInteger
>>> public boolean isProbablePrime(int certainty, Random end) ,
>>> which allows primality testing with arbitrary Random objects.
>>> In many cases, using a well seeded normal Random object will work
>>> just fine, and this will give users the ability to provide their own
>>> Random objects
>>
>> This sounds like a very good solution to me. That way someone can decide whether they want to take the hit with SecureRandom, or if Random is good enough.
>>
>
> Yes.
1) Add BigInteger.isProbablePrime(int certainty, Random rnd) {}
>> So offhand, I wouldn't commit to saying if SecureRandom is necessary or not, but it wouldn't surprise me.
>>
>
> My intuition is that the new algorithm for TLR might be sufficient as input to this Monte-Carlo algorithm, but i don't have any hard empirical data.
2) Replace SR with TLR as the default Random in BigInteger.passesMillerRabin(int iterations, Random rnd) {}.
Any further comments from those adept at this topic?
Brian
More information about the core-libs-dev
mailing list