Resistencia a colisiones

Propiedades de las funciones hash criptográficas

En criptografía , la resistencia a colisiones es una propiedad de las funciones hash criptográficas : una función hash H es resistente a colisiones si es difícil encontrar dos entradas que generen la misma salida; es decir, dos entradas a y b donde ab pero H ( a ) = H ( b ). [1] : 136  El principio del palomar significa que cualquier función hash con más entradas que salidas necesariamente tendrá tales colisiones; [1] : 136  cuanto más difíciles sean de encontrar, más segura criptográficamente será la función hash.

La " paradoja del cumpleaños " establece un límite superior para la resistencia a colisiones: si una función hash produce N bits de salida, un atacante que calcule solo 2 N /2 (o ) operaciones hash sobre una entrada aleatoria probablemente encuentre dos salidas coincidentes. Si existe un método más fácil para hacer esto que un ataque de fuerza bruta , generalmente se considera una falla en la función hash. [2] 2 norte {\displaystyle \scriptstyle {\sqrt {2^{N}}}}

Las funciones hash criptográficas suelen estar diseñadas para ser resistentes a colisiones. Sin embargo, muchas funciones hash que alguna vez se creyeron resistentes a colisiones luego se rompieron. MD5 y SHA-1 en particular tienen técnicas publicadas más eficientes que la fuerza bruta para encontrar colisiones. [3] [4] Sin embargo, algunas funciones hash tienen una prueba de que encontrar colisiones es al menos tan difícil como algún problema matemático difícil (como la factorización de números enteros o el logaritmo discreto ). Esas funciones se denominan demostrablemente seguras . [2]

Definición

Una familia de funciones { h k  : {0, 1} m ( k ) → {0, 1} l ( k ) } generada por algún algoritmo G es una familia de funciones hash resistentes a colisiones, si | m ( k )| > | l ( k )| para cualquier k , es decir, h k comprime la cadena de entrada, y cada h k se puede calcular dentro de un tiempo polinomial dado k , pero para cualquier algoritmo polinomial probabilístico A , tenemos

Pr [ kG (1 n ), ( x 1 , x 2 ) ← A ( k , 1 n ) st x 1x 2 pero h k ( x 1 ) = h k ( x 2 )] < negl( n ),

donde negl(·) denota alguna función despreciable y n es el parámetro de seguridad. [5]

Resistencia a colisiones débil y fuerte

Hay dos tipos diferentes de resistencia a la colisión.

Una función hash tiene una resistencia débil a las colisiones cuando, dada una función hash H y una x, no se puede encontrar ninguna otra x' tal que H(x)=H(x'). En otras palabras, cuando se da una x, no es posible encontrar otra x' tal que la función hash cree una colisión.

Una función hash tiene una fuerte resistencia a colisiones cuando, dada una función hash H, no se pueden encontrar x y x' arbitrarios donde H(x)=H(x'). En palabras, no se pueden encontrar dos x donde la función hash crearía una colisión.

Razón fundamental

La resistencia a las colisiones es deseable por varias razones.

  • En algunos sistemas de firma digital , una parte da fe de un documento publicando una firma de clave pública en un hash del documento. Si es posible generar dos documentos con el mismo hash, un atacante podría lograr que una de las partes dé fe de uno y luego afirmar que ha dado fe del otro.
  • En algunos sistemas de contenido distribuido, las partes comparan los hashes criptográficos de los archivos para asegurarse de que tengan la misma versión. Un atacante que pudiera generar dos archivos con el mismo hash podría engañar a los usuarios haciéndoles creer que tienen la misma versión de un archivo cuando en realidad no la tienen.

Véase también

Referencias

  1. ^ ab Goldwasser, S. y Bellare, M. "Lecture Notes on Cryptography" Archivado el 21 de abril de 2012 en Wayback Machine . Curso de verano sobre criptografía, MIT, 1996-2001
  2. ^ ab Pass, R. "Conferencia 21: Funciones hash resistentes a colisiones y esquema general de firma digital". Curso de criptografía, Universidad de Cornell, 2009
  3. ^ Xiaoyun Wang; Hongbo Yu. "Cómo descifrar MD5 y otras funciones hash" (PDF) . Archivado desde el original (PDF) el 2009-05-21 . Consultado el 2009-12-21 .
  4. ^ Xiaoyun Wang; Yiqun Lisa Yin ; Hongobo Yu. Encontrar colisiones en el SHA-1 completo (PDF) . CRIPTO 2005. doi :10.1007/11535218_2.
  5. ^ Dodis, Yevgeniy. "Lección 12 de Introducción a la criptografía" (PDF) . Consultado el 3 de enero de 2016 ., definición 1.
Obtenido de "https://es.wikipedia.org/w/index.php?title=Resistencia_a_colisiones&oldid=1245014272"