Puede encontrarse material introductorio adicional sobre el cifrado homomórfico en la página de Wikipedia sobre cifrado homomórfico.
Bases del cifrado homomórfico
El cifrado totalmente homomórfico, o simplemente el cifrado homomórfico, se refiere a una clase de métodos de cifrado previstos por Rivest, Adleman y Dertouzos ya en 1978, y construidos por primera vez por Craig Gentry en 2009. El cifrado homomórfico se diferencia de los métodos típicos de cifrado en que permite realizar cálculos directamente sobre los datos cifrados sin necesidad de acceder a una clave secreta. El resultado de dicho cálculo permanece encriptado y puede ser revelado posteriormente por el propietario de la clave secreta.
Aplicaciones
La computación en la nube y el almacenamiento en la nube han cambiado fundamentalmente la forma en que las empresas y los particulares utilizan y gestionan sus datos. Los métodos tradicionales de cifrado, como el AES, son extremadamente rápidos y permiten almacenar cómodamente los datos de forma cifrada. Sin embargo, para realizar incluso un análisis sencillo de los datos encriptados, o bien el servidor de la nube necesita acceder a la clave secreta, lo que plantea problemas de seguridad, o bien el propietario de los datos tiene que descargarlos, desencriptarlos y operarlos localmente, lo que puede resultar costoso y suponer un reto logístico. El cifrado homomórfico puede simplificar considerablemente este escenario, ya que la nube puede operar directamente con los datos cifrados y devolver al propietario de los datos sólo el resultado cifrado. Escenarios de aplicación más complejos pueden implicar a varias partes con datos privados sobre los que un tercero puede operar, y devolver el resultado a uno o más de los participantes para que lo descifren.
El concurso anual iDASH desafía a la comunidad investigadora a ampliar los límites y extender el cifrado homomórfico a nuevos casos de uso en el campo de la privacidad del genoma.
Seguridad
La seguridad de los esquemas de cifrado homomórfico más prácticos se basa en el problema del aprendizaje en anillo con errores (RLWE), que es un problema matemático difícil relacionado con las redes de alta dimensión. En concreto, el supuesto de seguridad de estos esquemas de cifrado establece que si el esquema puede romperse de forma eficiente, entonces el problema RLWE puede resolverse de forma eficiente. Una larga línea de investigación revisada por pares que confirma la dureza del problema RLWE nos da la confianza de que estos esquemas son, de hecho, al menos tan seguros como cualquier esquema de cifrado estandarizado.
Como se mencionó anteriormente, el problema RLWE está estrechamente relacionado con los famosos problemas de celosía duros que actualmente se consideran seguros contra los ordenadores cuánticos. Del mismo modo, RLWE y, posteriormente, la mayoría de los esquemas de cifrado homomórfico se consideran seguros frente a los ordenadores cuánticos, lo que los hace, de hecho, más seguros que la factorización y los sistemas basados en logaritmos discretos, como RSA y muchas formas de criptografía de curva elíptica. De hecho, el proyecto de estandarización de la criptografía post-cuántica organizado por el NIST tuvo varias propuestas basadas en problemas de entramado duro similares a los que utiliza el cifrado homomórfico moderno.
Estandarización
Hay varias razones por las que pensamos que este es el momento adecuado para estandarizar el cifrado homomórfico.
- Ya existe una necesidad acuciante de una tecnología de computación segura y fácilmente disponible, y esta necesidad será cada vez más fuerte a medida que más empresas y personas se pasen al almacenamiento y la computación en la nube. El cifrado homomórfico ya está maduro para su uso generalizado, pero la actual falta de estandarización está dificultando que se empiece a utilizar.
- Específicamente, las implementaciones actuales no son lo suficientemente fáciles de utilizar por los no expertos. El estándar impulsará la uniformización y simplificación de su API, y educará a los desarrolladores de aplicaciones sobre su uso.
- Las propiedades de seguridad de los esquemas de cifrado homomórfico basados en RLWE pueden ser difíciles de entender. El estándar presentará las propiedades de seguridad de los esquemas estandarizados de forma clara y comprensible.
Disponibilidad
En la actualidad existen varias implementaciones de código abierto de esquemas de cifrado homomórfico. A continuación hay una lista incompleta. Si desea que se añada su implementación, póngase en contacto con nosotros en [email protected].
- Microsoft SEAL: Una biblioteca de código abierto ampliamente utilizada por Microsoft que soporta los esquemas BFV y CKKS.
- PALISADE: Una biblioteca de código abierto ampliamente utilizada por un consorcio de contratistas de defensa financiados por DARPA que soporta múltiples esquemas de encriptación homomórficos como BGV, BFV, CKKS, TFHE y FHEW, entre otros, con soporte multiparte.
- HELib: Una biblioteca temprana y ampliamente utilizada de IBM que soporta el esquema CKKS y BGV y el bootstrapping.
- FHEW / TFHE: Soporta el esquema TFHE. TFHE está diseñado a partir de FHEW, que ya no se desarrolla activamente.
- HeaAn: Esta biblioteca implementa el esquema CKKS con soporte nativo para la aritmética aproximada de punto fijo.
- Λ ○ λ (pronunciado «L O L»): Esta es una biblioteca Haskell para la criptografía reticular basada en anillos que soporta FHE.
- NFLlib: Esta biblioteca es una consecuencia del proyecto europeo HEAT para explorar el cifrado homomórfico de alto rendimiento utilizando primitivas de procesador de bajo nivel.
- HEAT: Esta biblioteca se centra en una API que une FV-NFLib y HeLIB.
- HEAT: Una implementación de acelerador HW para FV-NFLlib.
- cuHE: Esta biblioteca explora el uso de GPGPUs para acelerar el cifrado homomórfico.
- Lattigo: Esta es una biblioteca criptográfica basada en celosía escrita en Go.
- Concrete: Esta biblioteca soporta una variante personalizada del esquema TFHE.