En 1997, Moni Naor y Omer Reingold describieron construcciones eficientes para varias primitivas criptográficas en criptografía de clave privada y de clave pública . Su resultado es la construcción de una función pseudoaleatoria eficiente . Sean p y l números primos con l | p −1. Seleccione un elemento g ∈ de orden multiplicativo l . Luego, para cada vector (n+1) -dimensional a = ( a 0 ,a 1 , ..., a n )∈ , definen la función
donde x = x 1 ... x n es la representación en bits del entero x , 0 ≤ x ≤ 2 n −1 , con algunos ceros iniciales adicionales si es necesario. [1]
Ejemplo
Sea p = 7 y l = 3; por lo tanto , l | p −1. Seleccione g = 4 ∈ de orden multiplicativo 3 (ya que 4 3 = 64 ≡ 1 mod 7). Para n = 3, a = (1, 1, 2, 1) y x = 5 (la representación en bits de 5 es 101), podemos calcular de la siguiente manera:
Eficiencia
La evaluación de una función en la construcción de Naor-Reingold se puede realizar de manera muy eficiente. El cálculo del valor de la función en cualquier punto dado es comparable con una exponenciación modular y multiplicaciones n-modulares. Esta función se puede calcular en paralelo mediante circuitos de umbral de profundidad limitada y tamaño polinomial.
La función Naor-Reingold se puede utilizar como base de muchos esquemas criptográficos , incluidos el cifrado simétrico , la autenticación y las firmas digitales .
Seguridad de la función
Supongamos que un atacante ve varias salidas de la función, p. ej ., ... y quiere calcular . Supongamos para simplificar que x 1 = 0, entonces el atacante necesita resolver el Diffie–Hellman computacional (CDH) entre y para obtener . En general, pasar de k a k + 1 cambia el patrón de bits y, a menos que k + 1 sea una potencia de 2, se puede dividir el exponente en de modo que el cálculo corresponda al cálculo de la clave Diffie–Hellman entre dos de los resultados anteriores. Este atacante quiere predecir el siguiente elemento de la secuencia . Un ataque de este tipo sería muy malo, pero también es posible combatirlo trabajando en grupos con un problema Diffie–Hellman difícil (DHP).
Ejemplo:
Un atacante ve varias salidas de la función p. ej ., como en el ejemplo anterior, y . Luego, el atacante quiere predecir el siguiente elemento de secuencia de esta función, . Sin embargo, el atacante no puede predecir el resultado de a partir de conocer y .
Existen otros ataques que serían muy malos para un generador de números pseudoaleatorios : el usuario espera obtener números aleatorios de la salida, por lo que, por supuesto, el flujo no debería ser predecible, pero aún más, debería ser indistinguible de una cadena aleatoria. Sea α el algoritmo con acceso a un oráculo para evaluar la función . Supongamos que el supuesto decisional de Diffie-Hellman se cumple para , Naor y Reingold demuestran que para cada algoritmo de tiempo polinomial probabilístico y n suficientemente grande
- es insignificante .
La primera probabilidad se toma sobre la elección de la semilla s = (p, g, a) y la segunda probabilidad se toma sobre la distribución aleatoria inducida en p, g por , el generador de instancias y la elección aleatoria de la función entre el conjunto de todas las funciones. [2]
Complejidad lineal
Una medida natural de cuán útil puede ser una secuencia para propósitos criptográficos es el tamaño de su complejidad lineal . La complejidad lineal de una secuencia de n elementos W( x ), x = 0,1,2,..., n – 1, sobre un anillo es la longitud l de la relación de recurrencia lineal más corta W( x + l ) = A l −1 W( x + l −1) + ... + A 0 W( x ), x = 0,1,2,..., n – l −1 con A 0 , ..., A l −1 ∈ , que se satisface por esta secuencia.
Para algunos > 0, n ≥ (1+ ) , para cualquier , suficientemente grande l , la complejidad lineal de la secuencia ,0 ≤ x ≤ 2 n-1 , denotada por satisface
para todos excepto posiblemente como máximo los vectores a ∈ . [3] El límite de este trabajo tiene desventajas, a saber, no se aplica al caso muy interesante
Uniformidad de distribución
La distribución estadística de es exponencialmente cercana a la distribución uniforme para casi todos los vectores a ∈ .
Sea la discrepancia del conjunto . Por lo tanto, si es la longitud de bits de p entonces para todos los vectores a ∈ se cumple el límite , donde
y
Aunque esta propiedad no parece tener implicaciones criptográficas inmediatas, el hecho inverso, es decir, la distribución no uniforme, si fuera cierto tendría consecuencias desastrosas para las aplicaciones de esta función. [4]
Secuencias en curva elíptica
La versión de curva elíptica de esta función también es interesante. En particular, puede ayudar a mejorar la seguridad criptográfica del sistema correspondiente. Sea p > 3 primo y sea E una curva elíptica sobre , entonces cada vector a define una secuencia finita en el subgrupo como:
donde es la representación en bits del entero . La secuencia de curvas elípticas de Naor-Reingold se define como
- [5]
Si se cumple el supuesto decisional de Diffie-Hellman , el índice k no es suficiente para calcular en tiempo polinomial, incluso si un atacante realiza una cantidad polinomial de consultas a un oráculo aleatorio.https://en.wikipedia.org/wiki/Naor-Reingold_Pseudorandom_Function/Elliptic_curve
Véase también
Notas
- ^ Naor, M., Reingold, O. "Construcciones teóricas de números de funciones pseudoaleatorias eficientes", Proc 38th IEEE Symp. on Foundations of Comp. Sci, (1997), 458–467.
- ^ Boneh, Dan. "El problema de decisión Diffie-Hellman", ANTS-III: Actas del Tercer Simposio Internacional sobre Teoría Algorítmica de Números, 1998, 48-63.
- ^ Shparlinski, Igor E. "Complejidad lineal de la función pseudoaleatoria Naor-Reingold", Inform. Process Lett, 76 (2000), 95–99.
- ^ Shparlinski, Igor E. "Sobre la uniformidad de la distribución de la función pseudoaleatoria Naor-Reingold", Campos finitos y sus aplicaciones, 7 (2001), 318-326
- ^ Cruz, M., Gomez, D., Sadornil, D. "Sobre la complejidad lineal de la secuencia de Naor-Reingold con curvas elípticas", Campos finitos y sus aplicaciones, 16 (2010), 329–333
Referencias
- Naor, Moni; Reingold, Omer (2004), "Construcciones teóricas de números de funciones pseudoaleatorias eficientes", Journal of the Association for Computing Machinery , 51 (2): 231–262, doi :10.1145/972639.972643, S2CID 8665271.
- Shparlinski, Igor (2003), Aplicaciones criptográficas de la teoría analítica de números: límites inferiores de complejidad y pseudoaleatoriedad (primera edición), Birkhäuser Basel, ISBN 978-3-7643-6654-4
- Goldreich, Oded (1998), Criptografía moderna, pruebas probabilísticas y pseudoaleatoriedad (primera edición), Springer, ISBN 978-3-540-64766-9