Joseph Ashwood wrote:
> byte [] rawBytes = new byte[lenNum/8];
> rand.nextBytes(rawBytes);
> curNum = new BigInteger(rawBytes);
I haven't thought through why it would produce non-primes, but it
doesn't seem to do what you want. That produces a 512 bit
twos-complement number, which gives you a 511 bit positive integer, not
512 bit. It also is unnecessarily complicated compared to this form of
the BigInteger constructor and the or method (see the javadoc):
curNum = BigInteger.ONE.or(new BigInteger(512, rand));
-- Sidney Markowitz
http://www.sidney.com
---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]