Articulo de referencia

Función pseudoaleatoria de Naor-Reingold

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 resultad...

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 gFpag{\displaystyle {\mathbb {F} _{p}}^{*}}de orden multiplicativo l . Entonces, para cada vector (n+1) -dimensional a = ( a 0 ,a 1 , ..., a n )∈(Fl)norte+1{\displaystyle (\mathbb {F} _{l})^{n+1}}definen la función

Fa(incógnita)=gramoa0a1incógnita1a2incógnita2...anorteincógnitanorteFpag{\displaystyle f_{a}(x)=g^{a_{0}\cdot a_{1}^{x_{1}}a_{2}^{x_{2}}...a_{n}^{x_{n}}}\in \mathbb {F} _{p}}

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; entonces l | p −1. Seleccione g  = 4 ∈F7{\displaystyle {\mathbb {F} _{7}}^{*}}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 calcularFa(5){\displaystyle f_{a}(5)}como sigue:

Fa(incógnita)=gramoa0a1incógnita1a2incógnita2...anorteincógnitanorteFpag{\displaystyle f_{a}(x)=g^{a_{0}\cdot a_{1}^{x_{1}}a_{2}^{x_{2}}...a_{n}^{x_{n}}}\in \mathbb {F} _{p}}

Fa(5)=41112011=41=4F7{\displaystyle f_{a}(5)=4^{1\cdot 1^{1}2^{0}1^{1}}=4^{1}=4\in \mathbb {F} _{7}}

Eficiencia

La evaluación de la funciónFa(incógnita){\displaystyle f_{a}(x)}En la construcción de Naor-Reingold se puede hacer de forma muy eficiente. Calcular el valor de la funciónFa(incógnita){\displaystyle f_{a}(x)}En cualquier punto dado, es comparable con una exponenciación modular y n multiplicaciones modulares. Esta función puede calcularse en paralelo mediante circuitos umbral de profundidad limitada y tamaño polinomial.

La función de Naor-Reingold puede utilizarse 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, por ejemplo:Fa(1)=gramoa1,Fa(2)=gramoa2,Fa(3)=gramoa1a2{\displaystyle f_{a}(1)=g^{a_{1}},f_{a}(2)=g^{a_{2}},f_{a}(3)=g^{a_{1}a_{2}}}, ...Fa(k)=gramoa1incógnita1a2incógnita2...anorteincógnitanorte{\displaystyle f_{a}(k)=g^{a_{1}^{x_{1}}a_{2}^{x_{2}}...a_{n}^{x_{n}}}}y quiere calcularFa(k+1){\displaystyle f_{a}(k+1)}Supongamos, para simplificar, que x 1 = 0, entonces el atacante necesita resolver el problema computacional Diffie-Hellman (CDH) entreFa(1)=gramoa1{\displaystyle f_{a}(1)=g^{a_{1}}}yFa(k)=gramoa2incógnita2...anorteincógnitanorte{\displaystyle f_{a}(k)=g^{a_{2}^{x_{2}}...a_{n}^{x_{n}}}}LlegarFa(k+1)=gramoa1a2incógnita2anorteincógnitanorte{\displaystyle f_{a}(k+1)=g^{a_{1}a_{2}^{x_{2}}\dots a_{n}^{x_{n}}}}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 enFa(k+1){\displaystyle f_{a}(k+1)}De modo que el cálculo corresponde a calcular la clave Diffie-Hellman entre dos de los resultados anteriores. Este atacante pretende predecir el siguiente elemento de la secuencia . Un ataque de este tipo sería muy grave, pero también es posible contrarrestarlo trabajando en grupo con un problema Diffie-Hellman difícil (DHP).

Ejemplo

Un atacante ve varias salidas de la función, por ejemploFa(5)=4112011=41=4{\displaystyle f_{a}(5)=4^{1^{1}2^{0}1^{1}}=4^{1}=4}, como en el ejemplo anterior, yFa(1)=4102011=41=4{\displaystyle f_{a}(1)=4^{1^{0}2^{0}1^{1}}=4^{1}=4}. Luego, el atacante quiere predecir el siguiente elemento de secuencia de esta función,Fa(6){\displaystyle f_{a}(6)}Sin embargo, el atacante no puede predecir el resultado deFa(6){\displaystyle f_{a}(6)}por saberFa(1){\displaystyle f_{a}(1)}yFa(5){\displaystyle f_{a}(5)}.

Otros ataques también podrían ser muy perjudiciales 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, sino aún más, debería ser indistinguible de una cadena aleatoria.AF{\displaystyle {\mathcal {A}}^{f}}denota el algoritmoA{\displaystyle {\mathcal {A}}} con acceso a un oráculo para evaluar la funciónFa(incógnita){\displaystyle f_{a}(x)}. Supongamos que se cumple la suposición decisional de Diffie-Hellman paraFpag{\displaystyle \mathbb {F} _{p}}Naor y Reingold demuestran que para cada algoritmo de tiempo polinomial probabilísticoA{\displaystyle {\mathcal {A}}}y n suficientemente grande

Pr [AFa(incógnita)(pag,gramo)1]Pr [AR(pag,gramo)1]{\displaystyle {\text{Pr }}[{\mathcal {A}}^{f_{a}(x)}(p,g)\to 1]-{\text{Pr }}[{\mathcal {A}}^{R}(p,g)\to 1]} 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 porIGRAMO(norte){\displaystyle {\mathcal {I}}{\mathcal {G}}(n)}, generador de instancias y la elección aleatoria de la funciónRa(incógnita){\displaystyle R_{a}(x)}entre el conjunto de todos{0,1}norteFpag{\displaystyle \{0,1\}^{n}\to \mathbb {F} _{p}}funciones. [ 2 ]

Complejidad lineal

Una medida natural de cuán útil puede ser una secuencia para fines 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 anilloR{\displaystyle {\mathcal {R}}}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,..., nl −1 con A 0 , ..., A l −1R{\displaystyle {\mathcal {R}}}, lo cual se satisface con esta secuencia.

Para algunosγ{\displaystyle \gamma }> 0, n ≥ (1+γ{\displaystyle \gamma })registrol{\displaystyle \log l}, para cualquierδ>0{\displaystyle \delta >0}, suficientemente grande l , la complejidad lineal de la secuenciaFa(incógnita){\displaystyle f_{a}(x)},0 ≤ x ≤ 2 n-1 , denotado porLa{\displaystyle L_{a}}Satisface

La{l1 δ, si γ2l( γ2 δ), si γ<2{\displaystyle L_{a}\geqslant {\begin{cases}l^{1-\ \delta \,\!}&{\text{, si }}\gamma \,\!\geqslant 2\\l^{\left({\tfrac {\ \gamma \,\!}{2-\ \delta \,\!}}\right)}&{\text{, si }}\gamma \,\!<2\end{cases}}}

para todos excepto posiblemente como máximo3(l1)norteδ{\displaystyle 3(l-1)^{n-\delta }}vectores a ∈(Fl)norte{\displaystyle (\mathbb {F} _{l})^{n}}. [ 3 ] El límite de este trabajo tiene desventajas, a saber, no se aplica al caso muy interesanteregistropagregistronortenorte.{\displaystyle \log p\approx \log n\approx {n.}}

Uniformidad de la distribución

La distribución estadística deFa(incógnita){\displaystyle f_{a}(x)} es exponencialmente cercana a una distribución uniforme para casi todos los vectores a(Fl)norte{\displaystyle (\mathbb {F} _{l})^{n}}.

DejarDa{\displaystyle {\mathbf {D} }_{a}}sea ​​la discrepancia del conjunto{Fa(incógnita)|0incógnita2norte1}{\displaystyle \{f_{a}(x)|0\leq x\leq 2^{n-1}\}}. Por lo tanto, sinorte=registropag{\displaystyle n=\log p}es la longitud de bits de p entonces para todos los vectores a ∈(Fl)norte{\displaystyle (\mathbb {F} _{l})^{n}}el límiteDaΔ(l,pag){\displaystyle {\mathbf {D} }_{a}\leq \Delta (l,p)}sostiene, donde

Δ(l,pag)={pag(1 γ2)l(12)registro2pag si lpagγpag(12)l1registro2pag si pagγ>lpag(23)pag(14)l(58)registro2pag si pag(23)>lpag(12)pag(18)l(38)registro2pag si pag(12)>lpag(13){\displaystyle \Delta (l,p)={\begin{cases}p^{\left({\tfrac {1-\ \gamma \,\!}{2}}\right)}l^{\left({\tfrac {-1}{2}}\right)}\log ^{2}p&{\text{ si }}l\geqslant p^{\gamma \,\!}\\p^{\left({\tfrac {1}{2}}\right)}l^{-1}\log ^{2}p&{\text{ si }}p^{\gamma \,\!}>l\geqslant p^{\left({\tfrac {2}{3}}\right)}\\p^{\left({\tfrac {1}{4}}\right)}l^{\left({\tfrac {-5}{8}}\right)}\log ^{2}p&{\text{ si }}p^{\left({\tfrac {2}{3}}\right)}>l\geqslant p^{\left({\tfrac {1}{2}}\right)}\\p^{\left({\tfrac {1}{8}}\right)}l^{\left({\tfrac {-3}{8}}\right)}\log ^{2}p&{\text{ si }}p^{\left({\tfrac {1}{2}}\right)}>l\geqslant p^{\left({\tfrac {1}{3}}\right)}\\\end{cases}}} y γ=2.5registro3=0,9150{\displaystyle \gamma =2,5-\log 3=0,9150\cdots }

Aunque esta propiedad no parece tener implicaciones criptográficas inmediatas, el hecho inverso, es decir, la distribución no uniforme, de ser cierto, tendría consecuencias desastrosas para las aplicaciones de esta función. [ 4 ]

Secuencias en curva elíptica

La versión de esta función en forma de curva elíptica también es de interés. En particular, puede ayudar a mejorar la seguridad criptográfica del sistema correspondiente. Sea p > 3 un número primo y sea E una curva elíptica sobreFpag{\displaystyle \mathbb {F} _{p}}, entonces cada vector a define una secuencia finita en el subgrupoGRAMO{\displaystyle \langle G\rangle }como: Fa(incógnita)=(a1incógnita1a2incógnita2anorteincógnitanorte)GRAMO{\displaystyle F_{a}(x)=(a_{1}^{x_{1}}a_{2}^{x_{2}}\dots a_{n}^{x_{n}})G}

dóndeincógnita=incógnita1incógnitanorte{\displaystyle x=x_{1}\dots x_{n}} es la representación en bits de un enteroincógnita,0incógnita2norte1{\displaystyle x,0\leq x\leq 2^{n-1}}La secuencia de curvas elípticas de Naor-Reingold se define como k=incógnita(Fa(k))dónde incógnita(PAG) es la abscisa dePAGmi.{\displaystyle u_{k}=X(f_{a}(k))\;{\mbox{where }}X(P){\mbox{ is the abscissa of}}\;P\in E.}[ 5 ]

Si se cumple el supuesto de decisión de Diffie-Hellman , el índice k no es suficiente para calculark{\displaystyle u_{k}}en tiempo polinomial, incluso si un atacante realiza un número polinomial de consultas a un oráculo aleatorio.

Véase también

Notas

  1. Naor, M., Reingold, O. "Construcciones basadas en la teoría de números de funciones pseudoaleatorias eficientes," Proc 38th IEEE Symp. on Foundations of Comp. Sci, (1997), 458–467.
  2. 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.
  3. Shparlinski, Igor E. "Complejidad lineal de la función pseudoaleatoria de Naor-Reingold," Inform. Process Lett, 76 (2000), 95–99.
  4. Shparlinski, Igor E. "Sobre la uniformidad de la distribución de la función pseudoaleatoria de Naor-Reingold," Campos finitos y sus aplicaciones, 7 (2001), 318–326
  5. Cruz, M., Gomez, D., Sadornil, D. "Sobre la complejidad lineal de la secuencia de Naor-Reingold con curvas elípticas," Finite Fields and Their Applications, 16 (2010), 329–333

Referencias

  • Naor, Moni; Reingold, Omer (2004), "Construcciones basadas en la teoría 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 pseudorandomness (primera  ed.), Birkhäuser Basel, ISBN 978-3-7643-6654-4
  • Goldreich, Oded (1998), Criptografía moderna, pruebas probabilísticas y pseudorandomness (primera  ed.), Springer, ISBN 978-3-540-64766-9
Obtenido de " https://en.wikipedia.org/w/index.php?title=Naor–Reingold_pseudorandom_function&oldid=1311961574 "