public static long bruteDecrpt(long pubKey, long cKey) {
	int i = 2;

	while (true) {
	    boolean prime = true;
	    for (int j = 2; j < Math.sqrt(i) + 1; j++) {
		if (i % j == 0) {
		    prime = false;
		    break;
		}
	    }

	    if (prime) {
		if ((cKey % i) == 0) {
		    boolean found = true;
		    for (int k = 2; k < Math.sqrt(i) + 1; k++) {
			if (i % k == 0) {
			    found = false;
			    break;
			}
		    }
		    if (found) {
			long onePrime = i;
			long anotherPrime = cKey / i;
			long m = (onePrime - 1) * (anotherPrime - 1);
			// BigInteger e = coprime(BigInteger.valueOf(m));
			// System.out.println("one primer is:" + onePrime
			// + " and another prime is:" + anotherPrime);
			/*
			while (e.longValue() != pubKey) {
			    e = coprime(BigInteger.valueOf(m));
			}
			*/

			BigInteger d = mod_inverse(BigInteger.valueOf(pubKey),
				BigInteger.valueOf(m));
			return d.longValue();

		    }
		}
	    }

	    i++;
	}
    }