PaillierHomomorphicUtil { public static BigInteger addConstant(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger constant) { final BigInteger gToM = Exponentiation.modPow(encryptionKey.getG(), constant, encryptionKey.getNSquared()); return addCiphertexts(encryptionKey, c1, gToM); }  static BigInteger addCiphertexts(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger c2); static BigInteger subtractCiphertexts(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger c2); static BigInteger addConstant(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger constant); static BigInteger subtractConstant(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger constant); static BigInteger multiplyConstant(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger constant); static BigInteger divideConstant(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger constant);  }
@Test public void testAddConstant() { fail("Not yet implemented"); }