MD5
MD5 es una función hash criptográfica de 128 bits diseñada por Ronald Rivest; demostrada insegura por ataques de colisión, hoy solo se usa para fines no de seguridad como checksums.
Propósito
Proporciona un resumen de mensaje rápido para verificación de integridad, pero ya no es adecuada para fines de seguridad debido a los ataques de colisión.
Mecanismo
Procesa la entrada en bloques de 512 bits manteniendo un estado de 128 bits (cuatro palabras de 32 bits). Cada bloque pasa por 4 rondas de 64 pasos de transformaciones no lineales (F/G/H/I) que actualizan el estado. Emite el estado final de 128 bits. Las colisiones pueden construirse en segundos.
Casos de uso
- Checksums de descarga de archivos (sin seguridad)
- Claves de caché ETag
- Checksums de sistemas heredados (sin seguridad)
- Ejemplos docentes (principios de hash)
Ejemplos
- entrada
helloOutput5d41402abc4b2a76b9719d911017c592128 bits = 32 hex characters
Errores comunes
- Using MD5 to store passwords or make digital signatures
- Use SHA-256 or bcrypt
Términos relacionados
SHA-1
SHA-1 es una función hash criptográfica de 160 bits diseñada por la NSA; Google publicó la colisión SHAttered en 2017 y ha quedado obsoleta en los estándares. GLOSARIO
SHA-256
SHA-256 es el miembro de la familia SHA-2 con salida de 256 bits, muy usado en TLS, blockchains y aplicaciones criptográficas, sin ataques prácticos conocidos. GLOSARIO
Collision Resistance
La resistencia a colisiones es la propiedad de una función hash por la que resulta inviable encontrar dos entradas distintas que produzcan la misma salida. El ataque del cumpleaños dicta la longitud de salida necesaria. GLOSARIO
Rainbow Table
Una tabla arcoíris es una tabla precalculada que mejora el método de Martin Hellman para invertir funciones hash, intercambiando espacio por tiempo para romper hashes de contraseñas. GLOSARIO