Fully homomorphic encryption is a type of scheme where one can perform arbitrary computations on encrypted data.

Fully homomorphic encryption is a form of the encryption scheme that **allows computations to be performed on data while it is encrypted. **Its goal is to allow for computations on ciphertexts in such a way that it never has to be decrypted for intermediate steps during the computation.

This provides powerful functionality for use cases like cloud computing and big data analytics, where the processing of large amounts of data is required, but sensitive or proprietary information must be kept private from third parties.

This idea sounds impossible. How can you perform operations (addition, multiplication, etc.) on data without decrypting it?

The problem is that keys for encryption and decryption are separate in traditional encryption schemes, and performing operations on encrypted data requires decrypting it first.

With fully homomorphic encryption (FHE), you also have an encryption key, but unlike traditional schemes, you can compute on plaintext in an arbitrary way without ever decrypting it.

It is a tremendously useful property, allowing for computation on sensitive data without revealing it to the entity performing the computation.

For example, consider a database of medical information that is fully homomorphic encrypted. An encryption key can be given to a doctor, who can perform queries on the database to determine whether patients with specific symptoms have been treated. This allows the doctor to get information about their patients without having access to the actual data in the database.

In terms of the possibility of computations over encrypted data, homomorphic encryption has different types; partially, somewhat, leveled fully, and fully homomorphic encryption.

Partially homomorphic and somewhat homomorphic allow for only a particular type of operation over encrypted data, that too with limited repetition.

Fully homomorphic encryption supports an unlimited number of operations over encrypted data. Also, the operation can be applied an unlimited number of times.

FHE can be used to store sensitive private data on third-party servers and still allow computation on that private data while keeping it encrypted. The server administrators can not find out what computations were done on the private data (assuming a secure FHE implementation).

FHE eliminates the tradeoff between the usability of data and its privacy. Data privacy is preserved without needing to mask or remove any feature.

Proper FHE implementation means high-end resilience against quantum attacks, making this scheme quantum-safe.

FHE is still emerging and viewed as commercially infeasible so a lot of research has to happen before it becomes extensively usable.

Join the thousands already learning crypto!