Sie sind auf Seite 1von 11

CRIPTOGRAFA

Proyecto: Criptoanlisis Diferencial sobre algoritmo


DES
SEMESTRE 2015-II
El Criptoanlisis fue llevado a cabo con las cajas S3 y S4 del algoritmo DES

Ftima Rodrguez Giles


03 de Junio 2015

CRIPTOANLISIS DIFERENCIAL SOBRE


ALGORITMO DES

OBJETIVO:
Obtener diferencias de entrada y conjunto de posibles subclaves antes de la caja S3 y S4 para el
texto plano dado.

DESARROLLO
1. En la siguiente tabla observamos el texto plano y el texto cifrado para hacer un criptoanlisis
por texto plano elegido. Lo primero, ser separarlos en bloques de 6 bits (texto plano) y 4
bits (texto cifrado), ya que el algoritmo DES est basado en una red Feistel, que trabaja con
bloques de 6 bits antes de las cajas S.

Con lo cual, tenemos:

CAJA S3
Texto plano despus de aplicar la tabla E:
M1
110010

M2
000100

M3
111110

M4
000000

Texto cifrado despus de aplicar la caja S3 y antes de aplicar la tabla P:


C1
1111

C2
0000

C3
1100

C4
1101

M3
001101

M4
001111

CAJA S4
Texto plano despus de aplicar la tabla E:
M1
001011

M2
011100

Texto cifrado despus de aplicar la caja S4 y antes de aplicar la tabla P:


C1
1001

C2
0000

C3
1011

C4
0101

2. Buscar las diferencias de entrada con las parejas de texto plano, primero M1 y M2:
= 12 = 110010 000100 = 110110
Se obtienen todas las posibles salidas para C1 = 1111 y C2 = 0000

Las entradas que arrojan como salida C1 = 1111 son:


101010

001100

110011

011101

Las entradas que arrojan como salida C2 = 00000 son:


000010

000101

100111

101110

3. El siguiente paso se realiz manualmente, es la confrontacin de cada posible salida de C1


con cada posible salida de C2, de modo que:

101010 001100 = 001000


101010 000101 = 101111
101010 100111 = 001101
101010 101110 = 000100

001100 001100 = 001110


001100 000101 = 001001
001100 100111 = 101011
001100 101110 = 100010

110011 001100 = 110001


=
110011 100111 = 010100
110011 101110 = 011101

011101 001100 = 011111


011101 000101 = 011000
011101 100111 = 111010
011101 101110 = 110011
4. Encontramos una coincidencia para la diferencia de entrada = 110110, con lo cual,
procedemos a aplicar una XOR con la pareja 111001 y 001111 y los mensajes de texto plano
M1 y M2:
110011 110010 = 000001 (M1)
001101 000100 = 110111 (M2)
110011 000100 = 110111 (M2)
001101 110010 = 000001 (M1)

Se observa que hay dos posibles parejas de cifrado, K1 = 000001 y K2 = 110111, para descartar
alguna de ellas, se procede analizar la siguiente pareja de mensajes:
= 34 = 111110 000000 = 111110

Se obtienen todas las posibles salidas para C3 = 1100 y C4 = 1101

Las entradas que arrojan como salida C3 = 1100 son:


010100

110110

011001

111111

Las entradas que arrojan como salida C4 = 1101 son:


000001

100000

100101

010010

5. El clculo diferencial es:


010100 000001 = 010101
010100 100000 = 110100
010100 100101 = 110001
010100 010010 = 000110

110110 000001 = 110111


110110 100000 = 010110
110110 100101 = 010010
110110 010010 = 100100

011001 000001 = 011001


011001 100000 = 111001
011001 100101 = 111100

011001 010010 = 001011

=
111111 100000 = 011111
111111 100101 = 011010
111111 010010 = 101101

6. Haciendo el proceso anterior, para la coincidencia encontrada, tratamos de recuperar las


posibles subclaves mediante:
111111 111110 = 000001 (M3)
111111 000000 = 111111(M4)
000001 111110 = 111111(M3)
000001 000000 = 000001(M4)

Observamos que se repiten dos posibles subclaves ms K3 = 000001 y K4 = 111111, por lo cual,
despus de dos pruebas, se deduce que el conjunto de posibles subclaves son:

= {, , , }

Analizaremos la siguiente porcin del mensaje para verificar cul de estas subclaves es la subclave
exacta:
Texto plano despus de aplicar la tabla E:
M1
001011

M2
011100

M3
001101

M4
001111

Texto cifrado despus de aplicar la caja S4 y antes de aplicar la tabla P:


C1
1001

C2
0000

C3
1011

C4
0101

1. Con ayuda de la caja S4, verificamos las posibles salidas para C1 = 1001 y C2 = 0000, siendo
la diferencial de entrada:
12 = 001011011100 = 010111 =

Las entradas que arrojan como salida C1 = 1001 son:


100100

001100

110001

011111

Las entradas que arrojan como salida C2 = 0000 son:


100101

100110

001000

001101

2. Haciendo el anlisis diferencial para cada una contra la otra:


100100 100101 = 000001
100100 100110 = 000010
100100 001000 = 101100
100100 001101 = 101001

100110 100101 = 101001


100110 100110 = 101010
100110 001000 = 000100
100110 001101 = 000001

001000 100101 = 010110


=
001000 001000 = 111001
001000 001101 = 111100

001101 100101 = 111010


001101 100110 = 111001
=
001101 001101 = 010010

3. Observamos que hay dos coincidencia con la diferencial de entrada:


001101001011 = 111010(M1)
001101011100 = 101101(M2)
100110001011 = 101101(M1)
100110011100 = 111010(M2)
011111001011 = 010100(M1)
011111011100 = 000011(M2)
001000001011 = 000011(M1)
001000011100 = 010100(M1)
Con la inclusin de estas nuevas subclaves posibles, el conjunto de subclaves se ampla a:
= {, , , , , , }
4. Por ltimo, procedemos a analizar la pareja de texto M3 Y M4 con su correspondiente
cifrado C3 Y C4, obteniendo primero la diferencia de entrada:

4 = 001101001111 = 000010 =

5. Verificando todas las salidas que de cmo resultado C3 = 1011 y C4 = 0101

Las entradas que arrojan como salida C3 = 1011 son:


000101

101010

110111

011000

Las entradas que arrojan como salida C4 = 0101 son:


000111

110101

010110

111000

6. Haciendo el anlisis diferencial para todas las entradas:

=
000101 110101 = 110000
000101 010110 = 010111
000101 111000 = 111101

101010 000111 = 101101


101010 110101 = 011111
101010 010110 = 111100

101010 111000 = 010010

110111 000111 = 110000


=
110111 010110 = 100001
110111 111000 = 001111

011000 000111 = 011111


011000 110101 = 101101
011000 010110 = 001110
011000 111000 = 100000

7. Encontramos dos coincidencia con la diferencia de entrada entre M3 Y M4, por lo cual,
procedemos a verificar las claves posibles aplicando una XOR a los textos planos:
000101 001101 = 001000 (M3)
000101 001111 = 001010(M4)

000111 001101 = 001010(M3)


000111 001111 = 001000(M4)

110111 001101 = 111010 (M3)


110111 001111 = 111010(M4)

110101 001101 = 111010(M3)


110101 001111 = 001010(M4)

Observamos que el conjunto de posibles subclaves, se ha incrementado an ms:

= {, , , , , , , , , , }

Sin embargo, dada la aparicin de cada subclave posible a lo largo del anlisis, podemos
determinar que, las subclaves con mayor ocurrencia (4 ocasiones) en dos pruebas, pueden
contener la posible subclave exacta, estas son:

= {, }

Que sera el conjunto de posibles subclaves.

Das könnte Ihnen auch gefallen