I have a service that allows multiple parties to share domain-specific textual data. This data is also end-to-end encrypted. How can I be sure the sharing parties don't send non-domain-specific data, considering I receive it encrypted?
For example, assuming I require a specific algorithm to be used for the encryption, is there either:
- a zero-knowledge proof that would verify that the original data matches a given regular expression
or
- a homomorphic identity operation that, applied to valid domain-specific encrypted data, would result in no change to the data, but applied to anything else, would result in undecryptable garbage