Concurso para desarrollar SHA-3
El concurso de funciones hash del NIST fue una competición abierta organizada por el Instituto Nacional de Estándares y Tecnología (NIST) de Estados Unidos para desarrollar una nueva función hash denominada SHA-3 para complementar las antiguas SHA-1 y SHA-2 . El concurso se anunció formalmente en el Registro Federal el 2 de noviembre de 2007. [1] "El NIST está iniciando un esfuerzo para desarrollar uno o más algoritmos hash adicionales a través de un concurso público, similar al proceso de desarrollo del Estándar de cifrado avanzado (AES)". [2] El concurso finalizó el 2 de octubre de 2012, cuando el NIST anunció que Keccak sería el nuevo algoritmo hash SHA-3. [3]
La función hash ganadora se ha publicado como NIST FIPS 202, el "Estándar SHA-3", para complementar FIPS 180-4, el Estándar Hash Seguro .
La competencia NIST ha inspirado otras competiciones como la Password Hashing Competition .
Proceso
Las presentaciones debían presentarse el 31 de octubre de 2008 y la lista de candidatos aceptados para la primera ronda se publicó el 9 de diciembre de 2008. [4] El NIST celebró una conferencia a fines de febrero de 2009 donde los participantes presentaron sus algoritmos y los funcionarios del NIST discutieron los criterios para reducir el campo de candidatos para la Ronda 2. [5] La lista de 14 candidatos aceptados para la Ronda 2 se publicó el 24 de julio de 2009. [6] Otra conferencia se celebró el 23 y 24 de agosto de 2010 (después de CRYPTO 2010) en la Universidad de California, Santa Bárbara , donde se discutieron los candidatos de la segunda ronda. [7] El anuncio de los candidatos de la ronda final se produjo el 10 de diciembre de 2010. [8] El 2 de octubre de 2012, NIST anunció su ganador, eligiendo a Keccak , creado por Guido Bertoni, Joan Daemen y Gilles Van Assche de STMicroelectronics y Michaël Peeters de NXP. [3]
Participantes
Esta es una lista incompleta de las propuestas conocidas. El NIST seleccionó 51 propuestas para la primera ronda. [4] 14 de ellas avanzaron a la segunda ronda, [6] de la cual se seleccionaron 5 finalistas.
Ganador
El ganador fue anunciado como Keccak el 2 de octubre de 2012. [9]
Finalistas
El NIST seleccionó cinco algoritmos candidatos SHA-3 para avanzar a la tercera (y última) ronda: [10]
El NIST destacó algunos factores que influyeron en su selección al anunciar los finalistas: [11]
- Rendimiento: "Un par de algoritmos fueron dañados o eliminados debido a que el área requerida en la puerta de hardware era muy grande; parecía que el área que requerían impedía su uso en gran parte del espacio de aplicación potencial".
- Seguridad: “Preferimos ser conservadores en materia de seguridad y en algunos casos no seleccionamos algoritmos con un rendimiento excepcional, en gran medida porque algo en ellos nos ponía ‘nerviosos’, a pesar de que no sabíamos de ningún ataque claro contra el algoritmo completo”.
- Análisis: "El NIST eliminó varios algoritmos debido a la magnitud de sus ajustes de segunda ronda o debido a una relativa falta de criptoanálisis informado ; cualquiera de los dos tendió a crear la sospecha de que el diseño podría no estar completamente probado y maduro todavía".
- Diversidad: Los finalistas incluyeron hashes basados en diferentes modos de operación, incluidas las construcciones de funciones HAIFA y esponja , y con diferentes estructuras internas, incluidas las basadas en AES, bitslicing y XOR alterno con adición.
El NIST ha publicado un informe que explica su evaluación algoritmo por algoritmo. [12] [13] [14]
No pasó a la ronda final
Las siguientes funciones hash fueron aceptadas para la segunda ronda, pero no llegaron a la ronda final. Como se señaló en el anuncio de los finalistas, "ninguno de estos candidatos estaba claramente dañado".
No pasó a la segunda ronda
Las siguientes funciones hash fueron aceptadas para la primera ronda, pero no pasaron a la segunda. No han sido aceptadas por los participantes ni presentan debilidades criptográficas importantes. Sin embargo, la mayoría de ellas tienen algunas debilidades en los componentes de diseño o problemas de rendimiento.
Participantes con debilidades sustanciales
Se han anunciado debilidades criptográficas importantes en los siguientes participantes de la primera ronda que no fueron concedidos:
- AURORA ( Universidad Sony y Nagoya ) [28] [29]
- Licuadora [30] [31] [32]
- Guepardo [33] [34]
- SHA dinámico [35] [36]
- SHA2 dinámico [37] [38]
- Ecología
- Edón-R [39] [40]
- EnRUPT [41] [42]
- ESENCIA [43] [44]
- LUXURIO [45]
- MCSSHA-3 [46] [47]
- Nasha
- Sgail [48] [49]
- Hash espectral
- Tornado [50] [51]
- Vórtice [52] [53]
Participantes admitidos
Los siguientes participantes de la primera ronda han sido retirados oficialmente de la competencia por sus remitentes; se consideran defectuosos según el sitio web oficial de candidatos de la primera ronda del NIST. [54] Como tal, se los retira de la competencia.
- Ábaco [4] [55]
- Boole [56] [57]
- DCH [4] [58]
- Khichidi-1 [4] [59]
- Hash de malla [4] [60]
- SHAMATA [4] [61]
- Hash de transmisión [4] [62]
- Enredo [4] [63]
- WaMM [64] [65]
- Cascada [66] [67]
Participantes rechazados
Varias propuestas recibidas por el NIST no fueron aceptadas como candidatas de primera ronda, luego de una revisión interna por parte del NIST. [4] En general, el NIST no dio detalles sobre por qué se rechazó cada una. El NIST tampoco ha proporcionado una lista completa de algoritmos rechazados; se sabe que hay 13, [4] [68] pero solo los siguientes son públicos.
- HASH 2X [ cita requerida ]
- Maracas [69] [70]
- MEZCLA [71]
- NKS 2D [72] [73] [74]
- Pónico [75] [76]
- Cripta ZK [77]
Véase también
Referencias
- ^ "Federal Register / Vol. 72, No. 212" (PDF) . Registro Federal . Imprenta del Gobierno. 2 de noviembre de 2007. Consultado el 6 de noviembre de 2008 .
- ^ "Proyecto de hash criptográfico: antecedentes". Centro de recursos de seguridad informática . Instituto Nacional de Normas y Tecnología. 2 de noviembre de 2007. Consultado el 6 de noviembre de 2008 .
- ^ ab "NIST selecciona al ganador de la competencia del algoritmo hash seguro (SHA-3)". NIST. 2 de octubre de 2012. Consultado el 2 de octubre de 2012 .
- ^ abcdefghijk "Ronda 1". 9 de diciembre de 2008. Consultado el 10 de diciembre de 2008 .
- ^ Instituto Nacional de Estándares y Tecnología (9 de diciembre de 2008). «La primera conferencia de candidatos SHA-3» . Consultado el 23 de diciembre de 2008 .
- ^ ab "Candidatos de la segunda ronda". Instituto Nacional de Estándares y Tecnología. 24 de julio de 2009. Consultado el 24 de julio de 2009 .
- ^ Instituto Nacional de Estándares y Tecnología (30 de junio de 2010). "La segunda conferencia de candidatos SHA-3".
- ^ "Cronograma tentativo del desarrollo de nuevas funciones hash". NIST. 10 de diciembre de 2008. Consultado el 15 de septiembre de 2009 .
- ^ El NIST selecciona al ganador del concurso de algoritmos de hash seguro (SHA-3)
- ^ Candidatos de la tercera ronda (final) Consultado el 9 de noviembre de 2011
- ^ El NIST anuncia los finalistas del SHA-3 Archivado el 9 de julio de 2011 en Wayback Machine , publicación de blog que cita el anuncio del NIST en su totalidad.
- ^ Informe de situación de la primera ronda de la competición del algoritmo hash criptográfico SHA-3 (PDF).
- ^ Informe de situación sobre la segunda ronda de la competición de algoritmos hash criptográficos SHA-3 (PDF). Consultado el 2 de marzo de 2011
- ^ Informe de la tercera ronda de la competencia del algoritmo hash criptográfico SHA-3 (PDF).
- ^ Svein Johan Knapskog; Danilo Gligoroski; Vlastimil Klima; Mohamed El-Hadedy; Jørn Amundsen; Stig Frode Mjølsnes (4 de noviembre de 2008). "deseo_azul_medianoche" . Consultado el 10 de noviembre de 2008 .
- ^ Søren S. Thomsen (2009). «Pseudocriptoanálisis de Blue Midnight Wish» (PDF) . Archivado desde el original (PDF) el 2 de septiembre de 2009. Consultado el 19 de mayo de 2009 .
- ^ Henri Gilbert; Ryad Benadjila; Olivier Billet; Gilles Macario-Rata; Tomás Peyrin; Matt Robshaw; Yannick Seurin (29 de octubre de 2008). "Propuesta SHA-3: ECHO" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Özgül Kücük (31 de octubre de 2008). "La función hash Hamsi" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Dai Watanabe; Christophe De Cannière; Hisayoshi Sato (31 de octubre de 2008). "Función Hash Luffa: Especificación" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Jean-François Misarsky; Emmanuel Bresson; Ana Canteaut ; Benoît Chevallier-Mames; Christophe Clavier; Thomas Fuhr; Aline Gouget ; Thomas Icart; Jean-François Misarsky; María Naya-Plasencia; Pascal Paillier; Thomas Pornin; Jean-René Reinhard; Céline Thuillet; Marion Videau (28 de octubre de 2008). "Shabal, una presentación al concurso de algoritmos hash criptográficos del NIST" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Eli Biham; Orr Dunkelman. "La función hash SHAvite-3" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Jongin Lim; Donghoon Chang; Seokhie Hong; Changheon Kang; Jinkeon Kang; Jongsung Kim; Changhoon Lee; Jesang Lee; Jongtae Lee; Sangjin Lee; Yuseop Lee; Jaechul Sung (29 de octubre de 2008). "ARIRANG" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Philip Hawkes; Cameron McDonald (30 de octubre de 2008). "Presentación al concurso SHA-3: la familia CHI de algoritmos hash criptográficos" (PDF) . Consultado el 11 de noviembre de 2008 .
- ^ Jacques Patarin; Luis Goubin; Mickaël Ivascot; William Jalby; Olivier Ly; Valerie Nachef; Joana Treger; Emmanuel Volté. "CRUJIDO". Archivado desde el original el 29 de enero de 2009 . Consultado el 14 de noviembre de 2008 .
- ^ Hirotaka Yoshida; Shoichi Hirose; Hidenori Kuwakado (30 de octubre de 2008). "Propuesta SHA-3: Lesamnta" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Kerem Varıcı; Onur Özen; Çelebi Kocair. "La función Sarmal Hash". Archivado desde el original el 11 de junio de 2011 . Consultado el 12 de octubre de 2010 .
- ^ Daniel Penazzi; Miguel Montes. "El hash TIB3" (PDF) . Consultado el 29 de noviembre de 2008 .[ enlace muerto permanente ]
- ^ TetsuIwata; Kyoji Shibutani; Taizo Shirai; Shiho Moriai; Toru Akishita (31 de octubre de 2008). "AURORA: una familia de algoritmos hash criptográficos" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Niels Ferguson ; Stefan Lucks (2009). "Ataques a AURORA-512 y la transformada de Merkle–Damgård de doble mezcla" (PDF) . Consultado el 10 de julio de 2009 .
- ^ Colin Bradbury (25 de octubre de 2008). "BLENDER: A Proposed New Family of Cryptographic Hash Algorithms" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Craig Newbold. "Observaciones y ataques al candidato SHA-3 Blender" (PDF) . Consultado el 23 de diciembre de 2008 .
- ^ Florian Mendel. "Preimage Attack on Blender" (PDF) . Consultado el 23 de diciembre de 2008 .
- ^ Dmitry Khovratovich; Alex Biryukov; Ivica Nikolić (30 de octubre de 2008). "The Hash Function Cheetah: Specification and Supporting Documentation" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Danilo Gligoroski (12 de diciembre de 2008). «Danilo Gligoroski – La función hash Cheetah no es resistente a ataques de extensión de longitud» . Consultado el 21 de diciembre de 2008 .
- ^ Zijie Xu. "Dynamic SHA" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Vlastimil Klima (14 de diciembre de 2008). «Dynamic SHA is vulnerable to generic attack» (El SHA dinámico es vulnerable a ataques genéricos) . Consultado el 21 de diciembre de 2008 .
- ^ Zijie Xu. "Dynamic SHA2" (PDF) . NIST . Consultado el 11 de diciembre de 2008 .
- ^ Vlastimil Klima (14 de diciembre de 2008). «Dynamic SHA2 is vulnerable to generic attack» (El SHA2 dinámico es vulnerable a ataques genéricos) . Consultado el 21 de diciembre de 2008 .
- ^ Danilo Gligoroski; Runa Steinsmo Ødegård; Marija Mihová; Svein Johan Knapskog; Ljupco Kocarev; Aleš Drápal (4 de noviembre de 2008). "edon-r" . Consultado el 10 de noviembre de 2008 .
- ^ Dmitry Khovratovich; Ivica Nikolić; Ralf-Philipp Weinmann (2008). "Criptoanálisis de Edon-R" (PDF) . Consultado el 10 de julio de 2009 .
- ^ Sean O'Neil; Karsten Nohl; Luca Henzen (31 de octubre de 2008). "EnRUPT – The Simpler The Better" (EnRUPT: cuanto más simple, mejor) . Consultado el 10 de noviembre de 2008 .
- ^ Sebastiaan Indesteege (6 de noviembre de 2008). «Colisiones para EnRUPT». Archivado desde el original el 18 de febrero de 2009. Consultado el 7 de noviembre de 2008 .
- ^ Jason Worth Martin (21 de octubre de 2008). «ESSENCE: Un algoritmo de hash candidato para la competencia del NIST» (PDF) . Archivado desde el original (PDF) el 12 de junio de 2010. Consultado el 8 de noviembre de 2008 .
- ^ "Criptoanálisis de ESENCIA" (PDF) .
- ^ Ivica Nikolić; Alex Biryukov; Dmitry Khovratovich. "Familia hash LUX – Especificaciones del algoritmo y documentación complementaria" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Mikhail Maslennikov. «Algoritmo hash MCSSHA-3». Archivado desde el original el 2 de mayo de 2009. Consultado el 8 de noviembre de 2008 .
- ^ Jean-Philippe Aumasson; María Naya-Plasencia. "Segundas preimágenes de MCSSHA-3" (PDF) . Consultado el 14 de noviembre de 2008 .[ enlace muerto permanente ]
- ^ Peter Maxwell (septiembre de 2008). «La función hash criptográfica Sgàil» (PDF) . Archivado desde el original (PDF) el 12 de noviembre de 2013. Consultado el 9 de noviembre de 2008 .
- ^ Peter Maxwell (5 de noviembre de 2008). "Aww, p*sh!". Archivado desde el original el 9 de noviembre de 2008 . Consultado el 6 de noviembre de 2008 .
- ^ Michael Gorski; Ewan Fleischmann; Christian Forler (28 de octubre de 2008). "La familia de funciones hash Twister" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Florián Mendel; Christian Rechberger; Martín Schläffer (2008). "Criptoanálisis de Twister" (PDF) . Consultado el 19 de mayo de 2009 .
- ^ Michael Kounavis; Shay Gueron (3 de noviembre de 2008). "Vortex: una nueva familia de funciones hash unidireccionales basadas en rondas de Rijndael y multiplicación sin acarreo" . Consultado el 11 de noviembre de 2008 .
- ^ Jean-Philippe Aumasson; Orr Dunkelman; Florián Mendel; Christian Rechberger; Søren S. Thomsen (2009). "Criptoanálisis de Vortex" (PDF) . Consultado el 19 de mayo de 2009 .
- ^ División de Seguridad Informática, Laboratorio de Tecnología de la Información (4 de enero de 2017). «Proyecto SHA-3 – Funciones hash». CSRC: NIST . Consultado el 26 de abril de 2019 .
- ^ Neil Sholer (29 de octubre de 2008). "Abacus: A Candidate for SHA-3" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Gregory G. Rose. "Diseño y especificación primitiva para Boole" (PDF) . Consultado el 8 de noviembre de 2008 .
- ^ Gregory G. Rose (10 de diciembre de 2008). «Comentario oficial: Boole» (PDF) . Consultado el 23 de diciembre de 2008 .
- ^ David A. Wilson (23 de octubre de 2008). "The DCH Hash Function" (PDF) . Consultado el 23 de noviembre de 2008 .
- ^ Natarajan Vijayarangan. "Un nuevo algoritmo hash: Khichidi-1" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ Björn Fay. "MeshHash" (PDF) . Consultado el 30 de noviembre de 2008 .
- ^ Orhun Kara; Adem Atalay; Ferhat Karakoc; Cevat Manap. «Función hash SHAMATA: un algoritmo candidato para la competencia del NIST». Archivado desde el original el 1 de febrero de 2009. Consultado el 10 de noviembre de 2008 .
- ^ Michal Trojnara (14 de octubre de 2008). "Especificaciones del algoritmo StreamHash y documentación complementaria" (PDF) . Consultado el 15 de diciembre de 2008 .
- ^ Rafael Alvarez; Gary McGuire; Antonio Zamora. "La función hash Tangle" (PDF) . Consultado el 11 de diciembre de 2008 .
- ^ John Washburn. "WaMM: Un algoritmo candidato para la competencia SHA-3" (PDF) . Archivado desde el original (PDF) el 19 de abril de 2009. Consultado el 9 de noviembre de 2008 .
- ^ "Comentario oficial: WaMM se retira" (PDFauthor=John Washburn) . 20 de diciembre de 2008. Consultado el 23 de diciembre de 2008 .
- ^ Bob Hattersly (15 de octubre de 2008). «Waterfall Hash – Algorithm Specification and Analysis» (PDF) . Consultado el 9 de noviembre de 2008 .
- ^ Bob Hattersley (20 de diciembre de 2008). «Comentario oficial: Waterfall está roto» (PDF) . Consultado el 23 de diciembre de 2008 .
- ^ Bruce Schneier (19 de noviembre de 2008). «Noticias sobre Skein y SHA-3» . Consultado el 23 de diciembre de 2008 .
- ^ Robert J. Jenkins Jr. "Especificación de algoritmos" . Consultado el 15 de diciembre de 2008 .
- ^ Anne Canteaut y María Naya-Plasencia. «Ataque de colisión interna a Maraca» (PDF) . Consultado el 15 de diciembre de 2008 .
- ^ Michael P. Frank. "Especificación de algoritmo para MIXIT: un algoritmo de hash criptográfico candidato a SHA-3" (PDF) . Archivado desde el original (PDF) el 4 de marzo de 2016. Consultado el 12 de enero de 2014 .
- ^ Geoffrey Park. "NKS 2D Cellular Automata Hash" (PDF) . Consultado el 9 de noviembre de 2008 .
- ^ Cristophe De Cannière (13 de noviembre de 2008). "Colisiones para NKS2D-224" . Consultado el 14 de noviembre de 2008 .
- ^ Brandon Enright (14 de noviembre de 2008). «Colisiones para NKS2D-512» . Consultado el 14 de noviembre de 2008 .
- ^ Peter Schmidt-Nielsen. "Ponic" (PDF) . Consultado el 9 de noviembre de 2008 .
- ^ María Naya-Plasencia. «Segundo ataque de preimagen a Ponic» (PDF) . Consultado el 30 de noviembre de 2008 .
- ^ Nicolas T. Courtois; Carmi Gressel; Avi Hecht; Gregory V. Bard; Ran Granot. «Página de inicio de ZK-Crypt». Archivado desde el original el 9 de febrero de 2009. Consultado el 1 de marzo de 2009 .
Enlaces externos
- Sitio web del NIST para la competencia
- Lista oficial de candidatos de la segunda vuelta
- Lista oficial de candidatos de la primera vuelta
- Zoológico SHA-3
- Clasificación de los candidatos SHA-3
- Sala de funciones hash
- Código fuente VHDL desarrollado por el Grupo de Investigación de Ingeniería Criptográfica (CERG) de la Universidad George Mason
- FIPS 202 – El estándar SHA-3