ENCRYPT Blog Series #16: Homomorphic Encryption Applied to Various Use Cases

Applied homomorphic encryption

Homomorphic encryption is a recent cryptographic technique that allows us to perform computation directly on encrypted data. This allows for sensitive data to remain secure even during processing.

The basic workflow consists in sending encrypted data to a remote server which performs homomorphic computations. It later sends the encrypted result back without having gained any knowledge on the original data, even on the result of its own computations.

For fully homomorphic encryption (FHE), the building blocks of these computations are additions and multiplications in discrete rings.

This allows for any Turing-calculable computation in theory. However, turning an algorithm into a polynomial form in an efficient way is difficult, since the time complexity and the size of the ciphertexts grow with the number of sequential multiplications, almost in an exponential way.

However, the performance of FHE schemes and libraries have recently improved. This allows scaling up for real-life applications to now be possible.

Efficient FHE evaluation techniques for specific algorithms are known, and finding such specific per-algorithm efficient evaluation is part of the work of the community. Here, we show some concrete applications in the context of ENCRYPT.

Application to the FinTech domain: Binary decision trees

Decision trees are computational models utilized in machine learning and artificial intelligence for deducing conclusions from data. For our FinTech application, we browse a tree from the root to a leaf and at each node we turn left or right depending if an (encrypted) bit is equal to a specific boolean tag. In the following picture, the input encrypted bits are in black and the boolean tags are in green.

In this example, we first turn right since 0 is not 1. Then we turn right again since 1 is not 0, and again right in the last step in the same way, so that we end at leaf 7. The FHE server then returns a ciphertext with value 7 once decrypted.

For our FinTech application, the result can give the type of loan a customer is eligible for, depending on private information given by input encrypted bits like age range, financial situation range and so on.

Application to the CTI Domain: Private Information Retrieval

Private Information Retrieval (PIR) is an FHE-based technique that allows us to perform a blind search in an encrypted database :

  • Input 1: An encrypted database;
  • Input 2: An encrypted item from a client request;
  • Output: An uncrypted boolean value (a match has been found or not).

In our context, the input database is an encrypted blacklist filled with potentially malicious IP addresses from a CTI analysis. Then, with each connection attempt to some interface of a protected system, the corresponding IP address is encrypted and sent to the server. If it belongs to the blacklist, the connection is not allowed and specific extra CTI analysis is performed based on the address (that can lead to add new elements to the blacklist).

Application to the Medical Domain: Extracting Information from Data

The goal of this application (related to the oncology domain) is to blindly check in an encrypted table if some metadata from a patient takes specific values. If at least one match is found, the patient must be reported and highlighted to the oncologist.

There is one line per patient in this table. The columns are « attributes » (age, sex, number of previous surgeries…). The table is filled by different medical actors from different departments, then encrypted with FHE and sent to the oncology department.

The oncologist works with FHE analysis. If some columns show specific values (i.e. IF column R=1 or column X=1), then the patient ID must be reported and highlighted to the oncologist. The oncologist decrypts the file and decides whether the patient needs a more accurate follow-up.