Curious TechieDev Toolbox
Todas las Guías/Criptografía8 min read

¿Qué es el Hashing? Funciones Criptográficas y Efecto Avalancha

Funciones matemáticas unidireccionales, resistencia a colisiones, SHA-256 vs MD5, tablas rainbow y salting con Argon2.

Puntos Clave
  • Las funciones hash criptográficas transforman datos arbitrarios en resúmenes de longitud fija de manera irreversible.
  • El Efecto Avalancha asegura que alterar un único bit de entrada cambia alrededor del 50% del hash resultante.
  • Algoritmos como MD5 y SHA-1 son obsoletos e inseguros debido a colisiones demostradas.
  • Los hashes rápidos (SHA-256) validan integridad de archivos; los hashes lentos (Argon2id, bcrypt) protegen contraseñas.

Desde la verificación de descargas ISO hasta la firma de bloques en redes distribuidas, las funciones hash criptográficas son el pilar matemático de la integridad y seguridad de la información.

1. ¿Qué es una Función Hash?

Una función hash criptográfica es un algoritmo que toma cualquier secuencia binaria (desde una letra hasta terabytes) y la condensa en una cadena hexadecimal de tamaño fijo (ej.: 256 bits / 64 caracteres en SHA-256).

2. Las 4 Propiedades Esenciales de Seguridad

  • Determinismo: Entradas idénticas generan indefectiblemente el mismo resumen.
  • Resistencia a la Preimagen (Unidireccionalidad): Es computacionalmente inviable deducir la entrada original a partir del hash.
  • Resistencia a la Segunda Preimagen: Dado m1, es imposible encontrar m2 tal que hash(m1) == hash(m2).
  • Resistencia a Colisiones: Ninguna pareja de entradas distintas debe producir el mismo hash.

3. El Efecto Avalancha Visualizado

Los algoritmos modernos exhiben un estricto efecto avalancha: alterar un solo carácter cambia drásticamente más de la mitad de los bits del hash resultante:

Input "Hello": 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
Input "hello": 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

4. SHA-256 vs SHA-512 vs MD5

Algoritmos históricos como MD5 y SHA-1 sufrieron colisiones prácticas y son inseguros. El estándar moderno se basa en la familia SHA-2 (SHA-256, SHA-512) y la familia SHA-3 (Keccak).

5. Aplicaciones en el Mundo Real

Son esenciales para el almacenamiento seguro de contraseñas (con Argon2 y bcrypt), los commits de Git, firmas digitales y redes de almacenamiento direccionable por contenido.