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.
Propósito
Proporciona un resumen de mensaje de 160 bits; se usó en certificados TLS y en Git, y está en desuso por los ataques de colisión.
Mecanismo
Procesa la entrada en bloques de 512 bits manteniendo un estado de 160 bits (cinco palabras de 32 bits). Cada bloque pasa por 80 pasos de transformaciones no lineales que actualizan el estado. El ataque SHAttered de 2017 construye una colisión con unos 2^63 de complejidad.
Casos de uso
- Hash de objetos de Git (migrando a SHA-256)
- HMAC-SHA1 (aún seguro)
- Certificados digitales heredados
- Ejemplos didácticos
Ejemplos
- entrada
helloOutputaaf4c61ddcc5e8a2dabeede0f3bde2d0d4b2f2160 bits = 40 hex characters
Errores comunes
- Using SHA-1 for signatures in new systems
- Use SHA-256 or SHA-3
Términos relacionados
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. 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
SHA-512
SHA-512 es el miembro de la familia SHA-2 con salida de 512 bits; más rápido que SHA-256 en plataformas de 64 bits, ofrece un margen de seguridad mayor. 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