SHA-2


SHA-2 ( Secure Hash Algorithm 2 ) es un conjunto de funciones hash criptográficas diseñadas por la Agencia de Seguridad Nacional (NSA) de los Estados Unidos y publicadas por primera vez en 2001. [3] [4] Se construyen utilizando la construcción Merkle-Damgård , de una función de compresión unidireccional construida utilizando la estructura Davies-Meyer a partir de un cifrado de bloque especializado.

SHA-2 incluye cambios significativos con respecto a su predecesor, SHA-1 . La familia SHA-2 consta de seis funciones hash con resúmenes (valores hash) de 224, 256, 384 o 512 bits: [5] SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/ 224, SHA-512/256 . SHA-256 y SHA-512 son funciones hash novedosas calculadas con ocho palabras de 32 y 64 bits, respectivamente. Utilizan diferentes cantidades de desplazamiento y constantes aditivas, pero por lo demás sus estructuras son prácticamente idénticas y solo difieren en el número de rondas. SHA-224 y SHA-384 son versiones truncadas de SHA-256 y SHA-512 respectivamente, calculadas con diferentes valores iniciales. SHA-512/224 y SHA-512/256 también son versiones truncadas de SHA-512, pero los valores iniciales se generan utilizando el método descrito en los Estándares Federales de Procesamiento de Información (FIPS) PUB 180-4.

SHA-2 fue publicado por primera vez por el Instituto Nacional de Estándares y Tecnología (NIST) como estándar federal de EE. UU. La familia de algoritmos SHA-2 está patentada en los EE. UU. [6] Estados Unidos ha liberado la patente bajo una licencia libre de regalías . [5]

A partir de 2011, los mejores ataques públicos rompen la resistencia a la preimagen en 52 de 64 rondas de SHA-256 o 57 de 80 rondas de SHA-512, y la resistencia a la colisión en 46 de 64 rondas de SHA-256. [1] [2]

Con la publicación de FIPS PUB 180-2, NIST agregó tres funciones hash adicionales a la familia SHA. Los algoritmos se conocen colectivamente como SHA-2, llamados así por la longitud de su resumen (en bits): SHA-256, SHA-384 y SHA-512.

Los algoritmos se publicaron por primera vez en 2001 en el borrador FIPS PUB 180-2, momento en el que se aceptaron revisiones y comentarios públicos. En agosto de 2002, FIPS PUB 180-2 se convirtió en el nuevo estándar Secure Hash , reemplazando a FIPS PUB 180-1, que se lanzó en abril de 1995. El estándar actualizado incluía el algoritmo SHA-1 original, con una notación técnica actualizada consistente con la que describe el Funcionamiento interno de la familia SHA-2. [4]