Fhe algorithms used by zama


I was reading about some fhe algorithms like Brakerski-Fan-Vercauteren (BFV), Brakerski-Gentry-Vaikuntanathan (BGV) and Cheon-Kim-Kim-Song (CKKS).

Could you please confirm which algorithm is used by zama for fully homomorphic encryption and calculations?



sorry for the late answer. Zama uses TFHE, also called CGGI (Chillotti, Gama, Georgieva, Izabachène), Faster Fully Homomorphic Encryption: Bootstrapping in less than 0.1 Seconds and further improvements. More info in this blog, TFHE Deep Dive - Part I - Ciphertext types , eg


Thank you for the response.

I have a couple of more questions.

Is there a specific number of nodes that need to get together to perform the decryption of encrypted data (like one third or half of the nodes)?

Also, how is re-encryption done securely since the data is being decrypted and then encrypted again. is the decryption done on the evm or in memory ?

The decryption and reencryption processes are conducted on a separate network; neither the blockchain nor the EVM possesses the private key or any part of it.
For this network, we employ threshold cryptography. The multi-party paradigm of threshold cryptography facilitates threshold schemes for securely distributing trust in decryption operations. Each party holds a portion of the private key and cannot decrypt independently; however, as it currently stands, participation from at least one-third is necessary.
The reencryption process differs slightly. A user requesting reencryption will receive multiple reencrypted parts to reassemble, ensuring that the complete value is never fully decrypted at any point.