1. Outline
Cifrado en Bloque
Modos de operaci´on
AES
CIFRADO EN BLOQUE
Juan Manuel Garc´ıa Garc´ıa
2 de septiembre de 2010
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
2. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Cifrado en Bloque
Definiciones
Modos de operaci´on
ECB
CBC
PCBC
CFB
OFB
CTR
AES
Operaci´on del AES
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
3. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Definiciones
Definiciones
1. Cifrado en bloque: Cifrado de clave sim´etrica que opera sobre
un grupo de bits de tama˜no fijo denominado bloque, con una
transformaci´on invariante.
2. Un algoritmo de cifrado en bloque tomar´ıa un bloque de 128
bits (por ejemplo) de texto plano y dar´ıa como salida el
correspondiente bloque cifrado de 128 bits.
3. La transformaci´on es controlada por la clave secreta.
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
4. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Definiciones
◮ Un algoritmo de cifrado en bloque consiste de dos algoritmos,
uno de cifrado Ek y uno de descifrado E−1
k , que est´an
parametrizados por la clave k y que son mutuamente inversos:
◮ Ek (M) = C
◮ E−1
k (C) = M
◮ Para cada clave k, Ek es una permutaci´on sobre el conjunto
de todos los posibles bloques de entrada. Una clave determina
una permutaci´on entre las 2n! posibles.
◮ Si los datos son mayores a la longitud del bloque, se utiliza un
modo de operaci´on.
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
20. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Advanced Encryption Standard
1. Cifrado de clave sim´etrica adoptado como est´andar por el
gobierno de los EU.
2. Publicado por el NIST como el FIPS-197, el 26 de noviembre
de 2001.
3. AES est´a basado en el cifrado Rijndael.
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
21. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Operaci´on del AES
◮ AES tiene un tama˜no de bloque fijo de 128 bits y un tama˜no
de clave de 128, 192 o 256 bits. (Rijndael permite especificar
tama˜nos de bloque y de clave, en m´ultiplos de 32, con un
m´ınimo de 128 bits.)
◮ AES opera sobre un arreglo de 4 × 4 bytes, al que se
denomina el estado.
◮ AES cifra los datos mediante un n´umero de rondas de
transformaci´on. Cada ronda consiste en varios pasos de
procesamiento, incluyendo uno que depende de una clave de
ronda.
◮ Para descifrar se aplican las rondas en sentido inverso
utilizando la misma clave.
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
22. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Descripci´on del algoritmo
◮ Expansi´on de clave. Se derivan las claves de ronda.
◮ Ronda inicial:
1. AddRoundKey - Cada byte del estado es combinado con la
clave de ronda usando XOR.
◮ Rondas:
1. SubBytes - Substituci´on no lineal donde cada byte es
substituido por otro de acuerdo a una tabla.
2. ShiftRows - Trasposici´on donde cada fila del estado es
desplazada c´ıclicamente un cierto n´umero de pasos.
3. MixColumns - Una operaci´on de mezcla que opera sobre las
columnas del estado, combinando cuatro bytes de cada
columna.
4. AddRoundKey
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
23. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
◮ Ronda final:
1. SubBytes
2. ShiftRows
3. AddRoundKey
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
28. Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Ejercicios:
1. Implementar el modo PCBC del AES.
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE