Encriptación Totalmente Homomórfica (FHE)
Introducción
La Encriptación Totalmente Homomórfica (FHE) es una tecnología de privacidad que utiliza propiedades homomórficasmatemáticas para realizar diversos cálculos sobre datos cifrados. Durante todo el proceso u operación, los datos permanecen seguros y privados. En pocas palabras, FHE permite procesar datos sin descifrarlos o revelar información. Comúnmente se usa para cifrado de información médica, privacidad de datos financieros y cifrado de datos en la nube.


FHE permite un número ilimitado de cálculos y operaciones con los datos cifrados, la cual es la principal diferencia respecto a otras formas Encriptación Homomorfica (HE), como el Cifrado Parcialmente Homomórfico (PHE) y el Cifrado Algo Homomórfico (SHE). Aunque ofrece la máxima flexibilidad, es computacionalmente costoso y, por lo tanto, menos práctico para algunos usos.
Comprendiendo fundamentos matemáticos de FHE
La idea central de la FHE es sencilla: al permitir operaciones directas sobre textos cifrados, la FHE habilita el procesamiento seguro y privado de información sensible sin exponer jamás los datos originales en claro.
Uno de los pilares matemáticos del Cifrado Homomórfico Total (FHE) son los mapas multilineales. Estas funciones permiten operaciones seguras y eficientes sobre datos cifrados, pero su concepto puede resultar abstracto. Aquí lo desglosamos:
¿Qué son los mapas multilineales?
En matemáticas, un mapa multilineal es una función que toma múltiples entradas (de espacios vectoriales o grupos algebraicos) y genera una salida, manteniendo la linealidad en cada variable por separado. Por ejemplo:
Un mapa bilineal (2-lineal) satisface:
En criptografía, se usan para construir operaciones complejas que preservan propiedades algebraicas sin revelar información sensible.
Relación con el FHE
En FHE, los mapas multilineales son clave para:
Habilitar operaciones profundas: Permiten componer múltiples operaciones (sumas, multiplicaciones) sobre datos cifrados, controlando el ruido generado.
Garantizar seguridad: Se basan en problemas computacionalmente difíciles, como el Problema Multilineal de Decisión de Diffie-Hellman (MDDH), que protege contra ataques incluso con acceso a cálculos intermedios.
Construir esquemas eficientes: Esquemas como BGV, BFV o CKKS usan variantes de mapas multilineales (e.g., encodings graduales) para optimizar operaciones.
Resumen
Los mapas multilineales son la magia oculta detrás del FHE:
Convierten problemas criptográficos difíciles en operaciones viables sobre datos cifrados.
Varían en implementación según el esquema, pero todos aprovechan sus propiedades para balancear seguridad, eficiencia y funcionalidad.
Su evolución sigue siendo crítica para lograr FHE más rápido y accesible.
En FHE, se debe añadir ruido aleatorio a los datos cifrados para garantizar la seguridad, pero también significa que todos los cálculos se realizan no solo sobre los datos cifrados, sino también sobre el ruido añadido.
Texto cifrado = datos cifrados + ruidos

Problema: el ruido crece con cada operación
Si el ruido crece demasiado, sobrescribirá bits de datos con otros aleatorios.
A continuación se ejemplificara este problema del crecimiento del ruido:
Se presenta el siguiente escenario
Texto Plano (Datos Originales): El dato original es un polinomio (expresiones con términos como 3x⁵ + x⁴ + 2x³ + …) que trabajan bajo dos reglas:
Módulo xⁿ + 1: Los polinomios "se doblan" para que no crezcan demasiado, es decir, controla el "tamaño" de los coeficientes. (x⁵, x⁴, etc.).
¿A qué nos referimos con el término "doblar"?
Piensa en un reloj de 12 horas (mod 12), podrías: Si son las 15:00 pm, el reloj "dobla" las horas y muestra 3:00 am (porque 15 − 12 = 3).
Aquí xⁿ + 1 es como el "reloj" que reinicia los términos del polinomio.
Módulo p: Los coeficientes (números como 3, 1, 2) se reducen para mantenerlos pequeños. Controla el "tamaño" de los coeficientes (3, 100, −5, etc.).
Imagina que solo puedes usar números del 0 al 4 (como si tuvieras una calculadora que solo muestra 1 dígito). Cada vez que un número pasa de 4, "da la vuelta" (como un odómetro de coche):
5 se convierte en 0,
6 en 1,
y así sucesivamente.
Así, los números nunca se salen de control.
Ejemplo: 3x⁵ + x⁴ + 2x³ (datos originales antes de cifrar).
Ambos trabajan juntos para que los polinomios sean manejables y seguros en criptografía.
Texto Cifrado (Datos Protegidos):
También son polinomios, pero con dos diferencias clave:
Módulo xⁿ + 1: Igual que antes (para mantener la estructura).
Módulo q: Ahora los coeficientes son números mucho más grandes (ej. 7862x⁵ + 5652x⁴ + …), lo que los hace parecer aleatorios y seguros.
Diferencia clave: p vs q
Característica
Módulo p
(Texto Plano)
Módulo q
(Texto Cifrado)
Tamaño típico
Pequeño (ej: 5, 17)
Grande (ej: 32,768)
Coeficientes
Números simples (3, -1, 2)
Números grandes (7862, -45293)
Propósito
Mantener eficiencia computacional
Garantizar seguridad criptográfica
Operaciones
Aritmética exacta
Aritmética con "ruido" controlado
Visibilidad
Datos legibles
Apariencia aleatoria
Relación con LWE
No aplica
Base para añadir ruido seguro
¿Por qué esto es seguro?
Gracias al problema Learning with Errors (LWE):
Al cifrar, se añade "ruido" (errores pequeños pero aleatorios) a los coeficientes.
Sin la clave secreta, el texto cifrado parece un polinomio caótico e inutilizable.
Solo con la clave se puede eliminar el ruido y recuperar el polinomio original.
🔹 Ventaja: ¡Puedes sumar o multiplicar estos polinomios cifrados directamente! El resultado, al descifrarlo, coincidirá con las operaciones hechas en el texto plano.
El diagrama a continuación representa está encriptación sencilla, donde cada componente puede expresarse como un coeficiente en un polinomio o un vector. La altura del elemento representa el tamaño de los coeficientes. Nota que en el primer paso, el ruido inicial es pequeño.

A medida que aumenta el número de cálculos (operaciones), vemos un crecimiento correspondiente en el ruido. El crecimiento en el ruido puede describirse como exponencial, polinómico, lineal, constante o logarítmico.

A medida que aumenta el número de cálculos (operaciones), vemos un crecimiento correspondiente en el ruido. El crecimiento en el ruido puede describirse como exponencial, polinómico, lineal, constante o logarítmico.

Solucion: Bootstrapping reduce el ruido
Bootstrapping es una operación especial que restablece el ruido a su nivel nominal, permitiendo así más cálculos sin comprometer la integridad de los datos.
Para entender el bootstrapping, primero debemos comprender dos propiedades de un criptograma homomórfico: el nivel y el ruido. El ruido está asociado al criptograma sin importar el esquema subyacente (ya sea BGV, BFV, CKKS o TFHE). El nivel, en cambio, solo se aplica a los criptogramas de las familias BGV, BFV y CKKS. En la mayoría de estos esquemas, cada multiplicación homomórfica consume un nivel, lo que reduce el valor del nivel asociado al criptograma y aumenta el ruido.
Tras cierto número de operaciones (dependiendo del esquema), no se puede continuar. Esto ocurre porque se alcanza el nivel cero (por multiplicaciones sucesivas), el ruido crece demasiado (por muchas sumas) o, más comúnmente, ambas razones.
En este punto, aplicamos el bootstrapping. Esto restablece el nivel a un valor más alto y, según el esquema, puede reducir el ruido. El bootstrapping suele ser una operación costosa (aunque mejoras recientes lo han acelerado), por lo que generalmente se intenta evitar.
En la mayoría de aplicaciones, lo relevante es la baja latencia (evaluar una función rápidamente) más que el alto rendimiento.
Resumen
El bootstrapping permite continuar computaciones homomórficas indefinidamente, ajustando niveles y ruido. Su comportamiento y rendimiento dependen del esquema:

Conceptos Clave y Operaciones
Comprender los conceptos clave y las operaciones de la criptografía homomórfica completamente (FHE) es esencial para aprovechar su potencial y utilizar sus capacidades de manera efectiva. Exploremos estos conceptos y operaciones.
Pasos
1. Generación de claves
Es el primer paso: se crea un par de claves (pública y privada) mediante algoritmos matemáticos seguros.
La clave pública (
pk
) cifra los datos.La clave privada (
sk
) los descifra.
En esquemas FHE típicos, la generación de claves se expresa como:
Donde:
λ es el parámetro de seguridad
sk es la clave privada (secret key)
pk es la clave pública (public key)
La confidencialidad y aleatoriedad de la clave privada son críticas para la seguridad del sistema.
2. Cifrado
Convierte un mensaje claro (m) en un texto cifrado (c) que soporta operaciones homomórficas:
m: mensaje original.
c: texto cifrado.
pk: clave pública.
El texto cifrado que contiene información adicional, lo que permite realizar operaciones directamente sobre él sin necesidad de descifrarlo.
Dos características son esenciales:
Corrección: Garantiza que el texto cifrado pueda descifrarse correctamente con la clave privada.
Indistinguibilidad: Hace que el texto cifrado aparezca ruido aleatorio, evitando que atacantes extraigan información.
Este proceso utiliza operaciones como aritmética modular o manipulación polinomial, adaptadas al marco criptográfico de la FHE.
3. Circuito de evaluación
Define qué operaciones pueden realizarse sobre los textos cifrados. Por ejemplo, para una función (f) de (n) variables:
f: función (suma, multiplicación, comparación, …).
c1,c2,...,cn: textos cifrados de entrada.
cres: texto cifrado del resultado.
4. Descifrado
Recupera el mensaje original (m) a partir de un texto cifrado (c) usando la clave privada:
c: texto cifrado.
sk: clave privada. Debe ser exacto, pues cualquier error comprometería la integridad del resultado.

Homomorfismo
Es una función entre dos estructuras algebraicas (como grupos, anillos o espacios vectoriales) que preserva la operaciónde la estructura. En otras palabras, un homomorfismo mantiene la relación entre los elementos de las dos estructuras.
Homomorfismos en Grupos
Sean ( (G, ∗) ) y ( (H, ⋅) ) dos grupos. Una función ( f: G → H ) se llama homomorfismo si, para todos los elementos ( a, b ∈ G ), se cumple que:
f(a∗b)=f(a)⋅f(b) Esto significa que la operación en el grupo ( G ) se preserva a través de la función ( f ) al transformarse en la operación correspondiente en ( H ).
Homomorfismos de Anillos
Para anillos, que tienen dos operaciones (suma y multiplicación), un homomorfismo ( f ) entre dos anillos ( (R, +, ⋅) ) y ( (S, ⊕, ⊗) ) debe cumplir:
Preservación de la suma: f(a+b)=f(a)⊕f(b)
Preservación de la multiplicación: f(a⋅b)=f(a)⊗f(b) Gracias a esta propiedad, se pueden realizar cálculos en el espacio del texto plano (plaintext) y reflejar automáticamente esos resultados en el espacio cifrado (ciphertext) mediante el cifrado homomórfico.
Ejemplo con el Cifrado RSA
Este diagrama ilustra visualmente cómo funciona la propiedad homomórfica multiplicativa del RSA a través de dos caminos:
Camino 1: Multiplica los mensajes originales y luego cifra el resultado.
Camino 2: Cifra primero ambos mensajes y luego multiplica los mensajes cifrados.
El diagrama demuestra matemáticamente que ambos caminos llegan al mismo resultado final, permitiendo realizar cálculos sobre datos cifrados sin necesidad de descifrarlos primero.

Este comportamiento es característico de los sistemas homomórficos, ya que nos permite realizar operaciones (en este caso, multiplicación) directamente sobre los datos cifrados sin necesidad de descifrarlos.
Modelos de Cálculo Homomórfico
Para diseñar cálculos de Cifrado Homomórfico (HE), es importante elegir el enfoque adecuado según las características requeridas:
Enfoque
Características
Esquemas Seleccionados
Circuitos Booleanos
- Comparación rápida de números. - Soporte para circuitos booleanos arbitrarios. - Arranque rápido (refresco).
- GSW - FHEW - TFHE
Aritmética Modular (Exacta)
- Cálculos SIMD eficientes sobre vectores de enteros (usando batching). - Aritmética de enteros de alta precisión. - Multiplicación escalar rápida. - Diseño por niveles (sin arranque).
- BV - BGV - BFV
Aritmética de Números Aproximados
- Aproximación polinómica rápida. - Inverso multiplicativo y DFT relativamente rápidos. - Cálculos aproximados profundos (ej. regresión logística). - Cálculos SIMD eficientes sobre vectores reales (batching). - Diseño por niveles (sin arranque).
- CKKS
Esquemas de Encriptación Homomórfica Completa (FHE)

BGV y BFV: Los esquemas BGV (2011) y BFV (2012) mejoraron el rendimiento al introducir el concepto de Learning With Errors (LWE). BGV redujo el tiempo de operación de minutos a segundos, mientras que BFV utilizó anillos polinomiales (Ring-LWE) en lugar de ecuaciones lineales. Son adecuados para aplicaciones de recuperación de información y consultas de bases de datos.
TFHE: La Encriptación Homomórfica Completa sobre el Torus (TFHE) (2016) mejoró el bootstrapping con una tabla de búsqueda, reduciendo los tiempos de segundos a milisegundos. Aunque originalmente solo soportaba circuitos booleanos, versiones como TFHErs permiten bootstrapping sobre enteros, siendo adecuada para cálculos generales.
CKKS: CKKS (2016) es ideal para trabajar con números reales en problemas de aprendizaje automático, regresiones y cálculos estadísticos. Maneja aritmética aproximada, lo que lo hace menos adecuado para aplicaciones que requieren precisión financiera.
Cierre
Beneficios de FHE
Seguridad en el Procesamiento: Los datos cifrados, no necesitan ser convertidos a texto plano antes de que se puedan realizar cálculos. Esto mantiene la información protegida durante todo el proceso de computación.
Alta Resistencia a Ataques: Requiere un esfuerzo computacional extremadamente alto para descifrar datos que han sido cifrados con FHE. Esta característica hace que sea prácticamente imposible comprometer la seguridad de los datos incluso con recursos significativos.
Cifrado Permanente: Los datos cifrados permanecen cifrados en todo momento, independientemente de los procesos que necesiten realizarse sobre los datos.
Limitaciones de FHE
Alto Consumo de Recursos: Requiere una inversión de hardware y capacidad de procesamiento para procesar datos cifrados durante todo el proceso.
Complejidad Técnica: Requiere un nivel alto de experiencia técnica y conocimiento especializado.
Rendimiento Limitado: Para alcanzar velocidades aceptables, se necesitan múltiples optimizaciones y ajustes técnicos, lo que aumenta aún más su complejidad.
Adopción Limitada: Adopción en entornos de producción está limitada por problemas de rendimiento y precisión.
La clave para lograr vencer estas ‘limitaciones’ que implican una velocidad de procesamiento y problemas de precisión sobre todo para escenario o aplicaciones que necesiten cálculos intensivos con una gran cantidad de datos, la solución para FHE radica en la aceleración por hardware y madurez en desarrollo.
Recapitulación de FHE
FHE tiene tres características principales: homomorfismo completo, confidencialidad de datos y flexibilidad computacional.
Homomorfismo Completo: El Cifrado Totalmente Homomórfico (FHE) permite realizar cualquier operación matemática sobre datos cifrados, incluyendo suma, multiplicación e incluso operaciones compuestas más complejas, mientras que el resto de los esquemas de cifrado homomórfico solo admiten operaciones específicas.
Confidencialidad de datos: Permite realizar múltiples sumas y multiplicaciones sobre datos cifrados, manteniendo el resultado cifrado.
Flexibilidad Computacional: FHE admite una gama de operaciones computacionales, incluyendo suma, multiplicación y operaciones booleanas. Esta tecnología tiene ventajas de privacidad, pero aún hay margen de mejora para aplicaciones que requieren alta eficiencia en el procesamiento y cómputo de datos a gran escala.
Aplicaciónes de FHE en Blockchain
Proyectos de FHE en Blockchain
Last updated