Si está dispuesto a utilizar técnicas criptográficas y confiar en suposiciones criptográficas y aceptar una noción computacional de independencia -wise, es posible que el cifrado de preservación de formato (FPE) pueda ser útil. Permítanme esbozar algunas construcciones diferentes de este tipo.k
(Por "noción computacional de independencia -wise", quiero decir que ningún adversario con un tiempo de ejecución razonable puede distinguir de una permutación independiente -wise, excepto con una ventaja insignificante. Estos esquemas no serán teóricamente información - sabiamente independientes, pero serán "esencialmente tan buenos como -wise independientes", suponiendo que todo el cálculo a la vista esté limitado computacionalmente).σ k k kkσkkk
Un esquema práctico, para menornorte
En particular, use una construcción FPE para construir un cifrado de bloque (permutación pseudoaleatoria, PRP) con la firma . Para valores de que son menores que , probablemente el mejor esquema es usar una construcción Feistel con un número fijo de rondas (digamos, 10) y una función de ronda que es un PRF derivado de AES. El tiempo de ejecución para evaluar para un solo valor de será invocaciones AES. Cada invocación de AES se ejecuta en tiempo constante.n 2 128 σ k ( i ) i O ( 1 )σk: [ n ] → [ n ]norte2128σk( i )yoO ( 1 )
Finalmente, tenga en cuenta que cualquier permutación pseudoaleatoria es automáticamente independiente de . En particular, el teorema de Luby-Rackoff garantiza que con al menos 3 rondas, obtendrá una independencia (aproximada) way si , suponiendo que AES sea seguro. Con más rondas, es probable que haya un resultado más sólido, pero los teoremas son más difíciles de probar y se vuelven más técnicos, aunque se cree ampliamente que un número constante de rondas debería ser suficiente para obtener una seguridad extremadamente alta (y, por lo tanto, una esencialmente perfecta ) sabia independencia para todos los valores razonables de ).k k « n 1 / 4 k kkkk ≪ n1 / 4kk
Generalizando esto a mayornorte
Cuando es más grande, las cosas se vuelven más extrañas, porque el modelo de RAM de costo unitario implícitamente permite hasta paralelismo de forma gratuita. No me queda claro cuál debería ser el costo de los PRP en este modelo (¿constante? ¿Aumentando con ? No lo sé).O ( lg n ) nnorteO ( lgn )norte
Una tercera construcción posible
Sea un módulo RSA que sea un poco más grande que . Defina como el subgrupo de contiene los elementos cuyo símbolo de Jacobi es . Definir por2 n G ( Z / m Z ) ∗ + 1 π : G → Gmetro2 nsol( Z / m Z )∗+ 1π: G → G
π( x ) = x3mod m .
A continuación, defina porσ
σ( i ) = g( π( f( i ) ) ,
donde son funciones hash independientes bijectivas 2 independientes.F, g
Sospecho que esta construcción tiene la posibilidad de ser (aproximadamente) independiente en , bajo un supuesto similar a RSA. No tengo pruebas, solo una intuición. La principal regularidad conocida de es que es multiplicativamente homomórfica: . No conozco ninguna otra regularidad relevante, incluso la dependencia -wise. La aplicación de un hash independiente de 2 antes y después de elimina de manera comprobable esta regularidad: si es independencia way, excepto para la homomorfia multiplicativa, entonces los hashes independientes de 2 sabios parecen que deberían proporcionar completoπ π ( x y ) = π ( x ) π ( y ) k π π k k kkππ( x y) = π( x ) π( y)kππkk-a igual independencia. Pero esto es súper esquemático y a años luz de una prueba de independencia -wise.k
Tenga en cuenta que necesitará usar técnicas de cifrado para preservar el formato (por ejemplo, la técnica de ciclado) para asegurarse de que funcione en lugar de en . Este esquema debe tener un tiempo de ejecución (esperado) para evaluar en una entrada dada , con una elección adecuada de .G ( Z / m Z ) O ( 1 ) σ ( i ) i f , gF, gsol( Z / m Z )O ( 1 )σ( i )yoF, g
Además, en cierto sentido, esta construcción candidata está abusando del modelo de RAM de costo unitario al confiar en la capacidad de operar en números de bits en tiempo , para valores grandes de , lo que no es realmente razonable en práctica. (Esta última construcción no será segura para valores pequeños de , por lo que este último enfoque se basa fundamentalmente en el régimen grande para que tenga la oportunidad de funcionar ... exactamente el régimen donde el modelo de RAM de costo unitario es más dudoso.)O ( 1 ) n n nlgnorteO ( 1 )nortenortenorte
Admito libremente que este es un poco exagerado, pero lo menciono en caso de que genere algo de inspiración para una mejor solución.
Por ejemplo, podría ser posible reemplazar por un grupo de curvas elípticas adecuado, de modo que tengamos sobre (recuerde que los grupos de curvas elípticas usualmente usan notación aditiva en lugar de notación multiplicativa). Lo bueno de esto es que no es totalmente irracional suponer que, si el grupo de curva elíptica se elige correctamente, se comportará como un "grupo de recuadro negro", lo que creo que podría implicar efectivamente que será de manera independiente "excepto por los efectos implicados por el homomorfismo multiplicativo". No tengo una construcción completa lista para proponer (la pieza que falta es cómo elegirπ ( x ) = e x G G G π k G f , g ksolπ( x ) = e xsolsolsolπksoly cómo construir cómo demostrar -wise independencia de esto), pero podría ser posible juntar las piezas de alguna manera.F, gk