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.[1] 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, debido a que un hash dado puede pertenecer a un infinito número de entradas. Resistencia fuerte y débil a colisionesPara un dado, si resulta computacionalmente fácil encontrar un tal que , se habla de una resistencia débil a colisiones. Si resulta computacionalmente difícil encontrar un par tal que , se habla de una resistencia fuerte a colisiones.[1] En criptografíaUna 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 colisionan 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
Véase también
Referencias
|