sencilla explicación sobre aes

29
Universidad Tecnológica de Panamá Facultad de Ingeniería en Sistemas Computacionales Licenciatura en Redes Informáticas Seguridad y Privacidad I Algoritmo AES Elaborado Por: Vinda, Elvis

Upload: elvis-vinda

Post on 29-Jun-2015

4.827 views

Category:

Technology


1 download

DESCRIPTION

una explicación muy básica sobre lo que es el cifrado AES para la gente desea introducirse en este mundo. ***Cualquier comentario es bienvenido para corregir***

TRANSCRIPT

Page 1: Sencilla explicación sobre AES

Universidad Tecnológica de Panamá

Facultad de Ingeniería en Sistemas Computacionales

Licenciatura en Redes Informáticas

Seguridad y Privacidad I

Algoritmo AESElaborado Por:

Vinda, Elvis

Page 2: Sencilla explicación sobre AES

¿Qué es AES?

Page 3: Sencilla explicación sobre 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.

Page 4: Sencilla explicación sobre AES

¿Qué tan seguro es AES?

Page 5: Sencilla explicación sobre 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.

Page 6: Sencilla explicación sobre AES

¿Como fue el Ataque?• ¿Quién lo realizo?

R/: Un grupo de investigadores de Microsoft y de la Dutch Katholieke Universiteit Leuven.

• ¿Qué sistemas de AES atacaron? R/: Atacaron el sistema de 128 bits (AES-128).

• ¿Cómo lo hicieron? R/: La información detallada del ataque no es visible.

• ¿Fue real? o ¿Solo un cuento? R/: Los creadores de AES, Joan Daemen y Vincent Rijmen, han reconocido la validez del ataque.

Page 7: Sencilla explicación sobre AES

¿Qué necesitamos para poder

romper AES?• ¡SER INMORTALES!

Page 8: Sencilla explicación sobre AES

•Según 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: hay que tener en cuenta que las máquinas actuales sólo pueden probar 10 millones de claves por segundo.

Page 9: Sencilla explicación sobre AES

¡Otros Avances!• Un 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.

• 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 explica 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.

Page 10: Sencilla explicación sobre AES

¿Cómo cifra AES?

Page 11: Sencilla explicación sobre AES

• Su cifrado se basa en matriz de estado.

• Tiene tamaños de: 128, 192 y256 bits de largo.

• Se realiza con el operador “exclusive or” (XOR).

• Su operación se conoce como: "AddRoundKey“.

Page 12: Sencilla explicación sobre AES

¿Como funciona el cifrado AES?

Page 13: Sencilla explicación sobre AES

Cifrado Básico1° ~ gran 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”:

Page 14: Sencilla explicación sobre AES

2° ~ 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.

Page 15: Sencilla explicación sobre AES

3° 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.

Page 16: Sencilla explicación sobre AES
Page 17: Sencilla explicación sobre AES

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

Page 18: Sencilla explicación sobre AES

• 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  

XOR 

  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

Page 19: Sencilla explicación sobre AES

• De ahí, necesito muchas claves para usarlas en rondas posteriores. Derivo todas ellas a partir de la clave iniciar 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

Page 20: Sencilla explicación sobre AES

• 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

Page 21: Sencilla explicación sobre AES

• 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

Page 22: Sencilla explicación sobre AES

• 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

84XOR 

00=

FA

15 EB 00 FE

16   1   00   17

Page 23: Sencilla explicación sobre AES

• Las otras columnas son más fáciles. 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

Page 24: Sencilla explicación sobre AES

• 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

Page 25: Sencilla explicación sobre AES

• 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  

Page 26: Sencilla explicación sobre AES

• 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 01X

BF=

66      

01 01 02 03 5D 81      

03 01 01 02   30   E5      

Page 27: Sencilla explicación sobre AES

• 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.

Page 28: Sencilla explicación sobre AES

• “La seguridad siempre implica un coste en rendimiento.”

-Vicent Rijmen-

Page 29: Sencilla explicación sobre AES