Familia de funciones hash criptográficas
Los algoritmos hash seguros son una familia de funciones hash criptográficas publicadas por el Instituto Nacional de Estándares y Tecnología (NIST) como un estándar federal de procesamiento de información (FIPS) de EE. UU. , que incluye:
- SHA-0 : retrónimo aplicado a la versión original de la función hash de 160 bits publicada en 1993 con el nombre "SHA". Fue retirada poco después de su publicación debido a un "error significativo" no revelado y reemplazada por la versión ligeramente revisada SHA-1.
- SHA-1 : función hash de 160 bits similar al algoritmo MD5 anterior . Fue diseñada por la Agencia de Seguridad Nacional (NSA) para formar parte del algoritmo de firma digital . Se descubrieron debilidades criptográficas en SHA-1 y el estándar dejó de estar aprobado para la mayoría de los usos criptográficos después de 2010.
- SHA-2 : Familia de dos funciones hash similares, con diferentes tamaños de bloque, conocidas como SHA-256 y SHA-512 . Se diferencian en el tamaño de palabra; SHA-256 utiliza palabras de 32 bits, mientras que SHA-512 utiliza palabras de 64 bits. También existen versiones truncadas de cada estándar, conocidas como SHA-224 , SHA-384 , SHA-512/224 y SHA-512/256 . Estas también fueron diseñadas por la NSA.
- SHA-3 : función hash anteriormente llamada Keccak , elegida en 2012 tras un concurso público entre diseñadores ajenos a la NSA. Admite las mismas longitudes de hash que SHA-2 y su estructura interna difiere significativamente del resto de la familia SHA.
Los estándares correspondientes son FIPS PUB 180 (SHA original), FIPS PUB 180-1 (SHA-1), FIPS PUB 180-2 (SHA-1, SHA-256, SHA-384 y SHA-512). El NIST ha actualizado el borrador de la publicación FIPS 202, el estándar SHA-3, independientemente del estándar Secure Hash (SHS).
Comparación de funciones SHA
En la siguiente tabla, el estado interno significa la "suma hash interna" después de cada compresión de un bloque de datos.
Validación
Todos los algoritmos de la familia SHA, como funciones de seguridad aprobadas por FIPS, están sujetos a la validación oficial del CMVP (Programa de Validación de Módulos Criptográficos), un programa conjunto dirigido por el Instituto Nacional Estadounidense de Estándares y Tecnología (NIST) y el Establecimiento Canadiense de Seguridad de las Comunicaciones (CSE).
Referencias
- ^ "Tabla de medidas". bench.cr.yp.to .
- ^ Tao, Xie; Liu, Fanbao; Feng, Dengguo (2013). Ataque de colisión rápida en MD5 (PDF) . Archivo de ePrints de criptología (informe técnico). IACR .
- ^ Stevens, Marc ; Bursztein, Elie ; Karpman, Pierre; Albertini, Ange; Markov, Yarik. La primera colisión para SHA-1 completo (PDF) (Informe técnico). Investigación de Google .
- Marc Stevens; Elie Bursztein; Pierre Karpman; Ange Albertini; Yarik Markov; Alex Petit Bianco; Clement Baisse (23 de febrero de 2017). "Anuncio de la primera colisión SHA1". Blog de seguridad de Google .
- ^ Sin truncamiento, se conoce el estado interno completo de la función hash, independientemente de la resistencia a la colisión. Si se trunca la salida, se debe buscar y encontrar la parte eliminada del estado antes de que se pueda reanudar la función hash, lo que permite que continúe el ataque.
- ^ "La familia de funciones de la esponja de Keccak" . Consultado el 27 de enero de 2016 .