stringtranslate.com

Streebog

Streebog ( 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 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]

Descripción

Streebog opera en bloques de entrada de 512 bits, 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 ha cambiado significativamente. [5] La función de compresión opera en modo Miyaguchi-Preneel y emplea un cifrado tipo 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 utiliza 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 recibió el nombre de Streebog en honor a Stribog , el dios del viento impetuoso en la antigua mitología eslava, [2] y a menudo se hace referencia 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("")0x3f539a213e97c802cc229d474c6aa32a825a360b2a933a949fd925208d9ce1bbStreebog-512("")0x8e945da209aa869f0455928529bcae4679e9873ab707b55315f56ceb98bef0a7\ 362f715528356ee83cda5f2aac4c6ad2ba3a715c1bcd81cb8e9f90bf4c1c1a8a

Incluso un pequeño cambio en el mensaje dará como resultado (con una probabilidad abrumadora) un hash mayoritariamente diferente, debido al efecto 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 veloz zorro marrón salta sobre el perro perezoso .")0x36816a824dcbe7d6171aa58500741f2ea2757ae2e1784ab72c5c3c6c198d71daStreebog-512(" El rápido zorro marrón salta sobre el perro perezoso ")0x d2b793a0bb6cb5904828b5b6dcfb443bb8f33efc06ad09368878ae4cdc8245b9 \ 7e60802469bed1e7c21a64ff0b179a6a1e0bb74d92965450a0adab69162c00feStreebog-512(" El veloz zorro marrón salta sobre el perro perezoso .")0x fe0c42f267d921f940faa72bd9fcf84f9f1bd7e9d055e9816e4c2ace1ec83be8 \ 2d2957cd59b86e123d8f5adee80b3ca08a017599a9fc1a14d940cf87c77df070

Criptoanálisis

En 2013, el Comité Técnico Ruso para la Normalización "Criptografía y Mecanismos de Seguridad" (TC 26), con la participación de la Academia de Criptografía de la Federación Rusa, declaró un concurso abierto para el criptoanálisis de la función hash de Streebog, [7] que atrajo la atención internacional sobre la función.

Ma y otros describen un ataque de preimagen que requiere 2 496 de tiempo y 2 64 de memoria o 2 504 de tiempo y 2 11 de memoria para encontrar una única preimagen de GOST-512 reducida a 6 rondas. [8] También describen un ataque de colisión con una complejidad de tiempo de 2 181 y un requisito de memoria de 2 64 en el mismo artículo.

Guo y otros describen un segundo ataque de preimagen en Streebog-512 completo con una complejidad de tiempo total equivalente a 2266 evaluaciones de la función de compresión, si el mensaje tiene más de 2259 bloques . [1]

AlTawy y Youssef publicaron un ataque a una versión modificada de Streebog con diferentes constantes redondas. [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 se trata de constantes pseudoaleatorias generadas con una función hash similar a la de 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 casi colisión de 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 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 rondas de inicio semi libre casi colisiones con complejidades de tiempo 2 120 y 2 196 , respectivamente. [11]

Wang y otros describen un ataque de colisión en la función de compresión reducida a 9,5 rondas con una complejidad de tiempo de 2176 y una complejidad de memoria de 2128 . [12]

En 2015, Biryukov, Perrin y Udovenko realizaron ingeniería inversa a la estructura de generación de S-box inédita (que anteriormente se afirmaba que se generaba aleatoriamente) y concluyeron que los componentes subyacentes son criptográficamente débiles. [13]

Ver también

Referencias

  1. ^ ab Jian Guo; Jérémy Jean; Gaëtan Leurent; Tomás Peyrin; Lei Wang (29 de agosto de 2014). El uso del contador revisado: ataque de segunda preimagen a la nueva función hash estandarizada rusa. SAC 2014.
  2. ^ ab GOST R 34.11-2012: función hash de Streebog
  3. ^ "ISO/IEC 10118-3: 2018 Técnicas de seguridad de TI - Funciones hash - Parte 3: Funciones hash dedicadas".
  4. ^ StriBob: cifrado autenticado de la permutación LPS de GOST R 34.11-2012
  5. ^ Aspectos algebraicos del estándar ruso Hash GOST R 34.11-2012
  6. ^ Texto completo del estándar GOST R 34.11-2012 (en ruso)
  7. ^ 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
  8. ^ Bingke mamá; Bao Li; Ronglin Hao; Xiaoqian Li. "Criptoanálisis mejorado en GOST de ronda reducida y función Whirlpool Hash (versión completa)" (PDF) .
  9. ^ Riham AlTawy; Amr M. Youssef. "Cuida tus constantes: Streebog malicioso" (PDF) .
  10. ^ Nota sobre el origen de las constantes de Streebog
  11. ^ Riham AlTawy; Aleksandar Kircanski; Amr M. Youssef. "Ataques de rebote a Stribog" (PDF) .
  12. ^ 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.
  13. ^ Biryukov, Alex; Perrin, Leo; Udovenko, Aleksei (2016). "Ingeniería inversa de la S-box de Streebog, Kuznyechik y STRIBOBr1 (versión completa)". Archivo ePrint de criptología .