Overview of Fully Homomorphic Encryption (FHE)

Blog Single

What is homomorphic encryption and how can it be used?

Homomorphic encryption is a cryptographic technique that allows computations to be performed on encrypted data without having to decrypt it. The computed results are also in an encrypted form. These results, when decrypted, result in an output that is identical to the results that would have been obtained by processing the data in clear. Effectively, homomorphic encryption enables us to keep the data private and secure during processing. This is particularly useful when the data is shared with untrusted third parties for processing. Using homomorphic encryption prevents a malicious attacker from accessing the data while it is being processed.  

Homomorphic encryption is pertinent for processing sensitive data, such as financial transactions or health care information. Moreover, homomorphic encryption can be used to enable new services that were not possible earlier due to data privacy challenges. For example, federated credit card fraud detection or predictive analytics in healthcare can be hard to do on a third party cloud service provider due to financial and medical data privacy concerns. However, if the cloud service provider can perform analytics on encrypted data instead, these privacy concerns are diminished. That is because even if the cloud service provider's system is compromised, the data would remain secure and private.  

Example use case:

A customer has a query with sensitive financial information that he/she wants to ask in ChatGPT. The customer is concerned about sharing this financial information in clear as the information can leak. So instead of processing the information in clear, homomorphic encryption can be used to process the encrypted data. The processing steps using homomorphic encryption are as follows: 

  • The customer can enter the query in plain text with sensitive information. The text in the query will be encrypted as ciphertexts using the customer’s secret key.  
  • The encrypted text is sent to the cloud for processing. There is no need to share the secret keys with the cloud.   
  • The cloud runs the inference using a large language model on this encrypted text, without decrypting it.
  • Encrypted results are sent back to the customer.
  • The customer can decrypt the encrypted results using their secret key and view the query results in plaintext.  

How does homomorphic encryption differ from other existing data security and privacy solutions?

Authentication and authorization are the two access control mechanisms that are in place as the first line of defense to main data security and privacy. Although these control mechanisms restrict who can access what information, it still provides access to all the information in clear text format. Any internal/external rogue actor who is authorized to access the information can misuse it. In June 2022, a former AWS employee was convicted of stealing personal information of over 100 million people by exploiting her knowledge of cloud server vulnerabilities at Capital One and more than 30 other companies.  

Anonymization is typically the next line of defense where the personal information is either removed or modified. This results in anonymized data that can not be associated with any one individual. Although analyzing anonymized data is a base for many security critical products and features it provides minimal data security and privacy guarantees. The popular deanonymization attack on Netflix’s database is one of the examples showing how anonymization of data may not be sufficient to maintain data security and privacy. 

Differential privacy is another popular technique widely adopted by many industries to safely share data amongst internal or external entities without putting the privacy of their users at risk. Within differential privacy a small amount of noise is added to data to ascertain that any one individual does not stand out as part of the data. When processing is done on this data, the output of a given algorithm will essentially appear the same, regardless of whether any one individual’s information is included or omitted. However, it is important to note that adding noise to a data set may render it less useful for other usages. Moreover, when the same algorithm is run over this noisy data multiple times, it tends to leak sensitive information. Thus, differential privacy has applicability in limited use cases. Homomorphic encryption eliminates the need of modifying the complete data set and does not leak any information even if the same algorithm is run multiple times repeatedly over the same data. 

Trusted execution environment (TEE) is one of the hardware level data security and privacy techniques where the data is decrypted within a secure enclave for processing. The secure enclaves can be thought of as hardware-based process managers that isolate processes within the main processor to provide an extra layer of security. However, they require access to the user's secret keys to decrypt the data before operating on it. From the recent literature, it is known that TEEs such as Intel SGX are susceptible to side channel attacks like Spectre and Meltdown, leaking sensitive data. Homomorphic encryption eliminates the need of sharing a user's secret key with the third party cloud servers that process the data, thus protecting the secret keys of the users. Moreover, the cloud service providers need not worry about managing the users’ secret key.   

Share: