Deje que sea una permutación. Tenga en cuenta que mientras actúa en un dominio infinito, su descripción puede ser finita. Por descripción , me refiero a un programa que describe la funcionalidad de . (Como en la complejidad de Kolmogorov.) Vea las explicaciones a continuación.
Por ejemplo, la función NOT es una de esas permutaciones:
función NO (x) Deje y = x Para i = 1 a | x | Voltea el i-ésimo bit de y volver y
, definido a continuación, es otro caso:
función pi_k (x) retorno x + k (mod 2 ^ | x |)
Mi pregunta es sobre una clase especial de permutaciones, llamada permutaciones unidireccionales . Hablando informalmente, estas son permutaciones que son fáciles de calcular, pero difíciles de invertir (para una máquina ). La mera existencia de permutaciones unidireccionales es un problema abierto de larga data en la criptografía y la teoría de la complejidad, sin embargo, en el resto, asumiremos que existen.
Tenga en cuenta que RSA se define sobre el dominio finito . De hecho, para obtener una permutación de dominio infinito, uno debe considerar una familia de permutaciones RSA , donde es un conjunto infinito de enteros Blum. Tenga en cuenta que es la descripción de la familia y, por definición, es infinita. { π n } n ∈ D DD
Mi pregunta es (suponiendo la existencia de permutaciones unidireccionales):
¿Existen permutaciones unidireccionales de descripción finita sobre un dominio infinito ?
La respuesta puede variar: puede ser positiva, negativa o abierta (es probable que sea positiva o negativa ).
Antecedentes
La pregunta surgió cuando estaba leyendo un artículo de ASIACRYPT 2009 . Allí, el autor implícitamente (y en el contexto de alguna prueba) supuso que tales permutaciones unidireccionales existen.
Seré feliz si este es el caso, aunque no pude encontrar una prueba.
Respuestas:
El documento Sobre la construcción de 1-1 funciones unidireccionales, de Goldreich, Levin y Nisan, muestra cómo construir longitud preservando 1-1 funciones con dominios infinitos y descripción finita. La dureza de invertir las funciones se basa en suposiciones populares, como la dureza de invertir RSA o encontrar logaritmos discretos.
Su construcción es un giro de la idea directa de convertir una familia, , de funciones unidireccionales en una única función unidireccional estableciendo donde es el La aleatoriedad utilizada para elegir el índice y es la aleatoriedad utilizada para seleccionar la entrada (dado el índice ). f ( r , s ) = f i ( x ) r i s x i{fi}i f(r,s)=fi(x) r i s x i
El problema con la idea anterior es que no es necesariamente 1-1. Modifican este problema modificando ligeramente y argumentando que, bajo ciertas condiciones en la familia , la nueva construcción es de hecho 1-1. Luego muestran que estas condiciones son satisfechas por las funciones basadas en RSA / Discrete-log.f ( r , s ) { f i } if(r,s) f(r,s) {fi}i
fuente