In this living document, I will list all production systems I’m aware of that use fully homomorphic encryption (FHE). For background on FHE, see my overview of the field.

If you have any information about production FHE systems not in this list, or corrections to information in this list, please send me an email with sufficient detail allow the claim to be publicly verified.

For all production deployments, I will distinguish between cases where the deployed system does “fully” homomorphic encryption (with bootstrapping), aka FHE, and “somewhat” homomorphic encryption, aka SHE (avoiding bootstrapping).

Table of contents:

Microsoft’s Password checkup (SHE)

After a proof of concept in two papers 2017-2018 papers by Hao Chen, Zhicong Huang, Kim Laine, and Peter Rindal (1, 2), the Microsoft Edge team implemented a password checkup service that uses FHE to compare a user’s passwords privately against a database of known compromised passwords. They use FHE as part of a custom private set intersection (PSI) protocol, other components of which include Oblivious Pseudo-Random Function evaluation as well as hashing tricks to shard the password database.

They used the FV (BFV) scheme as implemented in Microsoft’s SEAL library (v2.1). This was deployed in Edge as recently as 2021-01.

Sources:

Apple Live Caller ID Lookup (SHE)

On 2024-07-30, Apple announced that iOS 18 includes a feature called Live Caller ID Lookup, which supports third-party caller ID and spam blocking services, and now uses homomorphic encryption to prevent third party servers from seeing the call information. To the best of my understanding, Apple still sees your call information.

This is implemented using BFV in Swift, and seems to be unrelated to the corecrypto BFV implementation mentioned in the rumors section. A demonstration app is provided.

Source:

Apple enhanced visual search for photos (SHE)

In a 2024 blog post, Apple described a private nearest neighbor search technique that combines differential privacy and somewhat homomorphic encryption to do private image search.

The server maintains a K-means clustering of the embeddings of the images in the database to be searched, and sends the centroids to the client. The client locally computes the nearest centroid, then sends the centroid (unencrypted) and the query embedding (encrypted) to the server. Then the server computes homomorphically the nearest member of the cluster and returns the encrypted result to the client.

To avoid the server learning about the cluster in question, Apple adds a layer of indirection via an anonymization network and periodically sends fake queries (encryptions of zero with random centroids) to the server, in a scheme that is claimed to provide adequate differential privacy.

This also uses the BFV implementation in Swift, as with the caller ID lookup.

Source:

Rumors, developments, and things to watch and further verify

Case Studies

Similar pages

Thanks

Thanks to Jonas Böhler and Derek Wood for contributions to the article.


Want to respond? Send me an email, post a webmention, or find me elsewhere on the internet.

DOI: https://doi.org/10.59350/z6s3m-a4a81