DES-CBC: Dos bloques de texto cifrado c2 y c5 son iguales. ¿Por qué esta fuga de información?

1

Aquí, supongamos que pudiéramos observar el texto cifrado que sabemos que se había cifrado en el modo CBC, entonces, ¿cómo conocer los bloques de texto cifrado c2 y c5 filtraría información?

Mi profesor nos preguntó en la clase y nos dijo que lo pensáramos y nos dio una pista: ¿qué pasaría si supiéramos uno de los bloques de texto sin formato m2?

    
pregunta Harshal Carpenter 30.01.2015 - 07:10
fuente

1 respuesta

2

Pensemos en esto:

Ek = cifra "E" con clave "k"

M # = bloque de mensaje de texto simple "M" número "#"

C # = Bloque de texto cifrado "C" número "#"

El modo CBC es:

Cx = Ek (Mx XOR Cx-1), o en inglés: para obtener el texto cifrado para el número de bloque actual, realice el cifrado codificado del valor obtenido tomando el bloque de mensaje de texto simple del mismo número, y Xor'ing que contra el bloque de texto cifrado numerado anterior. Esa es la definición de CBC.

Entonces, si tiene una serie de bloques codificados CBC, y se da cuenta de que C2 y C5 son el mismo texto cifrado (es decir, C2 = C5), ya sabe:

C2 = Ek (M2 XOR C1)

C5 = Ek (M5 XOR C4)

Y como C2 = C5, eso significa:

Ek (M2 XOR C1) = Ek (M5 XOR C4)

Por el poder de las matemáticas, eso significa más importante que TAMBIÉN sabes:

AHA !:

(M2 XOR M5) = (C1 XOR C4)

Como ha estado observando los textos cifrados, no solo sabe que C2 es igual a C5, sino que también ha capturado C1 y C4 en sus observaciones.

Entonces calculas (C1 XOR C4) y tienes un valor, lo que significa que tienes un número real y no una variable en el lado derecho de la ecuación marcada "AHA !!".

Ese valor es igual a (M2 XOR M5), como se indicó anteriormente.

Por lo tanto, bajo tu hipótesis, donde tu profesor dice que TAMBIÉN conoces M2 de texto plano, puedes conectarlo en el lado izquierdo y resolverlo.

Sabes que tu M2 XOR'd conocido contra tu M5 aún desconocido es igual al valor conocido que calculaste al tomar el XOR de C1 y C4.

Volver a lo básico. La magia de XOR es esta:

Si A XOR B = C, entonces B XOR C = A, y A XOR C = B

Así es como funcionan las matrices de discos RAID con tres discos, por cierto.

Resultado: los textos cifrados duplicados en CBC combinados con un texto claro conocido correspondiente a uno de los bloques le permiten calcular el texto simple del otro bloque de texto cifrado correspondiente.

    
respondido por el boggart 31.01.2015 - 06:21
fuente

Lea otras preguntas en las etiquetas