Sie sind auf Seite 1von 25

UNIVERSIDAD NACIONAL DE SAN

ANTONIO ABAD DEL CUSCO

Algoritmo de
encriptacin AES
Ing. Gizumi Lavilla Quispe

Qu es AES?

Advanced Encryption
Standar

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
Reindal" en belga).
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.

Como funciona
el cifrado AES?

Cifrado Bsico
1gran idea: confusin
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:
en claro: A T T A C

cifrado:

K A T D A W N


D W W D F N D W G D Z Q

A + 3 letras = D

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.

Algoritmo 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

CF

11

2A

7A

7A

27

Matriz de Estado

AddRounKey

Estado

2B

28

AB

09

7E

AE

F7

CF

32

88

31

E0

43

5A

31

37

Clave inicial

19

A0

9A

E9

3D

F4

C6

F8

E3

E2

8D

48

BE

2B

2A

08

XOR
F6

30

98

A8

8D

A2

34

Siguiente Estado

15

D2

15

4F

16

A6

88

3C

SubBytes
19

A0

9A

E9

3D

F4

C6

F8

E3

E2

8D

48

BE

2B

2A

08

SBOX

D4

E0

B8

1E

27

BF

B4

41

11

98

5D

52

AE

F1

E0

30

Tabla S-BOX

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

0
63
CA
B7
04
09
53
D0
51
CD
60
E0
E7
BA
70
E1
8C

1
7C
82
FD
C7
83
D1
EF
A3
0C
81
32
C8
78
3E
F8
A1

2
77
C9
93
23
2C
00
AA
40
13
4F
3A
37
25
B5
98
89

3
7B
7D
26
C3
1A
ED
FB
8F
EC
DC
0A
6D
2E
66
11
0D

4
F2
FA
36
18
1B
20
43
92
5F
22
49
8D
1C
48
69
BF

5
6B
59
3F
96
6E
FC
4D
9D
97
2A
06
D5
A6
03
D9
E6

6
6F
47
F7
05
5A
B1
33
38
44
90
24
4E
B4
F6
8E
42

7
C5
F0
CC
9A
A0
5B
85
F5
17
88
5C
A9
C6
0E
94
68

8
30
AD
34
07
52
6A
45
BC
C4
46
C2
6C
E8
61
9B
41

9
01
D4
A5
12
3B
CB
F9
B6
A7
EE
D3
56
DD
35
1E
99

A
67
A2
E5
80
D6
BE
02
DA
7E
B8
AC
F4
74
57
87
2D

B
2B
AF
F1
E2
B3
39
7F
21
3D
14
62
EA
1F
B9
E9
0F

C
FE
9C
71
EB
29
4A
50
10
64
DE
91
65
4B
86
CE
B0

D
D7
A4
D8
27
E3
4C
3C
FF
5D
5E
95
7A
BD
C1
55
54

E
AB
72
31
B2
2F
58
9F
F3
19
0B
E4
AE
8B
1D
28
BB

F
76
C0
15
75
84
CF
A8
D2
73
DB
79
08
8A
9E
DF
16

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

Mix Columns

02

03

01

01

D4

04

01

02

03

01

BF

66

01

01

02

03

5D

81

03

01

01

02

30

E5

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.

Generacin de Subclaves en las


iteraciones
Clave de 128 bits

2B

28

AB

09

7E

AE

F7

CF

15

D2

15

4F

16

A6

88

3C

1.- Rotword

09

CF

CF

4F

4F

3C

3C

09

2.- SubBytes
CF
4F

8A
84

SBOX

3C

EB

09

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

0
63
CA
B7
04
09
53
D0
51
CD
60
E0
E7
BA
70
E1
8C

1
7C
82
FD
C7
83
D1
EF
A3
0C
81
32
C8
78
3E
F8
A1

2
77
C9
93
23
2C
00
AA
40
13
4F
3A
37
25
B5
98
89

3
7B
7D
26
C3
1A
ED
FB
8F
EC
DC
0A
6D
2E
66
11
0D

4
F2
FA
36
18
1B
20
43
92
5F
22
49
8D
1C
48
69
BF

5
6B
59
3F
96
6E
FC
4D
9D
97
2A
06
D5
A6
03
D9
E6

6
6F
47
F7
05
5A
B1
33
38
44
90
24
4E
B4
F6
8E
42

01

7
C5
F0
CC
9A
A0
5B
85
F5
17
88
5C
A9
C6
0E
94
68

8
30
AD
34
07
52
6A
45
BC
C4
46
C2
6C
E8
61
9B
41

9
01
D4
A5
12
3B
CB
F9
B6
A7
EE
D3
56
DD
35
1E
99

A
67
A2
E5
80
D6
BE
02
DA
7E
B8
AC
F4
74
57
87
2D

B
2B
AF
F1
E2
B3
39
7F
21
3D
14
62
EA
1F
B9
E9
0F

C
FE
9C
71
EB
29
4A
50
10
64
DE
91
65
4B
86
CE
B0

D
D7
A4
D8
27
E3
4C
3C
FF
5D
5E
95
7A
BD
C1
55
54

E
AB
72
31
B2
2F
58
9F
F3
19
0B
E4
AE
8B
1D
28
BB

F
76
C0
15
75
84
CF
A8
D2
73
DB
79
08
8A
9E
DF
16

3.- XOR con RCON (1era Columna)


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

Clave Original

Primera Columna

2B

28

AB

09

2B

7E

AE

F7

CF

7E

15

D2

15

4F

15

16

A6

88

3C

16

XOR

8A
84
EB
1

XOR

01
00
00
00

A0
FA
FE
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:
Segunda Columna
28

Clave Original

AE

2B

28

AB

09

7E

AE

F7

CF

15

D2

15

4F

16

A6

88

3C

A0
FA

XOR

D2
A6

54

FE

88

17

2C

B1

Clave de la nueva ronda


A0

88

23

2A

FA

54

A3

6C

FE

2C

39

76

17

B1

39

05

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.

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.

Das könnte Ihnen auch gefallen