Streebog (en ruso : Стрибог ) es una función hash criptográfica definida en el estándar nacional ruso GOST R 34.11-2012 Tecnología de la información - Seguridad de la información criptográfica - Función hash . Fue creado para reemplazar una función de hash GOST obsoleta definida en el antiguo estándar GOST R 34.11-94, y como una respuesta asimétrica a la competencia SHA-3 del Instituto Nacional de Estándares y Tecnología de EE. UU . [2] La función también se describe en RFC 6986 y una de las funciones hash en ISO / IEC 10118-3: 2018. [3]
General | |
---|---|
Diseñadores | FSB , InfoTeCS JSC |
Publicado por primera vez | 2012 |
Relacionado con | GOST |
Certificación | Estándar GOST , ISO / IEC 10118-3: 2018, RFC 6986 |
Detalle | |
Tamaños de resumen | 256 y 512 |
Rondas | 12 |
Mejor criptoanálisis público | |
Segundo ataque imagen inversa con 2 266 complejidad de tiempo . [1] |
Descripción
Streebog opera en bloques de 512 bits de la entrada, utilizando la construcción Merkle-Damgård para manejar entradas de tamaño arbitrario. [4]
La estructura de alto nivel de la nueva función hash se parece a la de GOST R 34.11-94, sin embargo, la función de compresión se cambió significativamente. [5] La función de compresión opera en el modo Miyaguchi-Preneel y emplea un cifrado similar a AES de 12 rondas con un bloque de 512 bits y una clave de 512 bits. (Utiliza una matriz de bytes de 8 × 8 en lugar de la matriz de 4 × 4 de AES).
Streebog-256 usa un estado inicial diferente al de Streebog-512 y trunca el hash de salida, pero por lo demás es idéntico.
La función fue nombrada Streebog en honor a Stribog , el dios del viento impetuoso en la antigua mitología eslava, [2] y a menudo se la denomina con este nombre, aunque no se menciona explícitamente en el texto de la norma. [6]
Ejemplos de hashes de Streebog
Valores hash de cadena vacía.
Streebog-256 ("")0x 3f539a213e97c802cc229d474c6aa32a825a360b2a933a949fd925208d9ce1bbStreebog-512 ("")0x 8e945da209aa869f0455928529bcae4679e9873ab707b55315f56ceb98bef0a7 \ 362f715528356ee83cda5f2aac4c6ad2ba3a715c1bcd81cb8e9f90bf4c1c1a8a
Incluso un pequeño cambio en el mensaje resultará (con una probabilidad abrumadora) en un hash mayormente diferente, debido al efecto de avalancha . Por ejemplo, agregando un punto al final de la oración:
Streebog-256 (" El rápido zorro marrón salta sobre el perro perezoso ")0x 3e7dea7f2384b6c5a3d0e24aaa29c05e89ddd762145030ec22c71a6db8b2c1f4Streebog-256 (" El rápido zorro marrón salta sobre el perro perezoso ").0x 36816a824dcbe7d6171aa58500741f2ea2757ae2e1784ab72c5c3c6c198d71daStreebog-512 (" El rápido zorro marrón salta sobre el perro perezoso ")0x d2b793a0bb6cb5904828b5b6dcfb443bb8f33efc06ad09368878ae4cdc8245b9 \ 7e60802469bed1e7c21a64ff0b179a6a1e0bb74d92965450a0adab69162c00feStreebog-512 (" El rápido zorro marrón salta sobre el perro perezoso ").0x fe0c42f267d921f940faa72bd9fcf84f9f1bd7e9d055e9816e4c2ace1ec83be8 \ 2d2957cd59b86e123d8f5adee80b3ca08a017599a9fc1a14d940cf87c77df070
Criptoanálisis
En 2013, el Comité Técnico Ruso de Normalización "Criptografía y Mecanismos de Seguridad" (TC 26) con la participación de la Academia de Criptografía de la Federación de Rusia declaró un concurso abierto para el criptoanálisis de la función hash de Streebog, [7] que atrajo la atención internacional a la función.
Ma, et al , describen un ataque de preimagen que toma 2 496 tiempo y 2 64 de memoria o 2 504 de tiempo y 2 11 de memoria para encontrar una sola preimagen de GOST-512 reducida a 6 rondas. [8] También describen un ataque de colisión con 2 181 de complejidad temporal y 2 64 requisitos de memoria en el mismo documento.
Guo, et al , describen un segundo ataque de preimagen en Streebog-512 completo con una complejidad de tiempo total equivalente a 2 266 evaluaciones de funciones de compresión, si el mensaje tiene más de 2 259 bloques. [1]
AlTawy y Youssef publicaron un ataque a una versión modificada de Streebog con diferentes constantes de ronda. [9] Si bien este ataque puede no tener un impacto directo en la seguridad de la función hash de Streebog original, planteó una pregunta sobre el origen de los parámetros utilizados en la función. Los diseñadores publicaron un artículo explicando que estas son constantes pseudoaleatorias generadas con la función hash similar a Streebog, provistas de 12 mensajes de entrada de lenguaje natural diferentes. [10]
AlTawy, et al , encontraron una colisión de inicio libre de 5 rondas y una colisión cercana a un inicio libre de 7.75 para el cifrado interno con complejidades 2 8 y 2 40 , respectivamente, así como ataques a la función de compresión con un inicio semi libre de 7.75 rondas colisión con complejidad de tiempo 2 184 y complejidad de memoria 2 8 , 8,75 y 9,75 ronda de arranque semi libre cerca de colisiones con complejidades de tiempo 2 120 y 2 196 , respectivamente. [11]
Wang, et al , describen un ataque de colisión en la función de compresión reducido a 9,5 rondas con 2 176 de complejidad de tiempo y 2 128 de complejidad de memoria. [12]
En 2015, Biryukov, Perrin y Udovenko realizaron ingeniería inversa de la estructura de generación de caja S no publicada (que anteriormente se afirmó que se generaba al azar) y concluyeron que los componentes subyacentes son criptográficamente débiles. [13]
Ver también
Referencias
- ↑ a b Jian Guo, Jérémy Jean, Gaëtan Leurent, Thomas Peyrin, Lei Wang (29 de agosto de 2014). El uso de Counter Revisited: Second-Preimage Attack on New Russian Standardized Hash Function . SAC 2014.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ a b GOST R 34.11-2012: Función Streebog Hash
- ^ "ISO / IEC 10118-3: 2018 Técnicas de seguridad informática - Funciones hash - Parte 3: Funciones hash dedicadas" .
- ^ StriBob: cifrado autenticado de la permutación LPS de GOST R 34.11-2012
- ^ Aspectos algebraicos del estándar ruso Hash GOST R 34.11-2012
- ^ Texto completo del estándar GOST R 34.11-2012 (en ruso)
- ^ Concurso abierto de artículos de investigación dedicado al análisis de las propiedades criptográficas de la función hash GOST R 34.11-2012
- ^ Bingke Ma, Bao Li, Ronglin Hao, Xiaoqian Li. "Criptoanálisis mejorado en GOST de ronda reducida y función Whirlpool Hash (versión completa)" (PDF) .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ Riham AlTawy, Amr M. Youssef. "Mire sus constantes: Streebog malicioso" (PDF) .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ Nota sobre el origen de las constantes de Streebog
- ^ Riham AlTawy, Aleksandar Kircanski, Amr M. Youssef. "Ataques de rebote en Stribog" (PDF) .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ Zongyue Wang, Hongbo Yu, Xiaoyun Wang (10 de septiembre de 2013). "Criptoanálisis de la función hash GOST R" . Cartas de procesamiento de información . 114 (12): 655–662. doi : 10.1016 / j.ipl.2014.07.007 .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- ^ Biryukov, Alex; Perrin, Léo; Udovenko, Aleksei (2016). "Ingeniería inversa de la caja S de Streebog, Kuznyechik y STRIBOBr1 (versión completa)" . Cite journal requiere
|journal=
( ayuda )