Apple libera swift-homomorphic-encryption, su librería de cifrado homomórfico
La compañía publica en GitHub el código que usa para hacer búsquedas privadas contra sus servidores y explica cómo lo combina con PIR y búsqueda de vecinos más cercanos.

Apple ha publicado swift-homomorphic-encryption, la librería con la que lleva tiempo resolviendo consultas contra sus servidores sin que el servidor llegue a ver qué se está preguntando. El código está en GitHub y viene acompañado de una explicación de cómo lo usa en producción: cifrado homomórfico (HE) por un lado, y dos técnicas construidas encima, la recuperación de información privada (PIR) y la búsqueda de vecinos más cercanos privada (PNNS).
La idea de fondo no es nueva, pero sí lo es verla empaquetada y abierta. El dispositivo cifra la consulta, el servidor opera directamente sobre el criptograma y devuelve una respuesta también cifrada que solo el cliente puede abrir. El servidor no descifra nada ni tiene la clave, así que no aprende ni la pregunta ni el resultado.
BFV y seguridad post-cuántica
El esquema implementado es BFV (Brakerski-Fan-Vercauteren), elegido porque soporta bien las operaciones que aparecen en cualquier flujo de machine learning sobre vectores de embedding: producto escalar, similitud coseno. Los parámetros buscan 128 bits de seguridad post-cuántica, es decir, aguantan tanto a un atacante clásico como a uno con computación cuántica. Ese detalle importa si alguien piensa desplegar esto y mantenerlo una década.
Con PIR se resuelven las coincidencias exactas contra una base de datos. Tres ejemplos que Apple pone: recuperar el logo y los datos de una empresa al abrir un correo en Mail, mostrar el identificador de una llamada entrante y comprobar si una URL está clasificada como contenido para adultos cuando hay restricciones parentales activadas. En el caso del filtrado web, el servidor hace la comparación cifrada sin saber qué dominio se está consultando.
Para coincidencias aproximadas entra PNNS, descrito en el paper Scalable Private Search with Wally: el cliente cifra un embedding y lo manda como consulta, y el servidor hace la búsqueda de vecino más cercano sobre datos cifrados. Es la pieza que sostiene Enhanced Visual Search en Fotos.
Lo que no cuentan
El cifrado homomórfico tiene fama merecida de caro. Cada operación sobre criptogramas cuesta órdenes de magnitud más que la misma operación en claro, y el texto lo reconoce: habla de optimizaciones para cuadrar el overhead con los requisitos de latencia y escala de una aplicación en producción. Lo que no aparece es un solo número. Ni latencias, ni tamaño de las bases de datos, ni cuánto tráfico soportan estos flujos. Tampoco hay demo pública del rendimiento, y la fuente de todo esto es la propia Apple.
Aun así, la parte útil para quien trabaja de esto es que ya no hay que implementar BFV desde cero. Hay una nota en swift.org con el contexto del lanzamiento, y el repositorio permite medir en hardware propio lo que cuesta de verdad una búsqueda privada. Si el coste por consulta sale razonable en un caso de uso concreto, la alternativa de mandar la consulta en claro al servidor deja de ser la única opción sensata.