Criptografa
Elvira Mayordomo Cmara
Octubre 2009
Bibliografa
Qu es Criptografa?
Alice
canal inseguro
fisgn
Bob
PRIMERA PARTE
Autentificacin de mensajes
MAC (cdigo de autentificacin de mensajes)
Autentificacin de tiempo
Timestamping
Intro:
Criptologa
Criptografa
Hacer:
Criptoanlisis
Romper:
Todos los anteriores
Intro:
Definicin bsica
Intro:
Sistema Criptogrfico
Cifrar un mensaje
c= e(m,k)
Descifrar un mensaje
m= d(c,k)
m= d(e(m,k),k)
10
Intro:
Principio de Kerckhoffs
11
Intro:
Medida de la seguridad
Seguridad incondicional
Los enemigos tienen poder de clculo ilimitado
Para romper un sistema criptogrfico hay que probar todas
las claves posibles
Seguridad computacional
Los enemigos tienen poder de clculo limitado
En general, pueden resolver slo problemas resolubles en
tiempo polinmico
12
Intro:
Seguridad incondicional
Asumiendo que:
La clave tiene 120 bits y tenemos un procesador corriendo a
3GHz
Probamos una clave en cada ciclo
Para probar todas las claves necesitamos
140.000.000 siglos
13
Intro:
Seguridad computacional
Problemas fciles
Encontrar el mximo de n nmeros: tiempo O(n)
Ordenar n elementos: tiempo O(n log n)
Un problema difcil:
Factorizar N (de n bits): tiempo 2O(raz(n log n))
14
C. privada:
15
C. privada:
Grficamente ...
Alice
canal inseguro
Bob
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
16
C. privada:
Protocolo
17
C. privada:
Por supuesto
18
C. privada:
Problemas
Nmero de claves
Para tener seguridad cada pareja tiene que tener una clave
distinta
Para n personas se tienen que construir y distribuir n(n-1)/2
claves
Tienes que saber con quin ests hablando
19
C. pblica:
20
C. pblica:
Grficamente ...
Clave pblica de Bob
Alice
Clave privada de Bob
canal inseguro
Bob
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
21
C. pblica:
Protocolo
22
C. pblica:
Propiedades
23
C. pblica:
Funcionamiento
24
C. pblica:
Problemas
25
C. pblica:
Cifrado hbrido
26
C. pblica:
Alice
m
canal inseguro
privada
de Bob
Bob
27
C. pblica:
28
Firma digital: Qu
es la firma digital?
29
30
Firma digital: Ms
propiedades
31
32
true si s=sig(m,k)
ver(m,s,k)=
false si ssig(m,k)
33
...
m
s=sig(m)
Alice
m s
true
false
canal inseguro
ver(m,s)
m
s
Bob
34
bsico
35
36
...
Clave privada
de Alice
s
Alice
canal inseguro
Clave pblica
de Alice
OK
s
Bob
37
38
39
solucin simple
40
...
ASprivada
Alice
s
m
pblica de
Bob
canal inseguro
ASpblica
privada
de Bob
OK
s
Bob
41
Alice tiene ASprivada, Bob tiene BCprivada y todos tienen ASpblica, BCpblica
42
hay problemas
43
Firma digital: La
firma es reutilizable
44
45
Firma digital: La
firma es reutilizable
46
Funciones hash
47
Funciones hash:
One-way
48
Funciones hash:
Libre de colisiones
49
Funciones hash:
50
...
m
pblica de
Bob
Alice
Aprivada
hash
canal inseguro
OK
Apblica
privada
de Bob
m
hash
Bob
51
de firma no reutilizable
52
Funciones hash:
53
Funciones hash:
54
Intercambio de claves
Es un protocolo mediante el cual 2 ms partes
establecen una clave secreta comunicndose por un
canal pblico
mA
Alice
k=f(mA,mB)
mB
k=f(mA,mB)
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
Bob
55
Introduccin a la
Criptografa II
Elvira Mayordomo Cmara
Octubre 2008
57
SEGUNDA PARTE
58
SEGUNDA PARTE
59
Alice
canal inseguro
Bob
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
60
Formados a base de
Sustituciones
Permutaciones
Dos tcnicas clsicas de cifrado
61
El cifrado de Csar
62
El cifrado de Csar
El salto puede ser cualquiera
Cifrado y descifrado son igual de fciles
Demasiado fciles ... Slo hay 25 claves diferentes
El espacio de claves es demasiado pequeo
63
general
Hay una tabla que muestra cmo cifrar cada letra del
mensaje
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
O C T M B W L A K J D X I N E Y S U P F Z R Q H V G
64
general
Anlisis estadstico
65
general
Anlisis estadstico
Frecuencias en ingls:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
7,3 1,3 3,5 4,3 12,8 3,0 2,0 3,5 7,8 0,3 0,5 3,7 2,8 7,8 7,5 2,8 0,5 8,5 6,0 9,3 3,0 1,5 1,5 0,5 2,3 0,3
66
one-time
One-time pad
Cogemos el mensaje en binario y hacemos el XOR
con una clave binaria (que slo usamos una vez)
0
mensaje
clave
cifrado
67
one-time
Simtrico
Cifrar c= m k
Descifrar
m= c k
Incondicionalmente seguro
Slo podemos adivinar m
Slo una vez
Enviar la clave es tan costoso como enviar el
mensaje
68
one-time
Usado por:
Los espas rusos
El telfono rojo Washington-Mosc
Los mensajes del Che a Castro
69
Formados a base de
Sustituciones
Permutaciones
70
71
Formados a base de
Sustituciones: para oscurecer la relacin entre
mensaje y mensaje cifrado
Permutaciones: para oscurecer las redundancias en
el mensaje (qu letra va despus de cul, etc)
72
DES
73
DES
74
DES
La ronda nmero i:
Coge los 64 bits resultado de la ronda i-1
Los parte en dos trozos de 32 bits, Di-1, Ii-1
Utiliza la subclave ki
75
I0
DES
D0
Ronda 1
I1
D1
Ronda 2
k2
I2
D2
resultado ronda 2
I16
D16
resultado ronda 16
76
32 bits
Di-1
Permutacin y Expansin
Sustitucin y Compresin
salida de 48 bits
ki
salida de 32 bits
Permutacin
Ii
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
Di
resultado ronda i
77
Permutacin y Expansin
32 bits
Permutacin y Expansin
48 bits
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
78
32 bits
Di-1
Permutacin y Expansin
Sustitucin y Compresin
salida de 48 bits
ki
salida de 32 bits
Permutacin
Ii
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
Di
resultado ronda i
79
Entrada de 48 bits
S-box 1
S-box 2
S-box 7
S-box 8
Salida de 32 bits
80
0
1
2
3
0 1 2
14 4 13
0 15 7
4 1 14
15 12 8
3 4 5 6 7 8 9 10
1 2 15 11 8 3 10 6
4 14 2 13 1 10 6 12
8 13 6 2 11 15 12 9
2 4 9 1 7 5 11 3
11 12 13
12 5 9
11 9 5
7 3 10
14 10 0
14 15
0 7
3 8
5 0
6 13
81
32 bits
Di-1
Permutacin y Expansin
Sustitucin y Compresin
salida de 48 bits
ki
salida de 32 bits
Permutacin
Ii
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
Di
resultado ronda i
82
descifrar en DES
83
historia de DES
84
85
Triple DES
mensaje
k1
k2
DES
DES-1
k3
DES
mensaje
cifrado
86
AES
87
Cifradores:
Ms sobre estndares
88
89
Alice
Clave privada de Bob
canal inseguro
Bob
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
90
91
92
93
94
Clave privada
de Alice
s
Alice
canal inseguro
Clave pblica
de Alice
OK
s
Bob
95
96
97
98
99
Claves de DSA
Clave pblica
p primo de entre 512 y 1024 cifras
q factor primo de p 1 de 160 bits
g = h(p-1)/q mod p (con h< p-1)
y = gx mod p
Clave privada
x<q de 160 bits
100
Clculos de DSA
Firmar
Elegir aleatoriamente k < q
s1 = (gk mod p) mod q
s2 = (H(m) + s1*x)k-1 mod q
La firma es (s1,s2)
Verficar
w = (s2)-1 (mod q)
u1 = H(m)*w (mod q)
u2 = s1*w (mod q)
v = [gu1*yu2 mod p] mod q
Firma vlida si v = s1
101
102
Pero ...
103
Grficamente ...
m
pblica de
Bob
Alice
Aprivada
hash
canal inseguro
OK
Apblica
privada
de Bob
m
hash
Bob
104
105
Paso i
Hi
106
Funciones hash:
SHA1
Bloque 1 (512 bits)
B1
Paso 1
160 bits
H1
512 bits
B2
Paso 2
H2
Hn
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
B2
Hn resultado paso n (160 bits)
= resultado final
107
Romper SHA1
108
Intercambio de claves
Es un protocolo mediante el cual 2 ms partes
establecen una clave secreta comunicndose por un
canal pblico
mA
Alice
k=f(mA,mB)
mB
k=f(mA,mB)
Master en Ingeniera de Sistemas e Informtica
Universidad de Zaragoza
Bob
109
Intercambio de claves
110
111
112