Ataque de Boomerang

De Wikipedia, la enciclopedia libre

En criptografía, el ataque boomerang es un método para el criptoanálisis de cifrados de bloque basado en el criptoanálisis diferencial. El ataque fue publicado en 1999 por David Wagner, quien lo utilizó para romper el cifrado COCONUT98.

El ataque boomerang ha permitido nuevas vías de ataque para muchos cifrados previamente considerados seguros frente al criptoanálisis diferencial.

Se han publicado refinamientos sobre el ataque boomerang: el ataque boomerang amplificado y el ataque rectángulo.

Debido a la similitud de una construcción de Merkle–Damgård con un cifrado de bloque, este ataque también puede ser aplicable a ciertas funciones hash como MD5.[1]

El Ataque[editar]

El ataque boomerang, basado en el criptoanálisis diferencial, adopta un enfoque único al explotar diferenciales parciales en un cifrado. El criptoanálisis diferencial se centra principalmente en cómo las variaciones en la entrada (texto plano) pueden influir en las diferencias correspondientes en la salida (texto cifrado). Este método requiere un diferencial de alta probabilidad, que es una diferencia de entrada que predice de manera fiable una diferencia de salida, cubriendo todo el cifrado o una parte significativa del mismo. Sin embargo, el ataque boomerang se desvía al utilizar diferenciales que solo cubren una parte del cifrado.[2]

Al ejecutar un ataque boomerang, la estrategia implica crear una estructura de "cuarteto" en un punto medio del cifrado. Para entender esto, consideremos el proceso de cifrado E del cifrado como divisible en dos etapas secuenciales: E0 y E1. Por lo tanto, el cifrado de un mensaje de texto plano M se puede representar como E(M) = E1(E0(M)). Esta segmentación en E0 y E1 es crucial para el ataque boomerang, ya que permite al atacante analizar y explotar los diferenciales parciales en cada segmento por separado, lo que permite el ataque a cifrados que podrían ser resistentes al análisis diferencial convencional de todo el cifrado.

El ataque básico procede de la siguiente manera:

  1. Elegir un texto plano aleatorio P y calcular P' = P ⊕ Δ.
  2. Solicitar los cifrados de P y P' para obtener C = E(P) y C' = E(P').
  3. Calcular D = C ⊕ ∇ y D' = C' ⊕ ∇.
  4. Solicitar los descifrados de D y D' para obtener Q = E^(-1)(D) y Q' = E^(-1)(D').
  5. Comparar Q y Q'; cuando los diferenciales se mantienen, Q ⊕ Q' = Δ.

Aplicación a cifrados específicos[editar]

Un ataque a KASUMI, un cifrado de bloque utilizado en 3GPP, es un ataque de rectángulo con claves relacionadas que rompe las ocho rondas completas del cifrado más rápido que la búsqueda exhaustiva (Biham et al., 2005).[3][4]​ El ataque requiere 2^54.6 textos planos elegidos, cada uno de los cuales ha sido cifrado bajo una de cuatro claves relacionadas y tiene una complejidad de tiempo equivalente a 2^76.1 cifrados KASUMI.

Referencias[editar]

  1. Joux, Antoine; Peyrin, Thomas (2007). Menezes, Alfred, ed. Hash Functions and the (Amplified) Boomerang Attack (en inglés) 4622. Springer Berlin Heidelberg. pp. 244-263. ISBN 978-3-540-74142-8. doi:10.1007/978-3-540-74143-5_14. Consultado el 7 de enero de 2024. 
  2. Kim, Jongsung; Kim, Guil; Hong, Seokhie; Lee, Sangjin; Hong, Dowon (2004). Wang, Huaxiong, ed. The related-key rectangle attack - Application to SHACAL-1. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Springer Verlag. pp. 123-136. ISBN 978-3-540-22379-5. Consultado el 7 de enero de 2024. 
  3. «The Rectangle Attack - Rectangling the Serpent - Biham, Dunkelman, Keller (ResearchIndex)». web.archive.org. 29 de marzo de 2007. Archivado desde el original el 29 de marzo de 2007. Consultado el 7 de enero de 2024. 
  4. «New Results on Boomerang and Rectangle Attacks - Biham, Dunkelman, Keller (ResearchIndex)». web.archive.org. 14 de junio de 2008. Archivado desde el original el 14 de junio de 2008. Consultado el 7 de enero de 2024.