¿Qué es el cifrado homomórfico?

El concepto conocido como cifrado homomórfico, en el que el texto cifrado se puede manipular y trabajar sin ser descifrado, fue presentado por primera vez a la comunidad científica en 1978 por Ronald Rivest, Leonard Adleman y Michael Dertouzos como homomorfismo de privacidad. Un esquema de cifrado homomórfico semánticamente seguro fue desarrollado y propuesto por Shafi Goldwasser y Silvio Micali en 1982. En 2009, Craig Gentry demostró que es posible un esquema de cifrado completamente homomórfico.

Rivest, Aldeman y Dertouzos desarrollaron su teoría en torno al hecho de que los sistemas de seguridad y cifrado existentes limitan gravemente la capacidad de hacer cualquier cosa con los datos después de cifrarlos y convertirlos en texto cifrado. Sin el desarrollo de una solución homomórfica, el envío y la recepción de datos es esencialmente la única función que se puede lograr con datos cifrados. Las mayores preocupaciones fueron el nivel de computación que es necesario para procesar la solicitud encriptada en los datos encriptados y si un esquema de encriptación de esta naturaleza podría ser lo suficientemente seguro para un uso práctico.

Con el advenimiento y la expansión continua de la computación en la nube, es crucial encontrar un método de cifrado homomórfico viable. De lo contrario, el riesgo es demasiado alto para confiar los datos a un proveedor de computación en la nube cuando esos datos deben permanecer seguros. Si el proveedor tiene acceso de alguna manera a los datos en su forma descifrada, los datos pueden verse comprometidos con demasiada facilidad. Gentry ha demostrado que es una teoría viable, aunque la cantidad de tiempo que toman los cálculos y la posible facilidad con la que se puede romper el cifrado son preocupaciones.

El sistema de Gentry describe cómo crear un esquema de cifrado que permitirá que los datos se almacenen de forma segura en un entorno de nube donde el propietario de los datos puede utilizar el poder computacional del proveedor de la nube para realizar funciones en los datos cifrados de forma persistente. Hace esto en un proceso de tres pasos. Se construye un esquema de cifrado que es «iniciable» o consiste en un esquema de cifrado algo homomórfico que puede funcionar con su propio circuito de descifrado. A continuación, se construye un esquema de cifrado de clave pública casi arrancable utilizando celosías ideales. Finalmente, los esquemas se modifican para que sean más simplistas, lo que les permite ser iniciables mientras se mantiene su profundidad.

Este método crea un esquema de cifrado completamente homomórfico, pero sigue siendo relativamente poco práctico. El cifrado homomórfico ha evolucionado para protegerse principalmente contra ataques de texto sin formato seleccionados, pero la protección contra ataques de texto cifrado sigue siendo un problema. Además del problema de seguridad, los esquemas totalmente homomórficos son tan grandes y complejos que el factor tiempo ha impedido su uso en la mayoría de las aplicaciones. Se han desarrollado sistemas de cifrado algo homomórficos para abordar al menos el factor tiempo, utilizando solo las partes más eficientes de un esquema de cifrado completamente homomórfico.