El algoritmo criptográfico SHA1 ha llegado al fin de su vida útil, 27 años después de su publicación. El Instituto Nacional de Estándares y Tecnología (NIST, por sus siglas en inglés) recomienda reemplazarlo por algoritmos más nuevos y seguros como SHA2 y SHA3. Su objetivo es que la función hash SHA1 esté eliminada por completo para finales de 2030.
Eliminación del algoritmo criptográfico SHA1 para 2030
El NIST recomienda eliminar gradualmente SHA1 de modo que para el 31 de diciembre de 2030 ya no siga en uso, ya que es cada vez más vulnerable debido al continuo incremento de la potencia de los ordenadores. Por lo tanto, aconseja reemplazarlo por otros algoritmos más nuevos y seguros como SHA2 y SHA3. Su sustitución es especialmente importante en aquellos casos en los que los ataques de colisión sean amenazas críticas.
«Recomendamos que aquellos que confíen en SHA1 para temas de seguridad migren a SHA2 o SHA3 tan pronto como sea posible»
—Chris Celi, científico computacional del NIST
SHA1 sigue usándose en gran medida, a pesar de que se considera una función criptográfica hash insegura desde hace más de una década.
NIST desaprobó su uso en 2011, rechazó su uso para firmas digitales en 2013 y ordenó a las agencias federales de EEUU que dejaran de usarlo para generar firmas digitales y cualquier otra aplicación que requiriese resistencia de colisión en 2015. Asimismo, en 2017, las autoridades certificadoras dejaron de emitir certificados SHA1, y los principales navegadores web como Mozilla y las grandes corporaciones como Microsoft también dejaron de aceptarlo.
El plan del NIST para eliminar SHA1 de aquí a 2030 incluye:
- Una revisión del FIPS 180 para eliminar la especificación de SHA1 (FIPS 180-5).
- Una revisión del SP 800-131A y otras publicaciones afectadas.
- Una estrategia de transición para validar módulos y algoritmos criptográficos.
Versiones de SHA
SHA, abreviatura de Secure Hash Algorithm («algoritmo de hash seguro» en español), es una familia de estándares criptográficos publicados por el NIST como FIPS (estándar federal de procesamiento de la información de Estados Unidos). SHA protege la información mediante una operación matemática compleja en los caracteres del mensaje y la generación de un hash —una cadena corta de caracteres—.
Algoritmo criptográfico | Variante | Tamaño de salida | Tamaño de bloque |
SHA-0 | – | 160 bits | 512 bits |
SHA-1 | – | 160 bits | 512 bits |
SHA-2 | SHA-224 | 256 bits | 512 bits |
SHA-2 | SHA-256 | 256 bits | 512 bits |
SHA-2 | SHA-384 | 384 bits | 1024 bits |
SHA-2 | SHA-512 | 512 bits | 1024 bits |
SHA-2 | SHA-512/224 | 224 bits | 1024 bits |
SHA-2 | SHA-512/256 | 256 bits | 1024 bits |
SHA-3 | SHA3-224 | 224 bits | 1152 bits |
SHA-3 | SHA3-256 | 256 bits | 1088 bits |
SHA-3 | SHA3-384 | 384 bits | 832 bits |
SHA-3 | SHA3-512 | 512 bits | 576 bits |
SHA-3 | SHAKE128 | d (arbitrario) | 1344 bits |
SHA-3 | SHAKE256 | d (arbitrario) | 1088 bits |
SHA0
La primera versión de SHA, conocida como SHA0, se publicó en 1993. Esta versión está especificada en la publicación FIPS 180. Poco después de su publicación, esta función hash fue reemplazada por una versión revisada debido a un defecto significativo que no ha sido desvelado.
SHA1
La función criptográfica hash SHA1 se publicó en 1995. Esta está especificada en la publicación FIPS 180-1. Fue uno de los primeros métodos para proteger información electrónica ampliamente usados. Forma parte de algunos protocolos y aplicaciones de seguridad populares como SSH y PGP.
SHA2
El algoritmo criptográfico SHA2 se publicó en 2001. Esta se especificó por primera vez en la publicación FIPS 180-2. El estándar también se volvió a actualizar en 2008 en la publicación FIPS 180-3 y en 2012 en la publicación FIPS 180-4.
SHA3
SHA3, publicada en 2015, es la última versión del algoritmo de hash seguro. Esta versión está especificada en la publicación FIPS 202.