Universidad Latina de Panamá
Materia: Criptografía Aplicada
Algoritmo AES
Elaborado Por:
Emilio Batista Him
aplicaciones
¿Qué es AES?
 Es un algoritmo de cifrado simétrico.
 Fue desarrollado por: Joan Daemen y Vincent Rijmen, ambos de
origen belga.
 Se desarrollo bajo el nombre de: Rijndael (pronunciado "Rain
Doll" en inglés).
 Se transformó en un estándar efectivo el 26 de mayo de 2002.
 Desde 2006, el AES es uno de los algoritmos más populares
usados en criptografía simétrica.
¿Qué tan seguro es
AES?
 Tiene un solo ataque exitoso registrado en el
2011.
 No es vulnerable al criptoanálisis diferencial y
lineal.
 Es necesaria una gran cantidad de textos
encriptados y gran procesamiento para su
análisis.
http://muyseguridad.net/2011/08/19/investigadores-consiguen-romper-
el-cifrado-aes/
Preguntas: ¿Como fue el Ataque?
 ¿Quién realizo el ataque ?
R/: Un grupo de investigadores de Microsoft y de la Dutch
Katholieke Universiteit Leuven.
 ¿Qué sistemas de AES atacaron 128/256?
R/:Atacaron el sistema de 128 bits (AES-128).
 ¿Cómo lo hicieron o que método utilizaron?
R/: La información detallada del ataque no es visible.
 ¿El ataque fue real? un cuento o /especulación?
R/: Los creadores del metodo AES, Joan Daemen yVincent
Rijmen, han reconocido la validez del ataque.
¿Qué necesitamos para poder
romper AES ?
 Habilidad, la curiosidad, la creatividad & todo lo
que tu mente creativa, pueda pensar y realizar
Según los investigadores:
 Un billón de ordenadores.
 Que cada uno pueda probar mil millones de claves por
segundo.
 Y unos 2000 millones de años para dar con un AES-128.
Nota a considerar:
hay que tener en cuenta que las máquinas actuales sólo pueden
probar 10 millones de claves por segundo.
¡Otros Avances!
 Equipo de criptólogos de la Universidad de Luxemburgo ha realizado importantes
avances teóricos en los ataques a los estándares de cifrado AES-192 y AES-256. En su
publicación, Alex Biryukov y Dmitry Khovratovich describen cómo romper una clave
AES-256 y una clave AES-192 bajo ciertas circunstancias & condiciones.
 Este ataque a AES es el primer criptoanálisis que completa los 14 pasos del proceso. Las
investigaciones anteriores se habían restringido a un AES reducido de 10 ciclos. Los
nuevos ataques se han basado en el avance en el campo de la rotura de funciones hash.
 Según manifiesta Christian Rechberger, criptólogo de la Universidad de Graz. Un
atacante podría conseguir el control parcial del proceso de generación de la clave sólo
bajo raras circunstancias, por ejemplo, en hardware de encriptación de baja calidad.
• De momento, estos ataques no tienen una importancia práctica para la seguridad del cifrado de datos AES.
¿Cómo cifra AES?
 Su cifrado se basa en matriz de estado.
 Tiene tamaños de: 128, 192 y 256 bits de largo.
 Se realiza con el operador “exclusive or” (XOR).
 Su operación se conoce como: "AddRoundKey“.
¿Como funciona el
cifrado AES?
Cifrado Básico
1°Primera idea: confusión
en claro: A T T A C K A T D A W N
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
cifrado: D W W D F N D W G D Z Q
A + 3 letras = D
Es una buena idea ocultar la relación entre tu
mensaje real y tu mensaje “cifrado”. Un ejemplo
de esta confusión es el viejo y fiel “Cifrado del
César”:
2° segunda gran idea: difusión
 Es también una buena
idea esparcir el mensaje.
Un ejemplo de esta
“difusión” sería una
simple transposición de
columnas.
3°Tercera gran idea: sólo la clave es
secreta
 Después de miles de años, hemos aprendido que
es una mala idea asumir que nadie terminará por
conocer cómo funciona tu método. Al Final
siempre habrá alguien que lo termine sabiendo.
Cifrado AES
 AES es un algoritmo de cifrado por bloques, los datos se
dividen en segmento de 16 bytes (128 bits), y cada segmento
se puede ver como un bloque o matriz de 4x4 a la que se
llama estado.
AE 03 1F 2A 1E 3F 01 7A 21 04 CF 7A 1C 33 11 27
Bloque de 128 bits
AE 1E 21 1C
03 3F 04 33
1F 1 CF 11
2A 7A 7A 27
Matriz de Estado
 En la ronda inicial calculo una OR-Exclusiva (XOR) de
cada byte con el correspondiente de la clave para la
primera ronda.
Estado Clave inicial
32 88 31 E0 2B 28 AB 09 19 A0 9A E9
43 5A 31 37
X
O
R
7E AE F7 CF
=
3D F4 C6 F8
F6 30 98 7 15 D2 15 4F E3 E2 8D 48
A8 8D A2 34 16 A6 88 3C BE 2B 2A 08
AddRoundKey
 De ahí, necesito muchas claves para usarlas en
rondas posteriores. Derivo todas ellas a partir de la
clave inicial usando una técnica sencilla llamada
SubBytes.
Clave de 128 bits
2B 28 AB 09
7E AE F7 CF
15 D2 15 4F
16 A6 88 3C
 Para calcular la primera columna de la siguiente clave, se
aplica una operación llama Rotword, que consiste en
realizar una rotación del primer byte hacia el último lugar
en la columna.
09 CF
CF
→
4F
4F 3C
3C 09
 Para obtener la transformación S-Box de un byte se toman
los primeros 4 bits como el índice de la fila de la tabla y los
segundos 4 como índice de la columna de la tabla:
CF 8A
4F
→
84
3C EB
09 01
Resultado
después de la
transformación
S-Box
 Entonces, se hace XOR de la columna con una “Constante
de Ronda” (RCON) que es diferente para cada ronda.
RCON
01 02 04 08 10 20 40 80 1B 35
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
El resultado de esta operación será la primera columna de la siguiente clave:
2B 8A 01 A0
7E
XOR
84
XOR
00
=
FA
15 EB 00 FE
16 1 00 17
=a1
 Las otras columnas son más simples. Solamente se hace un
XOR de la columna anterior con la misma columna de la
clave de la ronda previa:
28 A0 88
AE
XOR
FA
=
54
D2 FE 2C
A6 17 B1
Clave de la primera ronda
A0 88 23 2A
FA 54 A3 6C
FE 2C 39 76
17 B1 39 05
 Luego, se empieza con las rondas intermedias. Una ronda es
simplemente una serie de pasos que se repite varias veces. El
número de repeticiones depende del tamaño de la clave
 Para ocultar la relación de cada byte, se usa la transformación S-BOX,
que lo traducirá a un byte diferente.
19 A0 9A E9 D4 E0 B8 1E
3D F4 C6 F8 SBOX 27 BF B4 41
E3 E2 8D 48 11 98 5D 52
BE 2B 2A 08 AE F1 E0 30
Luego desplazo las filas hacia la izquierda usando “Shift Rows”.
D4 E0 B8 1E
27 BF B4 41
11 98 5D 52
AE F1 E0 30
↓
D4 E0 B8 1E
BF B4 41 27
5D 52 11 98
30 AE F1 E0
 A cada columna del estado se le aplica una transformación lineal,
esto es multiplicarlo por una matriz predeterminada en el campo
GF.A este proceso se le conoce como MixColumns:
02 03 01 01 D4 04
01 02 03 01
X
BF
=
66
01 01 02 03 5D 81
03 01 01 02 30 E5
 Al final de cada ronda, se aplica un XOR, a la clave resultante,
con la primera clave de la ronda.
 En la ronda final, se salta el proceso de MixColumns, ya que
no incrementará la seguridad, solamente ralentiza el proceso.
 Determinar el número de rondas, siempre implica varios
compromisos.
 “La seguridad siempre implica un coste en
rendimiento.”
-Vicent Rijmen-
Aes tipo de encriptacion  ppt  utp

Aes tipo de encriptacion ppt utp

  • 1.
    Universidad Latina dePanamá Materia: Criptografía Aplicada Algoritmo AES Elaborado Por: Emilio Batista Him aplicaciones
  • 2.
  • 3.
     Es unalgoritmo de cifrado simétrico.  Fue desarrollado por: Joan Daemen y Vincent Rijmen, ambos de origen belga.  Se desarrollo bajo el nombre de: Rijndael (pronunciado "Rain Doll" en inglés).  Se transformó en un estándar efectivo el 26 de mayo de 2002.  Desde 2006, el AES es uno de los algoritmos más populares usados en criptografía simétrica.
  • 4.
  • 5.
     Tiene unsolo ataque exitoso registrado en el 2011.  No es vulnerable al criptoanálisis diferencial y lineal.  Es necesaria una gran cantidad de textos encriptados y gran procesamiento para su análisis. http://muyseguridad.net/2011/08/19/investigadores-consiguen-romper- el-cifrado-aes/
  • 6.
    Preguntas: ¿Como fueel Ataque?  ¿Quién realizo el ataque ? R/: Un grupo de investigadores de Microsoft y de la Dutch Katholieke Universiteit Leuven.  ¿Qué sistemas de AES atacaron 128/256? R/:Atacaron el sistema de 128 bits (AES-128).  ¿Cómo lo hicieron o que método utilizaron? R/: La información detallada del ataque no es visible.  ¿El ataque fue real? un cuento o /especulación? R/: Los creadores del metodo AES, Joan Daemen yVincent Rijmen, han reconocido la validez del ataque.
  • 7.
    ¿Qué necesitamos parapoder romper AES ?  Habilidad, la curiosidad, la creatividad & todo lo que tu mente creativa, pueda pensar y realizar
  • 8.
    Según los investigadores: Un billón de ordenadores.  Que cada uno pueda probar mil millones de claves por segundo.  Y unos 2000 millones de años para dar con un AES-128. Nota a considerar: hay que tener en cuenta que las máquinas actuales sólo pueden probar 10 millones de claves por segundo.
  • 9.
    ¡Otros Avances!  Equipode criptólogos de la Universidad de Luxemburgo ha realizado importantes avances teóricos en los ataques a los estándares de cifrado AES-192 y AES-256. En su publicación, Alex Biryukov y Dmitry Khovratovich describen cómo romper una clave AES-256 y una clave AES-192 bajo ciertas circunstancias & condiciones.  Este ataque a AES es el primer criptoanálisis que completa los 14 pasos del proceso. Las investigaciones anteriores se habían restringido a un AES reducido de 10 ciclos. Los nuevos ataques se han basado en el avance en el campo de la rotura de funciones hash.  Según manifiesta Christian Rechberger, criptólogo de la Universidad de Graz. Un atacante podría conseguir el control parcial del proceso de generación de la clave sólo bajo raras circunstancias, por ejemplo, en hardware de encriptación de baja calidad. • De momento, estos ataques no tienen una importancia práctica para la seguridad del cifrado de datos AES.
  • 10.
  • 11.
     Su cifradose basa en matriz de estado.  Tiene tamaños de: 128, 192 y 256 bits de largo.  Se realiza con el operador “exclusive or” (XOR).  Su operación se conoce como: "AddRoundKey“.
  • 12.
  • 13.
    Cifrado Básico 1°Primera idea:confusión en claro: A T T A C K A T D A W N ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ cifrado: D W W D F N D W G D Z Q A + 3 letras = D Es una buena idea ocultar la relación entre tu mensaje real y tu mensaje “cifrado”. Un ejemplo de esta confusión es el viejo y fiel “Cifrado del César”:
  • 14.
    2° segunda granidea: difusión  Es también una buena idea esparcir el mensaje. Un ejemplo de esta “difusión” sería una simple transposición de columnas.
  • 15.
    3°Tercera gran idea:sólo la clave es secreta  Después de miles de años, hemos aprendido que es una mala idea asumir que nadie terminará por conocer cómo funciona tu método. Al Final siempre habrá alguien que lo termine sabiendo.
  • 17.
    Cifrado AES  AESes un algoritmo de cifrado por bloques, los datos se dividen en segmento de 16 bytes (128 bits), y cada segmento se puede ver como un bloque o matriz de 4x4 a la que se llama estado. AE 03 1F 2A 1E 3F 01 7A 21 04 CF 7A 1C 33 11 27 Bloque de 128 bits AE 1E 21 1C 03 3F 04 33 1F 1 CF 11 2A 7A 7A 27 Matriz de Estado
  • 18.
     En laronda inicial calculo una OR-Exclusiva (XOR) de cada byte con el correspondiente de la clave para la primera ronda. Estado Clave inicial 32 88 31 E0 2B 28 AB 09 19 A0 9A E9 43 5A 31 37 X O R 7E AE F7 CF = 3D F4 C6 F8 F6 30 98 7 15 D2 15 4F E3 E2 8D 48 A8 8D A2 34 16 A6 88 3C BE 2B 2A 08 AddRoundKey
  • 19.
     De ahí,necesito muchas claves para usarlas en rondas posteriores. Derivo todas ellas a partir de la clave inicial usando una técnica sencilla llamada SubBytes. Clave de 128 bits 2B 28 AB 09 7E AE F7 CF 15 D2 15 4F 16 A6 88 3C
  • 20.
     Para calcularla primera columna de la siguiente clave, se aplica una operación llama Rotword, que consiste en realizar una rotación del primer byte hacia el último lugar en la columna. 09 CF CF → 4F 4F 3C 3C 09
  • 21.
     Para obtenerla transformación S-Box de un byte se toman los primeros 4 bits como el índice de la fila de la tabla y los segundos 4 como índice de la columna de la tabla: CF 8A 4F → 84 3C EB 09 01 Resultado después de la transformación S-Box
  • 22.
     Entonces, sehace XOR de la columna con una “Constante de Ronda” (RCON) que es diferente para cada ronda. RCON 01 02 04 08 10 20 40 80 1B 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 El resultado de esta operación será la primera columna de la siguiente clave: 2B 8A 01 A0 7E XOR 84 XOR 00 = FA 15 EB 00 FE 16 1 00 17 =a1
  • 23.
     Las otrascolumnas son más simples. Solamente se hace un XOR de la columna anterior con la misma columna de la clave de la ronda previa: 28 A0 88 AE XOR FA = 54 D2 FE 2C A6 17 B1 Clave de la primera ronda A0 88 23 2A FA 54 A3 6C FE 2C 39 76 17 B1 39 05
  • 24.
     Luego, seempieza con las rondas intermedias. Una ronda es simplemente una serie de pasos que se repite varias veces. El número de repeticiones depende del tamaño de la clave
  • 25.
     Para ocultarla relación de cada byte, se usa la transformación S-BOX, que lo traducirá a un byte diferente. 19 A0 9A E9 D4 E0 B8 1E 3D F4 C6 F8 SBOX 27 BF B4 41 E3 E2 8D 48 11 98 5D 52 BE 2B 2A 08 AE F1 E0 30 Luego desplazo las filas hacia la izquierda usando “Shift Rows”. D4 E0 B8 1E 27 BF B4 41 11 98 5D 52 AE F1 E0 30 ↓ D4 E0 B8 1E BF B4 41 27 5D 52 11 98 30 AE F1 E0
  • 26.
     A cadacolumna del estado se le aplica una transformación lineal, esto es multiplicarlo por una matriz predeterminada en el campo GF.A este proceso se le conoce como MixColumns: 02 03 01 01 D4 04 01 02 03 01 X BF = 66 01 01 02 03 5D 81 03 01 01 02 30 E5
  • 27.
     Al finalde cada ronda, se aplica un XOR, a la clave resultante, con la primera clave de la ronda.  En la ronda final, se salta el proceso de MixColumns, ya que no incrementará la seguridad, solamente ralentiza el proceso.  Determinar el número de rondas, siempre implica varios compromisos.
  • 28.
     “La seguridadsiempre implica un coste en rendimiento.” -Vicent Rijmen-