stringtranslate.com

GOST (cifrado por bloques)

El cifrado de bloques GOST ( Magma ), definido en el estándar GOST 28147-89 (RFC 5830), es un cifrado de bloques de clave simétrica estándar del gobierno soviético y ruso con un tamaño de bloque de 64 bits. El estándar original, publicado en 1989, no le dio ningún nombre al cifrado, pero la revisión más reciente del estándar, GOST R 34.12-2015 (RFC 7801, RFC 8891), especifica que puede denominarse Magma. [2] La función hash GOST se basa en este cifrado. El nuevo estándar también especifica un nuevo cifrado de bloques de 128 bits llamado Kuznyechik .

Desarrollado en la década de 1970, el estándar había sido marcado como "Alto Secreto" y luego degradado a "Secreto" en 1990. Poco después de la disolución de la URSS , fue desclasificado y se lanzó al público en 1994. GOST 28147 fue una alternativa soviética al algoritmo estándar de los Estados Unidos , DES . [3] Por lo tanto, los dos son muy similares en estructura.

El algoritmo

GOST tiene un tamaño de bloque de 64 bits y una longitud de clave de 256 bits. Sus cajas S pueden ser secretas y contienen alrededor de 354 (log 2 (16! 8 )) bits de información secreta, por lo que el tamaño de clave efectivo se puede aumentar a 610 bits; sin embargo, un ataque de clave elegida puede recuperar el contenido de las cajas S en aproximadamente 2 32 cifrados. [4]

GOST es una red Feistel de 32 rondas. Su función de ronda es muy simple: agregue una subclave de 32 bits módulo 2 32 , pase el resultado a través de una capa de cajas S y rote ese resultado hacia la izquierda 11 bits. El resultado de eso es la salida de la función de ronda. En el diagrama adyacente, una línea representa 32 bits.

Las subclaves se eligen en un orden preestablecido. El esquema de claves es muy simple: se divide la clave de 256 bits en ocho subclaves de 32 bits y cada subclave se utiliza cuatro veces en el algoritmo; las primeras 24 rondas utilizan las palabras clave en orden, las últimas 8 rondas las utilizan en orden inverso.

Las cajas S aceptan una entrada de cuatro bits y producen una salida de cuatro bits. La sustitución de la caja S en la función de ronda consta de ocho cajas S de 4 × 4. Las cajas S dependen de la implementación, por lo que las partes que desean proteger sus comunicaciones mediante GOST deben usar las mismas cajas S. Para mayor seguridad, las cajas S se pueden mantener en secreto. En el estándar original donde se especificó GOST, no se proporcionaban cajas S, pero debían proporcionarse de alguna manera. Esto llevó a la especulación de que las organizaciones que el gobierno deseaba espiar recibieron cajas S débiles. Un fabricante de chips GOST informó que generó cajas S él mismo utilizando un generador de números pseudoaleatorios . [5]

Por ejemplo, el Banco Central de la Federación de Rusia utilizó las siguientes cajas S:

Sin embargo, la revisión más reciente de la norma, GOST R 34.12-2015 , agrega la especificación S-box faltante y la define de la siguiente manera. [2]

Criptoanálisis de GOST

El último criptoanálisis de GOST demuestra que es seguro en un sentido teórico. En la práctica, la complejidad de los datos y la memoria de los mejores ataques publicados ha alcanzado el nivel práctico, mientras que la complejidad temporal incluso del mejor ataque sigue siendo de 2.192 cuando se dispone de 2.64 datos.

Desde 2007, se han desarrollado varios ataques contra implementaciones GOST de ronda reducida y/o claves débiles . [6] [7]

En 2011, varios autores descubrieron fallos más significativos en GOST, pudiendo atacar por primera vez el GOST completo de 32 rondas con claves arbitrarias. Incluso Nicolas Courtois lo ha llamado "un cifrado profundamente defectuoso" . [8] Los ataques iniciales lograron reducir la complejidad temporal de 2 256 a 2 228 a costa de enormes requisitos de memoria, [9] y pronto se mejoraron hasta una complejidad temporal de 2 178 (a costa de 2 70 de memoria y 2 64 de datos). [10] [11]

En diciembre de 2012, Courtois, Gawinecki y Song mejoraron los ataques a GOST calculando solo 2 101 rondas GOST. [12] Isobe ya había publicado un ataque de clave única al cifrado GOST completo, [13] que Dinur, Dunkelman y Shamir mejoraron, alcanzando una complejidad de tiempo de 2 224 para datos de 2 32 y memoria de 2 36 , y una complejidad de tiempo de 2 192 para datos de 2 64. [14]

Dado que los ataques reducen la fuerza esperada de 2 256 (longitud de la clave) a aproximadamente 2 178 , el cifrado puede considerarse roto. Sin embargo, este ataque no es factible en la práctica, ya que el número de pruebas a realizar 2 178 está fuera de alcance.

Tenga en cuenta que para cualquier cifrado de bloque con un tamaño de bloque de n bits, la cantidad máxima de texto sin formato que se puede cifrar antes de que se deba volver a generar la clave es de 2 n/2 bloques, debido a la paradoja del cumpleaños , [15] y ninguno de los ataques mencionados anteriormente requiere menos de 2 32 datos.

Véase también

Referencias

  1. ^ Courtois, Nicolas T. (9 de mayo de 2011). "Evaluación de seguridad de GOST 28147-89 en vista de la estandarización internacional". Archivo de criptografía ePrint . IACR . Hasta 2011, los investigadores coincidieron unánimemente en que GOST podía o debía ser muy seguro, lo que se resumió en 2010 en estas palabras: "A pesar de los considerables esfuerzos criptoanalíticos realizados en los últimos 20 años, GOST todavía no está descifrado". Lamentablemente, recientemente se descubrió que GOST se puede descifrar y es un cifrado profundamente defectuoso.
  2. ^ ab "GOST R 34.12-2015 (solo en ruso)" (PDF) . Archivado desde el original (PDF) el 24 de septiembre de 2015. Consultado el 28 de agosto de 2015 .
  3. ^ Fleischmann, Ewan; Gorski, Michael; Hühne, Jan-Hendrik; Lucks, Stefan (2009). "Ataque de recuperación de clave en el cifrado de bloque GOST completo con tiempo y memoria cero". Publicado como ISO/IEC JTC . 1 .
  4. ^ Saarinen, Markku-Juhani (1998). "Un ataque de clave elegida contra las cajas S secretas de GOST". Demostramos que un simple ataque de clave elegida de "caja negra" contra GOST puede recuperar cajas S secretas con aproximadamente 2^32 cifrados {{cite journal}}: Requiere citar revista |journal=( ayuda )
  5. ^ Schneier, Bruce (1996). Criptografía aplicada: protocolos, algoritmos y código fuente en C (2. ed., [Nachdr.] ed.). Nueva York [ua]: Wiley. ISBN 978-0-471-11709-4.
  6. ^ Eli Biham; Orr Dunkelman; Nathan Keller (2007). "Ataques deslizantes mejorados" (PDF) .
  7. ^ Orhun Kara (2008). "Criptoanálisis de reflexión de algunos cifrados".
  8. ^ Courtois, Nicolas T. (9 de mayo de 2011). "Evaluación de seguridad de GOST 28147-89 en vista de la estandarización internacional". Archivo de criptografía ePrint . IACR . Hasta 2011, los investigadores coincidieron unánimemente en que GOST podía o debía ser muy seguro, lo que se resumió en 2010 en estas palabras: "A pesar de los considerables esfuerzos criptoanalíticos realizados en los últimos 20 años, GOST todavía no está descifrado". Lamentablemente, recientemente se descubrió que GOST se puede descifrar y es un cifrado profundamente defectuoso.
  9. ^ Nicolás T. Courtois; Michał Miształ (2011). "Criptoanálisis diferencial de GOST". IACR .
  10. ^ Nicolas T. Courtois (2012). "Un ataque diferencial mejorado en GOST completo" (PDF) . IACR .
  11. ^ Courtois, Nicolas T. (13 de junio de 2011). "Reducción de complejidad algebraica y criptoanálisis de GOST" (PDF) . Archivo de ePrints de criptología . IACR .
  12. ^ Nicolas T. Courtois; Jerzy A. Gawinecki; Guangyan Song (2012). "INMUNIDAD CONTRADICCIONAL Y ATAQUES DE ADIVINAR Y LUEGO DETERMINAR CONTRA GOST" (PDF) . Versita . Consultado el 25 de agosto de 2014 .
  13. ^ Isobe, Takanori (2011). "Un ataque de clave única al cifrado de bloque GOST completo". Fast Software Encryption . Apuntes de clase en informática. Vol. 6733. págs. 290–305. doi :10.1007/978-3-642-21702-9_17. ISBN 978-3-642-21701-2.
  14. ^ Dinur, Itai; Dunkelman, Orr; Shamir, Adi (2012). "Ataques mejorados en GOST completo". Cifrado de software rápido . Apuntes de clase en informática. Vol. 7549. págs. 9–28. doi : 10.1007/978-3-642-34047-5_2 . ISBN . 978-3-642-34046-8.
  15. ^ "Borrador del Documento permanente n.º 12 (SD12) de ISO/IEC JTC 1/SC 27 sobre la evaluación de técnicas criptográficas y longitudes de clave, 4.ª edición" (PDF) . 2016.

Lectura adicional

Enlaces externos