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
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
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
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
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
ECB
CBC
PCBC
CFB
OFB
CTR
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
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
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
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
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
Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
Outline
Cifrado en Bloque
Modos de operaci´on
AES
Operaci´on del AES
Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
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

Capítulo 4: Cifrado en Bloque

  • 1.
    Outline Cifrado en Bloque Modosde 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 Modosde 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 Modosde 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 Modosde 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
  • 5.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 6.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 7.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 8.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 9.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 10.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 11.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 12.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 13.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 14.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 15.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 16.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 17.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 18.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 19.
    Outline Cifrado en Bloque Modosde operaci´on AES ECB CBC PCBC CFB OFB CTR Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 20.
    Outline Cifrado en Bloque Modosde 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 Modosde 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 Modosde 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 Modosde operaci´on AES Operaci´on del AES ◮ Ronda final: 1. SubBytes 2. ShiftRows 3. AddRoundKey Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 24.
    Outline Cifrado en Bloque Modosde operaci´on AES Operaci´on del AES Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 25.
    Outline Cifrado en Bloque Modosde operaci´on AES Operaci´on del AES Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 26.
    Outline Cifrado en Bloque Modosde operaci´on AES Operaci´on del AES Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 27.
    Outline Cifrado en Bloque Modosde operaci´on AES Operaci´on del AES Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE
  • 28.
    Outline Cifrado en Bloque Modosde operaci´on AES Operaci´on del AES Ejercicios: 1. Implementar el modo PCBC del AES. Juan Manuel Garc´ıa Garc´ıa CIFRADO EN BLOQUE