package necessary; import meerkat.protobuf.ConcreteCrypto; import meerkat.protobuf.Crypto; import com.google.protobuf.ByteString; import meerkat.protobuf.Mixing; import java.math.BigInteger; public interface General { /* given RerandomizableEncryptedMessage returns an equivalent ElGamalCiphertext */ ConcreteCrypto.ElGamalCiphertext calcRerandomizable2ElGamal(Crypto.RerandomizableEncryptedMessage enc); ByteString getG(); ByteString getH(); /* fiat shamir assumption */ BigInteger hash(Mixing.ZeroKnowledgeProof.OrProof.ForRandomOracle input); }