Ofuscación (Parte II): Diamond iO, una ruta más eficiente hacia iO práctico

Fuentes: Obfuscation (Part II): Diamond iO

Diamond iO es un nuevo esquema de ofuscación indistinguible (iO) que reduce drásticamente el coste computacional respecto a las construcciones clásicas: pasa de tiempos de ejecución 'galácticos' a 'planetarios', todavía inviables hoy pero cercanos a la práctica tras optimizaciones adicionales. El esquema parte de la criptografía atributo-basada BGG+14 explicada en la primera parte de esta serie y reutiliza su maquinaria para ejecutar la computación dentro de cifrado homomórfico completo (FHE), modificando dos piezas clave.

La primera innovación es un mecanismo distinto para permitir el descifrado FHE condicional dentro de ABE: en lugar de exigir una etapa final al estilo BGG+14 que solo descodifica un valor de salida predeterminado cuando el resultado es cero, diamond iO deja que el evaluador extraiga directamente los datos que necesita de los codificaciones BGG+ del ciphertext FHE final. La clave de descifrado FHE, t, se entrega al evaluador únicamente como codificaciones BGG+, no en claro.

La segunda innovación es un método diferente para generar las codificaciones de la entrada: una idea tomada de GGH15 que, en lugar de usarse para evaluar el programa completo (lo que resultó inseguro), sirve exclusivamente para producir las codificaciones BGG+ de las entradas. Esta pieza es la contribución genuinamente nueva del paper.

El artículo desgrana las tres ideas centrales —manejo de la multiplicación BGG+ cuando uno de los operandos es conocido, descifrado FHE condicional sobre las trazas, y construcción de codificaciones de entrada— y muestra cómo encajan para que diamond iO sea aproximadamente tan intensivo como el cifrado funcional, y no una torre mucho más complicada sobre él.