Ataque bumerán

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Forma de criptanálisis
Ataque de Boomerang

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

El ataque boomerang ha permitido nuevas vías de ataque para muchos cifrados que antes se consideraban seguros del criptoanálisis diferencial.

Se han publicado mejoras en el ataque boomerang: el ataque boomerang amplificado y el ataque rectangular.

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

El ataque

El ataque boomerang se basa en criptoanálisis diferencial. En el criptoanálisis diferencial, un atacante aprovecha cómo las diferencias en la entrada de un cifrado (el texto sin formato) pueden afectar la diferencia resultante en la salida (el texto cifrado). Una probabilidad "diferencial" (es decir, una diferencia de entrada que producirá una probable diferencia de salida) que cubra todo, o casi todo, el cifrado. El ataque boomerang permite utilizar diferenciales que cubren sólo una parte del cifrado.

El ataque intenta generar el llamado "cuarteto" estructura en un punto a medio camino a través del cifrado. Para ello, digamos que la acción de cifrado, E, del cifrado se puede dividir en dos etapas consecutivas, E0 y . E1, de modo que E(M) = E1(E0(M)), donde M es algún mensaje de texto sin formato. Supongamos que tenemos dos diferenciales para las dos etapas; decir,

Δ Δ → → Δ Δ Alternativa Alternativa {displaystyle Delta to to Delta ^{*}

para E0, y

Silencio Silencio → → Silencio Silencio Alternativa Alternativa {displaystyle nabla to nabla ^{*} para E1−1 (la acción de desciframiento de E1).

El ataque básico se desarrolla de la siguiente manera:

  • Elija un texto aleatorio P{displaystyle P} y calcular P.=P⊕ ⊕ Δ Δ {displaystyle P'=Poplus Delta }.
  • Solicitar las encriptaciones P{displaystyle P} y P.{displaystyle P'} para obtener C=E()P){displaystyle C=E(P)} y C.=E()P.){displaystyle C'=E(P')}
  • Cálculo D=C⊕ ⊕ Silencio Silencio {displaystyle D=Coplus nabla } y D.=C.⊕ ⊕ Silencio Silencio {displaystyle D'=C'oplus nabla }
  • Solicitar las descifraciones de D{displaystyle D} y D.{displaystyle D' para obtener Q=E− − 1()D){displaystyle Q=E^{-1}(D)} y Q.=E− − 1()D.){displaystyle Q'=E^{-1}(D')}
  • Compare Q{displaystyle Q} y Q.{displaystyle Q'}; cuando los diferenciales sostienen, Q⊕ ⊕ Q.=Δ Δ {displaystyle Qoplus Q'=Delta }.

Aplicación a determinadas cifras

Un ataque contra KASUMI, un cifrado de bloque utilizado en 3GPP, es un ataque de rectángulo relacionado que rompe las ocho rondas completas del cifrado más rápido que la búsqueda exhaustiva (Biham et al., 2005). El ataque requiere 254,6 texto escogido, cada uno de los cuales ha sido encriptado bajo una de cuatro claves relacionadas y tiene una complejidad temporal equivalente a 276.1 Encriptaciones KASUMI.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save