Download - Encriptación AES
![Page 1: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/1.jpg)
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
Algoritmo de encriptación AES
Ing. Gizumi Lavilla Quispe
![Page 2: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/2.jpg)
¿Qué es AES?
![Page 3: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/3.jpg)
• 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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/4.jpg)
¿Como funciona el cifrado AES?
![Page 5: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/8.jpg)
Algoritmo AES
![Page 9: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/9.jpg)
![Page 10: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/15.jpg)
• 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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/17.jpg)
09 CF
CF 4F
4F 3C
3C 09
1.- Rotword
![Page 18: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/20.jpg)
• 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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/21.jpg)
¿Qué tan seguro es AES?
![Page 22: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/22.jpg)
• 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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/23.jpg)
¿Qué necesitamos para poder
romper AES?• ¡SER INMORTALES!
![Page 24: Encriptación AES](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/24.jpg)
•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](https://reader036.vdocuments.net/reader036/viewer/2022062313/563dbb4a550346aa9aabec69/html5/thumbnails/25.jpg)