BigInteger decrypt(BigInteger X, BigInteger p, BigInteger Y){ BigInteger key; key = Y.powMod(X, p); return key; }
BigInteger encrypt(BigInteger X, BigInteger p, BigInteger a){ BigInteger Y; Y = a.powMod(X, p); return Y; }