Permutaciones unidireccionales sin trampilla

9

En resumen: suponiendo que existan permutaciones unidireccionales , ¿podemos construir una que no tenga trampilla?

Más información:

Una permutación unidireccional es una permutación π que es fácil de calcular, pero difícil de invertir (consulte el wiki de etiqueta de función unidireccional para obtener una definición más formal). Generalmente consideramos familias de permutación unidireccional, π={πn}nN , donde cada es una permutación unidireccional, que actúa sobre un dominio finito . Una trampilla unidireccional de permutación se define como anteriormente, excepto que existe un conjunto trampilla y un algoritmo de poli-tiempo invirtiendo , tal que para todoD n { t n } n N I n | t n | p o l y ( n ) I π n t nπnDn{tn}nNIn, , y puedo invertido siempre que se le da .|tn|poly(n)Iπntn

Sé permutaciones unidireccionales que se generan para que no sea factible encontrar la trampilla (aunque la trampilla existe). Aquí se da un ejemplo, basado en la suposición de RSA . La pregunta es,

¿Existen (familias de) permutaciones unidireccionales que no tienen una trampilla (conjunto)?

Editar: (Más formalización)

Supongamos que existe alguna permutación unidireccional con dominio (infinito) . Es decir, existe un algoritmo probabilístico de tiempo polinómico (que, en la entrada , induce alguna distribución sobre ), de modo que para cualquier adversario de tiempo polinomial , cualquier , y todos los enteros suficientemente grandes :D { 0 , 1 } D 1 n D n =πD{0,1}D1nA c > 0 nDn=0,1nDAc>0n

Pr[xD(1n):A(π(x))=x]<nc

(La probabilidad se toma sobre los lanzamientos internos de monedas de D y A .)

La pregunta es si podemos construir una permutación unidireccional , para la cual existe un algoritmo probabilístico de tiempo polinómico tal que para cualquier familia de circuitos de tamaño polifásico , cualquier y todos los enteros suficientemente grandes :DA = { A n } n N c > 0πD A={An}nNc>0n

Pr[xD(1n):An(π(x))=x]<nc

(La probabilidad se toma sobre los lanzamientos internos de monedas de , ya que es determinista).ADA

MS Dousti
fuente
Parece que quiere un OWP que se mantenga unidireccional incluso cuando se le da una cantidad de consejos polinómicos. Por cierto, por lo general no definimos familias de OWPs de esa forma: ver Goldreich Vol 1, defs 2.4.4 y 2.4.5.
David Cash
@David: Sí, sé que no es la definición habitual, pero sentí que la definición formal (la que aparece en el libro de Goldreich) es demasiado larga para esta discusión.
MS Dousti
@Sadeq: Bastante justo, pero creo que el cambio en las definiciones será significativo aquí. Por lo que vale, he tratado de pensar en un tipo similar de seguridad (sin trampillas) antes. Parecía que una buena definición sería permitir el procesamiento ilimitado del índice familiar para producir consejos antes del experimento de inversión.
David Cash
@David: vea si la parte editada satisface la necesidad de una mayor formalización.
MS Dousti
1
@Sadeq: Determinar si las permutaciones unidireccionales de puerta trampa están implicadas por permutaciones unidireccionales o no (aunque ni siquiera está claro qué significa esto último, ya que ambos podrían existir) es uno de los mayores problemas abiertos en la teoría de la criptografía . Impagliazzo y Rudich ( cseweb.ucsd.edu/~russell/secret.ps ) demostraron que esto no se puede lograr utilizando técnicas de caja negra, y no se sabe que las técnicas actuales eviten su separación.
Alon Rosen

Respuestas:

7

Considere los siguientes casos:

1) Existen permutaciones unidireccionales (OWP) pero no existen permutaciones de trampillas (TDP) (es decir, estamos en una variante del mundo de " minicriptos " de Impagliazzo ). En este caso, simplemente toma el OWP que se garantiza que existe, y sabe que no tiene una trampilla.

2) Existen tanto OWP como TDP. Aquí tienes dos opciones:

(a) Cada OWP tiene un algoritmo de generación de claves G que genera la descripción "pública" de la función f junto con una trampilla de muestreo t. En este caso, considere una generación de clave modificada que solo genera f. Esto le da un OWP y, además, no es factible encontrar t dado f (de lo contrario, tiene una manera eficiente de invertir f). Esto también debería ser válido para una variante no uniforme.

(b) Existe un OWP f tal que ningún algoritmo G puede generar tanto f como t de modo que t permita la inversión de f (x) para una x aleatoria. En este caso, f es un OWP que no tiene una trampilla.

Uno de los comentarios en el hilo anterior parece sugerir que su pregunta es en realidad si se sabe que la existencia de OWP implica la existencia de TDP. Se ha demostrado que esto no contiene construcciones / reducciones de caja negra de wrt, y está abierto en general (vea mi comentario en el hilo anterior).

Alon Rosen
fuente
+1, gracias. David se ha esforzado mucho en responder y le estoy muy agradecido; Pero esta es la respuesta a lo que tenía en mente.
MS Dousti
2
Pensé que la pregunta era: es (a) posible. Criptográficamente, si cada OWP tiene una trampilla, entonces no puedes confiar en que alguien que te dé un OWP no sepa también la trampilla. Por supuesto, puede tomar su OWP y componerlo con su propio OWP, para el cual solo usted conoce la trampilla, y obtener un OWP para el que ninguna de las partes conoce la trampilla.
Peter Shor
1
@ Peter: Sí. La composición parece hacer el trabajo. Otra opción es usar la transferencia ajena (que, si (a) se cumple, se sabe que existe, módulo algunas pequeñas subtítulos). Usando OT, los jugadores pueden construir un protocolo de cómputo seguro de 2 partes que les permite a uno aprender f sin aprender la trampilla y al otro no aprender nada. Pero su solución es más simple.
Alon Rosen
7

No sé acerca de las construcciones a partir de supuestos generales, pero puede obtener un candidato plausible para una "permutación unidireccional sin trampilla" mediante el uso de un módulo de registro discreto a prime . Es decir, que sea ​​un módulo raíz primitivo , y definag p π ( x ) = g xpgpπ 1 p - 1π(x)=gxmodp . Entonces es una permutación en los enteros entre y , y generalmente se supone que es unidireccional. Para la parte "sin trampillas", supongo que debe definir exactamente lo que eso significa, pero que yo sepa, no tenemos ninguna forma de configurar las cosas para permitir la inversión. (Si lo hiciéramos, ¡entonces tendría todo tipo de aplicaciones geniales (positivas) en criptografía!)π1p1

David Cash
fuente
+1. Gracias por la respuesta. Estás asumiendo la dureza del registro discreto contra adversarios no uniformes. Mi pregunta es: suponiendo la mera existencia de permutaciones unidireccionales, ¿podemos construir una que no tenga trampilla?
MS Dousti
@Sadeq: ¿La existencia de permutaciones unidireccionales no implica la dureza del registro discreto ya que P = NP?
Mohammad Alaggan
@Alaggan: No lo creo. Puede darse el caso de que existan permutaciones unidireccionales, pero a alguien se le ocurre un algoritmo eficiente para invertir el registro discreto.
MS Dousti
@Sadeq: Eso es si P = BQP! = NP.
Mohammad Alaggan
@Sadeq: ¿Correcto o me equivoqué?
Mohammad Alaggan el