Encriptación AES

25
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO Algoritmo de encriptación AES Ing. Gizumi Lavilla Quispe

description

seguridad

Transcript of Encriptación AES

Page 1: Encriptación AES

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

Algoritmo de encriptación AES

Ing. Gizumi Lavilla Quispe

Page 2: Encriptación AES

¿Qué es AES?

Page 3: Encriptación 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 “Reindal" en belga).

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

Advanced Encryption Standar

Page 4: Encriptación AES

¿Como funciona el cifrado AES?

Page 5: Encriptación 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 6: Encriptación 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 7: Encriptación 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 8: Encriptación AES

Algoritmo AES

Page 9: Encriptación AES
Page 10: Encriptación 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 11: Encriptación AES

Estado       Clave inicial       Siguiente Estado

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

AddRounKey

Page 12: Encriptación AES

19 A0 9A E9 D4 E0 B8 1E

3D F4 C6 F8 27 BF B4 41

E3 E2 8D 48 11 98 5D 52

BE 2B 2A 08 AE F1 E0 30

SBOX

Tabla S-BOX

0 1 2 3 4 5 6 7 8 9 A B C D E F

 0   63   7C   77   7B   F2   6B   6F   C5   30   01   67   2B   FE   D7   AB   76 

 1   CA   82   C9   7D   FA   59   47   F0   AD   D4   A2   AF   9C   A4   72   C0 

 2   B7   FD   93   26   36   3F   F7   CC   34   A5   E5   F1   71   D8   31   15 

 3   04   C7   23   C3   18   96   05   9A   07   12   80   E2   EB   27   B2   75 

 4   09   83   2C   1A   1B   6E   5A   A0   52   3B   D6   B3   29   E3   2F   84 

 5   53   D1   00   ED   20   FC   B1   5B   6A   CB   BE   39   4A   4C   58   CF 

 6   D0   EF   AA   FB   43   4D   33   85   45   F9   02   7F   50   3C   9F   A8 

 7   51   A3   40   8F   92   9D   38   F5   BC   B6   DA   21   10   FF   F3   D2 

 8   CD   0C   13   EC   5F   97   44   17   C4   A7   7E   3D   64   5D   19   73 

 9   60   81   4F   DC   22   2A   90   88   46   EE   B8   14   DE   5E   0B   DB 

 A   E0   32   3A   0A   49   06   24   5C   C2   D3   AC   62   91   95   E4   79 

 B   E7   C8   37   6D   8D   D5   4E   A9   6C   56   F4   EA   65   7A   AE   08 

 C   BA   78   25   2E   1C   A6   B4   C6   E8   DD   74   1F   4B   BD   8B   8A 

 D   70   3E   B5   66   48   03   F6   0E   61   35   57   B9   86   C1   1D   9E 

 E   E1   F8   98   11   69   D9   8E   94   9B   1E   87   E9   CE   55   28   DF 

 F   8C   A1   89   0D   BF   E6   42   68   41   99   2D   0F   B0   54   BB   16

SubBytes

Page 13: Encriptación AES

      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  

Shift Rows

Page 14: Encriptación AES

02 03 01 01

X

D4

=

04      

01 02 03 01 BF 66      

01 01 02 03 5D 81      

03 01 01 02 30 E5      

Mix Columns

Page 15: Encriptación AES

• Al final de cada ronda, se aplica un XOR (AddRounKey), a la clave resultante en base 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.

Page 16: Encriptación AES

Clave de 128 bits

2B 28 AB 09

7E AE F7 CF

15 D2 15 4F

16 A6 88 3C

Generación de Subclaves en las iteraciones

Page 17: Encriptación AES

09   CF

CF 4F

4F 3C

3C   09

1.- Rotword

Page 18: Encriptación AES

CF   8A

4F 84

3C EB

09   01

2.- SubBytes

0 1 2 3 4 5 6 7 8 9 A B C D E F

 0   63   7C   77   7B   F2   6B   6F   C5   30   01   67   2B   FE   D7   AB   76 

 1   CA   82   C9   7D   FA   59   47   F0   AD   D4   A2   AF   9C   A4   72   C0 

 2   B7   FD   93   26   36   3F   F7   CC   34   A5   E5   F1   71   D8   31   15 

 3   04   C7   23   C3   18   96   05   9A   07   12   80   E2   EB   27   B2   75 

 4   09   83   2C   1A   1B   6E   5A   A0   52   3B   D6   B3   29   E3   2F   84 

 5   53   D1   00   ED   20   FC   B1   5B   6A   CB   BE   39   4A   4C   58   CF 

 6   D0   EF   AA   FB   43   4D   33   85   45   F9   02   7F   50   3C   9F   A8 

 7   51   A3   40   8F   92   9D   38   F5   BC   B6   DA   21   10   FF   F3   D2 

 8   CD   0C   13   EC   5F   97   44   17   C4   A7   7E   3D   64   5D   19   73 

 9   60   81   4F   DC   22   2A   90   88   46   EE   B8   14   DE   5E   0B   DB 

 A   E0   32   3A   0A   49   06   24   5C   C2   D3   AC   62   91   95   E4   79 

 B   E7   C8   37   6D   8D   D5   4E   A9   6C   56   F4   EA   65   7A   AE   08 

 C   BA   78   25   2E   1C   A6   B4   C6   E8   DD   74   1F   4B   BD   8B   8A 

 D   70   3E   B5   66   48   03   F6   0E   61   35   57   B9   86   C1   1D   9E 

 E   E1   F8   98   11   69   D9   8E   94   9B   1E   87   E9   CE   55   28   DF 

 F   8C   A1   89   0D   BF   E6   42   68   41   99   2D   0F   B0   54   BB   16

SBOX

Page 19: Encriptación AES

RCON (Constante de Ronda) 

01 02 04 08 10 20 40 80 1B 36

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

Primera Columna

2B   8A   01   A0

7E XOR

84XOR 

00=

FA

15 EB 00 FE

16   1   00   17

3.- XOR con RCON (1era Columna)

2B 28 AB 09

7E AE F7 CF

15 D2 15 4F

16 A6 88 3C

Clave Original

Page 20: Encriptación 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

AEXOR 

FA=

54

D2 FE 2C

A6   17   B1

Clave de la nueva ronda

A0 88 23 2A

FA 54 A3 6C

FE 2C 39 76

17 B1 39 05

2B 28 AB 09

7E AE F7 CF

15 D2 15 4F

16 A6 88 3C

Clave Original

Segunda Columna

Page 21: Encriptación AES

¿Qué tan seguro es AES?

Page 22: Encriptación 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 23: Encriptación AES

¿Qué necesitamos para poder

romper AES?• ¡SER INMORTALES!

Page 24: Encriptación 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 25: Encriptación AES