Está en la página 1de 2

Criptografı́a Examen AES+DES

Jonathan Góngora Sánchez


16 de noviembre de 2015

Problema: Una palabra del texto plano de dos letras es escrito como una pareja de cadenas
de 6 bits vı́a la biyección

a ↔ 000000
b ↔ 000001
..
.
z ↔ 011001.

Usando la llave 100101011, dos rondas completas del DES son hechas en el texto plano, entonces
esos dos bytes son invertidos en el campo de Rijndael. El texto cifrado obtenido es

01011000 10110000.
Halla el texto claro.

Solución: Primero invertimos. Tomamos los dos bytes y obtenemos sus polinomios corres-
pondientes:

01011000 ↔ x6 + x4 + x3 ,
10110000 ↔ x7 + x5 + x4 .

Ahora, usando el comando xgcd en Sage, el cual efectua el Algoritmo de Euclides Extendido:

(x6 + x4 + x3 )−1 ≡ x4 + x3 (mód x8 + x4 + x3 + x + 1),


(x7 + x5 + x4 )−1 ≡ x3 + x2 (mód x8 + x4 + x3 + x + 1).

Donde m(x) = x8 + x4 + x3 + x + 1 es el polinomio de Rijndael. De aquı́

x4 + x3 ↔ 00011000,
3 2
x +x ↔ 00001100.

Luego quitamos los dos primeros ceros de ambos bytes para obtenemos dos cadenas de 6 bits:

011000 001100.
Enseguida, decifraremos con DES. Es como encriptar pero de izquierda a derecha y usando la llave
en orden inverso. Según la instrucción, debemos hacer dos rondas, vamos por la primera: Sea

L2 = 001100 y R2 = 011000
Siguiendo el algoritmo

L1 = R2 , K2 = 00101011
Despreciando el primer bit de la llave. Aplicamos la función de expansión E, el resultados lo
sumamos XOR a K2 y este valor lo pasamos por la S-caja

1
S(E(R2 ) ⊕ K2 ) = S(01010100 ⊕ 00101011)
= S(01111111)
= 000100

Este valor, al que llamaremos T2 , lo sumaremos a L2 para obtener R1

R1 = L2 ⊕ T2
= 001100 ⊕ 000100
= 001000

Y de la primera ronda obtenemos.

L1 R1 = 011000 001000
Ahora vamos por la segunda ronda. Con el mismo procedimiento tenemos primero que

L0 = R1 , K1 = 10010101
Y ahora

R0 = L1 ⊕ S(E(R1 ) ⊕ K1 )
= 011000 ⊕ S(E(001000) ⊕ 10010101)
= 011000 ⊕ S(00010100 ⊕ 10010101)
= 011000 ⊕ S(10000001)
= 011000 ⊕ 001000
= 010000.

Finalmente, tenemos que L0 R0 = 001000 010000 y de la segunda ronda obtenemos el texto plano

010000 001000
El cual corresponde a la sı́laba qi.

También podría gustarte