PaillierHomomorphicUtil { public static BigInteger addCiphertexts(final PaillierPublicKey encryptionKey, final BigInteger c1, final BigInteger c2) { final BigInteger sum = c1.multiply(c2).mod(encryptionKey.getNSquared()); return sum; }  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 testAddCiphertexts() { fail("Not yet implemented"); }