Anda di halaman 1dari 29

Universidad Tecnolgica de Panam

Facultad de Ingeniera en Sistemas Computacionales


Licenciatura en Redes Informticas
Seguridad y Privacidad I
Algoritmo AES
Elaborado Por:
Vinda, Elvis
Qu es AES?
Es un algoritmo de cifrado simtrico.
Fue desarrollado por: Joan Daemen y Vincent Rijmen, ambos de origen
belga.
Se desarrollo bajo el nombre de: Rijndael (pronunciado "Rain Doll" en
ingls).
Se transform en un estndar efectivo el 26 de mayo de 2002.
Desde 2006, el AES es uno de los algoritmos ms populares usados en
criptografa simtrica.
Qu tan seguro es
AES?
Tiene un solo ataque exitoso
registrado en el 2011.
No es vulnerable al criptoanlisis
diferencial y lineal.
Es necesaria una gran cantidad de
textos encriptados y gran
procesamiento para su anlisis.
Como fue el Ataque?
Quin 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).
Cmo lo hicieron?
R/: La informacin 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.

Qu necesitamos
para poder romper
AES?
SER INMORTALES!
Segn investigadores:
Un billn de ordenadores.
Que cada uno pueda probar mil millones de claves por
segundo.
Y unos 2000 millones de aos para dar con un AES-128.
NOTA: hay que tener en cuenta que las mquinas actuales slo
pueden probar 10 millones de claves por segundo.

Otros Avances!
Un equipo de criptlogos de la Universidad de Luxemburgo ha realizado
importantes avances tericos en los ataques a los estndares de cifrado
AES-192 y AES-256. En su publicacin, Alex Biryukov y Dmitry Khovratovich
describen cmo romper una clave AES-256 y una clave AES-192 bajo ciertas
circunstancias.
Este ataque a AES es el primer criptoanlisis que completa los 14 pasos del
proceso. Las investigaciones anteriores se haban 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.
Segn explica Christian Rechberger, criptlogo de la Universidad de Graz.
Un atacante podra conseguir el control parcial del proceso de generacin de
la clave slo bajo raras circunstancias, por ejemplo, en hardware de
encriptacin de baja calidad.

De momento, estos ataques no tienen una importancia prctica para la seguridad del cifrado de datos AES.
Cmo cifra AES?
Su cifrado se basa en matriz de estado.
Tiene tamaos de: 128, 192 y256 bits de largo.
Se realiza con el operador exclusive or (XOR).
Su operacin se conoce como: "AddRoundKey.
Como funciona el
cifrado AES?
Cifrado Bsico
1 ~ gran idea: confusin

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 relacin
entre tu mensaje real y tu mensaje
cifrado. Un ejemplo de esta
confusin es el viejo y fiel Cifrado
del Csar:

2 ~ gran idea: difusin
Es tambin una buena idea
esparcir el mensaje. Un ejemplo de
esta difusin sera una simple
transposicin de columnas.

3 gran idea: slo la clave es secreta
Despus de miles de aos, hemos aprendido que
es una mala idea asumir que nadie terminar por
conocer cmo funciona tu mtodo. 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 iniciar usando una tcnica 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
operacin llama Rotword, que consiste en realizar una rotacin del primer
byte hacia el ltimo lugar en la columna.
09 CF
CF

4F
4F 3C
3C 09
Para obtener la transformacin 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
despus de la
transformacin
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 operacin 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
Las otras columnas son ms fciles. 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 nmero de repeticiones
depende del tamao de la clave
Para ocultar la relacin de cada byte, se usa la transformacin 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 transformacin 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 nmero de rondas, siempre implica varios compromisos.
La seguridad siempre implica un coste en
rendimiento.
-Vicent Rijmen-

Anda mungkin juga menyukai