Skip to main content

¿Qué es un algoritmo de hash seguro?

Un algoritmo hash seguro, también conocido por el acrónimo SHA, es un algoritmo hash que se considera criptográficamente seguro. Los datos originales, una vez procesados ​​por un algoritmo de hash seguro, generalmente no se pueden reconstruir con una cantidad factible de potencia informática. Los algoritmos de hash seguros a menudo se usan en combinación con otros algoritmos para autenticar mensajes, incluidas las firmas digitales.

Algunos enrutadores de red y firewalls implementan algoritmos hash seguros directamente en su hardware. Esto permite que los paquetes de datos se autentiquen con un impacto limitado en el rendimiento. También existe un software de algoritmo hash seguro, que incluye muchas implementaciones de código abierto. El Instituto Nacional de Estándares y Tecnología de EE. UU. (NIST) y el Establecimiento de Seguridad de Comunicaciones de Canadá (CSE) administran conjuntamente el Programa de Verificación del Módulo Criptográfico (CMVP). Este programa oficial certifica el funcionamiento correcto de las implementaciones de algoritmos hash seguros para aplicaciones sensibles.

El gobierno de los Estados Unidos ha estandarizado al menos seis algoritmos hash seguros. SHA-0 y SHA-1 fueron las primeras encarnaciones desarrolladas en la década de 1990. La serie SHA-2 desarrollada en la década de 2000 incluía SHA-224, -256, -384 y -512. Estos están diseñados de tal manera que dos documentos con diferentes contenidos generalmente producen dos conjuntos únicos de valores hash, evitando colisiones hash.

El algoritmo SHA-0, publicado por primera vez en 1993 por el NIST, se suspendió rápidamente después de que se descubriera una debilidad significativa. Fue reemplazado por SHA-1 en 1995, que incluye un paso computacional adicional que aborda los problemas no revelados de SHA-0. Ambos algoritmos generan un mensaje de hasta 2 64 -1 bits en un "resumen" de 160 bits. Ambos utilizan un tamaño de bloque de 512 bits y un tamaño de palabra de 32 bits en su funcionamiento.

SHA-1 se utiliza en algunos protocolos comunes de Internet y herramientas de seguridad. Estos incluyen IPsec, PGP, SSL, S / MIME, SSH y TLS. SHA-1 también se usa típicamente como parte del esquema de protección para documentos gubernamentales no clasificados. El sector privado también utiliza este algoritmo hash seguro para cierta información confidencial. Está programado para retirarse del uso del gobierno general en 2010.

SHA-224, -256, -384 y -512 fueron publicados por el NIST entre 2001 y 2004. Estos cuatro algoritmos, también conocidos como la familia SHA-2, son generalmente más robustos que SHA-1. SHA-224 y SHA-256 utilizan el mismo bloque, palabra y tamaño máximo de mensaje de entrada que SHA-1. En contraste, SHA-224 produce un resumen de 224 bits, mientras que SHA-256 crea un resumen de 256 bits. SHA-384 y SHA-512 aumentan el tamaño del bloque a 1024 bits, el tamaño de la palabra a 64 bits y la longitud máxima del mensaje de entrada a 2 128 -1 bits. El resumen producido por SHA-384 tiene una longitud de 384 bits, mientras que el resumen SHA-512 contiene 512 bits.

Al igual que SHA-0 y SHA-1, la familia SHA-2 fue diseñada por la Agencia de Seguridad Nacional de EE. UU. (NSA). Aunque no se han revelado públicamente fallas graves en SHA-2, NIST ha abierto una competencia para desarrollar el próximo algoritmo de hash seguro. Es probable que este nuevo algoritmo, que se llamará SHA-3, se elija en 2012 de una colección de entradas públicas. Se espera que sea un nuevo diseño, no basado en los algoritmos existentes.