Colisión (hash)

Colisión (hash)

En informática, una colisión de hash es una situación que se produce cuando dos entradas distintas a una función de hash producen la misma salida.

Es matemáticamente imposible que una función de hash carezca de colisiones, ya que el número potencial de posibles entradas es mayor que el número de salidas que puede producir un hash. Sin embargo, las colisiones se producen más frecuentemente en los malos algoritmos. En ciertas aplicaciones especializadas con un relativamente pequeño número de entradas que son conocidas de antemano es posible construir una función de hash perfecta, que se asegura que todas las entradas tengan una salida diferente. Pero en una función en la cual se puede introducir datos de longitud arbitraria y que devuelve un hash de tamaño fijo (como MD5), siempre habrá colisiones, dado que un hash dado puede pertenecer a un infinito número de entradas.

[url]www.petardas.com[/url]

Contenido

Resistencia fuerte y débil a colisiones

Para un x dado, si resulta computacionalmente fácil encontrar un y \neq x tal que H(x) = H(y), se habla de una resistencia débil a colisiones. Si resulta computacionalmente difícil encontrar un par (x,y) tal que H(x) = H(y), se habla de una resistencia fuerte a colisiones.

En criptografía

Una de las propiedades deseables de las funciones de hash criptográficas es que sea computacionalmente imposible que se produzca una colisión. El valor de una función hash puede ser usado para certificar que un texto dado (o cualquier otro dato) no ha sido modificado, publicando el valor firmado de la función de hash si no es factible que se produzca una colisión. En este contexto, factible se refiere a cualquier método capaz de producirla más rápido que un ataque de cumpleaños de fuerza bruta.

El proceso de encontrar dos valores arbitrarios cuyos hashes collisionan se llama ataque de colisiones. El proceso de encontrar un valor arbitrario cuyo hash colisione con otro hash dado se llama ataque preimagen. Un ataque preimagen exitoso es mucho más serio que un ataque de colisiones exitoso.

Clasificación

  • Hashing Perfecto: Existe una Función de Enumeración que asigna a cada valor del dominio una única posición de memoria. No posee colisiones.
  • Hashing Puro: La función de Hash puede asignar a dos valores distintos el mismo lugar en memoria. x_1 \neq x_2 y h(x1) = h(x2). Estos dos valores reciben el nombre de sinónimos. Las estructuras de hashing puros poseen colisiones y en consecuencia se deberán establecer mecanismos para tratar los mismos. Podemos clasificarlos en estructuras cerradas y abiertas y dentro de las abiertas en estáticas y dinámicas:
    • Cerradas: No utilizan un nuevo espacio en memoria.
    • Abiertas: Utilizan espacio adicional.
      • Estática: La estructura principal no crece.
      • Dinámica: La estructura principal se expande a medida que aumenta la cantidad de elementos.

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • Hash — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar al …   Wikipedia Español

  • Tabla hash — Una tabla hash o mapa hash es una estructura de datos que asocia llaves o claves con valores. La operación principal que soporta de manera eficiente es la búsqueda: permite el acceso a los elementos (teléfono y dirección, por ejemplo) almacenados …   Wikipedia Español

  • Secure Hash Algorithm — La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia de Seguridad Nacional de los Estados Unidos y publicadas por el National Institute of Standards and… …   Wikipedia Español

  • RIPEMD-160 — Saltar a navegación, búsqueda RIPEMD 160 (acrónimo de RACE Integrity Primitives Evaluation Message Digest, primitivas de integridad del resumen del mensaje) es un algoritmo del resumen del mensaje de 160 bits (y función criptográfica de hash)… …   Wikipedia Español

  • Ataque de cumpleaños — Saltar a navegación, búsqueda Un ataque de cumpleaños (o, en inglés, birthday attack) es un tipo de ataque criptográfico que se basa en la matemática detrás de la paradoja del cumpleaños, haciendo uso de una situación de compromiso espacio tiempo …   Wikipedia Español

  • MD5 — En criptografía, MD5 (abreviatura de Message Digest Algorithm 5, Algoritmo de Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128 bits ampliamente usado. Contenido 1 Historia 2 Codificación 3 Algoritmo …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”