Sunteți pe pagina 1din 55

SEGURIDAD DE LA INFORMACIN

TEMA 2
TCNICAS CRIPTOGRFICAS BSICAS
(Y SERVICIOS DE SEGURIDAD ASOCIADOS)

Indice del tema (I)


Introduccin a la criptografa clsica
Cifrados por sustitucin y transposicin. Ejemplos
Cifrado producto
Cifrado Vernam (one-time pad)

Algoritmos simtricos
Fundamentos
Algoritmo DES
Algoritmo triple-DES
Algoritmo AES
Otros algoritmos simtricos
Modos de operacin para algoritmos simtricos
Ventajas y desventajas de los algoritmos simtricos
SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Indice del tema (II)


Algoritmos asimtricos (o de clave pblica)
Cifrado/descifrado
Firma Digital
Intercambio de Claves
Algoritmo de Diffie-Hellman
Algoritmo RSA

Otras primitivas criptogrficas


Funciones hash
Cdigos de autenticacin de mensajes

Referencias bibliogrficas

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Introduccin a la criptografa clsica

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Cifrados por sustitucin y transposicin. Ejemplos


Como se ha visto en la ltima tabla del captulo anterior, un
algoritmo de cifrado es uno de los mecanismos para la
implementacin de servicios de seguridad
Criptografa: ciencia que estudia cmo mantener la seguridad en
los mensajes (M)
usando, entre otros mecanismos, los algoritmos de cifrado

Criptoanlisis: ciencia que estudia cmo romper los textos cifrados


Criptologa: Criptografa + Criptoanlisis

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

El algoritmo de cifrado es un mecanismo que transforma un texto


en claro en texto ininteligible
Su objetivo es dar cobertura al servicio de Confidencialidad
El algoritmo de cifrado se denota por E (del ingls encrypt) y opera sobre
el texto en claro M (mensaje)
para producir el texto cifrado C (criptograma)
E (M) = C

La transformacin inversa, o sea, de un texto cifrado en un texto en


claro, se denomina algoritmo de descifrado
El algoritmo de descifrado se denota por D (decrypt)
opera sobre C para producir el mensaje M

D (C) = M

Se cumple que:
D (E (M)) = M
SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Antes de la existencia de ordenadores, la criptografa clsica


consista en algoritmos basados en caracteres
Los algoritmos criptogrficos clsicos o bien sustituan caracteres
o bien los transponan
Cifrado por sustitucin: cifrado en el que cada carcter del texto en claro se
sustituye por otro carcter en el texto cifrado
Cifrado por transposicin: consiste en realizar una permutacin de las
posiciones que ocupan los smbolos en el mensaje en claro

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Ejemplo: cifrado por sustitucin Csar


Consiste en una transformacin nica. Cada carcter
de texto en claro se reemplaza por el carcter tercero
a la derecha mdulo 27
C: M M + 3 (mod. 27)

Ejemplo texto cifrado: WX WDPELHQ, EUXWR, KLMR PLR?

Generalizado posteriormente a un sistema de cifrado con 27 claves


C: M M + K (mod. 27)

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Ese algoritmo da ventaja al criptoanalista, porque la frecuencia de


aparicin de las letras es bien conocida. As:

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Ejemplo: cifrado por sustitucin homofnico


Se basa en la idea de asignar a un smbolo del alfabeto fuente varios del
alfabeto cifrado
Correspondencia uno a muchos al cifrar un mensaje
podemos obtener varios criptogramas

a
b
c
d
e

...

Ejemplo:

01
94
03
31
76
24

...

Created using UNREGISTERED Top Draw 9/14/94 9:49:03 AM

PLATON se cifra como 882110772963


SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

10

Ejemplo: cifrado por transposicin


La forma ms simple de transposicin: el texto en claro se escribe
como secuencia de filas (con una cierta profundidad) y se lee
como secuencia de columnas
Ejemplo: EN ANDALUCIA, EL MULHACEN Y EL VELETA,
SON LAS MONTAAS MAS ALTAS
ENANDALUCIAELMULHACENYELVE
LETASONLASMONTAASMASALTAS

Mensaje cifrado:
ELNEATNADSAOLNULCAISAMEOLNMTUALHAASCMEANSYAELLTVAES

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

11

Cifrado Producto
Combinan sustitucin y transposicin
Se pueden considerar como la aplicacin sucesiva de varios cifrados Ei
E = E1 . E2 . . Er
E (M) = E1 (E2 ( (Er (M))
La composicin de funciones de descifrado Di se realiza en orden
inverso
D = Dr Dr-1 D1
M = D(C) = Dr (Dr-1 (... (D1 (C)))
Es un esquema utilizado para obtener un alto grado de seguridad con
sistemas relativamente sencillos aplicados reiterativamente
Dan lugar a sistemas de cifrado complejos, seguros, difciles de atacar,
fcilmente trasladables a un ordenador
SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

12

Cifrado Vernam
Variante del cifrado llamado one-time pad (OTP)
Un one-time pad es un conjunto infinito y
no repetitivo de letras aleatorias
Cada letra del pad se usa para cifrar una
nica letra del texto en claro, en mdulo n (longitud del alfabeto)
Texto : T H I S I S S E C R E T
OTP: XVH E UW NO P G D Z
----------------------------------------Cifrado : QCPW CO FS R X H S
One-Mme pad booklet and microdot reader,concealed in a toy truck
and used by an illegal agent that operated in Canada.
Canadian Security Intelligence Service

13

Otro ejemplo
Aqu se observan grupos de tres filas, que se corresponden con criptograma, clave, y
texto en claro (en decimal)

Fuente: http://www.caslab.cl/che.php

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

14

En los ordenadores, el OTP aleatorio de longitud infinita se


combina mediante XOR con el texto en claro. Ejemplo:
OTP
OTP

Inconvenientes del cifrado Vernam:


las letras del OTP (o bits si se usa en ordenador) han de
generarse aleatoriamente
el OTP no se vuelve a usar

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

15

Algoritmos simtricos

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

16

Fundamentos
En la mayora de los ejemplos de la seccin anterior la
comunicacin entre los usuarios puede representarse como sigue:

Alice

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Bob

17

El esquema anterior es til siempre que se mantengan en secreto la


transformacin E y su inversa D
Esto es factible para un intercambio de informacin entre dos usuarios
especficos (por ejemplo, Alice y Bob)
Sin embargo, esta forma de funcionamiento resulta no escalable
Es decir, cuando Alice necesite comunicar con alguien distinto de Bob, habra de usar un
algoritmo distinto a E, como muestra la figura inferior
Ms concretamente, Alice necesitara un algoritmo distinto para cada usuario con quien
necesitara contactar
M
M
en direccin a Dave

E3

E2
SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

en direccin a Bob

en direccin a Carol
18

Esta problemtica se puede solucionar introduciendo un parmetro


adicional, la clave secreta K, en el algoritmo de cifrado E
De esta forma, Alice puede usar el mismo algoritmo E en sus
comunicaciones con todos los usuarios (Bob, Carol, Dave, ), pero
selecciona una clave K distinta para cada uno de ellos

K1
M
K3
en direccin a Dave

M
M

E
K2

en direccin a Bob

en direccin a Carol

19

En esta situacin, el mismo algoritmo de descifrado D ser usado por


todos los receptores, pero cada uno necesitar la clave correspondiente
de descifrado (K1*, K2*, K3* )
En resumen, para la comunicacin especfica entre Alice y Bob:

E
K1

K1*
Bob

Alice

DK1* ( EK1 (M) ) = M


20

Por lo tanto, en las nuevas condiciones anteriores,


es posible hacer pblicos los algoritmos E y D
De hecho, se pueden evaluar pblicamente para detectar
posibles fallos
En caso de no tener fallos, entonces se pueden introducir en herramientas comerciales, etc.

Esto se formaliza en el segundo principio de Kerckhoffs:


The system must not be required to be secret, and it must be able to fall into the hands of the
enemy without inconvenience

Por lo tanto, la seguridad del sistema depender finalmente de que


Alice y Bob mantengan en secreto las claves secretas K y K*
Los algoritmos simtricos son aquellos en los que K y K* son la misma clave,
y se denomina clave de sesin
En los algoritmos asimtricos, las claves K y K* son distintas
SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

21

A partir de la expresin
E (M) = C
se podra pensar que el algoritmo de cifrado procesa todo el
mensaje de una sola vez
Sin embargo, por cuestiones de diseo, es raro que ocurra eso

De hecho, son muchos los algoritmos que necesitan procesar el


mensaje M en bloques de n bits, denominndose entonces
cifrados en bloque

22

La longitud especfica n de los bloques viene determinada por el


propio diseo interno del algoritmo
Cada uno de ellos se cifra de la misma forma, como se observa en
la figura

23

Otros algoritmos, en lugar de procesar M particionndolo en


bloques, necesitan procesarlo bit a bit, denominndose entonces
cifrados en flujo
Para ello, se opera en XOR cada bit del mensaje con el bit correspondiente del flujo de clave
El flujo de clave depende de la clave inicial K

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

24

Algoritmo DES (Data Encryption Standard)


DES es un algoritmo de cifrado simtrico que:
Usa bloques de texto en claro de 64 bits, y produce bloques cifrados de
igual tamao
Usa una clave que tambin es de 64 bits (8 octetos) de longitud
El ltimo bit de cada octeto de la clave se usa como bit de paridad, por lo que la longitud
efectiva de la clave (a efectos de seguridad) es de, en realidad, 56 bits

Diseado por IBM para la competicin del National Bureau of


Standards (ahora NIST), en la que se solicitaban propuestas de
algoritmos que pudiesen usarse como estndares para:
cifrado de datos en transmisin
cifrado de datos en almacenamiento

por parte de el Gobierno americano, las empresas privadas y, en


general, de cualquier tipo de usuario
SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

25

Para el desarrollo del DES, IBM parti de Lucifer, un algoritmo


propio desarrollado con anterioridad y usado principalmente en
entornos bancarios
Lucifer se basaba en el uso
de una tcnica denominada
red de Feistel, y usaba
una longitud de clave de 128 bits

Red de Feistel

26

La idea de la red de Feistel queda


reflejada en el propio DES como
muestra la figura
El esquema corresponde a la operacin de cifrado (16 etapas) que se
realiza para cada uno de los bloques
del texto en claro

Esquema general del


algoritmo DES

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

27

En el diagrama anterior se observan dos permutaciones (antes y


despus de las 16 etapas correspondientemente) que simplemente
cambian los bits de lugar
a) Initial Permutation (IP)
b) Inverse Initial Permutation (IP-1)

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

28

En el esquema general mostrado con anterioridad aparece la


funcin f(Rn-1, Kn), que es el ncleo de DES, y que internamente es
como sigue:

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

29

63

40
39
38
37
36
35
34
33

Cajas S

55
58
60
62
64
57
59
61
63

40
39
38
37
36
35
34
33

8
7
6
5
4
3
2
1

47 (a) Initial
39 Permutation
31
23
(IP)

50
42 Initial
34 Permutation
26
18(IP1)10
(b) Inverse
52
44
36
28
20
12
54
30
22
1464
4846
1638
56
24
56
32
24
1663
4748
1540
55
23
49
25
17
9
4641
1433
54
22
62
51
43
35
27
19
11
45
13
53
21
61
53
45
37
29
21
13
4447
1239
52
20
55
31
23
1560

43

8
7
6
5
4
3
2
1

32
4
8
12
16
20
24 32
28 4

13
16
1
2
19

11

51

19

10 Permutation
50
18
(b)42
Inverse Initial
(IP1)

8
12
16
7 20
15 24
8 28

16
1
2
19

15

7
15
8
13

41

49

17

59
58
57

48
16
56
24
47
15
55
23
(c) Expansion
Permutation
(E)
46
14
54
22
45
13
53
21
1
2
3
4
44
12
52
20
5 43
611
7
8
51
19
9 42
1010
11
12
50
18
1341
149
15
16
49
17

64
63
62
61
5
60
9
59
5813
5717

17
18
19
20
(c) Expansion Permutation (E)
21
22
23
24
25 1
262
27
3
428
29 5
306
31
7
832

21
25
5 29
91

10

11

12

(d) 13
Permutation
Function
(P)
14
15
16
17

18

19

20

23
24
2021
2122
29
12
27
28
2325
2626
5
18
31
32
2429
1430
32
27
30(d) Permutation
6
22
11
Function (P)
20
23
24
30

21
26
14
6

29
5
32
22

12
18
27
11

7
2
4
6
8
1
3
5
7

32
31
30
29
28
27
26
25

13
17
21
2528
2931
13

17
10
9
25

4
28
31
3
4

32
31
30
29
28
27
26
25

17
10
9
25

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

30

Se observa tambin que a


cada una de las 16 etapas le
corresponde una subclave
En total, 16 subclaves,
generadas a partir de la
clave inicial K, como
muestra la figura

PC1

Nmero de desplazamientos
PC2

31

Una caracterstica eficiente de DES, y deseable en cualquier


algoritmo de cifrado, es el efecto avalancha
Es decir, un cambio pequeo en el texto en claro, o en la clave, produce un
cambio significativo en el texto cifrado
Si, por el contrario, el cambio fuera pequeo, el criptoanalista tendra mucha ventaja,
porque se reducira el nmero de posibles textos en claro o de posible claves

Ejemplo de efecto avalancha en DES:

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

32

Hasta el momento no se conoce ningn ataque al algoritmo DES


en s mismo que haya sido completamente efectivo
Por otro lado, un ataque exhaustivo a la clave (brute-force attack)
podra parecer impracticable si suponemos, por ejemplo,
1 operacin de descifrado por microsegundo
Con longitud de clave de 56 bits, existen 256 posibles claves (= 7.2 x 1016)
Slo hay que probar 72.057.594.037.927.936 claves

33

Sin embargo,
se puede suponer que el criptoanalista va a disponer
Table 2.2 Average Time Required for Exhaustive Key Search
de capacidad de descrifado con microprocesadores en paralelo y,
por lo tanto, la situacin cambia drsticamente:
Number of alternative
keys

Time required at 1 decryption/s

Time required at 106


decryptions/s

32

232 = 4.3 109

231 s = 35.8 minutes

2.15 milliseconds

56

256 = 7.2 1016

255 s = 1142 years

128

2128 = 3.4 1038

2127 s = 5.4 1024 years

5.4 1018 years

168

2168 = 3.7 1050

2167 s = 5.9 1036 years

5.9 1030 years

Key size (bits)

26 characters
(permutation)

26! = 4 1026

2 1026 s = 6.4 1012 years

10.01 hours

6.4 106 years

Por lo anterior, se deduce que la longitud de clave del DES resulta


demasiado corta si el criptoanalista
dispone del hardware adecuado
DES Key Search Machine
34

Algoritmo Triple-DES
Para aprovechar las ventajas del DES, y a la vez contrarrestar su
escasa longitud de clave, los organismos de estandarizacin han
adoptado el criptosistema Triple-DES ( 3DES)
Consiste en usar una
secuencia de tres
operaciones DES,
con 3 claves distintas

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

35

Existe una variante en la que se utilizan slo dos claves, pero este
esquema ha sido objeto de ataques

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

36

Algoritmo AES (Advanced Encryption Standard)


AES fue publicado por NIST en 2001 como estndar de cifrado simtrico
en bloque para sustituir a DES, especialmente en aplicaciones
comerciales
su nombre original es Rijndael, por sus autores Rijmen y Daemen
utiliza una clave de 128, 192 o 256 bits
la longitud n de cada bloque de datos en los que se subdivide M es 128 bits

AES no utiliza una red de Feistel, sino una red de sustitucinpermutacin


Cada etapa de AES se compone de cuatro funciones distintas:
sustitucin de byte
permutacin
operaciones aritmticas en campo finito
XOR

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

37

La figura muestra el
proceso de cifrado en
AES para 128 bits de
clave (10 etapas)
Otras posibilidades:
192 bits (12 etapas)
256 bits (14 etapas)

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

38

k0

k4

k8 k12

k1

k5

k9 k13

k2

k6 k10 k14

w0 w1

N0 N1

k3

k7 k11 k15

N1 N0

w0 w1 w2 w3

w2 w3

N1' N0'
xi+2

w4 w5 w6 w7

w4 w5

.
.
. (a) Overall algorithm

Algoritmo de expansin de Claves en AES

Figure 5.6 AES Key Expansion

w'

(b) Function g

Funcin g

Figure 5.12 S-AES Key Expansion

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

39

Ejemplo de simulacin de ejecucin de AES, incluyendo


expansin de las claves:
http://www.formaestudio.com/rijndaelinspector/archivos/
Rijndael_Animation_v4_eng.swf

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

40

Inputs para una


etapa de AES

41

Rendimiento de AES comparado con otros algoritmos simtricos

Operacin de cifrado

Operacin de descifrado

42

Otros algoritmos simtricos


Blowfish
Requiere una clave de entre 32 y 448 bits (pero slo se recomienda su uso con ms de 80 bits)
Se utiliza en algunas configuraciones de Ipsec
La longitud de cada bloque de datos es de 64 bits, demasiado pequeo para algunas aplicaciones
Por ese motivo, slo se recomienda en uso heredado (legacy use)

Kasumi
Requiere una clave de 128 bits de longitud, y la longitud de los bloque de datos es de 64 bits
Se usa en UMTS (con el nombre UIA1) y en GSM (con el nombre A5/3)
Presenta una serie de problemas que no afectan a su uso prctico en esas apllicaciones
sin embargo, no se recomienda para aplicaciones futuras

Camellia
Requiere una clave de 128 bits, pero tambin da soporte a claves de 192 y 256 bits
Las versiones con 192 o 256 bits de clave son un 33% ms lentas que la de 128 bits

Su utiliza como una de los posibles cifrados en TLS


Por el momento no se han encontrado ataques efectivos a este algoritmo

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

43

Recomendaciones generales:
En general, la longitud mnima de clave para un cifrado simtrico en bloque
debera ser 128 bits
El tamao mnimo de los bloques de datos depender de la aplicacin
especfica en la que se use el algoritmo, pero en la mayora de ocasiones el
mnimo deberia ser 128 bits
La cantidad mxima de informacin a cifrar con una misma clave debera
limitarse a 2n/2, donde n es el tamao del bloque de datos

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

44

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

45

Modos de operacin para algoritmos simtricos


Un modo de operacin es una tcnica para mejorar el efecto final
de un algoritmo criptogrfico
Tambin se usa para adaptar el algoritmo a un tipo de aplicacin concreta

En ningn caso supone la modificacin del algoritmo de cifrado en


s, sino de la forma en que se opera con los bloques de datos
Hay diferentes modos de operacin, o lo que es lo mismo,
diferentes formas de aplicar un mensaje M a un algoritmo de
cifrado en bloque
cada una de ellas con sus ventajas y desventajas

NIST ha definido cinco modos de operacin, y cualquiera de ellos


se puede utilizar con cualquier algoritmo simtrico (DES, 3DES,
AES, )

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

46

Electronic Codebook (ECB)

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

47

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

48

defined as follows:
CBC Encryption:
CBC Decryption:

C1 = CIPHK(P1 IV);
Cj = CIPHK(Pj Cj-1)
-1

P1 = CIPH K(C1) IV;


-1
Pj = CIPH K(Cj) Cj-1

Cipher Block Chaining (CBC)

ENCRYPT

PLAINTEXT 2

PLAINTEXT n

INPUT BLOCK 1

INPUT BLOCK 2

INPUT BLOCK n

CIPHK

CIPHK

CIPHK

OUTPUT BLOCK 1

OUTPUT BLOCK 2

OUTPUT BLOCK n

CIPHERTEXT 1

CIPHERTEXT 2

CIPHERTEXT n

CIPHERTEXT 1

CIPHERTEXT 2

CIPHERTEXT n

INPUT BLOCK 1

INPUT BLOCK 2

INPUT BLOCK n

CIPH-1K

CIPH-1K

CIPH-1K

OUTPUT BLOCK 1

OUTPUT BLOCK 2

OUTPUT BLOCK n

DECRYPT

PLAINTEXT 1

INITIALIZATION
VECTOR

for j = 2 n.

INITIALIZATION
VECTOR

for j = 2 n.

PLAINTEXT 1

PLAINTEXT 2

PLAINTEXT n

SEGURIDAD DE LA INFORMACIN - Tema 2: Figure


Tcnicas2:Criptogrficas
Bsicas
The CBC Mode

49

from every plaintext segment. In general, each successive input block is enciphered to produce
an output block. The s most significant bits of each output block are exclusive-ORed with the
corresponding plaintext segment to form a ciphertext segment. Each ciphertext segment (except
the last one) is fed back into the previous input block, as described above, to form a new input
block. The feedback can be described in terms of the individual bits in the strings as follows: if
th
i1i2ib is the jth input block, and c1c2cs is the jth ciphertext segment, then the (j+1) input block
is is+1is+2ib c1c2cs.

Cipher Feedback (CFB)

ENCRYPT

INITIALIZATION
VECTOR

PLAINTEXT 1
s Bits

INPUT BLOCK 1

INPUT BLOCK 2
(b-s) Bits s Bits

CIPHK

CIPHK

CIPHK

OUTPUT BLOCK 1
Select Discard
s Bits
(b-s) Bits

OUTPUT BLOCK 2
Select Discard
s Bits
(b-s) Bits

OUTPUT BLOCK n
Select Discard
s Bits
(b-s) Bits

PLAINTEXT 2
s Bits

INPUT BLOCK n
(b-s) Bits s Bits

PLAINTEXT n
s Bits

CIPHERTEXT 2
s Bits

CIPHERTEXT 1
s Bits

CIPHERTEXT n
s Bits

INITIALIZATION
VECTOR

INPUT BLOCK 2
(b-s) Bits s Bits

INPUT BLOCK 1

DECRYPT

CIPHK

CIPHK

PLAINTEXT 1
s Bits

CIPHK

OUTPUT BLOCK 2
Select Discard
s Bits
(b-s) Bits

OUTPUT BLOCK 1
Select Discard
s Bits
(b-s) Bits
CIPHERTEXT 1
s Bits

INPUT BLOCK n
(b-s) Bits s Bits

CIPHERTEXT 2
s Bits

PLAINTEXT 2
s Bits

OUTPUT BLOCK n
Select Discard
s Bits
(b-s) Bits
CIPHERTEXT n
s Bits

PLAINTEXT n
s Bits

Figure 3: The CFB Mode

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

In CFB decryption, the IV is the first input block, and each successive input block is formed as in

50

also transformed by the forward cipher function to produce the third output block. Thus, the
successive output blocks are produced from applying the forward cipher function to the previous
output blocks, and the output blocks are exclusive-ORed with the corresponding ciphertext
blocks to recover the plaintext blocks. For the last block, which may be a partial block of u bits,
the most significant u bits of the last output block are used for the exclusive-OR operation; the
remaining b-u bits of the last output block are discarded.

Output Feedback (OFB)

ENCRYPT

INITIALIZATION
VECTOR

INPUT BLOCK 1

INPUT BLOCK 2

INPUT BLOCK n

CIPHK

CIPHK

CIPHK

OUTPUT BLOCK 2

OUTPUT BLOCK 1

PLAINTEXT 1

PLAINTEXT 2

OUTPUT BLOCK n

PLAINTEXT n

CIPHERTEXT 2

CIPHERTEXT 1

CIPHERTEXT n

DECRYPT

INITIALIZATION
VECTOR

CIPHERTEXT 1

INPUT BLOCK 1

INPUT BLOCK 2

INPUT BLOCK n

CIPHK

CIPHK

CIPHK

OUTPUT BLOCK 1

OUTPUT BLOCK 2

OUTPUT BLOCK n

CIPHERTEXT 2

PLAINTEXT 1

PLAINTEXT 2

Figure 4: The OFB Mode

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

CIPHERTEXT n

PLAINTEXT n

51

ENCRYPT

Counter (CTR)

PLAINTEXT 1

COUNTER 1

COUNTER 2

COUNTER n

INPUT BLOCK 1

INPUT BLOCK 2

INPUT BLOCK n

CIPHK

CIPHK

OUTPUT BLOCK 1

OUTPUT BLOCK 2

PLAINTEXT 2

DECRYPT

CIPHERTEXT 1

. . . . .

CIPHK
OUTPUT BLOCK n

PLAINTEXT n

CIPHERTEXT n

CIPHERTEXT 2

COUNTER 1

COUNTER 2

COUNTER n

INPUT BLOCK 1

INPUT BLOCK 2

INPUT BLOCK n

CIPHK

CIPHK

OUTPUT BLOCK 1

OUTPUT BLOCK 2

CIPHERTEXT 1

CIPHERTEXT 2

PLAINTEXT 1

. . . . .

PLAINTEXT 2

Figure 5: The CTR Mode

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

CIPHK
OUTPUT BLOCK n

CIPHERTEXT n

PLAINTEXT n

52

Table 6.1 Block Cipher Modes of Operation


Mode
Electronic Codebook (ECB)

Description
Each block of 64 plaintext bits is
encoded independently using the
same key.

Cipher Block Chaining (CBC) The input to the encryption


algorithm is the XOR of the next
64 bits of plaintext and the
preceding 64 bits of ciphertext.

Typical Application
Secure transmission of
single values (e.g., an
encryption key)
General-purpose blockoriented transmission
Authentication

Cipher Feedback (CFB)

Input is processed s bits at a time. General-purpose streamPreceding ciphertext is used as


oriented transmission
input to the encryption algorithm Authentication
to produce pseudorandom output,
which is XORed with plaintext to
produce next unit of ciphertext.

Output Feedback (OFB)

Similar to CFB, except that the


input to the encryption algorithm
is the preceding DES output.

Counter (CTR)

Each block of plaintext is XORed General-purpose blockwith an encrypted counter. The


oriented transmission
counter is incremented for each
Useful for high-speed
subsequent block.
requirements

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

Stream-oriented
transmission over noisy
channel (e.g., satellite
communication)

53

Ventajas y desventajas de los algoritmos simtricos


Ventajas:
Los algoritmos simtricos se pueden disear para alcanzar un alto
rendimiento (alto caudal de informacin cifrada)
En HW se pueden alcanzar del orden de cientos de Mbytes/sec
En SW se pueden alcanzar del orden Mbytes/sec

Se pueden componer para producir cifrados ms fuertes


Se pueden utilizar como base para construir otros mecanismos
criptogrficos, como funciones hash y generadores pseudoaletorios de
nmeros
Los algoritmos simtricos necesitan claves K relativamente cortas

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

54

Desventajas:
En una comunicacin entre dos usuarios, estos han de acordar, a priori, la clave
K con la que cifrarn/descifrarn sus comunicaciones
la clave ha de permanecer estrictamente en secreto, por lo que slo la han conocer esos dos
usuarios que se comunican

Si los dos usuarios estn fsicamente lejanos entre s, acordar la clave puede
convertirse en una tarea difcil
qu medio suficientemente seguro habrn de utilizar si no es posible una reunin presencial
entre ambos?
adems, a efectos de seguridad, es recomendable que la clave K entre dos usuarios se cambie
con cierta frecuencia, lo que complica el problema

En una red grande (de muchos usuarios) habr demasiadas claves que
administrar
Para una comunidad de n usuarios, el nmero de claves en el sistema ser de (n * (n-1)) / 2
Ej: 100 usuarios 4950 claves

Probablemente har falta una tercera parte confiable para ayudar a los usuarios en las tareas de
administracin de claves

SEGURIDAD DE LA INFORMACIN - Tema 2: Tcnicas Criptogrficas Bsicas

55

S-ar putea să vă placă și