int bit_size = mod.bitLength(); BigInteger res; do { res = new BigInteger(bit_size, rand); } while (res.bitLength() < bit_size - 4 || res.compareTo(mod) >= 0); return res;
BigInteger res; do { res = mod_rand(rand, mod); } while (!coprime(res, mod)); return res;