stringtranslate.com

Permutación pseudoaleatoria

En criptografía , una permutación pseudoaleatoria (PRP) es una función que no se puede distinguir de una permutación aleatoria (es decir, una permutación seleccionada al azar con probabilidad uniforme, de la familia de todas las permutaciones en el dominio de la función) con esfuerzo práctico.

Definición

Sea F una función . F es un PRP si y sólo si

Una familia de permutaciones pseudoaleatorias es una colección de permutaciones pseudoaleatorias, donde se puede elegir una permutación específica utilizando una clave.

El modelo de cifrados por bloques

La abstracción idealizada de un cifrado de bloque (con clave) es una permutación verdaderamente aleatoria de las asignaciones entre texto simple y texto cifrado. Si existe un algoritmo distintivo que logra una ventaja significativa con menos esfuerzo que el especificado por el parámetro de seguridad del cifrado de bloque (esto generalmente significa que el esfuerzo requerido debería ser aproximadamente el mismo que una búsqueda de fuerza bruta a través del espacio de claves del cifrado), entonces el cifrado se considera roto al menos en un sentido de certificación, incluso si tal ruptura no conduce inmediatamente a una falla de seguridad práctica . [2]

Se espera que los cifrados modernos tengan una pseudoaleatoriedad superrápida, es decir, que el cifrado sea indistinguible de una permutación elegida aleatoriamente en el mismo espacio de mensajes, incluso si el adversario tiene acceso de caja negra a las direcciones directa e inversa del cifrado. [3]

Conexiones con funciones pseudoaleatorias

Michael Luby y Charles Rackoff [4] demostraron que se puede construir una permutación pseudoaleatoria "fuerte" a partir de una función pseudoaleatoria utilizando una construcción de Luby-Rackoff que se construye utilizando un cifrado de Feistel .

Conceptos relacionados

Permutación impredecible

Una permutación impredecible ( UP ) F k es una permutación cuyos valores no pueden predecirse mediante un algoritmo aleatorio rápido . Las permutaciones impredecibles pueden utilizarse como primitivas criptográficas , un bloque de construcción para sistemas criptográficos con propiedades más complejas.

Un adversario para una permutación impredecible se define como un algoritmo al que se le da acceso a un oráculo para operaciones de permutación tanto directa como inversa. Al adversario se le da una entrada de desafío k y se le pide que prediga el valor de F k . Se le permite realizar una serie de consultas al oráculo para ayudarlo a realizar esta predicción, pero no se le permite consultar el valor de k en sí. [5]

Un algoritmo aleatorio para generar permutaciones genera una permutación impredecible si sus resultados son permutaciones en un conjunto de elementos (descritos por cadenas binarias de longitud n ) que no se pueden predecir con una precisión significativamente mejor que la aleatoria por un adversario que realiza un número polinomial (en n ) de consultas al oráculo antes de la ronda de desafío, cuyo tiempo de ejecución es polinomial en n , y cuya probabilidad de error es menor que 1/2 para todas las instancias. Es decir, no se puede predecir en la clase de complejidad PP , relativizada por el oráculo para la permutación. [5]

Propiedades de las permutaciones impredecibles

Se puede demostrar que una función F k no es un código de autenticación de mensajes seguro (MAC) si satisface únicamente el requisito de imprevisibilidad. También se puede demostrar que no se puede construir un MAC de longitud de entrada variable eficiente a partir de un cifrado de bloque que se modela como un UP de n bits. Se ha demostrado que la salida de una construcción de Feistel de k  =  n / ω (log  λ ) rondas con funciones de ronda impredecibles puede filtrar todos los valores de ronda intermedios. [5] Incluso para funciones impredecibles (UF) realistas, es posible que se filtre alguna información parcial sobre los valores de ronda intermedios a través de la salida. Más tarde se demostró que si se utiliza un número superlogarítmico de rondas en la construcción de Feistel, entonces la construcción UP resultante es segura incluso si el adversario obtiene todos los valores de ronda intermedios junto con la salida de permutación. [6]

También hay un teorema que ha sido probado a este respecto que establece que si existe un adversario UP eficiente A π que tiene una ventaja no despreciable ε π en el juego de imprevisibilidad contra la construcción UP ψ U,k y que realiza un número polinomial de consultas al retador, entonces también existe un adversario UF A f que tiene una ventaja no despreciable en el juego de imprevisibilidad contra un UF muestreado de la familia UF  F . A partir de esto, se puede demostrar que la ventaja máxima del adversario UP A π es ε π = O ( ε f . ( qk ) 6 ). Aquí ε f denota la ventaja máxima de un adversario UF corriendo en el tiempo O( t + ( qk ) 5 ) contra un UF muestreado de F , donde t es el tiempo de ejecución del adversario PRP A ψ y q es el número de consultas realizadas por él. [6] [7]

Además, un esquema de firma que satisface la propiedad de imprevisibilidad y no necesariamente pseudoaleatoriedad es esencialmente una Función Impredecible Verificable (VUF). Una función impredecible verificable se define de manera análoga a una Función Pseudoaleatoria Verificable (VRF), pero la pseudoaleatoriedad se sustituye por una imprevisibilidad más débil. Las permutaciones impredecibles verificables son los análogos de permutación de las VUF o los análogos impredecibles de las VRP. Una VRP también es una VUP y una VUP puede construirse de hecho construyendo una VRP mediante la construcción de Feistel aplicada a una VRF. Pero esto no se considera útil ya que las VUF parecen ser mucho más fáciles de construir que las VRF. [8]

Aplicaciones

K x X → X ∀ X={0,1} 64 , K={0,1} 56
K x X → X ∀ k=X={0,1} 128

Véase también

Referencias

  1. ^ Katz, Jonathan; Lindell, Yehuda (2007). Introducción a la criptografía moderna: principios y protocolos . Chapman y Hall/CRC. ISBN 978-1584885511.
  2. ^ Mihir Bellare , Phillip Rogaway (11 de mayo de 2005). «Capítulo 4: Funciones pseudoaleatorias» (PDF) . Introducción a la criptografía moderna . Consultado el 18 de mayo de 2020 .
  3. ^ Craig Gentry y Zulfikar Ramzan. "Eliminación de oráculos de permutación aleatoria en el cifrado Even-Mansour".
  4. ^ Luby, Michael; Rackoff, Charles (1988). "Cómo construir permutaciones pseudoaleatorias a partir de funciones pseudoaleatorias". SIAM J. Comput . 17 (2): 373–386. doi :10.1137/0217022.
  5. ^ abc Puniya, Prashant (2007), Nuevos criterios de diseño para funciones hash y cifrados de bloques (PDF) , tesis doctoral, Departamento de Ciencias de la Computación, Universidad de Nueva York.
  6. ^ ab Avances en criptología – EUROCRYPT 2007: 26.ª Conferencia internacional anual sobre la teoría y las aplicaciones de las técnicas criptográficas – por Moni Naor, Asociación Internacional para la Investigación Criptológica
  7. ^ Steinberger, John P. (2007). "La intractabilidad de colisión de MDC-2 en el modelo de cifrado ideal" (PDF) . Avances en criptología - EUROCRYPT 2007. Apuntes de clase en informática. Vol. 4515. págs. 34–51. Bibcode :2007LNCS.4515...34S. doi :10.1007/978-3-540-72540-4_3. ISBN 978-3-540-72539-8. S2CID  33464561. Archivado desde el original (PDF) el 25 de marzo de 2007 . Consultado el 27 de febrero de 2023 .
  8. ^ Micali, Silvio ; Rabín, Michael ; Vadhan, Salil (1999), "Funciones aleatorias verificables", 40º Simposio anual sobre fundamentos de la informática (Nueva York, 1999) , IEEE Computer Soc., Los Alamitos, CA, págs. 120-130, CiteSeerX 10.1.1.207.6638 , doi :10.1109/SFFCS.1999.814584, ISBN  978-0-7695-0409-4, MR  1917552, S2CID  221565852.