PaillierCipher { public static BigInteger decrypt(final PaillierPrivateKey decryptionKey, final BigInteger ciphertext) { final BigInteger lambda = decryptionKey.getLambda(); final BigInteger mu = decryptionKey.getMu(); final BigInteger n = decryptionKey.getN(); final BigInteger nSquared = decryptionKey.getNSquared(); final BigInteger innerPart = Exponentiation.modPow(ciphertext, lambda, nSquared); return l(innerPart, n).multiply(mu).mod(n); }  static BigInteger encrypt(final PaillierPublicKey encryptionKey, final BigInteger message); static BigInteger encrypt(final PaillierPublicKey encryptionKey, final BigInteger message,
			final BigInteger r); static BigInteger decrypt(final PaillierPrivateKey decryptionKey, final BigInteger ciphertext);  }
@Test public void testDecrypt() { fail("Not yet implemented"); }