private static BigInteger findPrime(BigInteger number) {
		boolean prime = false;
		Random r = new Random();
		while (!prime) {
			prime = true;
			for (int j = 0; j < 100; j++) {
				BigInteger a = BigInteger.valueOf(number.compareTo(BigInteger
						.valueOf(Integer.MAX_VALUE)) == -1 ? (int) number
						.intValue() - 1 : r.nextInt(Integer.MAX_VALUE));
				BigInteger res = a.modPow(number, number);
				if(!a.equals(res)) {
					prime = false;
					number = number.add(BigInteger.ONE);
					break;
				}
			}
		}
		return number;
	}