Zero-knowledge proofs
Last updated
Was this helpful?
Last updated
Was this helpful?
This document explains how to implement the zero-knowledge proofs function for compact public key encryption to verify the encryption process without revealing the encrypted information.
TFHE-rs can generate zero-knowledge proofs to verify that the compact public key encryption process is correct. In other words, TFHE-rs generates the proof without revealing any information other than the already known range of the encrypted message. This technique is derived from .
Using this feature is straightforward: during encryption, the client generates the proof, and the server validates it before conducting any homomorphic computations. The following example demonstrates how a client can encrypt and prove a ciphertext, and how a server can verify the ciphertext and compute it:
In terms of performance:
Encrypting and proving a CompactFheUint64
takes 6.9 s on a Dell XPS 15 9500
(simulating a client machine).
Verification takes 123 ms on an hpc7a.96xlarge
AWS instances.