Verifiable Encryption
Verifiable encryption lets a third party verify that a ciphertext satisfies a relation (e.g., it encrypts the value of a known commitment) without learning the plaintext.
Purpose
It proves ciphertext correctness without leaking content, used in fair exchange and verifiable voting protocols.
Mechanism
The ciphertext carries a zero-knowledge proof that the encryptor knows the plaintext and that it matches the public commitment/relation. The verifier checks the proof rather than decrypting. It builds on Sigma protocols or NIZK.
Use cases
- Fair exchange protocols
- Verifiable electronic voting
- Commitment schemes