Saltar al contenido
uencoder

Comprender Hash Collisions

Aprender qué hash collisions son, por qué they matter, y que hash funciones son vulnerable.

问题

You querer a understand hash collisions y por qué they matter para seguridad-critical aplicaciones.

Requisitos previos

  • Understanding of hash functions
  • Knowledge of the pigeonhole principle

Pasos

  1. 1. Understand the inevitability of collisions

    A hash maps an unlimited input space to a fixed output space (e.g., 256 bits for SHA-256). By the pigeonhole principle, collisions must exist. However, for a secure hash, finding one should be computationally infeasible — requiring about 2^128 attempts for SHA-256 (birthday bound).

    entrada
    SHA-256: 2^256 outputs
    输出
    collision needs ~2^128 tries
  2. 2. Learn about broken hash functions

    MD5 is fully broken: collisions can be found in seconds. SHA-1 is practically broken: the SHAttered attack found a real collision in 2017. SHA-256 and SHA-3 remain secure. Never use MD5 or SHA-1 for security purposes.

    entrada
    MD5 collision
    输出
    found in <1 second
  3. 3. Understand collision vs preimage attacks

    A collision attack finds any two inputs with the same hash. A preimage attack finds an input that hashes to a specific value. Collision attacks are easier (birthday bound). For password storage, preimage resistance matters; for digital signatures, collision resistance matters.

    entrada
    collision: 2^(n/2) | preimage: 2^n
    输出
    different difficulty

Resultado esperado

Understanding de por qué collision resistance matters y que hash funciones son seguro a usar.

Errores comunes

Using MD5 for integrity checking
MD5 collisions are trivial to produce. Use SHA-256 or SHA-3 for any security-relevant integrity check.
Assuming collision resistance implies preimage resistance
They are distinct properties. A function can be collision-resistant but not preimage-resistant, though standard hash functions aim for both.

Solución de problemas指引

  • If you see MD5 or SHA-1 in a legacy system, plan to migrate to SHA-256 or SHA-3.
  • For digital signatures, collision resistance is the critical property; use SHA-256 or stronger.

Límites de seguridad

  • MD5 and SHA-1 are broken and must not be used for security. SHA-256 and SHA-3 are currently secure.
  • This is an educational tool; no data leaves your browser.

Herramientas relacionadas

参考链接