IBM ha anunciado que ha reescrito su biblioteca de encriptación homomórfica en C++ y afirma que ahora es hasta 75 veces más rápida. La encriptación homomórfica es una técnica utilizada para operar en datos encriptados sin necesidad de desencriptarlos. Esto permitiría realizar operaciones sensibles de manera mucho más segura, por ejemplo, las empresas podrían encriptar sus bases de datos alojadas en la nube y trabajar en ellas sin necesidad de convertir los registros a texto plano.
IBM ha estado trabajando en la encriptación homomórfica durante algún tiempo y lanzó la primera versión de su biblioteca HElib en C++ hace tres años. Sin embargo, como informamos en 2016, la tecnología siempre ha sufrido grandes penalizaciones de rendimiento. Los primeros intentos de encriptación homomórfica de IBM, bajo la dirección de su inventor Craig Gentry, eran “100 billones de veces” más lentos que las operaciones en texto plano. Posteriormente, se aceleró en un factor de dos millones de veces, funcionando en un servidor de 16 núcleos. De ahí el trabajo continuo de IBM en HElib.
La última versión, lanzada en GitHub, ha mejorado su rendimiento gracias a una “reimplementación de las transformaciones lineales homomórficas”, lo que la hace entre 15 y 75 veces más rápida. En un artículo publicado en la Asociación Internacional de Investigación Criptológica, Shai Halevi y Victor Shoup de IBM (este último también de la Universidad de Nueva York) explican cómo han mejorado la velocidad.
“En los algoritmos de transformación lineal actualmente implementados en HElib, la mayor parte del tiempo se dedica a mover datos entre las ranuras del vector encriptado”, escribieron. Esto se hace con “automorfismos especiales” (una operación matemática que mapea un objeto en sí mismo) y el costo computacional proviene de cuántas veces los automorfismos tienen que repetirse. “El costo principal de aplicar dicho automorfismo a un texto cifrado es en realidad el de “cambio de clave”: después de aplicar el automorfismo a cada elemento del anillo en el texto cifrado (lo cual es en realidad una operación muy económica), terminamos con una encriptación relativa a la “clave secreta incorrecta”; mediante el uso de datos en la clave pública específicos para este automorfismo en particular, una llamada “matriz de cambio de clave”, podemos convertir el texto cifrado de nuevo en uno que sea una encriptación relativa a la “clave secreta correcta”, dijo el artículo.
En términos más accesibles, la nueva biblioteca implementa una nueva estrategia para calcular esos automorfismos (logrando entre 15 y 20 veces más velocidad); los investigadores han refactorizado muchos de los cálculos necesarios; y algunos de los cálculos se han desplazado fuera del bucle principal de la biblioteca (obteniendo una mejora de velocidad de 6 a 8 veces). La forma en que se construyen las claves públicas para la encriptación homomórfica también es costosa debido a la mencionada matriz de cambio de clave. Cada matriz agrega varios megabytes a la clave pública y en HElib podría haber varias cientos de estas matrices en una clave pública. Los investigadores afirman que, para operaciones comunes, han logrado reducir el tamaño de la matriz en un 33-50 por ciento.
En resumen, la encriptación homomórfica de IBM ha dado un gran paso adelante en términos de rendimiento. Esta mejora permitirá a las empresas trabajar de manera más segura con datos encriptados, sin necesidad de desencriptarlos, lo que brinda una mayor protección para la privacidad y la seguridad de la información.