Você está na página 1de 71

Tema 10

Cifrado en Bloque con Clave Secreta

Curso de Seguridad Informtica


Ultima actualizacin: 10/02/02
Archivo con 71 diapositivas
Material Docente de
Libre Distribucin

Dr. Jorge Rami Aguirre


Universidad Politcnica de Madrid

Este archivo forma parte de un curso completo sobre Seguridad Informtica y


Criptografa. Se autoriza su uso, reproduccin en computador e impresin en
papel slo para fines docentes, respetando siempre los derechos del autor.
Curso de Seguridad Informtica Jorge Rami Aguirre

Cifrado y descifrado en bloque genrico


MENSAJE (N bits)
BLOQUE A

N/2

A Xi

BLOQUE B

Xi

B Xi

Curso de Seguridad Informtica.


Jorge Rami Aguirre

A Xi

ki

FUNCIN f

ki

FUNCIN f

Xi

N/2

B Xi

Madrid (Espaa) 2002

Puesto que Y Xi Xi = Y

Tema 10: Cifra

Cifrado tipo Feistel


Horst Feistel: inventor (IBM) del algoritmo LUCIFER a comienzos de
los aos 70. El algoritmo fue utilizado por el Reino Unido. En 1974 se
propone a la NSA como estndar y en ese ao dar origen al DES.

Dado un bloque de N bits (tpico


64) ste se dividir en dos mitades.
Existir una funcin unidireccional F
(muy difcil de invertir).
Se realizan operaciones con la clave
ki slo con una mitad del bloque, y
se permutan en cada vuelta las dos
mitades, operacin que se repite
durante n vueltas.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

Ejemplo bsico de cifra tipo Feistel (1)


El algoritmo usar bloques de tamao 8 caracteres. Tendr
dos vueltas y en cada vuelta realizar una operacin de
sustitucin S y una permutacin P sobre la 1 mitad.
Sustitucin S: Desplazamiento +1 mod 27
Permutacin P: 3241
Mensaje: M = STAR WARS, LA MISIN CONTINA

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

Ejemplo bsico de cifra tipo Feistel (2)


MM11
SS11
PP11

==
==
==

MM ==
STAR
STAR
TUBS
TUBS
BUST
BUST

STAR WARS,
WARS, LA
LA MISIN
MISIN CONTINA
CONTINA
STAR
WARS LAMI
LAMI SION
SION CONT
CONT INUA
INUA
WARS
WARS MBNJ
MBNJ SION
SION DPU
DPU INUA
INUA
WARS
WARS NBJM
NBJM SION
SION PUD
PUD INUA
INUA
WARS

MM22
SS22
PP22

==
==
==

WARS BUST
BUST SION
SION NBJM
NBJM INUA
INUA PUD
PUD
WARS
XBST BUST
BUST TJP
TJP NBJM
NBJM JVB
JVB PUD
PUD
XBST
SBTX BUST
BUST PJT
PJT NBJM
NBJM VBJ
VBJ PUD
PUD
SBTX

Si: +1 mod 27
Pi: 3241
Primera
vuelta
Segunda
vuelta

C = SBTX BUST PJT NBJM VBJ PUD


Aunque le parezca increble, el DES hace precisamente esto mismo
trabajando con bits y con funciones algo ms complejas.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

Algoritmos de cifra ms conocidos


Algoritmo

Bloque (bits)

Clave (bits)

Vueltas

Lucifer
DES
Loki
RC2
CAST
Blowfish
IDEA

128
64
64
64
64
64
64

128
56
64
variable
64
variable
128

16
16
16
-8
16
8

Skipjack
RIJNDAEL

64
128

80
128 o ms

32
flexible

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

Caractersticas de estos algoritmos


Lucifer: algoritmo original tipo Feistel que dar lugar al DES.
DES: algoritmo tipo Feistel que se convirti en un estndar de
hecho durante casi treinta aos, hoy en da vulnerable.
Loki: algoritmo australiano similar al DES, tipo Feistel.
RC2: algoritmo propuesto por Ron Rivest y que se incluye en
los navegadores desde 1999 con una clave de 40 bits.
CAST: algoritmo tipo Feistel que se ofrece como cifrador por
defecto en ltimas versiones de PGP junto a IDEA y T-DES.
Blowfish: algoritmo tipo Feistel propuesto por Bruce Schneier.
IDEA: algoritmo seguro y muy usado en correo electrnico.
Skipjack: propuesta de nuevo estndar en USA a finales de los
90 para comunicaciones oficiales (tiene puerta trasera).
RIJNDAEL: nuevo estndar mundial desde finales de 2001.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

Otros algoritmos de cifra


Algoritmo

Bloque (bits)

Clave (bits)

Khufu
Khafre
Gost
RC5
SAFER 64
Akelarre
FEAL

64
64
64
variable
64
variable
64

512
128
256
variable
64
variable
64

Vueltas
16, 24, 32
ms vueltas
32
variable
8
variable
32

De stos, el ms conocido es el algoritmo RC5.


Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

Caractersticas de estos algoritmos


Khufu: algoritmo propuesto por Ralph Merkle con una clave
generada con un sistema de cajas S.
Khafre: algoritmo propuesto por Ralph Merkle en el que la
clave ya no depende de las cajas S.
Gost: algoritmo similar al DES con cajas S secretas propuesto
en la Unin Sovitica.
RC5: algoritmo propuesto por Ron Rivest; realiza operaciones
or exclusivo, suma modular y desplazamiento de bits.
SAFER 64: algoritmo propuesto por James Massey.
Akelarre: algoritmo espaol propuesto en 1996 por el CSIC,
Consejo Superior de Investigaciones Cientficas.
FEAL: algoritmo propuesto en Japn.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

Algunas tasas de cifra comparativas


Velocidad de cifra de algoritmos en un PC 486 a 33 MHz
Algoritmo

Kbytes/seg

Algoritmo

Kbytes/seg

DES

35

Triple DES

12

IDEA

53

FEAL (32 v)

91

Khufu (16 v)

221

Khufu (32 v)

115

RC5 (8 v)

127

RC5 (16 v)

65

81

SAFER (12 v)

41

182

Blowfish (20 v)

SAFER (6 v)
Blowfish (12 v)

Fuente: Criptografa Digital. Fundamentos y


Aplicaciones. Jos Pastor y Miguel Angel Sarasa,
Prensas Universitarias de Zaragoza (1998).

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

110

Aunque la velocidad es
muy baja, los valores
pueden extrapolarse.

Tema 10: Cifra

10

Data Encryption Standard DES


DES (Data Encryption Standard) ha sido el estndar utilizado
mundialmente durante 25 aos, generalmente en la banca. Hoy
presenta signos de envejecimiento y ha sucumbido a los diversos
criptoanlisis que contra l se viene realizando hace ya aos.
FECHAS DE INTERS
1973: En EEUU la NBS National Bureaux of

Standards llama a

concurso pblico para buscar un algoritmo criptogrfico estndar.


1974: La NSA National Security Agency declara desierto el
primer concurso, publica unas segundas especificaciones y elige
Lucifer, algoritmo original de IBM (aos 70) con variaciones.
1976: El DES se adopta como estndar y se autoriza para ser
utilizado en las comunicaciones no clasificadas del gobierno.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

11

Especificaciones del algoritmo DES

Especificaciones del concurso


El nivel de seguridad computacional debe ser alto.
El algoritmo debe ser fcil de entender y deber estar
especificado en todos sus detalles.
La seguridad del sistema no debe verse afectada por la
publicacin y divulgacin del algoritmo.
Debe estar disponible para cualquier usuario.
Deber poder usarse en diferentes aplicaciones.
Fabricacin con dispositivos electrnicos de bajo costo.
Se debe poder usar como validacin.
Debe ser exportable.
No se cumplen en 1973 pero s en 1974, aunque ...

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

12

El papel de la NSA en el DES


La NSA impone una limitacin en la longitud de la clave:

De los 128 bits de Lucifer,


NSA deja la clave en 64
bits. Al final, la clave slo
son 56 bits efectivos puesto
que al ser datos de 8 bits, se
conoce el bit de paridad.
Luego, el espacio de claves
es 256 = 7.2 1016, tan slo
72 mil billones de valores.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

13

Por qu esta reduccin?


Hay distintas versiones sobre esta
reduccin del espacio de claves: una
habla de la dificultad de disear
chips capaces de operar de forma
eficiente con una clave de 128 bits
en esos aos; la otra sobre una
poltica de seguridad interna para
proteger informacin sensible ante
ataques externos y ser capaces, no
obstante, de practicar criptoanlisis
en un tiempo razonable.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

14

Especificaciones tcnicas finales del DES


Bloque a cifrar: 64 bits
Clave: 8 bytes (con paridad, no caracteres ASCII)
Normas ANSI:
X3.92: Descripcin del algoritmo.
X3.108: Descripcin de los modos de operacin
(ECB, CBC, OFB).
Fcil implementacin en un circuito integrado.
Veremos su descripcin y modos de operacin.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

15

Visin general del DES


Cifrador de bloque
Tipo Feistel
Longitud de clave de 56 bits
N de vueltas: 16
Cifra del bloque
central:
b
tcnicas de sustituciones y
permutaciones
En el descifrado se aplican claves y
desplazamientos en sentido inverso

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

16

Permutacin inicial del DES: tabla IP


Tabla IP sobre bloque de texto
Sin inters criptogrfico
58

50

42

34

26

18

10

60

52

44

36

28

20

12

62

54

46

38

30

22

14

64

56

48

40

32

24

16

57

49

41

33

25

17

59

51

43

35

27

19

11

61

53

45

37

29

21

13

63

55

47

39

31

23

15

Elbit
bit11se
selleva
llevaaalalaposicin
posicin40
40
El

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

17

Bloques izquierdo y derecho de texto


58

50

42

34

26

18

10

60

52

44

36

28

20

12

62

54

46

38

30

22

14

64

56

48

40

32

24

16

57

49

41

33

25

17

59

51

43

35

27

19

11

61

53

45

37

29

21

13

63

55

47

39

31

23

15

L0 = 58 50 42 34 26 18 10 02 60 52 44 36
28 20 12 04 62 54 46 38 30 22 14 06
64 56 48 40 32 24 16 08

R0 = 57 49 41 33 25 17 09 01 59 51 43 35
27 19 11 03 61 53 45 37 29 21 13 05
63 55 47 39 31 23 15 07

Observe la distribucin correlativa que existe entre los


bits del bloque izquierdo L0 y del bloque derecho R0 de
texto. Este tipo de distribucin de los bits en tablas, a
simple vista caprichosa, ser muy comn en el DES.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

18

Permutacin final del DES: tabla IP-1


Tabla IP-1
40

48

16

56

24

64

32

39

47

15

55

23

63

31

38

46

14

54

22

62

30

37

45

13

53

21

61

29

36

44

12

52

20

60

28

35

43

11

51

19

59

27

34

42

10

50

18

58

26

33

41

49

17

57

25

Elbit
bit40
40vuelve
vuelveaalalaposicin
posicin11
El
todoslos
losdems
demsbits
bitsaasu
su
yytodos
posicininicial
inicialantes
antesde
deIP.
IP.
posicin

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

19

Ciclos del DES


EN CADA CICLO:
Se permuta la mitad derecha Ri
aplicando expansin de bits
La clave de 56 bits se desplaza,
permuta y se seleccionan los 48
bits de Ki
La mitad derecha Ri y la clave
Ki se unen mediante XOR
Se reducen los 48 bits de salida
a 32 mediante las Cajas-S
Se permuta el resultado
El resultado se une mediante
XOR con la mitad izquierda Li

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

En la prxima
vuelta, la mitad
derecha anterior
pasa ntegra como
mitad izquierda. La
mitad derecha de la
nueva vuelta ser el
ltimo resultado or
exclusivo del ciclo.

Tema 10: Cifra

20

Mdulo de cifra en DES


16 bits repetidos

Esquema de la
funcin de cifra
f en cada ciclo
Columnas 1 y
2 repetidas

Enlas
lascajas
cajasSS
En
selogra
logralala
se
fortalezadel
del
fortaleza
algoritmo.Es
Es
algoritmo.
unafuncin
funcin
una
unidireccional
unidireccional
nolineal.
lineal.
yyno

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

21

Operacin de las cajas S en DES


Permutacin con expansin a 48 bits (Tabla E)
ki (48 bits)
Operacin Or Exclusivo con la subclave ki

De cada 6 bits de entrada se obtienen 4 bits de salida


Sustitucin con compresin a 32 bits (Cajas S)
1

S1

S2

12

13

18

S3

19

12 13

24

S4

25

16 17

30

S5

31

20 21

36

S6

37

24 25

42 43

S7

28 29

48

S8

32

Permutacin de Salida del ciclo (Tabla P)

No lineal y unidireccional. Hay cuatro soluciones de entrada para cada salida

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

22

Valores de las cajas S del DES (1)


C O LU M N AS
F
I
L
A
S

S1

14
7
0
8
4

13

15

11

10

14

13

10

14

13

11

1
2
3

15
13

15
1
12

10

15 12
5

11

11 12 13 14
12

12 11

10

14

10

15

C O LU M N AS
F
I
L
A
S

S2

15

14

11

13

15

14

11 10

13

10

15

Madrid (Espaa) 2002

10 11 12 13 14 1 5
7

13

12

5 10

14 12

10

11

13

12

15

11

12

5 14

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Tema 10: Cifra

23

Valores de las cajas S del DES (2)


C O LU M N AS
F
I
L
A
S

S3

10

9 14

15

10

14

12

15

11

12

10 14

10 13

15 14

11

1
2
3

13
1
13
7
1

10

13 12

11 12 13 14
7 11

15
8

11 15

12

C O LU M N AS
F
I
L
A
S

S4

7
15
13
9
10

13 14

10

11

15

12

10 14

12 11

13 15

14

3
14

15

10

13

11

12

1
2
3

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

10 11 12 13 14 1 5
11

12

Tema 10: Cifra

24

Valores de las cajas S del DES (3)


C O LU M N AS
F
I
L
A
S

S5

10

11 12 13 14

12

10

11

15

13

14

11

12

13

0 15

10

14
6
4

11

10 13

15

9 12

14

11

12

14

13

10

6 15

15
9

C O LU M N AS
F
I
L
A
S

S6

12

10 15

13

10

15

12

14 15

12

12

15

10

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

10 11 12 13 14 1 5
3

14

11

13 14

11

10

13

11

11 14

Tema 10: Cifra

13

25

Valores de las cajas S del DES (4)


C O LU M N AS
F
I
L
A
S

S7

10

11

14

15

13

12

10

1
13

11

10 14

12

15

11 13

12

14 10 15

11 13

10

15 14

12

11 12 13 14

15

C O LU M N AS
F
I
L
A
S

S8

13

15 11

10

14

12

15 13

10

12

11

14

11

12 14

10 13

15

14

10

6 11

1
7

Madrid (Espaa) 2002

10 11 12 13 14 1 5

13 15 12

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Tema 10: Cifra

26

Ejemplo de operacin de cajas S del DES


Ejemplo:
Ejemplo:

Seanlos
losbits
bits77alal12
12los
lossiguientes:
siguientes:101100
101100
Sean
Losbits
bitscorrespondern
correspondernentonces
entoncesaalalaentrada
entradade
delalacaja
cajaSS2
Los
2
Paraseleccionar
seleccionarlalafila
filatomamos
tomamoslos
losbits
bitsextremos:
extremos:10
102==2210==22
Para
2
10
Paraseleccionar
seleccionarlalacolumna
columnatomamos
tomamoslos
losbits
bitscentrales:
centrales:0110
01102==6610==66
Para
2
10
La
caja
S
indica
una
salida
igual
a
13
=
1101
La caja S22indica una salida igual a 131010= 110122

explicacin

Entrada: 101100
Salida: 1101
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

27

Clculo de subclaves en el DES (PC-1)


28 bits

Tabla PC-1 (56 bits)

28 bits

57

49

41

33

25

17

58

50

42

34

26

18

10

59

51

43

35

27

19

11

60

52

44

36

63

55

47

39

31

23

15

62

54

46

38

30

22

14

61

53

45

37

29

21

13

28

20

12

Se han eliminado los bits de paridad:

8, 16, 24, 32, 40, 48, 56, 64


Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

28

Clculo de subclaves en el DES (PC-2)


28 bits

28 bits

Tabla PC-2 (48 bits) k1, k2, ..., k16

48 bits

48 bits

48 bits

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

17

11

24

28

15

21

10

23

19

12

26

16

27

20

13

41

52

31

37

47

55

30

40

51

45

33

48

44

49

39

56

34

53

46

42

50

36

29

32

Se han eliminado los bits:


9, 18, 22, 25, 35, 38, 43, 54

Tema 10: Cifra

29

Desplazamiento de subclaves en el DES


28 bits

Se produce un desplazamiento total igual


a 28, todos los bits de cada bloque Ci y Di

28 bits

LF1, LF2, ..., LF16


Vuelta i

Bits Desp. Izda.

Vuelta i

Bits Desp. Izda.

10

11

12

13

14

15

16

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

30

Operacin de descifrado en el DES


64 bits de criptograma

Se toman en sentido contrario:


k16, k15, k14, k13, k12, k11, k10, k9,
k8, k7, k6, k5, k4, k3, k2, k1
Como se aplica un desplazamiento
de 28 bits en cada bloque de clave,
entonces D16 = D0 y C16 = C0
Los desplazamientos para el clculo de
las subclaves de descifrado son los
mismos de la tabla anterior pero ahora
se toman hacia la derecha

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

31

Implementaciones HW y SW del DES


Algunas implementaciones:
Cryptech CRY12C102 (22.5 Mbits/s)
Pijnenburg PCC100 (20 Mbits/s)
Supercrypt de Computer Elektronic
Infosys (100 Mbits/s)
Versiones software disponibles via ftp:
kampi.hut.fi:alo/des-dist.tar.z
ftp.funet.fi:pub/unix/security/destoo.tar.z
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

32

Modos de cifra: modo ECB


NOTA: estos modos de cifra se usan en todos los cifradores.
MODO ECB
Electronic CodeBook: cifra cada bloque con la clave k de
forma independiente. Por lo tanto, el resultado es como si se
codificase mediante un gran libro electrnico de cdigos. .
Recuerde que codificar no es lo mismo que cifrar.
Debilidades:
Se podra reconstruir ese libro electrnico sin necesidad
de conocer la clave.
Aparece el problema denominado de comienzos y
finales fijos que permiten un tipo de ataque sencillo.
Se ataca a travs de la repeticin de bloques similares.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

33

Caractersticas del modo ECB en el DES

Cada bloque de 64 bits del texto en claro se


pasa por el cifrador, usando la misma clave.

Se obtiene, por tanto, el mismo criptograma


para bloques de texto en claro iguales.

Como a cada bloque de texto en claro le


corresponde un nico cdigo o texto cifrado de
salida y ste es constante, este modo de cifra
lleva por nombre Libro Electrnico de Cdigos.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

34

Esquema de cifra modo CBC en el DES


Cipher Block Chaining

Vector IV = I0

Cifra por encadenamiento


de bloques
Se encadenan los
bloques de texto cifrado
con el bloque del
criptograma anterior.
Usa un vector de
inicializacin IV de 64
bits que se guarda en
secreto.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

35

Operaciones de cifra modo CBC en el DES


Cifrado
El vector IV se suma
XOR a los 64 bits de
texto en claro.
Se cifra con la clave K
esa suma.
El resultado Ci se usa
como vector IV para el
nuevo bloque.

Descifrado
Se descifra el primer bloque con
vector IV:
P1 = D(C1) I0
P1 = D[E(P1 I0)] I0
Guarda bloque Ci-1. en un
registro. Descifra el bloque Ci y
se hace el XOR entre los datos:
Mi = D(Ci) Ci-1

CARACTERSTICAS:
Evita el ataque por repeticin de bloque; enmascara el mensaje lo
mismo que la cifra en flujo; el espacio de claves es igual a 64 bits;
la propagacin de un error afecta a dos bloques contiguos.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

36

Esquema de cifra modo CFB en el DES


Cipher Feedback
Cifra por realimentacin
de bloques
CIFRAR

Se pueden cifrar
unidades de datos ms
pequeas que bloques,
por lo general un byte.

CIFRAR

Se usa un registro de
desplazamiento RD de
64 bits como vector
inicial IV.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

37

Operaciones de cifra modo CFB en el DES


Cifrado

Descifrado

Se suma XOR cada byte del


texto claro con bytes resultado
de la cifra de RD y la clave K.
El byte Ci se enva al registro;
se desplaza 8 bits a la izquierda
hasta formar otro RD y se repite
el proceso de cifra.

Se cifra el registro RD.


Se obtienen de esta forma
los elementos de Ci-d.
Se suma XOR los Ci-d con
los Ci del criptograma para
obtener Pi.
Se realimenta Ci al registro
RD y se repite el proceso.

CARACTERSTICAS:
Evita el ataque por repeticin de bloque; enmascara el mensaje como
en cifra en flujo, el espacio de claves es igual a 64 bits; la propagacin
de un error se limita a un bloque.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

38

Esquema de cifra modo OFB en el DES


El byte se va desplazando por el registro

Output Feedback

Registro Desplazamiento (64 bits)

Cifra por realimentacin


de bloques de salida
La realimentacin de
la seal se realiza antes
de la operacin XOR.
El DES, la clave y el
Registro RD actan
como un generador de
secuencia cifrante.

K
Bits menos
significativos
Byte
Mensaje

Bi

DES
Ci-1

Ci

Si la cifra se realiza bit a bit, OFB se convierte en cifrador de flujo.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

39

Caractersticas del modo OFB en el DES


Evita el ataque por repeticin de bloque.
Produce un enmascaramiento del mensaje similar al de
un cifrador de flujo.
El espacio de claves es igual a 64 bits.
La propagacin de un error afecta slo a un byte, el
que se realimenta en el registro de desplazamiento.
Las operaciones de cifrado y descifrado son iguales.
A pesar de las propiedades interesantes de los
ltimos modos, el ms utilizado en los sistemas
de cifra de diversos protocolos es el CBC.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

40

Es el DES un grupo? (1)


Si un sistema forma un grupo, entonces cifrar un mensaje M
con una clave k1 y luego el resultado con una clave k2, es lo
mismo que cifrar el mensaje con una nica clave k3.
Por ejemplo, el cifrador de Vigenre es un grupo como se
demuestra a continuacin. Sea k1 = PACO y k2 = CINE y el
mensaje a cifrar M = ESTO ES UN GRUPO.
M1 = ESTO ESUN GRUP O

M2 = TSVD TSWB VRWE E

k1 = PACO PACO PACO P

k2 = CINE CINE CINE C

C1 = TSVD TSWB VRWE E

C2 = VAIH VAJF XZJI G

Obtendremos lo mismo si ciframos el mensaje M


con la clave k3 = k1 + k2 = PACO + CINE = RIOS.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

41

Es el DES un grupo? (2)


M1 = ESTO ESUN GRUP O

M2 = TSVD TSWB VRWE E

k1 = PACO PACO PACO P

k2 = CINE CINE CINE C

C1 = TSVD TSWB VRWE E

C2 = VAIH VAJF XZJI G

M3 = ESTO ESUN GRUP O


k3 = RIOS RIOS RIOS R
C3 = VAIH VAJF XZJI G
Como ejercicio compruebe que a resultados similares llega si,
por ejemplo, usa ahora los siguientes pares de claves:
LAPALA y LANUCA; PASA y NADA; PAOS y TERMA.
Cules son las claves k3 en cada caso?

El DES no ser un grupo y, por lo tanto, permitir el cifrado


mltiple. Esto aumentar el tamao efectivo de la clave.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

42

Cifrado DES mltiple Doble DES?


k1
M

DES

k2
C

DES

k1 y k2 son
claves n bits

Se duplica la longitud de la clave?


En este modelo, cabe esperar que la longitud efectiva de la
clave sea 22n donde n representa la longitud de bits de las
claves k1 y k2. No obstante esto no es cierto.
En realidad el tamao de la clave resultante en este caso es
equivalente a 2n+1, un aumento insignificante para n grande.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

43

Ataque por encuentro a medio camino


k1
M

DES

k1 y k2 son
claves n bits

k2
Y

DES

a) Se descripta el criptograma C por fuerza bruta usando las 2n claves


posibles y realizando entonces 2n clculos. Se obtiene as Y.
b) Con los textos intermedios Y se forma una tabla ordenada de
textos cifrados con sus correspondientes valores k 2.
c) Se cifran los textos en claro M elegidos con todas las claves k 1 y se
comparan con Y, realizando un mximo de 2n clculos.
d) Una de las claves ser la verdadera y se ha realizado un nmero
menor que 2n + 2n = 2n+1 clculos. Luego la clave real es igual a 2n+1.

Este ataque se conoce con el nombre de meet-in-the-middle.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

44

Cifrado mltiple: triple DES


k1
M

E (DES)

k2
D (DES)

k1
E (DES)

k1 y k2 son
claves n bits

En este caso se logra un valor efectivo de longitud de


clave igual a 22n bits, es decir 22 56 = 2112 bits.
El ejemplo anterior con slo dos claves (equivalente al
de tres claves) se usa por motivos de compatibilidad con
el DES de clave nica. Propuesto por Matyas y Meyer
de IBM, se denomina EDE: Encrypt-Decrypt-Encrypt.
Es inmune a ataques por encuentro a medio camino.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

45

Usos de T-DES
k1
M

E (DES)

k2

D (DES)

k1 y k2
claves de
64 bits

k1

E (DES)

Aunque el algoritmo DES haya sufrido diversos ataques y no se


haya vuelto a certificar por el NIST como estndar de cifrado, el
Triple DES s tiene una gran seguridad debido al tamao de su
clave de 112 bits efectivos y sigue siendo muy vlido en el ao
2002. De hecho, es el algoritmo propuesto en el protocolo SET y
se encuentra, entre otras aplicaciones, en el programa PGP.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

46

International Data Encryption Algorithm IDEA


Historia del IDEA

En 1990 Xuejia Lai y James Massey proponen el PES,


Proposed Encryption Standard.

En 1991 -debido a los avances de Biham y Shamir en el


criptoanlisis diferencial- los autores proponen el IPES,
Improved Proposed Encryption Standard.

En 1992 los autores proponen finalmente el algoritmo


IDEA, International Data Encryption Algorithm.

En 1999 el algoritmo IDEA, mucho ms seguro que el


DES y sus versiones, se comienza a usar ampliamente en
el sistema de correo electrnico seguro PGP.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

47

Estructura y esquema de IDEA


Cifra bloques de 64 bits
en 8 vueltas
Divide la entrada M en
cuatro bloques de 16 bits
Un algoritmo genera 52
subclaves a partir de una
clave de 128 bits
Usa 6 claves por vuelta
Hay una transformacin
final con 4 claves para
invertir operacin inicial

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Todas sus operaciones


se realizan dentro de
un cuerpo finito

Tema 10: Cifra

48

Operaciones matemticas en IDEA


Operaciones bsicas
XOR
Suma mdulo 216 (mod 65.536)

Es primo y se
asegura el inverso
multiplicativo

Multiplicacin mdulo 216+1 (65.537)


(
Todas las operaciones se realizan con bloques de 16 bits y
el truco est en que los bloques cuyo valor sea 0 (16 bits) se
cambiarn por la constante 216 ... de 17 bits! ...
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

49

Ejemplo de operaciones en IDEA (1)


Ejemplo dentro de un grupo n pequeo
Como 2n + 1 debe ser primo, sea n = 2 ya que 22 = 4 y 22 + 1 = 5
X
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3

Y
00
00
00
00
01
01
01
01
10
10
10
10
11
11
11
11

0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3

X+Y
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11

0
1
2
3
1
2
3
0
2
3
0
1
3
0
1
2

00
01
10
11
01
10
11
00
10
11
00
01
11
00
01
10

X Y
1
01
0
00
3
11
2
10
0
00
1
01
2
10
3
11
3
11
2
10
0
00
1
01
2
10
3
11
1
01
0
00

XY
0
00
1
01
2
10
3
11
1
01
0
00
3
11
2
10
2
10
3
11
0
00
1
01
3
11
2
10
1
01
0
00

n=2
dos bits

Veamos cmo
se opera con la
multiplicacin.
La suma y el or
exclusivo son
operaciones
similares.

Operaciones: + mod 2n (mod 4), mod 2n+1 (mod 5), XOR (mod 2)

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

50

Ejemplo de operaciones en IDEA (2)


X

0
00
0
00
0
00
1
01
0
00
2
10
0
00
3
11
1
01
0
00
1
01 2 1
01
01
=
2
2x 1 = 4
1 01 01
= 2 x 21 = 4 10
1
01
3 5 11
==44mod
mod
5 00
2
10
0
=10
2
01
=44==010
2(por definicin)
10
2
10
definicin)
2 (por 10
3
11
3
11
0
00
3
11
1
01
3
11
2
10
3
11
3
11

X Y
0
00
1
01
1
01
0
00
2
10
3
11
3
11
2
10
1
01
0
00
2
10
1
01
3
11
2
10
0
00
3
11
2
10
3
11
3
11
2
10
0
02
=00
22 x 201==88 00
102 =
0122 x 2
01
3
2 5 10
==1188mod
mod
5 11
0
00
3
==0133 1
1
01
2
10
0
00
X+Y

XY
0
00
1
01
2
10
3
11
1
01
0
00
3
11
2
10
2
10
3
11
0
00
1
01
3
11
2
10
1
01
0
00

Recuerdeque
que00
Recuerde
igualaa22n n==44
esesigual
porloloque:
que:
por
00==222 2xx222 2
00
16mod
mod 55
==16
==11
03==222 2xx33==12
12
03
12mod
mod 55
==12
==22

Operaciones: + mod 2n (mod 4), mod 2n+1 (mod 5), XOR (mod 2)

Los dems clculos con los diferentes valores de X e Y son todos similares

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

51

Detalles del algoritmo IDEA


Operacin cifrado

MA

Operaciones inversas
al comienzo y al final
del algoritmo. Esto
permite usar el mismo
algoritmo para cifrar
que para descifrar.

Bloque principal

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

52

Bloque principal de IDEA


Estas tres operaciones provocan confusin y no
cumplen las leyes distributiva ni asociativa.

La estructura que crea la


difusin es un bloque bsico
denominado Estructura MA
Multiplication / Addition.
Usa slo dos claves por cada
vuelta del algoritmo.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

53

Generacin de claves en IDEA


A partir de una entrada de
128 bits, se generan las 52
subclaves de cifrado.

Se produce un desplazamiento de 25
bits a la izquierda en cada una de las
7 fases de generacin de claves.

26

Con los
primeros
128 bits se
generan 8
subclaves
de 16 bits
cada una.

Los 64
ltimos
bits de
la fase 7
no se
usan.
23

64 bits de ltimas claves

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

86

Tema 10: Cifra

54

Desplazamientos de la clave en IDEA


En cada operacin sobre la clave de 128 bits, se obtienen 8
claves de 16 bits de las que slo se usan 6 en cada vuelta.
Clave Principal k = 128 bits
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032
033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064
065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096
097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
1
2
3
4
5
6
7

Primeros 16 bits de clave

001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016
026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041
051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066
076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
126 127 128 001 002 003 004 005 006 007 008 009 010 011 012 103
023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038

.
.
.
.
.
.
.

Ultimos 16 bits de clave

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025
035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050
060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075
085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022

La distribucin de bits de subclaves en cada vuelta sigue una lgica

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

55

Bits de la clave IDEA en cada en vuelta


Primera vuelta:
Segunda vuelta:
Tercera vuelta:
Cuarta vuelta:
Quinta vuelta:
Sexta vuelta:
Sptima vuelta:
Octava vuelta:
Transformacin:

k1k2k3k4k5k6
k7k8k9k10k11k12
k13k14k15k16k17k18
k19k20k21k22k23k24
k25k26k27k28k29k30
k31k32k33k34k35k36
k37k38k39k40k41k42
k43k44k45k46k47k48
k49k50k51k52

B[196]
B[97128; 2689]
B[90128; 125; 5182]
B[83128; 150]
B[76128; 143]
B[4475; 101128; 136]
B[37100; 126128; 129]
B[30125]
B[2386]

Las primeras claves de cada vuelta k1, k7, k13, k19, k25, k31, k37 y
k43 usan un conjunto diferente de bits. Excepto en las vueltas
primera y octava, los 96 bits de subclave usados en cada vuelta,
no son contiguos. Debido al desplazamiento en cada fase de 25
bits a la izquierda, hace muy difcil el ataque a la clave.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

56

Descifrado con IDEA


El algoritmo IDEA, al igual que el DES, permite cifrar y
descifrar con la misma estructura. Como las operaciones se
hacen dentro de un cuerpo finito, en este caso las claves se
toman como los inversos de las operaciones XOR, suma
mod 216 y producto mod 216+1, dependiendo de las
operaciones realizadas en la fase de cifrado.
INVERSOS

Inverso XOR: se aplica la misma funcin


Inverso aditivo: suma mod 216
Inverso multiplicativo: producto mod 216+1
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

57

Claves de descifrado en IDEA


d1 = k49-1
d7 = k43-1
d13 = k37-1
d19 = k31-1
d25 = k25-1
d31 = k19-1
d37 = k13-1
d43 = k7-1
d49 = k1-1

d2 = -k50
d8 = -k45
d14 = -k39
d20 = -k33
d26 = -k27
d32 = -k21
d38 = -k15
d44 = -k9
d50 = -k2

d3 = -k51
d9 = -k44
d15 = -k38
d21 = -k32
d27 = -k26
d33 = -k20
d39 = -k14
d45 = -k8
d51 = -k3

Inversos de la suma

d4 = k52-1
d10 = k46-1
d16 = k40-1
d22 = k34-1
d28 = k28-1
d34 = k22-1
d40 = k16-1
d46 = k10-1
d52 = k4-1

d5 = k47
d11 = k41
d17 = k35
d23 = k29
d29 = k23
d35 = k17
d41 = k11
d47 = k5

d6 = k48
d12 = k42
d18 = k36
d24 = k30
d30 = k24
d36 = k18
d42 = k12
d48 = k6

Inversos del XOR

Inversos del producto


Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

58

Operacin de descifrado con IDEA


Mdulo IDEA
Para descifrar, cada
bloque de criptograma
se dividir en cuatro
subbloques de 16 bits
Las operaciones
se hacen ahora
hacia arriba

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

59

Uso de claves inversas en descifrado IDEA


Ultimas 6 claves
de descifrado

d1 = k49-1
d7 = k43-1
d13 = k37-1
d19 = k31-1
d25 = k25-1
d31 = k19-1
d37 = k13-1
d43 = k7-1
d49 = k1-1

d2 = -k50
d8 = -k45
d14 = -k39
d20 = -k33
d26 = -k27
d32 = -k21
d38 = -k15
d44 = -k9
d50 = -k2

d3 = -k51
d9 = -k44
d15 = -k38
d21 = -k32
d27 = -k26
d33 = -k20
d39 = -k14
d45 = -k8
d51 = -k3

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

d4 = k52-1
d10 = k46-1
d16 = k40-1
d22 = k34-1
d28 = k28-1
d34 = k22-1
d40 = k16-1
d46 = k10-1
d52 = k4-1

d5 = k47
d11 = k41
d17 = k35
d23 = k29
d29 = k23
d35 = k17
d41 = k11
d47 = k5

Tema 10: Cifra

d6 = k48
d12 = k42
d18 = k36
d24 = k30
d30 = k24
d36 = k18
d42 = k12
d48 = k6

60

Fortaleza del algoritmo IDEA


IDEA se muestra inmune ante un criptoanlisis diferencial. Sus
autores conocan esta debilidad del DES y lo hicieron resistente.
Joan Daemen descubre en 1992 una clase de claves dbiles. La
siguiente clave k = 0000,0000,0x00,0000,0000,000x,xxxx,x000
en hexadecimal es dbil, en el sentido de que un criptoanalista
podra identificarla en un ataque con texto en claro elegido. Las
posiciones x pueden ser cualquier nmero en hexadecimal.
La probabilidad de que se use este tipo de claves es slo de uno
en 296 y se puede, adems, eliminar por diseo.
A la fecha, ao 2002, no se conoce todava ningn sistema o
algoritmo de ataque que haya criptoanalizado IDEA.
Joan Daemen y Vincent Rijmen crearn en 1997 el RIJNDAEL,
nuevo algoritmo estndar del NIST desde finales de 2001.

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

61

AES, nuevo estndar en cifra (1)


El algoritmo DES, hasta finales del siglo XX
aceptado en USA como estndar de cifrado en
bloque (y por extensin en el resto del mundo) y
cuyo uso principal se encuentra en aplicaciones
bancarias, ha dejado de serlo despus de 20 aos.
Su baja longitud de clave (56 bits) y los avances de
la informtica lo han convertido en un algoritmo
muy vulnerable. Surge un nuevo estndar: el AES
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

62

AES, nuevo estndar en cifra (2)


AES: Advanced Encryption Standard
El DES, estndar desde 1976, pasa la certificacin de la
NBS National Bureaux of Standards en 1987 y en 1993.
En 1997 el NIST National Institute of Standards and
Technology (antigua NBS) no certifica al DES y llama a
concurso pblico para un nuevo estndar: el AES.
En octubre del ao 2000 el NIST elige el algoritmo belga
RIJNDAEL como nuevo estndar para algoritmo de cifra
en bloque del siglo XXI. Es software de libre distribucin
y est disponible desde finales del ao 2001.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

63

Caractersticas del algoritmo RIJNDAEL


RIJNDAEL: autores Vincent Rijmen y Joan Daemen
No es de tipo Feistel.
Implementado para trabajar en los procesadores de 8 bits
usados en tarjetas inteligentes y en CPUs de 32 bits.
Tamao de clave variable: 128, 192 y 256 bits (estndar) o
bien mltiplo de 4 bytes.
Tamao del bloque de texto: 128 bits o mltiplo de 4 bytes.
Operaciones modulares a nivel de byte (representacin en
forma de polinomios) y de palabra de 4 bytes: 32 bits.
Nmero de etapas flexible segn necesidades del usuario.
Usa un conjunto de Cajas S similar al DES.
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

64

Operaciones con bytes en RIJNDAEL


Operaciones a nivel de byte en GF(28)
Suma y multiplicacin. Son clculos en Campos de Galois
GF(28) con 8 bits. Para la reduccin de exponente se usar
un polinomio primitivo p(x).
Producto por x. Esta operacin conocida como xtime(a) al
igual que en el caso anterior usa la reduccin de exponente.
Puede implementarse fcilmente con desplazamientos y
operaciones or exclusivo.
Ejemplos
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

65

Ejemplo de suma en GF(28)


Vamos a sumar los valores hexadecimales 57 y 83:
A = 5716 = 0101 01112
B = 8316 = 1000 00112
que expresados en polinomios dentro de GF(2 8) sern:
A = 0101 01112 = x6 + x4 + x2 + x + 1
B = 1000 00112 = x7 + x + 1
Sumando: A+B = (x6 + x4 + x2 + x + 1) + (x7 + x + 1) mod 2
A+B = (x7 + x6 + x4 + x2 + 2x + 2) mod 2
A+B = x7 + x6 + x4 + x2 = 1101 0100 = D416
Y lo mismo se obtiene con la suma Or exclusivo:
0101 0111 1000 0011 = 1101 0100 = D4 16

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

66

Ejemplo de producto en GF(28) (1)


Vamos a multiplicar los valores hexadecimales 57 y 83:
A = 5716 = 0101 01112
B = 8316 = 1000 00112
que expresados en polinomios dentro de GF(2 8) sern:
A = 0101 01112 = x6 + x4 + x2 + x + 1
B = 1000 00112 = x7 + x + 1
Sea p(x) = x8 + x4 + x3 + x + 1 x8 = x4 + x3 + x + 1
AB = (x6 + x4 + x2 + x + 1)(x7 + x + 1) mod 2
AB = x13 + x11 + x9 + x8 + 2x7 + x6 + x5 + x4 + x3 + 2x2 + 2x +1
AB = x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1
Este resultado hay que reducirlo por p(x) = x8 + x4 + x3 + x + 1

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

67

Ejemplo de producto en GF(28) (2)


Estn fuera del cuerpo de 8 bits

p(x): x8 = x4 + x3 + x + 1

AB = x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1
x13 = x5x8 = x5(x4 + x3 + x + 1) = x9 + x8 + x6 + x5
x13 = x (x4 + x3 + x + 1) + (x4 + x3 + x + 1) + x6 + x5
x13 = (x5 + x4 + x2 + x) + (x4 + x3 + x + 1) + x6 + x5
x13 = x6 + x3 + x2 + 1

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

x13 = x6 + x3 + x2 + 1

Tema 10: Cifra

68

Ejemplo de producto en GF(28) (3)


Estn fuera del cuerpo de 8 bits

p(x): x8 = x4 + x3 + x + 1

AB = x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1
x11 = x3x8 = x3(x4 + x3 + x + 1)

x11 = x7 + x6 + x4 + x3

x11 = x7 + x6 + x4 + x3
x9 = xx8 = x(x4 + x3 + x + 1)

x9 = x5 + x4 + x2 + x

x9 = x5 + x4 + x2 + x
x8 = x4 + x3 + x + 1

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

69

Ejemplo de producto en GF(28) (4)


x13 = x6 + x3 + x2 + 1

x11 = x7 + x6 + x4 + x3

x9 = x5 + x4 + x2 + x

x8 = x4 + x3 + x + 1

AB = x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1
Reemplazando los clculo anteriores en la expresin:
AB = (x6 + x3 + x2 + 1) + (x7 + x6 + x4 + x3) + (x5 + x4 + x2 + x) +
+ (x4 + x3 + x + 1) + x6 + x5 + x4 + x3 + 1 mod 2
AB = x7 + x6 + 1 = 1100 0001 = C116

Curso de Seguridad Informtica.


Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

70

Transformaciones (capas) de RIJNDAEL


Hay tres transformaciones distintas llamadas capas en
las que se tratan los bits. Estas constan de:
Capa de Mezcla Lineal: en ella se busca la difusin de
los bits.
Capa No Lineal: se trata de una zona similar a las cajas
S del DES.
Capa Clave: operaciones con una funcin Xor de la
subclave y la informacin de esta etapa intermedia.

Las transformaciones realizadas en cada paso del


algoritmo se denominan estados; se representa por un
array de 4 filas.
Fin del Tema 10
Curso de Seguridad Informtica.
Jorge Rami Aguirre

Madrid (Espaa) 2002

Tema 10: Cifra

71

Você também pode gostar