¿Es posible convertir un CNF en otro CNF modo que
- La función se puede calcular en tiempo polinómico a partir de algún parámetro aleatorio secreto .
- tiene una solución si y solo si tiene una solución.
- Cualquier solución de se puede convertir eficientemente en una solución de usando .
- Sin , la solución (o cualquier otra propiedad de ) no da ninguna ayuda en la solución de .
Si existe tal , entonces se puede usar para hacer que otros resuelvan desafíos computacionales para nosotros (posiblemente reemplazando resolver un CNF con otros problemas; elegí CNF porque quería hacer el problema más específico), en tal de manera que no puedan beneficiarse de una posible solución, incluso si saben qué problema los hemos utilizado para resolver. Por ejemplo, podríamos incrustar un problema de factorización en un juego de computadora, lo que permite a los jugadores jugar solo si trabajan en nuestro problema en segundo plano, de vez en cuando enviando pruebas de cálculo. Tal vez el software se puede hacer "gratis" de esta manera, donde "gratis" oculta un costo (posiblemente más alto) en la factura de electricidad de sus padres.
Respuestas:
Feigenbaum in, Cifrar problemas de instancias , propone una definición (Def. 1) de la función de cifrado para problemas NP-completos que satisface sus requisitos. Ella demuestra que el problema NP-completo Comparativo Vector Inequalities admite dicha función de cifrado. Concluye con el teorema principal de que todos los problemas de NP completo que son p-isomórficos para CNF-SAT son encriptables.
fuente
La aplicación que menciona se llama "prueba de trabajo útil" en la literatura; consulte, por ejemplo, este artículo .
Puede usar un esquema de cifrado totalmente homomórfico (donde el texto sin formato es la instancia CNF) para delegar el cálculo a una parte no confiable sin revelar la entrada.
Esto no responde exactamente a su pregunta, ya que dicho esquema no asigna un CNF a otro CNF, pero funciona para la aplicación prevista.
fuente