Saltar al contenido
uencoder

Birthday Attack

El ataque de cumpleaños explota la paradoja del cumpleaños: tras aproximadamente 2^(n/2) cálculos de hash hay un 50 % de probabilidad de encontrar una colisión en un hash de n bits, lo que dicta la longitud de salida necesaria.

Propósito

Establece la cota inferior de la longitud de salida del hash para que la búsqueda de colisiones sea inviable.

Mecanismo

Paradoja del cumpleaños: entre 23 personas hay un 50 % de probabilidad de que dos compartan cumpleaños. Para un hash con salida de n bits, unas 1.177×√(2^n) = 1.177×2^(n/2) entradas aleatorias dan una probabilidad de colisión del 50 %. De ahí que un hash de 128 bits sea inseguro con solo 2^64 intentos.

Casos de uso

  • Selección de la longitud de salida del hash
  • Nivel de seguridad de firmas digitales
  • Evaluación de la vigencia de certificados
  • Educación en criptografía

Ejemplos

  • entrada
    128-bit hash
    Output
    Collision found in 2^64 trials

    Insecure

Errores comunes

Assuming an n-bit hash needs 2^n trials to collide
Collisions take only 2^(n/2); use outputs of at least 256 bits

Términos relacionados

Herramientas relacionadas

References