rnd.nextBytes(buffer);
prng.nextBytes(buffer);
  private static final BigInteger newR(final BigInteger N)  {    final int upper = (N.bitLength() + 7) / 8;    final int lower = upper / 2;    final byte[] bl = new byte[1];    SecureRandom rnd = new SecureRandom ();    int b;    do      {        rnd.nextBytes(bl);        b = bl[0] & 0xFF;      }    while (b < lower || b > upper);    final byte[] buffer = new byte[b]; // 256-bit MPI    rnd.nextBytes(buffer);    return new BigInteger(1, buffer);  }