0% encontró este documento útil (0 votos)
316 vistas2 páginas

Ataque Por Encuentro A Medio Camino

El ataque meet-in-the-middle aprovecha el diseño de sistemas modelizados como una secuencia de dos procesos A y B, donde la salida de A es la entrada de B. El ataque involucra atacar A y B de forma independiente para encontrar valores en común que revelen las claves. Esto reduce la complejidad computacional en comparación con un ataque de fuerza bruta directo. Ejemplos de aplicación incluyen dobles cifrados simétricos por bloque, donde el ataque requiere 2n+1 operaciones en lugar de 22n. Sin embargo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
316 vistas2 páginas

Ataque Por Encuentro A Medio Camino

El ataque meet-in-the-middle aprovecha el diseño de sistemas modelizados como una secuencia de dos procesos A y B, donde la salida de A es la entrada de B. El ataque involucra atacar A y B de forma independiente para encontrar valores en común que revelen las claves. Esto reduce la complejidad computacional en comparación con un ataque de fuerza bruta directo. Ejemplos de aplicación incluyen dobles cifrados simétricos por bloque, donde el ataque requiere 2n+1 operaciones en lugar de 22n. Sin embargo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 2

1

meet-in-the-middle (Ataque por encuentro a


medio camino)
(junio 2021)
Gilberto Alfonso Anillo Estrada

Ideado en 1977 por Whitfield Diffie y Martin Hellman
Resumen- criptografía aplicado para reducir la seguridad de cifradores simétricos por
bloques obtenidos a partir de 2 cifradores simétricos en bloque
iguales puestos uno a continuación uno del otro, lo que se
I. INTRODUCCION suele implementar mediante 2 rondas de cifrado. Es decir, los
llamados dobles cifrado (en inglés double encryption).

E l ataque por encuentro a medio camino, también conocido


Posteriormente este esquema se ha aplicado para atacar la
seguridad de otros tipos de sistemas como las funciones hash
criptográficas llamadas 'códigos de detección de
por su término inglés meet-in-the-middle o por sus siglas en
inglés MITM, consiste en aprovechar el diseño de un sistema modificaciones'.[1]
G modelizándolo como una secuencia de dos procesos A Y B,
en el que la salida de A será la entrada de B. El objetivo del II. EJEMPLOS DE ÁREAS DE APLICACIÓN
ataque consiste en, dados los valores preestablecidos de Ejemplos de áreas de aplicación
entrada y salida E y S del sistema global G, encontrar la Dos áreas de la criptografía en las que más se ha aplicado el
definición de los procesos A y B de tal forma que haya un I tal ataque meet-in-the-middle han sido son el cifrado simétrico
que: por bloque múltiple y la funciones hash criptográficas
Entorno de aplicación de ataque meet-in-the-middle llamadas códigos de detección de manipulaciones.
Expresado en lenguaje formal: Se trata de encontrar un valor Cifrado simétrico por bloques múltiple
en el rango del dominio de composición de dos funciones, de [2] Supongamos un cifrador simétrico por bloques
tal manera que la imagen de la primera función dé lo mismo implementado por doble cifrado de un cifrador por bloques, A,
que la imagen inversa de la segunda función. Por tanto, para cuya clave kes de la forma k=k1 k2, con n la longitud de la
poder aplicar este ataque es necesario conocer la inversa del clave del cifrador (i. e. k tendrá longitud 2n), y puede ser
proceso B. modelizado por el siguiente esquema:

La forma en la que funciona el ataque es el siguiente: Se


atacan de forma independiente ambas funciones, A y B, por
fuerza bruta sobre el espacio de claves obteniendo por un lado
el conjunto de posibles valores de I que puede producir como
valor entrada E (probando todas las claves) y por el otro lado
se obtiene el conjunto de posibles valores I que pueden
producir como valor de salida S (probando todas las claves).
Si entre estos dos conjuntos de posibles valores de I,
encontramos un valor que está en ambos, entonces Si hacemos directamente un ataque por fuerza bruta probando
probablemente hayamos encontrado las claves correctas. Para con todas las posibles combinaciones de la clave hasta dar con
verificar que las claves son las correctas habría que probar con aquellas que a partir de x produce y, tenemos que probar como
otros valores de E y S y comprobar que los resultados máximo 22n posibilidades (las posibles claves).
coinciden.
Observar que en un sistema de cifrado simétrico por bloques
Observar que el ataque meet-in-the-middle es un claro invertir la función consiste en descifrar y para descifrar se usa
ejemplo de algoritmo que reduce el tiempo de ejecución a la misma clave que para descifrar. Por tanto, conocido el
costa de tener más necesidades de memoria (hay que algoritmo de cifrado es inmediato conocer el algoritmo de
almacenar los valores resultado de probar con todos las descifrado.
posibles claves del proceso A). Es una situación de Si hacemos un ataque meet-in-the-middle podemos realizar
compromiso espacio-tiempo. menos comprobaciones. Si primero atacamos por fuerza bruta
el cifrado de la izquierda, tenemos que comprobar 2n claves.
Este conjunto de valores hay que guardarlos en una tabla. Si
ahora operamos con el cifrado de la derecha realizamos otras
2n y según vamos obteniendo los valores comprobamos si
 cada valor está en la tabla previa almacenado. Los valores que
2

están en ambos conjuntos corresponden con posibles claves


correctas del sistema (habrá que volver a verificar cual es la
correcta en un test posterior con nuevos valores de entrada y
salida). Por tanto, podemos obtener la clave del sistema
haciendo 2n+ 2n= 2n+1 operaciones en lugar de las 22n si
operaramos directamente. Por tanto, se mejora mucho la
complejidad computacional. Observar que estamos ignorando
las múltiples comprobaciones y búsquedas que hay que hacer
sobre si un valor obtenido en la segunda fase está entre los
valores almacenados en la primera fase. Sin embargo, el coste
adicional de computación y el incremento en las necesidades
de almacenamiento (la tabla con los primeros 2n valores
obtenidos) es compensado con mucho por la reducción en la
complejidad computacional del procedimiento de ataque.

Cabe preguntarse, ¿Qué probabilidad hay de que valores que


coinciden en el punto medio no sean soluciones que realmente
se corresponden con la solución correcta? y por tanto ¿Una
vez encontrada una solución es 'muy' necesario encontrar
todas las restantes? Es decir, hay que medir los falsos
positivos producidos por claves falsas. Para ello podemos
apoyarnos en el siguiente Teorema:[3]

Sea un cifrado simétrico por bloques con una longitud de


clave de k bits, un tamaño de bloque de n bits y con t pares de
valores (texto plano, texto cifrado). En este caso el número
esperado de claves falsas en las cuales el texto plano se
corresponde con un texto cifrado dado es 2^{k-tn}.
Aplicando este teorema a un doble cifrado con DES
obtenemos que el número claves falsas es 2^ {80-2*64} =2^
{-48}. Este valor es muy pequeño y por tanto es factible el uso
de ataques meet-in-the-middle. Si en lugar de doble cifrado
usamos triple cifrado la probabilidad se reduce aún más.
Por el uso de este tipo de ataques no se debería usar doble
cifrados. Este tipo de ataque se puede anular haciendo triple
cifrado en lugar de doble cifrado. Por esta razón es por
ejemplo mucho más común el algoritmo de cifrado triple DES
que el doble DES.[1]

REFERENCES
[1] Diffie, W. y Hellman, M. y W. y H. Diffie, «Exhaustive Cryptanalysis
of the NBS Data Encryption Standard», Computer, vol. 10, n.o 6, p.
nbsp;pp. & nbsp;74-84, jun. 1977.

También podría gustarte