package necessary; import meerkat.protobuf.ConcreteCrypto; import meerkat.protobuf.Crypto; import com.google.protobuf.ByteString; public interface General { /* given RerandomizableEncryptedMessage returns an equivalent ElGamalCiphertext */ ConcreteCrypto.ElGamalCiphertext calcRerandomizable2ElGamal(Crypto.RerandomizableEncryptedMessage enc); /* modulo operation over ByteString */ ByteString mod(ByteString dividend, ByteString divisor); /* addition operation over ByteString */ ByteString add(ByteString a, ByteString b); /* subtraction operation over ByteString */ ByteString sub(ByteString Subtraction, ByteString subtrahend); /* multiplication operation over ByteString */ ByteString mul(ByteString a, ByteString b); /* hash operation over ByteString */ ByteString hash(ByteString... arr); }