Professional Documents
Culture Documents
Criptografa:
Arte de escribir mensajes con una
clave secreta o de modo enigmtico.
Desde el punto de vista de la ingeniera y la informtica,
es difcil encontrar una definicin menos apropiada .
Hoy ya no es un arte sino una ciencia.
No slo se protegen mensajes que se escriben, sino
archivos y documentos en general que se generan.
Muchos sistemas usan dos claves: secreta y pblica.
No hay nada de enigmtico en una cadena de bits.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 46
Cifrar o encriptar?
Cifra o cifrado:
Tcnica que, en general, protege o autentica a un documento o
usuario al aplicar un algoritmo criptogrfico. Sin conocer una clave
especfica, no ser posible descifrarlo o recuperarlo.
En algunos pases por influencia del ingls se usar la palabra
encriptar. Si bien esta palabra todava no existe, bien podra ser el
acto de meter a alguien dentro de una cripta, ... algo
bastante distinto a lo que deseamos expresar .
Situaciones parecidas a sta encontraremos muchas. Por ejemplo,
podemos ver en algunos documentos las palabras autentificacin,
securizar y otras parecidas, que a la fecha no estn recogidas en el
diccionario de la Real Academia Espaola. Peor an, no podemos
encontrar en ese diccionario palabras tan comunes como factorizar,
factorizacin, primalidad, criptlogo, criptgrafo, criptoanalista, ...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 47
Algunas definiciones previas
Criptologa: ciencia que estudia e investiga todo aquello
relacionado con la criptografa: incluye cifra y criptoanlisis.
Criptgrafo: mquina o artilugio para cifrar.
Criptlogo: persona que trabaja de forma legtima para
proteger la informacin creando algoritmos criptogrficos.
Criptoanalista: persona cuya funcin es romper algoritmos de
cifra en busca de debilidades, la clave o del texto en claro.
Texto en claro: documento original. Se denotar como M.
Criptograma: documento/texto cifrado. Se denotar como C.
Claves: datos (llaves) privados/pblicos que permitirn cifrar.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 48
Es el delito informtico interesante?
El delito informtico parece ser un buen negocio:
Objeto Pequeo: la informacin est almacenada en
contenedores pequeos: no es necesario un camin para
robar un banco, llevarse las joyas, el dinero, ...
Contacto Fsico: no existe contacto fsico en la mayora
de los casos. Se asegura el anonimato y la integridad
fsica del propio delincuente.
Alto Valor: el objeto codiciado tiene un alto valor. El
contenido (los datos) puede valer mucho ms que el
soporte que los almacena: computador, disquete, CD, ...
Solucin? uso de tcnicas criptogrficas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 49
Seguridad Fsica v/s Seguridad Lgica
El estudio de la seguridad informtica podemos
plantearlo desde dos enfoques:
Seguridad Fsica: proteccin del sistema ante las
amenazas fsicas, planes de contingencia, control de
acceso fsico, polticas de seguridad, normativas, etc.
Este tema ser tratado brevemente en el captulo 3.
Seguridad Lgica: proteccin de la informacin en su
propio medio mediante el enmascaramiento de la
misma usando tcnicas de criptografa. Este enfoque
propio de las Aplicaciones Criptogrficas es el que ser
tratado a lo largo de todo el curso.
No obstante, tenga en cuenta que esta clasificacin en la
prctica no es tan rigurosa.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 50
Principios de la seguridad informtica
Veremos a continuacin los tres
principios bsicos de la seguridad
informtica: el del acceso ms fcil,
el de la caducidad del secreto, y el de
la eficiencia de las medidas tomadas.
Tras los acontecimientos del 11 de
septiembre de 2001, que de alguna
forma ha hecho a la gente pensar en
las debilidades de los sistemas, vale
la pena tenerlos muy en cuenta.
Deberamos
aprender la
leccin
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 51
1
er
principio de la seguridad informtica
PREGUNTA:
Cules son los puntos dbiles
de un sistema informtico?
El intruso al sistema utilizar cualquier artilugio
que haga ms fcil su acceso y posterior ataque.
Existir una diversidad de frentes desde los que
puede producirse un ataque. Esto dificulta el
anlisis de riesgos porque el delincuente aplica la
filosofa de ataque hacia el punto ms dbil.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 52
2 principio de la seguridad informtica
PREGUNTA:
Cunto tiempo deber
protegerse un dato?
Los datos confidenciales deben protegerse slo
hasta ese secreto pierda su valor.
Se habla, por tanto, de la caducidad del sistema de
proteccin: tiempo en el que debe mantenerse la
confidencialidad o secreto del dato.
Esto nos llevar a la fortaleza del sistema de cifra.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 53
3
er
principio de la seguridad informtica
Las medidas de control se implementan para ser
utilizadas de forma efectiva. Deben ser eficientes,
fciles de usar y apropiadas al medio.
Que funcionen en el momento oportuno.
Que lo hagan optimizando los recursos del sistema.
Que pasen desapercibidas para el usuario.
Y lo ms importante: ningn sistema de
control resulta efectivo hasta que es
utilizado al surgir la necesidad de
aplicarlo. Este es uno de los grandes
problemas de la Seguridad Informtica.
Medidas de control
S.I.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 54
Debilidades del sistema informtico (1)
HARDWARE - SOFTWARE - DATOS
MEMORIA - USUARIOS
Los tres primeros puntos conforman el llamado Tringulo de
Debilidades del Sistema:
Hardware: pueden producirse errores intermitentes, conexiones
suelta, desconexin de tarjetas, etc.
Software: puede producirse la sustraccin de programas, ejecucin
errnea, modificacin, defectos en llamadas al sistema, etc.
Datos: puede producirse la alteracin de contenidos, introduccin
de datos falsos, manipulacin fraudulenta de datos, etc.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 55
Debilidades del sistema informtico (2)
Memoria: puede producirse la introduccin de un virus, mal uso de
la gestin de memoria, bloqueo del sistema, etc.
Usuarios: puede producirse la suplantacin de identidad, el acceso
no autorizado, visualizacin de datos confidenciales, etc.
Es muy difcil disear un plan que contemple minimizar de
forma eficiente todos estos aspectos negativos.
Debido al Principio de Acceso ms Fcil, no se deber
descuidar ninguno de los cinco elementos susceptibles de
ataque del sistema informtico.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 56
Amenazas del sistema
Las amenazas afectan
principalmente al
Hardware, al Software
y a los Datos. stas se
deben a fenmenos de:
Interrupcin
Interceptacin
Modificacin
Generacin
Interrupcin Interceptacin
Flujo Normal
Modificacin Generacin
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 57
Amenazas de interrupcin
Se daa, pierde o deja de funcionar un punto del
sistema.
Su deteccin es inmediata.
Interrupcin
Intruso
Ejemplos: Destruccin del hardware.
Borrado de programas, datos.
Fallos en el sistema operativo.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 58
Amenazas de interceptacin
Interceptacin
Intruso
Acceso a la informacin por parte de personas no
autorizadas. Uso de privilegios no adquiridos.
Su deteccin es difcil, a veces no deja huellas.
Ejemplos: Copias ilcitas de programas.
Escucha en lnea de datos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 59
Amenazas de modificacin
Modificacin
Intruso
Acceso no autorizado que cambia el entorno para
su beneficio.
Su deteccin es difcil segn las circunstancias.
Ejemplos: Modificacin de bases de datos.
Modificacin de elementos del HW.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 60
Amenazas de generacin
Generacin
Intruso
Creacin de nuevos objetos dentro del sistema.
Su deteccin es difcil: delitos de falsificacin.
Ejemplos: Aadir transacciones en red.
Aadir registros en base de datos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 61
El tringulo de debilidades
Interrupcin Interceptacin Modificacin Generacin
(prdida) (acceso) (cambio) (alteracin)
DATOS
HW SW
Interrupcin (denegar servicio) Modificacin (falsificacin)
Interceptacin (robo) Interrupcin (borrado)
Interceptacin (copia)
Ejemplos de ataques
Los datos sern la
parte ms vulnerable
del sistema.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 62
Ataques caractersticos
Hardware:
Agua, fuego, electricidad, polvo, cigarrillos, comida.
Software:
Adems de algunos de hardware, borrados accidentales
o intencionados, esttica, fallos de lneas de programa,
bombas lgicas, robo, copias ilegales.
Datos:
Tiene los mismos puntos dbiles que el software. Pero
hay dos problemas aadidos: no tienen valor intrnseco
pero s su interpretacin y, por otra parte, algunos datos
pueden ser de carcter pblico.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 63
Confidencialidad, integridad, disponibilidad
Confidencialidad
Los componentes del sistema sern accesibles slo por
aquellos usuarios autorizados.
Integridad
Los componentes del sistema slo pueden ser creados
y modificados por los usuarios autorizados.
Disponibilidad
Los usuarios deben tener disponibles todos los
componentes del sistema cuando as lo deseen.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 64
No repudio de origen y destino
No Repudio
Este trmino se ha introducido en los ltimos aos
como una caracterstica ms de los elementos que
conforman la seguridad en un sistema informtico.
Est asociado a la aceptacin de un protocolo de
comunicacin entre emisor y receptor (cliente y
servidor) normalmente a travs del intercambio de
sendos certificados digitales de autenticacin.
Se habla entonces de No Repudio de Origen y No
Repudio de Destino, forzando a que se cumplan todas
las operaciones por ambas partes en una comunicacin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 65
Datos seguros
Si se cumplen estos principios, diremos en general
que los datos estn protegidos y seguros.
Confidencialidad Integridad Disponibilidad
Datos Seguros
DATOS DATOS
DATOS
DATOS
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 66
Sistema de cifra
Medio de
Transmisin Transmisor Receptor
M C
T R
MT
C M
Mensaje cifrado
Interceptacin del mensaje
por un intruso
Cifrador
Descifrador
Usurpacin de identidad
por un intruso
Sea cual sea el medio de transmisin (enlace, red telefnica,
red de datos, disco magntico, disco ptico, etc.) ste ser
siempre y por definicin inseguro.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 67
Esquema de un criptosistema
Texto
Base Base
Canal inseguro
Clave
Cifrador Descifrador
Texto
C
K Clave K
Transmisor Receptor
Texto cifrado
M M
Espacio de Mensajes M
Espacio de Textos Cifrados C
Espacio de Claves K
Transformaciones de Cifrado y de Descifrado
Se habla
entonces de:
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 68
Funciones y operaciones de cifra
C = E(M)
M = D(C)
M = D(E(M))
Si se usa una clave k:
C = E(k,M) o E
k
(M)
M = D(k, E(k,M))
M = D(k
D
, E(k
E
,M))
Las operaciones D y E son
inversas o bien lo son las
claves que intervienen. Esto
ltimo es lo ms normal, con
los inversos dentro de un
cuerpo finito. Por lo tanto, se
recupera el mensaje en claro.
E: Cifrado del mensaje M
D: Descifrado del criptograma C
En este ltimo caso los algoritmos E y D son iguales
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 69
Espacio de mensajes M
Componentes de un mensaje inteligible (bits, bytes,
pixels, signos, caracteres, etc.) que provienen de un
alfabeto previamente establecido como en el ejemplo.
El lenguaje tiene unas reglas sintcticas y semnticas.
En algunos casos y para los sistemas de cifra clsicos
la longitud del alfabeto indicar el mdulo en el cual
se trabaja. En los modernos, no guarda relacin.
Habr mensajes con sentido y mensajes sin sentido.
M = {m
1
, m
2
, ..., m
n
}
Est muy claro que esto
es un texto en claro...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 70
Espacio de textos cifrados C
Normalmente el alfabeto es el mismo que el utilizado
para crear el mensaje en claro.
Supondremos que el espacio de los textos cifrados C y
el espacio de los mensaje M (con y sin sentido) tienen
igual magnitud.
En este caso, a diferencia del espacio de mensajes M,
sern vlidos todo tipo de criptogramas.
C = {c
1
, c
2
, ..., c
n
}
VjbmljYSB3kZSBNYWRy+
WQgQ0ExLTAr8BgN...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 71
Espacio de claves K
K = {k
1
, k
2
, ..., k
n
}
Si el espacio de claves K es tan grande como el de los
mensajes M, se obtendr un criptosistema con secreto
perfecto.
Se supone que es un conjunto altamente aleatorio de
caracteres, palabras, bits, bytes, etc., en funcin del
sistema de cifra. Al menos una de las claves en un
criptosistema se guardar en secreto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 72
Transformaciones de cifrado E
k
E
k
: M C k K
E
k
es una aplicacin con una clave k, que est en el
espacio de claves K, sobre el mensaje M y que lo
transforma en el criptograma C.
Es el algoritmo de cifra. Slo en algunos sistemas
clsicos el algoritmo es secreto. Por lo general el
algoritmo de cifra ser de dominio pblico y su cdigo
fuente debera estar disponible en Internet.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 73
Transformaciones de descifrado D
k
D
k
es una aplicacin con una clave k, que est en el
espacio de claves K, sobre el criptograma C y que lo
transforma en el texto en claro M.
Se usa el concepto de inverso. D
k
ser la operacin
inversa de E
k
o bien -que es lo ms comn- se usa la
misma transformacin E
k
para descifrar pero con una
clave k que es la inversa de k dentro de un cuerpo.
D
k
: C M k K
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 74
Criptosistemas de clave secreta
Mensaje cifrado
Medio de
Transmisin Clave
M
C
Texto
Base
Base
Cifrado Descifrado
MT
M C
Cifrado: E
k
Descifrado: D
k
E
k
D
k
k k
Clave
nica
Clave
Texto
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 75
Requisitos de un criptosistema
Algoritmo de cifrado/descifrado rpido y fiable.
Posibilidad de transmitir ficheros por una lnea de
datos, almacenarlos o transferirlos.
No debe existir retardo debido al cifrado o descifrado.
La seguridad del sistema deber residir solamente en
el secreto de una clave y no de las funciones de cifra.
La fortaleza del sistema se entender como la
imposibilidad computacional (tiempo de clculo en
aos que excede cualquier valor razonable) de romper
la cifra o encontrar la clave secreta a partir de otros
datos de carcter pblico.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 76
Recomendaciones de Bacon
Filsofo y estadista ingls del siglo XVI
Dado un texto en claro M y un algoritmo de cifra E
k
,
el clculo de E
k
(M) y su inversa debe ser sencillo.
Ser imposible encontrar el texto en claro M a partir
del criptograma C si se desconoce la funcin de
descifrado D
k
.
El criptograma deber contener caracteres distribuidos
para que su apariencia sea inocente y no d pistas a un
intruso.
Teniendo en cuenta los siglos trascurridos desde estas
afirmaciones, stas siguen siendo vlidas hoy en da.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 77
Recomendaciones de Kerckhoffs
Profesor holands en Pars del siglo XIX
K
1
: El sistema debe ser en la prctica imposible de
criptoanalizar.
K
2
: Las limitaciones del sistema no deben plantear
dificultades a sus usuarios.
K
3
: Mtodo de eleccin de claves fcil de recordar.
K
4
: Transmisin del texto cifrado por telgrafo.
K
5
: El criptgrafo debe ser portable.
K
6
: No debe existir una larga lista de reglas de uso.
Al igual que en el caso anterior, siguen siendo vlidas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 78
Fortaleza: tipos de ataques
Conociendo el algoritmo de cifra, el criptoanalista
intentar romper la cifra:
1. Contando nicamente con el criptograma.
2. Contando con texto en claro conocido.
3. Eligiendo un texto en claro.
4. A partir de texto cifrado elegido.
ATAQUE POR FUERZA BRUTA
5. Buscando combinaciones de claves.
Mayor
trabajo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 79
Clasificacin de los criptosistemas
Sistemas de cifra: clsicos
v/s modernos
Clasificacin histrica y
cultural (no cientfica).
Sistemas de cifra: en bloque
v/s en flujo
Clasificacin de acuerdo a
cmo se produce la cifra.
Sistemas de clave: secreta v/s pblica
Clasificacin de acuerdo a la cifra usando una nica
clave secreta o bien sistemas con dos claves, una de
ellas pblica y la otra privada.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 80
Cifrado en bloque y en flujo
CIFRADO EN BLOQUE:
El mismo algoritmo de cifra se aplica a un bloque de
informacin (grupo de caracteres, nmero de bytes,
etc.) repetidas veces, usando la misma clave. El
bloque ser normalmente de 64 128 bits.
CIFRADO EN FLUJO:
El algoritmo de cifra se aplica a un elemento de
informacin (carcter, bit) mediante un flujo de clave
en teora aleatoria y mayor que el mensaje. La cifra se
hace bit a bit.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 81
Comparativa cifrado en bloque v/s flujo
CIFRADO EN BLOQUE
Ventajas: Desventajas:
* Alta difusin de los elementos * Baja velocidad de cifrado al tener
en el criptograma. que leer antes el bloque completo.
* Inmune: imposible introducir * Propenso a errores de cifra. Un
bloques extraos sin detectarlo. error se propagar a todo el bloque.
CIFRADO EN FLUJO
Ventajas: Desventajas:
* Alta velocidad de cifra al no * Baja difusin de elementos en el
tener en cuenta otros elementos. criptograma.
* Resistente a errores. La cifra es * Vulnerable. Pueden alterarse los
independiente en cada elemento. elementos por separado.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 82
Confidencialidad v/s integridad
Vamos a ver cmo se obtienen en cada uno de
estos sistemas de cifra (cifrado con clave secreta
y cifrado con clave pblica) los dos aspectos ms
relevantes de la seguridad informtica:
La confidencialidad
y la integridad
Llegaremos a un concepto de mucha utilidad en
criptografa al analizar el sistema con clave pblica...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 83
Confidencialidad con clave secreta
protegida
Buscamos la
confidencialidad
Medio de
k
Transmisin
k
M
C
Texto Texto
Base Base
M no permitido
E
K
MT
D
K
M
C
D
K
intruso
Criptograma
Protegemos el
extremo receptor
El criptoanalista no podr descifrar el criptograma C o
cualquier otro texto cifrado bajo la transformacin E
K
.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 84
Integridad con clave secreta
protegida
Buscamos la
integridad
Medio de
k
Transmisin
k
M
C
Texto Texto
Base
Criptograma
Base
C no permitido
E
K
MT
D
K
M
C
E
K
intruso
Hola... soy Paquito!
Protegemos ahora el extremo emisor
El criptoanalista no podr cifrar un texto en claro M y
enviarlo al destinatario como C = E
K
(M).
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 85
Resumen para sistemas de clave secreta
protegida
Medio de
k
Transmisin
k
M
C
Texto Texto
Base
Criptograma
Base
C no permitido
E
K
MT
D
K
M
C
E
K
Hola... soy Paquito!
M no permitido
protegida
D
K
Confidencialidad Integridad
La confidencialidad y la integridad se lograrn
simultneamente si se protege la clave secreta.
Era algo
obvio
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 86
Confidencialidad con clave pblica
protegida
Buscamos la
confidencialidad
Medio de
clave pblica de B
Transmisin
M
C
Texto Texto
Base Base
M no permitido
E
B
MT
D
B
M
C
D
B
intruso
Criptograma
clave privada de B
Observe que se cifra
con la clave pblica
del usuario receptor
Usuario A Usuario B
Cada usuario U
usa dos funciones:
una pblica E
U
y
otra privada D
U
Cada usuario U
usa dos funciones:
una pblica E
U
y
otra privada D
U
C = E
B
(M)
M = D
B
(C) = D
B
(E
B
(M))
D
B
y E
B
son operaciones
inversas dentro de un cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 87
Integridad con clave pblica
Medio de
clave privada de A
Transmisin
M
C
Texto Texto
Base Base
D
A
MT
E
A
M
C
D
A
Criptograma
clave pblica de A
Observe que se cifra
con la clave privada
del usuario emisor
Usuario A Usuario B
protegida
Buscamos la
integridad
C no permitido
intruso
Hola... soy Paquito
otra vez!
C = D
A
(M)
M = E
A
(C) = E
A
(D
A
(M))
D
A
y E
A
son operaciones
inversas dentro de un cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 88
Resumen para sistemas con clave pblica
D E D
K privada
de A
M
C
Confidencialidad
Usuario A Usuario B
Integridad
B
E
A B
D
A
K privada
de B
K pblica
de B
K pblica
de A
D
A
La integridad y la confidencialidad se
obtendrn ahora por separado ...
M
Esta caracterstica
ser muy importante
B
C = E
B
(D
A
(M)) Cifrado del mensaje con firma digital
M = E
A
(D
B
(C)) Descifrado y comprobacin de firma
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 89
La gestin de las claves secretas
D
k
AB
k
AC
k
BC
k
AD
k
BD
k
CD
k
AE
k
BE
k
CE
k
DE
X Y
k
XY
k
YX
Nmero Claves:
n (n-1)
2
2 usuarios: N = 1 3 usuarios: N = 3 4 usuarios: N = 6 5 usuarios: N = 10
Definicin previa:
N = n de claves
Clave
secreta
E
A
C
B
Muy mala gestin de claves n
2
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 90
La solucin hbrida
Es entonces la clave pblica la solucin a
todos nuestros problemas?
NO !
Tendr como inconveniente principal (debido a las
funciones de cifra empleadas) una tasa o velocidad de
cifra mucho ms baja que la de los criptosistemas de
clave secreta.
Solucin?
Sistemas de cifra hbridos:
los esquemas actuales
de protocolos seguros en
Internet funcionan as.
Fin del Tema 1
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 91
Cuestiones y ejercicios (1 de 2)
1. Un empleado poco satisfecho ha robado varios discos duros de muy
alta calidad con datos de la empresa. Qu importa ms, el costo de
esos discos o el valor de los datos? Justifique su respuesta.
2. En una empresa se comienza a planificar estrategias de acceso a las
dependencias, polticas de backup, de proteccin de los equipos ante
fuego, agua, etc. Eso es seguridad fsica o lgica? Por qu?
3. En nuestra empresa alguien usa software pirata. Es una amenaza de
interrupcin, interceptacin, modificacin o de generacin?
4. Una clave de sesin en Internet para proteger una operacin de cifra
dura 45 segundos. Si alguien intercepta el criptograma, debemos
preocuparnos si sabemos que la prxima vez la clave ser otra?
5. Si se prueban todas las combinaciones posibles de una clave para
romper un criptograma, qu tipo de ataque estamos realizando?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 1: Introduccin a la Seguridad Informtica
Diapositiva 92
Cuestiones y ejercicios (2 de 2)
6. Si protegemos una clave en el extremo emisor, qu buscamos, la
confidencialidad o la integridad? Y si es en el extremo receptor?
7. Por qu en un sistema simtrico se obtiene la confidencialidad y la
integridad al mismo tiempo protegiendo la clave?
8. Explique qu significa que en un sistema de cifra asimtrica se
obtengan la confidencialidad y la integridad por separado.
9. Si se cifra un mensaje con la clave privada del emisor, qu se
obtiene? Y si el emisor cifra con la clave pblica del receptor?
10. Tiene sentido que el emisor cifre de forma asimtrica con su clave
pblica? Qu logramos con ello? Para qu servira?
11. Queremos comunicarnos 10 usuarios con un sistema de cifra de
clave secreta nica entre cada dos miembros. Cuntas claves sern
necesarias? Es eficiente el sistema? Y si hay un usuario ms?
Tema 2
Calidad de la Informacin y Virus
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 25 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 94
Nota del autor
El contenido de este tema
corresponde a los primeras
apuntes del autor.
Tenga en cuenta entonces
que se trata de un borrador, simplemente unas notas
sueltas que tratan genricamente este tema y la nica
intencin de mantener este captulo en el libro es
porque algn da ser ampliado, actualizado y
tratado como se merece.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 95
Qu es la informacin?
El concepto en ingeniera:
Estudio de las estadsticas y caractersticas del
lenguaje que nos permitir su anlisis desde un
punto de vista matemtico, cientfico y tcnico.
El concepto en la empresa:
Conjunto de datos propios que se gestionan y
mensajes que se intercambian personas y/o
mquinas dentro de una organizacin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 96
Teora de la Informacin
El estudio hecho por Claude Shannon en aos
posteriores a la 2 Guerra Mundial ha permitido:
Cuantificar la cantidad de informacin.
Medir la entropa de la informacin.
Definir un sistema con secreto perfecto.
Calcular la redundancia y ratio del lenguaje.
Encontrar la distancia de unicidad.
Aunque todo el estudio est orientado hacia los
criptosistemas clsicos que cifran letras, se ver
en detalle en un captulo posterior pues permite
definir y analizar sistemas con secreto perfecto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 97
La informacin en la empresa
Se entender como:
Todo el conjunto de datos y ficheros de la empresa.
Todos los mensajes intercambiados.
Todo el historial de clientes y proveedores.
Todo el historial de productos, ... etc.
En definitiva, el know-how de la organizacin.
Si esta informacin se pierde o deteriora, le ser
muy difcil a la empresa recuperarse y seguir
siendo competitiva polticas de seguridad.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 98
Importancia de la informacin
La implantacin de una poltica y medidas de seguridad
informtica en la empresa comienza a tenerse en cuenta slo a
finales de la dcada pasada. En este nuevo siglo es un factor
estratgico en el desarrollo y vida de la misma. Tras los
acontecimientos en las torres gemelas del ao 2001, varias
empresas han desaparecido por haber perdido toda su
informacin. Es una seal de peligro y un aviso.
El xito de una empresa depender de la
calidad de la informacin que genera y
gestiona. As, una empresa tendr una
informacin de calidad si sta permite, entre
otras caractersticas, la confidencialidad, la
integridad y disponibilidad.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 99
Vulnerabilidad de la informacin
La informacin (datos) se ver afectada
por muchos factores, incidiendo
bsicamente en los aspectos de
confidencialidad, integridad y
disponibilidad de la misma.
Desde el punto de vista de la empresa,
uno de los problema ms importantes
puede ser el que est relacionado con el
delito o crimen informtico, por
factores externos e internos.
descontento
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 100
Implantar polticas de seguridad
Esto se ver agravado por otros temas,
entre ellos los aspectos legales y las
caractersticas de los nuevos entornos de
trabajo de la empresa del siglo XXI.
... slo ahora el
tema comienza a
tomarse en serio.
Poltica 1
Poltica 2
Poltica 3
Poltica 4
Solucin
La solucin parece
muy sencilla: aplicar
tcnicas y polticas
de seguridad...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 101
Acciones contra los datos
Una persona no autorizada podra:
Clasificar y desclasificar los datos.
Filtrar informacin.
Alterar la informacin.
Borrar la informacin.
Usurpar datos.
Hojear informacin clasificada.
Deducir datos confidenciales.
Por lo tanto,
deberemos
proteger
nuestros datos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 102
Proteccin de los datos
La medida ms eficiente para la proteccin de los datos es
determinar una buena poltica de copias de seguridad o
backups:
Copia de seguridad completa
Todos los datos (la primera vez).
Copias de seguridad incrementales
Slo se copian los ficheros creados o modificados desde el
ltimo backup.
Elaboracin de un plan de backup en funcin del
volumen de informacin generada
Tipo de copias, ciclo de esta operacin, etiquetado correcto.
Diarias, semanales, mensuales: creacin de tablas.
Establecer quin cmo y dnde se guardan esos datos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 103
Hackers y crakers
Hacker:
Definicin inicial de los ingenieros del MIT que
hacan alardes de sus conocimientos en informtica.
Pirata Informtico.
Cracker:
Persona que intenta de forma ilegal romper la
seguridad de un sistema por diversin o inters.
No existe uniformidad de criterios en su clasificacin;
no obstante, su accin cada da se vuelve ms tcnica,
sofisticada y debemos implementar medidas para
proteger nuestra informacin ante tales ataques.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 104
Puntos vulnerables en la red
Las empresas relacionadas con las Nuevas Tecnologas
de la Informacin NTIs hacen uso de varias tcnicas y
herramientas de redes para el intercambio de datos:
Transferencia de ficheros (ftp)
Transferencia de datos e informacin a travs de
Internet (http)
Conexiones remotas a mquinas y servidores
(telnet)
Todo esto presentar graves riesgos de ataques de
hackers y otros delincuentes informticos, pero ...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 105
Dnde est el enemigo?
Por muy organizados que puedan estar
estos grupos de vndalos o delincuentes,
primero que nada hay que ponerse en el
lugar que nos corresponde y no caer en la
paranoia. Adems, debemos pensar que el
peor enemigo puede estar dentro de casa...
La solucin sigue siendo la misma: la
puesta en marcha de una adecuada
poltica de seguridad en la empresa.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 106
Delitos informticos
Son acciones que vulneran la confidencialidad,
integridad y disponibilidad de la informacin.
Ataques a un sistema informtico:
Fraude Malversacin Robo
Sabotaje Espionaje Chantaje
Revelacin Mascarada Virus
Gusanos Caballos de Troya ... etc.
Veamos algunos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 107
Fraude y sabotaje
Fraude
Acto deliberado de manipulacin de datos perjudicando
a una persona fsica o jurdica que sufre de esta forma
una prdida econmica. El autor del delito logra de esta
forma un beneficio normalmente econmico.
Sabotaje
Accin con la que se desea perjudicar a una empresa
entorpeciendo deliberadamente su marcha, averiando
sus equipos, herramientas, programas, etc. El autor no
logra normalmente con ello beneficios econmicos pero
pone en jaque mate a la organizacin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 108
Chantaje y mascarada
Chantaje
Accin que consiste en exigir una cantidad de dinero a
cambio de no dar a conocer informacin privilegiada o
confidencial y que puede afectar gravemente a la
empresa, por lo general a su imagen corporativa.
Mascarada
Utilizacin de una clave por una persona no autorizada
y que accede al sistema suplantando una identidad. De
esta forma el intruso se hace dueo de la informacin,
documentacin y datos de otros usuarios con los que
puede, por ejemplo, chantajear a la organizacin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 109
Virus y gusanos
Virus
Cdigo diseado para introducirse en un programa,
modificar o destruir datos. Se copia automticamente a
otros programas para seguir su ciclo de vida. Es comn
que se expanda a travs de plantillas, las macros de
aplicaciones y archivos ejecutables.
Gusanos
Virus que se activa y transmite a travs de la red. Tiene
como finalidad su multiplicacin hasta agotar el espacio
en disco o RAM. Suele ser uno de los ataques ms
dainos porque normalmente produce un colapso en la
red (p.e. el gusano de Internet de Robert Morris Jr.).
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 110
Caballos de Troya
Caballos de Troya
Virus que entra al ordenador y posteriormente acta de
forma similar a este hecho de la mitologa griega. As,
parece ser una cosa o programa inofensivo cuando en
realidad est haciendo otra y expandindose. Ejemplo:
el huevo de Pascua de Windows 95.
Y hay muchos ms delitos. Incluso aparecern nuevos delitos
y ataques a los sistemas informticos y redes que a fecha de
hoy no sabemos cmo sern ni qu vulnerabilidad atacarn...
Este enfrentamiento entre el bien y el mal es inevitable en
un sistema abierto ... y las comunicaciones hoy son as.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 111
Virus informticos
Nota del autor
Las prximas diapositivas son una breve y elemental
introduccin al tema de los virus informticos, orientado adems
slo al mundo de los PCs y del llamado entorno Windows. No
pretende ser ni mucho menos un documento que trate este tema
con la profundidad que debera hacerse y se merece.
Mucha gente cataloga a ste como un tema menor, sin embargo
dentro de las empresas es uno de los mayores problemas con los
que se enfrentan los responsables de seguridad informtica.
Se incluye aqu este apartado como un factor ms a tener en
cuenta en cuanto a la calidad de la informacin que manejamos,
dado que sta puede verse afectada por este tipo de ataques tan
comunes hoy en da por ejemplo va e-mail.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 112
Historia y tipos de virus
Primer ejemplo: John von Neuman (1949)
Primer virus: M. Gouglas de Bell Laboratories
crea el Core War en 1960.
Primeros ataques a PCs entre 1985 y 1987:
Virus Jerusalem y Brain.
Inofensivos (pelota, letras, etc.)
Slo molestan y entorpecen el trabajo pero no
destruyen informacin. Podran residir en el PC.
Malignos (Viernes 13, Melissa, Nimbda, etc.)
Destruyen los datos y afectan a la integridad y la
disponibilidad del sistema. Hay que eliminarnos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 113
Transmisin de un virus
Se transmiten slo mediante la ejecucin de un
programa. Esto es muy importante recordarlo.
El correo electrnico por definicin no puede
contener virus al ser slo texto. No obstante,
muchas veces contienen archivos aadidos o los
visualizadores ejecutan cdigo en el cliente de
correo del usuario y stos pueden tener incluido
un virus. Ah est el peligro.
El entorno web es mucho ms peligroso. Un
enlace puede lanzar un programa en Java u otro
lenguaje que se ejecute y afecte el disco duro.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 114
Tipos de ataque de un virus
Estn aquellos que infectan a programas con
extensin exe, com y sys por ejemplo.
Residen en memoria al ejecutarse el husped y de
ah se propagan a otros archivos.
Y tambin aquellos que infectan el sistema y el
sector de arranque y tablas de entrada (reas
determinadas del disco).
Se instalan directamente all y por lo tanto residen
en memoria.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 115
Algunas medidas bsicas de prevencin
Proteger los discos extrables con la pestaa, una
proteccin de tipo hardware muy elemental.
Instalar un antivirus y actualizarlo al menos una
vez al mes; recomendable cada 15 das.
Ejecutar el antivirus de vez en cuando al disco
duro (por ejemplo una vez al mes) y siempre a los
disquetes y archivos que se descargan de Internet.
Usar siempre software legal, con licencia.
Controlar el acceso de extraos al computador.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 116
Qu hacer en caso de estar infectado?
Detener las conexiones remotas.
No mover el ratn ni activar el teclado.
Apagar el sistema y desconectarlo.
Arrancar con un disquete de arranque o emergencia
protegido y ejecutar luego un programa antivirus.
Hacer copia de seguridad de ficheros.
Formatear el disco duro a bajo nivel si no queda otra
solucin .
Instalar nuevamente el sistema operativo y restaurar
las copias de seguridad.
Fin del Tema 2
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 2: Calidad de la Informacin y Virus
Diapositiva 117
Cuestiones y ejercicios
1. Qu diferencia hay entre el concepto de informacin y su calidad
segn lo entienda una empresa o los estudios de ingeniera?
2. Por qu se dice que la informacin de una empresa es su activo
ms valioso? Compare este activo con el personal de la misma y
pngase en situaciones en las que ambos se pierden, qu situacin
podra ser es ms perjudicial para la continuidad de dicha empresa?
3. Como supervisores de seguridad hemos detectado que alguien est
realizando acciones no lcitas, por ejemplo copias no autorizadas de
informacin. Qu actitud debemos tomar?
4. Qu medidas seran la ms adecuadas de cara a minimizar el ataque
por virus en nuestra empresa?
5. Si deseamos que nuestra empresa est debidamente protegida tanto
fsica como lgicamente, qu debemos hacer?
Tema 3
Introduccin a la Seguridad Fsica
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 37 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 120
Nota del autor
El contenido de este archivo
corresponde slo a un primer
borrador en relacin con el
tema de la seguridad fsica.
Actualmente sta tiene una
importancia igual y en algunos casos superior a la
seguridad lgica. Los acontecimientos acaecidos a
comienzos de este siglo han puesto al descubierto
cun vulnerable puede ser un sistema ante un ataque;
por ello se han actualizado algunos temas pero este
documento sigue siendo un borrador de trabajo.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 121
Seguridad Fsica
Los datos deben protegerse aplicando:
Seguridad Lgica
Uso de herramientas de proteccin de la informacin
en el mismo medio en el que se genera o transmite.
Protocolos de autenticacin entre cliente y servidor.
Aplicacin de normativas.
Seguridad Fsica
Procedimientos de proteccin fsica del sistema:
acceso personas, incendio, agua, terremotos, etc.
Medidas de prevencin de riesgos tanto fsicos como
lgicos a travs de una poltica de seguridad, planes de
contingencia, aplicacin de normativas, etc.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 122
La seguridad Fsica en entornos de PCs
Anclajes a mesas de trabajo.
Cerraduras.
Tarjetas con alarma.
Etiquetas con adhesivos especiales.
Bloqueo de disquetera.
Protectores de teclado.
Tarjeta de control de acceso al hardware.
Suministro ininterrumpido de corriente.
Toma de tierra.
Eliminacin de la esttica... etc.
Temas a tener
en cuenta en un
entorno PC
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 123
Anlisis de riesgo: plan estratgico
Es el proceso de identificacin y evaluacin del
riesgo a sufrir un ataque y perder datos, tiempo y
horas de trabajo, comparndolo con el costo que
significara la prevencin de este suceso.
Su anlisis no slo nos lleva a establecer un nivel
adecuado de seguridad, sino que permite conocer
mejor el sistema que vamos a proteger.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 124
Informacin del anlisis de riesgo
Informacin que se obtiene en un anlisis de riesgo:
Determinacin precisa de los recursos sensibles de la
organizacin.
Identificacin de las amenazas del sistema.
Identificacin de las vulnerabilidades especficas del
sistema.
Identificacin de posibles prdidas.
Identificacin de la probabilidad de ocurrencia de una
prdida.
Derivacin de contramedidas efectivas.
Identificacin de herramientas de seguridad.
Implementacin de un sistema de seguridad eficiente en
costes y tiempo.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 125
Ecuacin bsica del anlisis de riesgo
B > P L ?
B: Carga o gasto que significa la prevencin
de una prdida especfica por vulnerabilidad.
P: Probabilidad de ocurrencia de esa prdida
especfica.
L: Impacto total de dicha prdida especfica.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 126
Cundo y cunto invertir en seguridad?
Si B P L
Hay que implementar una medida de
prevencin.
Si B > P L
No es necesaria una medida de prevencin.
... al menos matemticamente. No obstante, siempre
puede ocurrir una desgracia que est fuera de todo
clculo. Por ejemplo, el ataque a las torres gemelas y
sus posteriores consecuencias informticas no estaba
contemplado en ningn plan contingencia...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 127
Efectividad del coste de la medida
Las medidas y herramientas de control han de
tener menos coste que el valor de las posibles
prdidas y el impacto de stas si se produce el
riesgo temido.
Ley bsica: el costo del control ha de ser menor
que el activo que protege. Algo totalmente lgico
y que tanto los directivos como los responsables
de seguridad de la empresa debern estimar de
forma adecuada a su realidad.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 128
El factor L en la ecuacin de riesgo
Factor L (en B P L)
El factor de impacto total L es difcil de evaluar.
Incluye daos a la informacin, a los equipos,
prdidas por reparacin, por volver a levantar el
sistema, prdidas por horas de trabajo, etc.
Siempre habr una parte subjetiva.
La prdida de datos puede llevar a una prdida de
oportunidades por el llamado efecto cascada.
En la organizacin debe existir una comisin
especializada interna o externa que sea capaz de
evaluar todas las posibles prdidas y cuantificarlas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 129
El factor P en la ecuacin de riesgo
Factor P (en B P L)
El factor P est relacionado con la determinacin
del impacto total L y depende del entorno en el
que est la posible prdida. Como este valor es
difcil de cuantificar, dicha probabilidad puede
asociarse a una tendencia o frecuencia conocida.
Conocido P para un L dado, se obtiene la
probabilidad de prdida relativa de la ocurrencia PL
que se comparar con B, el peso que supone
implantar la medida de prevencin respectiva.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 130
El factor B en la ecuacin de riesgo
Factor B (en B P L)
Indica qu se requiere para prevenir una prdida.
Es la cantidad de dinero que vamos a disponer
para mitigar la posible prdida.
Ejemplo: la carga de prevencin para que un sistema
informtico minimice el riesgo de que sus servidores
sean atacados desde fuera incluye la instalacin de
software y hardware adecuado, un cortafuegos, un
sistema de deteccin de intrusos, una configuracin
de red segura, una poltica de seguimiento de accesos
y de passwords, personal tcnico cualificado, etc.
Todo ello importa una cantidad de dinero especfica.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 131
Cuantificacin de la proteccin
B P L ?
Cunta proteccin es necesaria?
En nuestro ejemplo: qu configuracin de red usar,
en qu entorno trabajar, qu tipo de cortafuegos, etc.
Eso depender del novel de seguridad que nuestra
empresa desee o crea oportuno.
De qu forma nos protegeremos?
Una casa puede protegerse con puertas, cerraduras,
barras en ventanas, sistemas de alarmas, etc.
En un sistema informtico podemos aplicar medidas
fsicas, polticas de seguridad de accesos, planes de
contingencia y recuperacin, cortafuegos, cifrado de
la informacin, firmas, pasarelas seguras, etc.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 132
Pasos en un anlisis de riesgos
1. Identificacin costo
posibles prdidas (L)
Identificar amenazas
3. Identificar posibles
acciones (gasto) y sus
implicaciones. (B)
Seleccionar acciones a
implementar.
Se
cierra
el
ciclo
B PL ?
2. Determinar susceptibilidad.
La probabilidad de prdida (P)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 133
Algunas polticas de seguridad
Polticas administrativas
Procedimientos administrativos.
Polticas de control de acceso
Privilegios de acceso del usuario o programa.
Polticas de flujo de informacin
Normas bajo la cuales se comunican los
sujetos dentro del sistema.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 134
Aspectos administrativos
Polticas administrativas
Se establecen aquellos procedimientos de
carcter administrativo en la organizacin
como por ejemplo en el desarrollo de
programas: modularidad en aplicaciones,
revisin sistemtica, etc.
Se establecen responsabilidades compartidas
por todos los usuarios, cada uno en su nivel.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 135
Control de accesos
Polticas de control de acceso
Poltica de menor privilegio
Acceso estricto a objetos determinados, con
mnimos privilegios para los usuarios.
Poltica de comparticin
Acceso de mximo privilegio en el que cada
usuario puede acceder a todos los objetos.
Granularidad
Nmero de objetos accesibles. Se habla entonces
de granularidad gruesa y fina.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 136
Control de flujo
Polticas de control de flujo
La informacin a la que se accede, se enva y
recibe por:
Canales claros o canales ocultos? Seguros o no?
Qu es lo que hay que potenciar?
La confidencialidad o la integridad?
La disponibilidad? ... El no repudio?
Segn cada organizacin y su entorno de trabajo y
servicios ofrecidos, habr diferencias. En algunos
sistemas primarn unos ms que otros, en funcin
de cun secreta es la informacin que procesan.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 137
Modelos de seguridad
Modelo de Bell LaPadula (BLP)
Rgido. Confidencialidad y con autoridad.
Modelo de Take-Grant (TG)
Derechos especiales: tomar y otorgar.
Modelo de Clark-Wilson (CW)
Orientacin comercial: integridad.
Modelo de Goguen-Meseguer (GM)
No interferencia entre usuarios.
Modelo de Matriz de Accesos (MA)
Estados y transiciones entre estados
Tipo Graham-Dennig (GD)
Tipo Harrison-Ruzzo-Ullman (HRU)
Se definirn
brevemente
en prxima
diapositiva
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 138
Modelo de Bell LaPadula BLP
La escritura hacia abajo est prohibida.
La lectura hacia arriba est prohibida.
Es el llamado principio de tranquilidad.
No lectura hacia arriba Secreto mximo
usuario dado de alta
con un nivel secreto Secreto
No escritura hacia abajo No clasificado
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 139
Modelo de Take Grant TG
Se describe mediante grafos orientados:
el vrtice es un objeto o sujeto.
un arco es un derecho.
Se ocupa slo de aquellos derechos que
pueden ser transferidos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 140
Modelo de Clark Wilson CW
Basado en polticas de integridad
Elementos de datos restringidos.
sobre stos debe hacerse un chequeo de
consistencia.
Elementos de datos no restringidos.
Procedimientos de transformacin.
trata los dos elementos.
Procedimientos de verificacin de integridad.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 141
Criterios y normativas de seguridad
Criterio de evaluacin TSEC
Trusted Computer System Evaluation Criteria, tambin
conocido como Orange Book.
Criterio de evaluacin ITSEC
Information Technology Security Evaluation Criteria.
Criterio de evaluacin CC
Common Criteria: incluye los dos anteriores.
Ley Orgnica de Proteccin de Datos LOPD (1999, Espaa)
Establece un conjunto de medidas de seguridad de debido
cumplimiento por parte de empresas y organismos.
Normativa internacional 17799
Desarrolla un protocolo de condiciones mnimas de seguridad
informtica de amplio espectro.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 142
La ley de seguridad informtica en Espaa
Ley Orgnica de Proteccin de Datos LOPD se desarrolla en Espaa
en el ao 1999 y comienza a aplicarse ya en el siglo XXI.
Se crea una Agencia de Proteccin de datos APD que debe velar por
el cumplimiento de esta ley mediante la realizacin de auditoras, al
menos cada dos aos. La APD la forman 9 personas.
Se definen las funciones del Responsable de Fichero y del Encargado
de Tratamiento.
Las faltas se clasifican como leves, graves y muy graves con multas
de 60.000, 300.000 y 600.000 .
En el Real Decreto 994/1999 sobre Medidas de seguridad de los
ficheros automatizados que contengan datos de carcter personal se
definen las funciones del Responsable de Seguridad.
Establece un conjunto de procedimientos de obligado cumplimiento
de forma que adems de proteger la privacidad de las personas, se
cumplan los principios de la seguridad informtica fsica y lgica.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 143
La normativa 17799
Cdigo de buenas prcticas para la Gestin de la Seguridad de la
Informacin: PNE-ISO/IEC 17799 (Proyecto de Norma Espaola)
Antecedentes
Introduccin
Objeto y campo de la aplicacin
Trminos y definiciones
Poltica de seguridad
Aspectos organizativos para la seguridad
Clasificacin y control de los archivos
Seguridad ligada al personal
Seguridad fsica y del entorno
Gestin de comunicaciones y operaciones
Control de accesos
Desarrollo y mantenimiento de sistemas
Gestin de continuidad del negocio
Conformidad
En 70 pginas y diez
apartados, presenta unas
normas, recomendaciones y
criterios bsicos para
establecer unas polticas de
seguridad. stas van desde
los conceptos de seguridad
fsica hasta los de seguridad
lgica. Parte de la norma
elaborada por la British
Standards Institution BSI,
adoptada por International
Standards Organization ISO
y la International Electronic
Commission IEC.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 144
Planes de contingencia
Un Plan de Contingencia consiste en un anlisis
pormenorizado de las reas que componen nuestra
organizacin que nos servir para establecer una poltica de
recuperacin ante un desastre.
Es un conjunto de datos estratgicos de la empresa y que
se plasma en un documento con el fin de protegerse ante
eventualidades.
Adems de aumentar su seguridad, con un plan estratgico la
empresa tambin gana en el conocimiento de fortalezas y
debilidades.
Pero si no lo hace, se expone a sufrir una prdida irreparable
mucho ms costosa que la implantacin de este plan.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 145
Desastres naturales y su prevencin
Desastres naturales
Huracn
Tormenta
Inundacin
Tornado
Vendaval
Incendio
Otros
Medidas prevencin
Emplazamientos
adecuados
Proteccin fachadas,
ventanas, puertas
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 146
Vandalismo informtico y su prevencin
Terrorismo
Sabotaje
Robo
Virus
Programas malignos
Medidas de prevencin
Fortificacin entradas
Guardia Jurado
Patrullas
Circuito cerrado TV
Control de accesos
Proteccin de software y
hardware con antivirus,
cortafuegos, etc.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 147
Amenazas del agua y su prevencin
Amenazas
Inundaciones por
causas propias de la
empresa
Inundaciones por
causas ajenas
Pequeos incidentes
personales (botella de
agua, taza con caf)
Medidas prevencin
Revisar conductos de
agua.
Localizar la sala con los
equipos ms caros en un
sitio libre de estos
problemas.
Instalar sistemas de
drenaje de emergencia.
Concienciar empleados.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 148
Amenazas del fuego y su prevencin
Amenazas
Una mala instalacin
elctrica.
descuidos personales
como fumar en la sala
de ordenadores.
Papeleras mal ubicadas
en la que se tira un
cigarrillo no apagado.
Vulnerabilidades del
sistema por humo.
Medidas prevencin
Detector humo y calor.
Materiales ignfugos.
Almacn de papel
separado de mquinas.
Estado del falso suelo.
Extintores revisados.
Es la amenaza ms
temida por su rpido
poder destructor.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 149
Qu sucede si se produce una catstrofe?
Las empresas dependen hoy en da de los equipos
informticos y de todos los datos que hay all
almacenados (nminas, clientes, facturas, ...).
Dependen tambin cada vez ms de las
comunicaciones a travs de redes de datos.
Si falla el sistema informtico y ste no puede
recuperarse, la empresa puede desaparecer porque
no tiene tiempo de salir nuevamente al mercado
con ciertas expectativas de xito, aunque conserve
a todo su personal.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 150
Tiempos de recuperacin ante desastres
Perodo mximo de paro de una empresa
sin poner en peligro su supervivencia:
Sector Seguros: 5,6 das
Sector Fabricacin: 4,9 das
Sector Industrial: 4,8 das
Sector Distribucin: 3,3 das
Sector Financiero: 2,0 das
Ref. Estudio de la Universidad de Minnesota (1996)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 151
Prdidas por no contar con un plan
Prdida de clientes.
Prdida de imagen.
Prdida de ingresos por beneficios.
Prdida de ingresos por ventas y cobros.
Prdida de ingresos por produccin.
Prdida de competitividad.
Prdida de credibilidad en el sector.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 152
Implantacin de medidas bsicas
Plan de emergencia
Vidas, heridos, activos, evacuacin personal.
Inventariar recursos siniestrados.
Evaluar el coste de la inactividad.
Plan de recuperacin
Acciones tendentes a volver a la situacin que
exista antes del desastre.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 153
Plan de continuidad
Instalaciones alternativas
Oficina de servicios propia.
Acuerdo con empresa vendedora de HW y SW.
Acuerdo recproco entre dos o ms empresas.
Arranque en fro; sala vaca propia.
Arranque en caliente: centro equipado.
Sistema Up Start: caravana, unidad mvil.
Sistema Hot Start: centro gemelo.
Fin del Tema 3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 154
Cuestiones y ejercicios (1 de 2)
1. Qu es y qu significa hacer un anlisis de riesgos?
2. Explique el sentido de las ecuaciones B > PL y B PL.
3. Tras un estudio, obtenemos B > PL, podemos estar totalmente
tranquilos al no utilizar medida alguna de prevencin?
4. Explique qu significan los factores L y P en la ecuacin B > PL.
5. Cules son los pasos a seguir en un anlisis de riesgos de acuerdo a
los factores de la ecuacin de B > PL?
6. En algunos sistemas de gestin de informacin a veces prima ms el
elemento confidencialidad, en cambio en otros ms el de integridad.
D algunos ejemplos en que pueda cumplirse al menos en parte este
escenario. Qu opina respecto a una transaccin electrnica?
7. Comente el modelo de seguridad de Bell Lapadula. Por qu se le
llama el modelo de la tranquilidad?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 3: Introduccin a la Seguridad Fsica
Diapositiva 155
Cuestiones y ejercicios (2 de 2)
8. Ud. es el responsable de seguridad y detecta que un empleado est
robando informacin confidencial, cmo reaccionara?
9. Cules pueden ser las prdidas en una empresa si no se cuenta con
un adecuado Plan de Contingencia y sucede un desastre?
10. Qu es un Plan de Contingencia y por qu es importante?
11. Nuestra empresa est a medias entre el rubro distribucin y el de las
finanzas. Resulta estratgico tener aqu un Plan de Contingencia?
12. Qu soluciones tenemos para que un banco no se vea afectado por
un desastre y pueda seguir trabajando con sus clientes con un tiempo
de recuperacin bajo o mnimo? Cmo sera su coste?
13. Se pueden prever situaciones extremas como lo acontecido con las
torres gemelas? En que tipo de empresas o instituciones no deben
descartarse estos extremos? En mi empresa que vende pasteles?
Tema 4
Teora de la Informacin
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 57 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 158
Fundamentos de la Seguridad Informtica
Los pilares sobre los que descansa toda la teora
asociada a los criptosistemas son tres:
La teora de la informacin
Estudio de la cantidad de informacin y entropa.
La teora de los nmeros
Estudio de las matemticas discretas y cuerpos finitos.
La teora de la complejidad de los algoritmos
Clasificacin de los problemas.
Lo veremos en ...
este archivo
archivo SItema05
archivo SItema06
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 159
Teora de la informacin
Informacin:
Conjunto de datos o mensajes inteligibles creados
con un lenguaje de representacin y que debemos
proteger ante las amenazas del entorno, durante
su transmisin o almacenamiento, usando entre
otras cosas, las tcnicas criptogrficas.
La teora de la informacin mide la
cantidad de informacin que
contiene un mensaje a travs del
nmero medio de bits necesario para
codificar todos los posibles mensajes
con un codificador ptimo.
Veremos estas
dos definiciones
ms adelante.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 160
Representacin de la informacin
Puede ser numrica, alfabtica, simblica, por lenguaje.
Ejemplo: 24/01/03 24-01-03 24-1-03 24/01/2003
01/24/03 01-24-03 1-24-03 01-24-2003 ...
- Todos son el da 24 de enero del ao 2003.
Vitaminas: B
12
, C, ...
Grupo sanguneo: A2 Rh+ ...
Elementos: Fe, Si, Hg ...
Compuestos qumicos: H
2
O, CO
2
...
Ms comn Lenguaje con cdigo: Hoy hace calor
Qu informacin nos
entrega el mensaje
Hoy hace calor?
Qu informacin nos
entrega el mensaje
Hoy hace calor?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 161
Pero qu es la informacin?
Veremos qu informacin nos entrega un mensaje
dependiendo del contexto en que nos encontremos.
Esto puede ser:
a) En funcin de la extensin del mensaje recibido.
b) En funcin de la utilidad del mensaje recibido.
c) En funcin de la sorpresa del mensaje recibido.
d) Dependiendo del entorno de esa sorpresa.
e) En funcin de la probabilidad de recibir un mensaje.
Este es el entorno del estudio realizado por Claude
Shannon orientado a la ingeniera y que aqu nos interesa.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 162
Cantidad de informacin (caso 1)
En funcin de la extensin del mensaje
Ante una pregunta cualquiera, una respuesta concreta y
extensa nos entregar mayor informacin sobre el tema
en particular, y diremos que estamos ante una mayor
cantidad de informacin.
Pregunta: Hace calor all? (una playa en particular)
Respuesta 1: S, hace mucho calor.
Respuesta 2: Cuando no sopla el viento, el calor all es
inaguantable pues supera los 42 grados a la sombra.
Dnde hay una mayor cantidad de informacin?
Respuesta 2: Cuando no sopla el viento, el calor all es
inaguantable pues supera los 42 grados a la sombra.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 163
Cantidad de informacin (caso 2)
En funcin de la utilidad del mensaje
Ante una pregunta cualquiera, una respuesta ms til y
clara nos dejar con la sensacin de haber recibido una
mayor cantidad de informacin.
Pregunta: Hace calor all? (una playa en particular)
Respuesta 1: S, sobre 30 grados.
Respuesta 2: Si no hay viento del sur y el mar est en
calma, es normal que la temperatura suba bastante.
Respuesta 1: S, sobre 30 grados.
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 164
Cantidad de informacin (caso 3)
En funcin de la sorpresa del mensaje
Ante una pregunta cualquiera, una respuesta ms
inesperada y sorprendente, nos dar la sensacin de
contener una mayor cantidad de informacin.
Pregunta: Hace calor all? (ahora Finlandia en otoo)
Respuesta 1: S, muchsimo. Es insoportable.
Respuesta 2: En esta poca del ao, la temperatura es
ms suave y el tiempo muy agradable.
Respuesta 1: S, muchsimo. Es insoportable.
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 165
Cantidad de informacin (caso 4)
Dependencia del entorno (sorpresa)
Ante una pregunta cualquiera, una respuesta inesperada
y sorprendente en el entorno, nos dar la sensacin de
contener una mayor cantidad de informacin.
Pregunta: Hace calor all?
(ahora las mismas respuestas hablan de la temperatura en un horno)
Respuesta 1: S, muchsimo. Es insoportable.
Respuesta 2: En esta poca del ao, la temperatura es
ms suave y el tiempo muy agradable.
Respuesta 2: En esta poca del ao, la temperatura es
ms suave y el tiempo muy agradable. ?
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 166
Cantidad de informacin (caso 5)
En funcin de la probabilidad de recibir un mensaje
Este enfoque probabilstico es el que nos interesar en
cuanto a la definicin de Cantidad de Informacin.
Dnde le da alegra a su cuerpo Macarena?
Respuesta 1: En un pas de Europa.
Respuesta 2: En una ciudad de Espaa.
Respuesta 3: En el nmero 7 de la calle de la Sierpes en
Sevilla, Espaa.
Respuesta 3: En el nmero 7 de la calle de la Sierpes en
Sevilla, Espaa.
Por qu?
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 167
Incertidumbre e informacin
Ante varios mensajes posibles, en principio
todos equiprobables, aquel que tenga una
menor probabilidad ser el que contenga
una mayor cantidad de informacin.
En el ejemplo anterior:
Al ser ms extenso el nmero de calles y sus nmeros
en una ciudad que el nmero de ciudades en Espaa
y esto ltimo mayor que los pases en Europa, la
ltima respuesta tendr una mayor incertidumbre. Si
suponemos todos los estados equiprobables, entonces
la cantidad de informacin de la respuesta tercera
ser mayor que las dems.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 168
Concepto de variable aleatoria
Sea X una variable aleatoria con n estados posibles con
X = x
i
una ocurrencia isima:
X = {x
1
, x
2
, x
3
, ..., x
n-1
, x
n
}
p
1
= p(x
1
), p
2
= p(x
2
), ..., p
n
= p(x
n
)
Como:
0 p
i
1 para i = 1, 2, ..., n
Entonces:
n
p
i
= 1
i = 1
La probabilidad de que ocurra p
1
o
p
2
o p
3
, etc. ser siempre la unidad
porque seguro ser uno de ellos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 169
Definicin logartmica
Definiremos c
i
a la cantidad de informacin del
estado i, como el logaritmo en base dos de la
probabilidad de que ocurra el estado isimo.
c
i
= - log
2
(p
i
)
- Logaritmo: p(x
i
) = 1 no hay incertidumbre: c
i
= 0
p(x
i
) = 0 mxima incertidumbre: c
i
- Signo: p(x
i
) < 1 log p(x
i
) ser negativo
- Base: Fenmeno binario dos estados (bit)
1
c
i
p
i
0
0
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 170
Grado de indeterminacin
Combinacin n 1 Combinacin n 5
Combinacin n 2 Combinacin n 6
Combinacin n 3 Combinacin n 7
Combinacin n 4 Combinacin n 8
Qu cantidad de informacin tiene cada uno de los estados?
Esta ser la combinacin elegida
Grado de indeterminacin previo
Grado de indeterminacin posterior
c
i
=
Si hay equiprobabilidad
entonces p(x
i
) = 1/8
Ejemplo del mago: En una bolsa hay un crculo, un
cuadrado y un tringulo: negros o blancos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 171
Solucin al ejemplo del mago
Incertidumbre inicial I
i
= 8
Daremos algunas pistas :
Las figuras no son del mismo color: I
i
baja de 8 a 6 al
descartarse las combinaciones 1 y 8.
El crculo es blanco: I
i
baja de 6 a 3 (descarte 5, 6 y 7).
Hay dos figuras blancas: I
i
baja de 3 a 2 (descarte 4).
El cuadrado es negro: I
i
baja de 2 a 1 (descarte 2.)
Veamos esto ahora
matemticamente ...
Combinacin n 1 Combinacin n 5
Combinacin n 2 Combinacin n 6
Combinacin n 3 Combinacin n 7
Combinacin n 4 Combinacin n 8
Se acaba la incertidumbre pues la solucin es la combinacin 3.
Los 8 estados sern equiprobables: p(x
i
) = 1/8
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 172
Solucin matemtica al ejemplo del mago
Las figuras no son del mismo color. I
i
baja de 8 a 6:
c
i1
= log (8/6) = log 8 - log 6
El crculo es blanco. I
i
baja de 6 a 3:
c
i2
= log (6/3) = log 6 - log 3
Hay dos figuras blancas. I
i
baja de 3 a 2:
c
i3
= log (3/2) = log 3 - log 2
El cuadrado es negro. I
i
baja de 2 a 1:
c
i4
= log (2/1) = log 2 - log 1
Todas las magnitudes se pueden sumar como escalares:
c
i
= c
i1
+ c
i2
+ c
i3
+ c
i4
= log 8 - log 1 = log 8
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 173
Base del logaritmo
Sean: I
i
la indeterminacin inicial
I
f
la indeterminacin final
c
i
= log (I
i
/ I
f
) = log I
i
- log I
f
La cantidad de informacin tiene como unidad de medida la
de un fenmeno de slo dos estados, un fenmeno binario.
Luego:
c
i
= log
b
(2/1) = log
b
2 - log
b
1
Si log
b
2 debe ser igual a 1 entonces la base b = 2.
Precisamente a esta unidad se le llama bit (binary digit)
Ejemplo anterior: c
i
= log
2
8 = 3 Slo 3 preguntas!
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 174
Con slo tres preguntas...
Con slo tres preguntas ms o menos inteligentes
podemos pasar de la incertidumbre total a la certeza:
Pregunta 1: Est entre la opcin 1 y la 4? S
Pregunta 2: Est entre la opcin 1 y la 2? No
Pregunta 3: Es la opcin 4? No Se acaba la indeterminacin
Combinacin n 1 Combinacin n 5
Combinacin n 2 Combinacin n 6
Combinacin n 3 Combinacin n 7
Combinacin n 4 Combinacin n 8
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 175
Entropa de los mensajes
Si un fenmeno tiene un grado de indeterminacin
k y sus estados son equiprobables, la probabilidad
p de que se d uno de esos estados ser 1/k. Luego:
c
i
= log
2
(k/1) = log
2
[1/(1/k)] = - log
2
p
Si ahora cada uno de estos estados tiene una
probabilidad distinta p
i
, la entropa H ser igual a
la suma ponderada de la cantidad de informacin:
H = - p
1
log
2
p
1
- p
2
log
2
p
2
- ... - p
k
log
2
p
k
k
H = - p
i
log
2
p
i
i = 1
Ecuacin no inmediata
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 176
Definicin de entropa
La entropa de un mensaje X, que se representa por H(X),
es el valor medio ponderado de la cantidad de informacin
de los diversos estados del mensaje.
Es una medida de la incertidumbre media acerca de una
variable aleatoria y el nmero de bits de informacin.
k
H(X) = - p(x
i
) log
2
p(x
i
)
i = 1
El concepto de incertidumbre en H puede aceptarse. Lo que
llama la atencin es lo del nmero de bits de informacin.
Esto lo
veremos ms
adelante
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 177
Propiedades de la entropa
a) La entropa es no negativa y se anula si y slo si un estado de la
variable es igual a 1 y el resto 0 (demostracin sencilla).
b) La entropa es mxima, mayor incertidumbre del mensaje,
cuando todos los valores posibles de la variable X son
equiprobables (empricamente fcil; demostracin no directa).
Si hay n estados equiprobables, entonces p
i
= 1/n.
Luego:
H(X) = - p
i
log
2
p
i
= - n(1/n) log
2
(1/n) = - (log
2
1 - log
2
n)
i
H(X)
mx
= log
2
n
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 178
Codificador ptimo
Nos falta encontrar el segundo trmino pendiente en la
definicin de cantidad de informacin: codificador ptimo.
Introduciendo el signo negativo dentro del logaritmo en la
expresin de la entropa, sta nos quedar como:
Veamos un ejemplo
de codificacin
H(X) = p(x) log
2
[1/p(x)]
i
La expresin log
2
[1/p(x)] representa el nmero necesario de
bits para codificar el mensaje X en un codificador ptimo.
Codificador ptimo es aquel que para codificar un
mensaje X usa el menor nmero posible de bits.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 179
Codificacin con el mtodo de Huffman
Letra Frecuencia Ocurrencias
E 1 vez 3 6 9 15
I 2 veces
A 3 veces I E A M
3 veces I E A
M 6 veces I E A
I E
Cdigo ptimo:
Mensaje: MI MAMA ME MIMA
Creacin del rbol de
frecuencias observadas
M = 1 = 01 A = 000 I = 0010 E = 0011
Mensaje: 1 0010 01 1 000 1 000 01 1 0011 01 1 0010 1 000 (33 bits)
Pregunta: Con cuntos bits codificara si se usara ASCII? Saque conclusiones.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 180
Nmero necesario de bits y entropa
Para el mensaje M = M
1
M
2
M
1
M
1
M
3
M
1
M
2
M
3
de 8 caracteres se pide
calcular el nmero de bits ptimo de codificacin:
Solucin:
p(M
1
) = 0.5; p(M
2
) = 0.25; p(M
3
) = 0.25; y obviamente p(M
i
) = 1.0.
Para M
1
: log
2
[1/ P(M
1
)] = log
2
2 = 1 (necesitamos 1 bit)
Para M
2
: log
2
[1/ P(M
2
)] = log
2
4 = 2 (necesitamos 2 bits)
Para M
3
: log
2
[1/ P(M
3
)] = log
2
4 = 2 (necesitamos 2 bits)
Luego si M
1
se codifica como 0, M
2
como 10 y M
3
como 11, el mensaje
M se codificar como: 0 10 0 0 11 0 10 11, es decir se transmiten 12 bits.
Si calcula la entropa de M obtendr H(M) = 1,5 y al mismo valor se llega
con el concepto de nmero medio de bits: se ha usado 12 bits para
codificar un mensaje M de 8 elementos 12/8 = 1,5 bits por elemento.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 181
Entropa condicional: equivocacin de X
Si existe una segunda
variable Y que influya
sobre X, esto nos
entregar importante
informacin adicional.
H(X/Y) = - p
(x,y)
log
2
p
(x,y)
x,y
Donde p(x,y) = p(y)p(x/y) y la
relacin p(x/y) es la probabilidad
de que se obtenga un estado X
conocido el valor de Y.
El resultado ms
interesante es que...
La entropa se
reduce: hay ms
orden y menos
incertidumbre.
La entropa se
reduce: hay ms
orden y menos
incertidumbre.
Luego:
H(X/Y) = - p
(y)
p
(x/y)
log
2
p
(x/y)
y x
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 182
Ejemplo de entropa condicional
Sea X = {x
1
, x
2
, x
3
, x
4
} con p(x
i
) = 0.25
Sea ahora Y = {y
1
, y
2
, y
3
} con p(y
1
) = 0.5; p(y
2
) = 0.25; p(y
3
) = 0.25
Luego H(X) = 4 log
2
4 = 2.0 y H(Y) = 2 log
2
4 + log
2
2 = 1.5
Adems hay las siguientes dependencias entre X e Y:
Si Y = y
1
X = x
1
o x
2
o x
3
o x
4
(cualquiera con igual probabilidad)
Si Y = y
2
X = x
2
o x
3
(cualquiera con igual probabilidad)
Si Y = y
3
X = x
3
o x
4
(cualquiera con igual probabilidad)
y=3 x=4
Como H(X/Y) = - p
(y)
p
(x/y)
log
2
p
(x/y)
y=1 x=1
H(X/Y) = - p(y
1
)[p(x
1
/y
1
)log
2
p(x
1
/y
1
) + p(x
2
/y
1
)log
2
p(x
2
/y
1
) + p(x
3
/y
1
)log
2
p(x
3
/y
1
) + p(x
4
/y
1
)log
2
p(x
4
/y
1
)]
- p(y
2
)[p(x
1
/y
2
)log
2
p(x
1
/y
2
) + p(x
2
/y
2
)log
2
p(x
2
/y
2
) + p(x
3
/y
2
)log
2
p(x
3
/y
2
) + p(x
4
/y
2
)log
2
p(x
4
/y
2
)]
- p(y
3
)[p(x
1
/y
3
)log
2
p(x
1
/y
3
) + p(x
2
/y
3
)log
2
p(x
2
/y
3
) + p(x
3
/y
3
)log
2
p(x
3
/y
3
) + p(x
4
/y
3
)log
2
p(x
4
/y
3
)]
Calculando, se obtiene H(X/Y) = 1.0 + 0.25 + 0.25 = 1.5. La entropa de
X ha bajado en medio bit con el conocimiento de su relacin con Y.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 183
Importancia de la entropa condicional
Equivocacin de la clave k
Cul es la probabilidad de
que a un criptograma C le
corresponda una cifra con
una clave k?
H(K/C) = - p
(c)
p
(k/c)
log
2
p
(k/c)
Servir como un parmetro para la evaluacin de la fortaleza
de un criptosistema segn equivocacin de clave y mensaje.
c k
Equivocacin del mensaje M
Cul es la probabilidad de
que a un criptograma C le
corresponda un mensaje en
claro M?
H(M/C) = - p
(c)
p
(m/c)
log
2
p
(m/c)
c m
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 184
Ratio r del lenguaje
Ratio r
Es el nmero de bits de informacin en cada carcter
para mensajes con una longitud igual a N caracteres.
Luego, segn la definicin de entropa, se tiene:
r = H(X)/N (bits/letra)
Si codificramos un mensaje letra a letra suponiendo
adems equiprobabilidad entre las letras, se obtiene la
ratio absoluta del lenguaje, R:
R = H(X)
castellano = 27 letras
R
castellano
= log
2
n = log
2
27 = 4.75 (bits/letra)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 185
Ratio verdadera del lenguaje
Ratio verdadera
- Como las letras que aparecen en un texto no tienen
igual probabilidad, su frecuencia de aparicin es
distinta, los lenguajes est muy estructurados, hay
bloques de dos palabras (digramas) caractersticos,
trigramas, poligramas, etc., la ratio baja mucho...
1.2 < r < 1.5
- A este valor se llega codificando los mensajes con
monogramas, digramas, trigramas, etc.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 186
Significado de la ratio del lenguaje
Qu significa esto?
Si un alfabeto consta de L elementos existirn 2
RN
mensajes posibles de longitud N, la entropa mxima
ser H(X)
mx
= log
2
L, y slo habr 2
rN
mensajes que
tengan sentido.
Importante: No significa que podamos codificar
todos los mensajes de 27 caracteres con 2 bits (esto
sera imposible). Significa que la informacin que
contiene cada letra es tan slo de 1.5 bits.
Veamos un ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 187
Ejemplo de ratio del lenguaje
Un subalfabeto del castellano mdulo 27 consta de 5 caracteres
A, E, O, S, T todos ellos equiprobables, lo que puede aceptarse
como representativo del lenguaje y ms o menos cierto. Cuntos
mensaje de longitud 4 existen y cuntos con sentido?
Solucin:
R = log
2
5 = 2,3219, luego existirn 2
R4
= 2
2.32194
= 625 = 5
4
Como 1.2 < r < 1.5 entonces cabe esperar x mensajes con sentido
de longitud 4 del orden: 2
1.24
< x < 2
1.54
es decir 27 < x < 64.
Buscando en un diccionario encontramos 45 palabras, que es
precisamente el valor medio (64+27)/2 = 45.
aeta, asas, asea, asee, aseo, ases, asta, atea, atas, ates, ateo, atoa,
atoe, atoo, osas, oses, osos, oste, otea, otee, oteo, easo, esas, eses,
esos, esta, este esto, etas, tasa, tase, taso, teas, tesa, tese, teso,
teta, seas, seso, seta, seto, sosa, sota, sote, soto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 188
Redundancia del lenguaje
La redundancia D del lenguaje ser la diferencia
entre la ratio absoluta y la ratio real:
D = R - r
3.25 < D < 3.55
Qu significa esto?
El nmero de bits extras (bits redundantes) necesarios
para codificar un mensaje suponiendo un alfabeto de 27
caracteres (codificacin con 5 bits puesto que 2
5
= 32 y
2
4
= 16) ser aproximadamente igual a 3.5.
D/R ser un factor proporcional, luego:
68.42 < % Red. Lenguaje (D/R) < 74.73
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 189
Es nuestro lenguaje redundante?
El estudio de Shannon demuestra que la estructura del
lenguaje produce esta redundancia:
Diferencia de frecuencias de aparicin de las letras.
Existencia de digramas comunes.
Existencia de trigramas comunes.
Existencia de poligramas comunes.
Estructuracin de frases y oraciones con sentido.
Y nuestra misin es
crear algoritmos que
sean seguros y eviten
estos ataques.
Esto dar pistas al criptoanalista para atacar un sistema.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 190
Un ejemplo de redundancia (parte 1)
Todos los lenguajes sern redundantes. Esto quiere
decir que la misma cantidad de informacin se puede
entregar con menos smbolos o bits.
Sea el siguiente mensaje M = HBNVZNCRC
1
a
ayuda:
En el mensaje original se han quitado las vocales.
Esto nos permite suponer que entre consonantes habr cero,
una, dos o tres vocales, segn reglas del lenguaje...
M = __H__B__N__V__Z__N__C__R__C__
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 191
Un ejemplo de redundancia (parte 2)
2
a
ayuda:
El mensaje original contiene cinco palabras.
Esto nos permite limitar el nmero de mensajes posibles
que tengan sentido. En estas condiciones podran existir
muchos mensajes de 5 palabras, aunque no cumpliesen de
forma lgica con las reglas del lenguaje. Un ejemplo
podra ser...
M = AH BUENO AVE ZONA CERCA
Tenamos el mensaje M = HBNVZNCRC y adems
M = __H__B__N__V__Z__N__C__R__C__
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 4: Teora de la Informacin
Diapositiva 192
Un ejemplo de redundancia (parte 3)
3
a
ayuda y siguientes:
a) El mensaje original tiene que ver con un circo.
b) Corresponde al estribillo de una cancin infantil.
c) Los espacios estn en: M = HB N VZ N CRC.
Seguro que habr adivinado ya el mensaje....
M = AH BUENO AVE ZONA CERCA
M = __H__B__N__V__Z__N__C__R__C__
Ambos importantes en
criptografa
No siempre existe
Ahora ya no
se desborda
la memoria
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 224
Divisibilidad de los nmeros
En criptografa muchas veces nos interesar encontrar el
mximo comn denominador mcd entre dos nmeros a y b.
Para la existencia de inversos en un cuerpo n, la base a y el
mdulo n debern ser primos entre s. mcd (a, n) = 1
Algoritmo de Euclides:
a) Si x divide a a y b a = x a y b = x b
b) Por lo tanto: a - k b = x a - k x b
a - k b = x (a - k b)
c) Entonces se concluye que x divide a (a - k b)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 225
El mximo comn denominador mcd
Como hemos llegado a que x divide a (a k b) esto nos
permitir encontrar el mcd (a, b):
Si a > b entonces a = d
1
b + r
(con d
i
un entero y r un resto)
Luego mcd (a, b) = mcd (b ,r) (a > b > r 0)
porque:
Si b > r entonces b = d
2
r + r
(con r un entero y r un resto)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 226
Divisibilidad con algoritmo de Euclides
mcd (148, 40)
148 = 3 40 + 28
40 = 1 28 + 12
28 = 2 12 + 4
12 = 3 4 + 0
mcd (148, 40) = 4
mcd (385, 78)
385 = 4 78+ 73
78 = 1 73 + 5
73 = 14 5 + 3
5 = 1 3 + 2
3 = 1 2 + 1
2 = 2 1 + 0
mcd (385, 78) = 1
148 = 2
2
37
40 = 2
3
5
Factor comn
2
2
= 4
No hay
factor comn
385 = 5 7 11
78 = 2 3 13
Ser importante
en criptografa
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 227
Inversin de una operacin de cifra
En criptografa deber estar permitido invertir una
operacin para recuperar un cifrado descifrar.
Si bien la cifra es una funcin, en lenguaje coloquial
la operacin de cifrado sera una multiplicacin y la
operacin de descifrado una divisin.
La analoga anterior slo ser vlida en el cuerpo de
los enteros Z
n
con inverso.
Luego, si en una operacin de cifra la funcin es el
valor a dentro de un cuerpo n, deberemos encontrar el
inverso a
-1
mod n para descifrar; en otras palabras ...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 228
Inversos en un cuerpo
Si a x mod n = 1
x ser el inverso multiplicativo (a
-1
) de a en el mdulo n
No siempre existen los inversos multiplicativos. En
realidad lo raro es que existan.
Por ejemplo, en Z = 2 no existirn inversos pues la
nica solucin para ax mod 2 = 1, con a, x = {0, 1},
sera x = 1 para a = 1, una solucin trivial. El cero
nunca ser solucin del inverso multiplicativo.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 229
Existencia del inverso por primalidad
inverso a
-1
en mod n ssi mcd (a, n) = 1
Si mcd (a,n) = 1, el resultado de ai mod n (para i todos los
restos de n) sern valores distintos dentro del cuerpo n.
mcd (a, n) = 1 x ! 0<x<n / a x mod n = 1
Sea: a = 4 y n = 9. Valores de i = {1, 2, 3, 4, 5, 6, 7, 8}
41 mod 9 = 4 42 mod 9 = 8 43 mod 9 = 3
44 mod 9 = 7 45 mod 9 = 2 46 mod 9 = 6
47 mod 9 = 1 48 mod 9 = 5
Si mcd (a,n) 1
S
O
L
U
C
I
N
I
C
A
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 230
Inexistencia de inverso (no primalidad)
Y si no hay primalidad entre a y n?
Si mcd (a, n) 1
No existe ningn x que 0 < x < n / a x mod n = 1
Sea: a = 3 y n = 6 Valores de i = {1, 2, 3, 4, 5}
31 mod 6 = 3 32 mod 6 = 0 33 mod 6 = 3
34 mod 6 = 0 35 mod 6 = 3
No existe el inverso para ningn resto del cuerpo.
?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 252
Teorema del Resto Chino TRC
Si n = d
1
d
2
d
3
... d
t
con d
i
= p
i
ei
(p primo)
El sistema de ecuaciones:
x mod d
i
= x
i
(i = 1, 2, 3, ... t)
tiene una solucin comn en [0, n-1]
t
x = (n/d
i
)y
i
x
i
mod n
i=1
con y
i
= inv [(n/d
i
), d
i
]
desarrollo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 253
Ejemplo de aplicacin del TRC (1)
Encontrar x de forma que : 12 x mod 3.960 = 36
Tenemos la ecuacin genrica: a x
i
mod d
i
= b
n = 3.960 n = 2
3
3
2
511 = d
1
d
2
d
3
d
4
= 89511
a = 12
b = 36 Como n d
4
, existirn 4 soluciones de x
i
ax
1
mod d
1
= b mod d
1
12x
1
mod 8 = 36 mod 8 = 4
ax
2
mod d
2
= b mod d
2
12x
2
mod 9 = 36 mod 9 = 0
ax
3
mod d
3
= b mod d
3
12x
3
mod 5 = 36 mod 5 = 1
ax
4
mod d
4
= b mod d
4
12x
4
mod 11 = 36 mod 11 = 3
4 ecuaciones en x
Resolviendo para x
i
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 254
Ejemplo de aplicacin del TRC (2)
x
1
= 1 x
2
= 0
x
3
= 3 x
4
= 3
4 ecuaciones en x
12x
1
mod 8 = 4 4x
1
mod 8 = 4 x
1
= 1
12x
2
mod 9 = 0 3x
2
mod 9 = 0 x
2
= 0
12x
3
mod 5 = 1 2x
3
mod 5 = 1 x
3
= 3
12x
4
mod 11 = 3 1x
4
mod 11 = 3 x
4
= 3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 255
Ejemplo de aplicacin del TRC (3)
Resolvemos ahora la
ecuacin auxiliar del
Teorema Resto Chino
y
i
= inv [(n/d
i
), d
i
]
y
1
= 7 y
2
= 8
y
3
= 3 y
4
= 7
y
1
= inv [(n/d
1
), d
1
] y
1
= inv[(3960/8),8] = inv (495,8)
y
2
= inv [(n/d
2
), d
2
] y
2
= inv[(3960/9),9] = inv (440,9)
y
3
= inv [(n/d
3
), d
3
] y
3
= inv[(3960/5),5] = inv (792,5)
y
4
= inv[(n/d
4
), d
4
] y
4
= inv[(3960/11),11] = inv(360,11)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 256
Ejemplo de aplicacin del TRC (4)
Aplicando ecuacin del Resto Chino
para el caso 12 x mod 3.960 = 36
con d
1
= 8, d
2
= 9, d
3
= 5, d
4
= 11:
x
1
= 1 x
2
= 0
x
3
= 3 x
4
= 3
t
x = (n/d
i
)y
i
x
i
mod n
i=1
t
x = (n/d
i
)y
i
x
i
mod n
i=1
y
1
= 7 y
2
= 8
y
3
= 3 y
4
= 7
x = [(n/d
1
)y
1
x
1
+ (n/d
2
)y
2
x
2
+ (n/d
3
)y
3
x
3
+ (n/d
4
)y
4
x
4
]
x = [49571 + 44080 + 79233 + 36073] mod 3.960
x = [3.465 + 0 + 7.128 + 7.560] mod 3.960 = 2.313
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 257
Todo marcha bien en este ejemplo?
Es la solucin de 12x mod 3.960 = 36 nica?
NO
Qu ha sucedido?
Puesto que mcd (a, n) = mcd (12, 3.960) = 12, ya hemos visto
en una diapositiva anterior que habr 12 soluciones vlidas.
x
1
= 3; x
2
= 333; x
3
= 663; x
4
= 993 ..... x
8
= 2.313 ...
x
i
= 3 + (i-1)330 mod 3.960 ... hasta llegar a x
12
= 3.633
Observe que x = 2.313, uno de los valores solucin,
fue el resultado encontrado en el ejercicio anterior.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 258
Otros casos de aplicacin del TRC
Qu sucede ahora con:
12x mod 3.960 = 35?
12x mod 3.960 = 35
mcd (a, n) = 12 no es un
divisor de b = 35, luego
aqu no existe solucin.
Tenamos que
3.960 = 2
3
3
2
511
49x mod 3.960 = 1
S existir x, en este caso es el
inverso de 49, y ser nico ya que
49 = 77 no tiene factores en n.
Encuentre x como ejercicio
Qu sucede ahora con:
49x mod 3.960 = 1?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 259
Slo sirve para esto el TRC?
Calcular el inverso de 49 en el cuerpo 3.960 por medio
del Teorema del Resto Chino es algo tedioso ..........
ya lo habr comprobado .
No obstante, ya habr comprobado que en este caso el
inverso de 49 en el cuerpo 3.960 es x = 889.
Para qu sirve entonces este algoritmo?
Entre otras cosas, cuando veamos el sistema de cifra
RSA y el tema dedicado a Protocolos Criptogrficos,
encontraremos una interesante aplicacin del Teorema.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 260
Raz primitiva o generador g de grupo p
Un generador o raz primitiva de un nmero primo
p n es aquel que, elevado a todos los restos del
cuerpo y reducido mdulo n, genera todo el grupo.
As, g es un generador si: 1 a p-1
g
a
mod p = b (con 1 b p-1, todos los b )
Sea p = 3 CCR = {1,2} (el cero no es solucin)
Resto 1: no generar nada porque 1
k
mod p = 1
Resto 2: 2
1
mod 3 = 2; 2
2
mod 3 = 1
Luego el 2 es un generador del cuerpo n = 3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 261
Cuntas races hay en un grupo?
Existen muchos nmeros dentro del CRR que son
generadores del cuerpo ... pero
Su bsqueda no es fcil ... alguna solucin?
Conociendo la factorizacin de p-1 (q
1
, q
2
, ..., q
n
)
con q
i
los factores primos de p-1, diremos que un
nmero g ser generador en p si q
i
:
g
(p-1)/qi
mod p 1
Si algn resultado es igual a 1, g no ser generador.
Ejemplo
En cambio...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 262
Bsqueda de races primitivas (1)
BSQUEDA DE RACES EN EL CUERPO Z
13
*
Generadores en Z
13
Como p = 13 p-1 = 12 = 2
2
3
Luego: q
1
= 2 q
2
= 3
Si se cumple g
(p-1)/qi
mod p 1 q
i
entonces g ser un generador de p
g: 2,
2
(13-1)/2
mod 13 = 2
6
mod 13 = 12
2
(13-1)/3
mod 13 = 2
4
mod 13 = 3 El resto 2 es generador
Resto 2
3
(13-1)/2
mod 13 = 3
6
mod 13 = 1
3
(13-1)/3
mod 13 = 3
4
mod 13 = 3 El resto 3 no es generador
Resto 3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 263
Bsqueda de races primitivas (2)
6, 7, g: 2, Generadores en Z
13
4
(13-1)/2
mod 13 = 4
6
mod 13 = 1
4
(13-1)/3
mod 13 = 4
4
mod 13 = 9 El resto 4 no es generador
Resto 4
5
(13-1)/2
mod 13 = 5
6
mod 13 = 12
5
(13-1)/3
mod 13 = 5
4
mod 13 = 1 El resto 5 no es generador
Resto 5
6
(13 -1)/2
mod 13 = 6
6
mod 13 = 12
6
(13-1)/3
mod 13 = 6
4
mod 13 = 9 El resto 6 es generador
Resto 6
7
(13-1)/2
mod 13 = 7
6
mod 13 = 12
7
(13-1)/3
mod 13 = 7
4
mod 13 = 9 El resto 7 es generador
Resto 7
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 264
Bsqueda de races primitivas (3)
Generadores en Z
13
6, 7, 11 g: 2,
8
(13-1)/2
mod 13 = 8
6
mod 13 = 12
8
(13-1)/3
mod 13 = 8
4
mod 13 = 1 El resto 8 no es generador
Resto 8
9
(13-1)/2
mod 13 = 9
6
mod 13 = 1
9
(13-1)/3
mod 13 = 9
4
mod 13 = 9 El resto 9 no es generador
Resto 9
10
(13-1)/2
mod 13 = 10
6
mod 13 = 1
10
(13-1)/3
mod 13 = 10
4
mod 13 = 3 El resto 10 no es generador
Resto 10
11
(13-1)/2
mod 13 = 11
6
mod 13 = 12
11
(13-1)/3
mod 13 = 11
4
mod 13 = 3 El resto 11 es generador
Resto 11
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 265
Bsqueda de races primitivas (4)
Generadores en Z
13
6, 7, 11 g: 2,
12
(13-1)/2
mod 13 = 12
6
mod 13 = 1
12
(13-1)/3
mod 13 = 12
4
mod 13 = 1 El resto 12 no es generador
Resto 12
La tasa de generadores en el grupo p
ser aproximadamente = (p-1)/(p-1).
Por lo tanto por lo general el 30% de los
elementos del Conjunto Reducido de
Restos de p ser un generador en p.
La tasa de generadores en el grupo p
ser aproximadamente = (p-1)/(p-1).
Por lo tanto por lo general el 30% de los
elementos del Conjunto Reducido de
Restos de p ser un generador en p.
= (12)/12
= 4/12 = 1/3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 266
Generadores en cuerpos de primos seguros
Un nmero primo p se dice que es un primo seguro o primo
fuerte si: p = 2p + 1 (con p tambin primo).
Por ejemplo:
Si p = 11, luego p = 211 + 1 = 23 (es primo y es seguro)
En este caso la tasa de nmeros generadores del cuerpo ser
mayor que en el caso anterior (con p = 13 era del 30%).
Probabilidad:
pseguro
= (p-1)/p-1
Casi la mitad de los nmeros del
grupo sern generadores en p.
Comprobacin
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 267
Comprobacin de generadores en p = 2p+1
p = 11; 2p = 22; p = 2p + 1 = 23 primo seguro
Como 2p = p - 1 existirn:
(p) = [p- 1] elementos de orden (p) en el CRR
(11) = 10 = {1,2,3,4,5,6,7,8,9,10}
(2p) = [p- 1] elementos de orden (p-1) en el CRR
(22) = 10 = {1,3,5,7,9,13,15,17,19,21}
= (p- 1)/(p-1) = (p- 1)/2p
Sigue
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 268
Comprobacin de generadores en p = 2p+1
Usando la ecuacin g
(p-1)/qi
mod p
En este caso con q
1
= 2 y q
2
= 11
g
(23-1)/2
mod 23 = g
11
mod 23
g
(23-1)/11
mod 23 = g
2
mod 23
Encontramos los siguientes 10 generadores en p = 23
{5, 7, 10, 11, 14, 15, 17, 19, 20, 21}
Prcticamente la mitad de los valores de CRR que en
este caso es igual a 23 1 = 22.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 269
Utilidad de la raz primitiva en criptografa
Para qu sirve conocer la raz primitiva de p?
La utilidad de este concepto en
criptografa lo veremos cuando
se estudien los sistemas de clave
pblica y, en particular, el
protocolo de intercambio de
claves de Diffie y Hellman.
Tambin se recurrir a esta
propiedad de los primos cuando
estudiemos la firma digital
segn estndar DSS (ElGamal).
?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 270
La exponenciacin en la cifra asimtrica
Una de las ms interesantes aplicaciones de la
matemtica discreta en criptografa es la cifra
asimtrica en la que la operacin bsica es una
exponenciacin A
B
mod n, en donde n es un
primo o un producto de primos grandes.
Esta operacin se realizar en el intercambio de
clave y en la firma digital.
Cmo hacer estos clculos de forma rpida y
eficiente, sin tener que aplicar la reducibilidad?
Tenemos una solucin aplicando un algoritmo
de exponenciacin rpida.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 271
Un mtodo de exponenciacin rpida
En x
y
mod n se representa el exponente y en binario.
Se calculan los productos x
2
j
con j = 0 hasta n-1, siendo n
el nmero de bits que representan el valor y en binario.
Slo se toman en cuenta los productos en los que en la
posicin j del valor y en binario aparece un 1.
Ejemplo
Calcular z = 12
37
mod 221 = 207
12
37
es un nmero de 40 dgitos:
8505622499821102144576131684114829934592
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 272
Ejemplo de exponenciacin rpida
Calcular z = 12
37
mod 221 = 207
37
10
= 100101
2
mod 221
j 0 1 2 3 4 5
12 144 183 118 1 1
interesante
12
2
mod 221
144
2
mod 221
x
2
j
x = 12
Bits 5 4 3 2 1 0
z = 121831 mod 221 = 207
En vez de 36 multiplicaciones y sus reducciones mdulo
221 en cada paso ... 72 operaciones...
Hemos realizado cinco multiplicaciones (para j = 0 el valor
es x) con sus reducciones mdulo 221, ms dos al final y su
correspondiente reduccin. Un ahorro superior al 80% .
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 273
Algoritmo de exponenciacin rpida
Ejemplo: calcule 19
83
mod 91 = 24
Hallar x = A
B
mod n
Obtener representacin
binaria del exponente B
de k bits:
B
2
b
k-1
b
k-2
...b
i
...b
1
b
0
Hacer x = 1
Para i = k-1, ..., 0 hacer
x = x
2
mod n
Si (b
i
= 1) entonces
x = xA mod n
83
10
= 1010011
2
= b
6
b
5
b
4
b
3
b
2
b
1
b
0
x = 1
i=6 b
6
=1 x = 1
2
19 mod 91 = 19 x = 19
i=5 b
5
=0 x = 19
2
mod 91 = 88 x = 88
i=4 b
4
=1 x = 88
2
19 mod 91 = 80 x = 80
i=3 b
3
=0 x = 80
2
mod 91 = 30 x = 30
i=2 b
2
=0 x = 30
2
mod 91 = 81 x = 81
i=1 b
1
=1 x = 81
2
19 mod 91 = 80 x = 80
i=0 b
0
=1 x = 80
2
19 mod 91 = 24 x = 24
19
83
= 1,369458509879505101557376746718e+106 (calculadora Windows)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 274
Clculos en campos de Galois (GF)
Cuando trabajamos en un cuerpo primo p, sabemos que se
asegura la existencia de un nico inverso multiplicativo.
En este caso se dice que estamos trabajando en Campos
de Galois GF(p).
Algunos usos en criptografa:
Sistemas de clave pblica cuando la operacin de
cifra es C = M
e
mod p (cifrador ElGamal) o bien RSA
usando el Teorema del Resto Chino para descifrar.
Aplicaciones en GF(q
n
), polinomios mdulo q y de
grado n: a(x) = a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
1
x + a
0
:
Cifrador de flujo A5, RIJNDAEL, curvas elpticas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 275
Campos de Galois del tipo GF(q
n
)
a(x) = a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
1
x + a
0
Es un polinomio de grado n-1 o menor.
Los elementos a
i
son parte del CCR del mdulo q.
Cada elemento a(x) es un resto mdulo p(x), siendo
p(x) un polinomio irreducible de grado n (que no puede
ser factorizado en polinomios de grado menor que n).
GF(2
n
) es interesante porque CCR(2) = {0, 1} bits.
GF(2
3
) 8 elementos o restos polinmicos que son:
0, 1, x, x+1, x
2
, x
2
+1, x
2
+x, x
2
+x+1, los 8 restos de un
polinomio de grado n-1 (n = 3).
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 276
Suma en campos de Galois GF(2
n
)
Si el mdulo de trabajo es 2 (con restos = bits 0 y 1), las
operaciones suma y resta sern un OR Exclusivo:
0 1 mod 2 = 1 1 0 mod 2 = 1
0 0 mod 2 = 0 1 1 mod 2 = 0
0 1 x x+1
0 0 1 x x+1
1 1 0 x+1 x
x x x+1 0 1
x+1 x+1 x 1 0
Restos: 0, 1, x, x+1
CG(2
2
)
Como los resultados debern
pertenecer al cuerpo, aplicaremos
Reduccin por Coeficientes:
Por ejemplo:
x + (x +1) = 2x + 1 mod 2 = 1
1 + 1 = 2 mod 2 = 0
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 277
Producto en campos de Galois GF(2
n
)
La operacin multiplicacin puede entregar elementos
que no pertenezcan al cuerpo, potencias iguales o
mayores que n Reduccin por Exponente.
0 1 x x+1
0 0 0 0 0
1 0 1 x x+1
x 0 x x+1 1
x+1 0 x+1 1 x
Restos: 0, 1, x, x+1
CG(2
2
) Sea el polinomio irreducible de
grado n = 2, p(x) = x
2
+ x + 1
Luego: x
2
= x + 1
Por ejemplo:
(x + 1)(x + 1) = x
2
+ 2x + 1
(x + 1)(x + 1) = (x + 1) + 2x +1
(x + 1)(x + 1) = 3x + 2 mod 2 = x
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 278
Operaciones con campos de Galois en AES
La suma y multiplicacin de polinomios dentro de un
cuerpo binario descritas en las dispositivas anteriores,
conforman las operaciones bsicas del algoritmo de
cifra Advanced Encryption Algorithm AES, que con
el nombre RIJNDAEL es el estndar mundial desde
finales de 2001, desplazando al ya viejo DES.
En este caso, se trabaja con 8 bits por lo que las
operaciones se realizan en GF(2
8
). En el captulo 10
sobre sistemas de cifra con clave secreta encontrar
ejemplos de suma y multiplicacin polinmica dentro
de este cuerpo binario.
Fin del Tema 5
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 279
Cuestiones y ejercicios (1 de 3)
1. Qu significa para la criptografa el homomorfismo de los enteros?
2. Si una funcin de cifra multiplica el mensaje por el valor a dentro
del cuerpo n, para qu nos sirve conocer el inverso de a en n?
3. En un cuerpo de cifra n, existen siempre los inversos aditivos y los
inversos multiplicativos? Debe cumplirse alguna condicin?
4. Si en un cuerpo n el inverso de a es a
1
, es ese valor nico?
5. Cifraremos en un cuerpo n = 131. Cul es el conjunto completo de
restos? Cul es el conjunto reducido de restos?
6. Para cifrar un mensaje M = 104 debemos elegir el cuerpo de cifra
entre el valor n = 127 y n = 133, cul de los dos usara y por qu?
7. Qu nos dice la funcin (n) de Euler?
8. Qu papel cumple el algoritmo extendido de Euclides en la
criptografa? Por qu es importante? En qu se basa?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 280
Cuestiones y ejercicios (2 de 3)
9. Si en el cuerpo n = 37 el inv (21, 37) = 30, cul es el inv (30, 37)?
10. Usando el algoritmo extendido de Euclides calcule los siguientes
inversos: inv (7, 19); inv (21, 52), inv (11, 33), inv (41, 43).
11. Cuntas soluciones x
i
hay a la expresin 8x mod 20 = 12?
Explique lo que sucede. Tiene esto inters en criptografa?
12. Qu viene a significar el Teorema del Resto Chino? Aunque an
no lo ha estudiado, le ve alguna utilidad en criptografa?
13. Calcule inv (49, 390) usando el Teorema del Resto Chino.
14. Defina lo que es una raz primitiva o generador de un cuerpo. Es
necesario que ese cuerpo sea un primo?
15. Cuntos generadores podemos esperar en el cuerpo n = 17? Y si
ahora n = 7, cuntos generadores habr? Comprubelo calculando
todos los exponentes del conjunto completo de restos de n = 7.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 5: Teora de los Nmeros
Diapositiva 281
Cuestiones y ejercicios (3 de 3)
16. Cmo se define un primo seguro? Cuntos generadores tiene?
17. A partir de los valores p = 13, p = 17, p = 19 y p = 23 queremos
obtener un primo seguro, con cul o cules de ellos lo logramos?
18. Usando el algoritmo de exponenciacin rpida calcule los siguientes
valores: 23
32
mod 51; 100
125
mod 201; 1.000
100.000
mod 2.500.
19. Compruebe los resultados con la calculadora de Windows. Qu
sucede para nmeros muy grandes como el ltimo?
20. Cuntas operaciones bsicas se han hecho en cada caso y en cunto
se ha optimizado el clculo?
21. En GF(2
n
) reduzca por coeficientes 5x
5
+ x
4
+ 2x
3
+ 3x
2
+ 6x + 2.
22. Reduzca (x
3
+ 1)(x
2
+ x +1) por exponente en GF(2
n
) usando como
polinomio primitivo p(x) = x
4
+ x + 1, es decir x
4
= x + 1.
Tema 6
Teora de la Complejidad Algortmica
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 28 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 284
Nota del autor
El contenido de este tema
corresponde slo a una breve
introduccin a la complejidad
de los algoritmos, con el objeto
de que el lector pueda hacerse
una idea de la importancia de
este tema en el anlisis y diseo de los algoritmos de
cifra y firma digital que se vern en este curso. La
fortaleza de estos algoritmos y de los protocolos que
los incluyen depender de la complejidad asociada al
criptoanlisis o ataque de los mismos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 285
Introduccin a la teora de la complejidad
La teora de la complejidad de los algoritmos nos
permitir conocer si un algoritmo tiene fortaleza y tener
as una idea de su vulnerabilidad computacional.
Complejidad Computacional
Los algoritmos se clasifican segn el tiempo de
ejecucin y en funcin del tamao de la entrada.
Complejidad Polinomial
Complejidad Exponencial
Esto dar lugar a tipos de problemas que nos interesarn.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 286
Operaciones bit en la suma
Si deseamos sumar dos nmeros binarios n y m, ambos de k bits
realizaremos k operaciones bit puesto que cada operacin bsica
con los dgitos de una columna es una operacin bit.
* Recuerde que 0+0 = 0, 0+1=1, 1+0 = 1, 1+1 = 0 con bit 1 de acarreo.
Si un nmero tiene menos bits, se rellena con ceros por la izquierda.
Ejemplo: encontrar el nmero de operaciones bit necesarias en la
suma en binario de 13+7 1101 + 0111 (de k = 4 bits)
1 1 1 1 (acarreo)
1 1 0 1
+ 0 1 1 1
1 0 1 0 0
Cada operacin bsica que hacemos con una columna se conoce
como operacin bit, luego necesitamos k = 4 operaciones bit.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 287
Operaciones bit en la multiplicacin
Para la multiplicacin de un nmero n de k bits por un nmero
m de h bits, el nmero de operaciones bit ser igual a 2kh.
Suponemos que k h.
* Recuerde que 0x0 = 0, 0x1=0, 1x0 = 0, 1x1 = 1.
Ejemplo: encontrar el nmero de operaciones bit necesarias en la
multiplicacin en binario 10x5 1010 x 101 (4 y 3 bits)
1 0 1 0 x 1 0 1
1 0 1 0
0 0 0 0
+ 1 0 1 0 (procedemos ahora a sumar)
1 1 0 0 1 0
Como cada operacin bsica entre dos bits es una operacin bit,
hemos realizado hk = 34 multiplicaciones y luego kh = 43
sumas, es decir en total 2kh = 24 operaciones bit.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 288
La funcin O(n)
Las operaciones dependern del tamao de la entrada por lo
que esta complejidad se expresar en trminos del tiempo T
necesario para el clculo del algoritmo y del espacio S que
utiliza en memoria, y se expresar mediante una funcin
f (n), donde n es el tamao de la entrada.
Esta funcin ser una aproximacin pues el resultado exacto
depender de la velocidad del procesador.
f (n) = O(g(n))
f = O(n) ssi c
o
,n
o
/ f(n) c
o
g(n)
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 289
Complejidad de una funcin f(n)
Si f (n) = 4n
2
+ 2n + 5 f = O(n
2
)?
se cumple que c
o
g(n) = c
o
n
2
f (n)? Sea c
o
= 6
c
o
n
o
c
o
n
o
2
f (n) = 4n
2
+ 2n + 5 c
o
n
2
f (n)?
6 1 6 11 No
6 2 24 25 No
6 3 54 38 S
6 4 96 77 S
Se cumple
siempre
Luego, la complejidad de f (n) es exponencial.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 290
Tiempos de ejecucin
En la expresin O(n) aparecer el trmino que domina al
crecer el valor de n.
El tiempo de ejecucin de un algoritmo T
1
que realiza
2n+1 operaciones es de tipo O(n); uno T
2
que realiza
3n
2
+n+3 operaciones ser de tipo O(n
2
), etc.
Para realizar la suma de la diapositiva anterior necesitamos
O(n) = O(log n) operaciones bit y para el caso de la
multiplicacin, stas sern O(nm) = O(log n log m)
operaciones bit.
+ Operacin binaria: n+m (de k bits cada uno)
Operacin binaria: nm (de k y h bits respectivamente)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 291
Algoritmos de complejidad lineal
Un algoritmo se dice que tiene tiempo de ejecucin
polinomial si ste depende polinmicamente del
tamao de la entrada.
Si la entrada es de tamao n y t es un entero, el
nmero de operaciones bit ser O(log
t
n).
Si t = 1, el sistema es lineal Suma
Si t = 2, el sistema es cuadrtico Producto
Si t = 3, el sistema es cbico mcd Euclides
Ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 292
Ejemplo de complejidad lineal
Ejemplo: El tiempo de ejecucin de un algoritmo es
O(log
3
n). Si doblamos la entrada, en cunto aumenta
este tiempo?
Solucin: En el primer caso el tiempo es O(log
3
n) y en
el segundo O(log
3
2n). Luego para este sistema lineal
el tiempo se incrementar en log
3
2 operaciones bit.
Estos son los denominados problemas fciles y son
los que involucrarn un proceso de cifra y descifrado
(o firma) por parte del o de los usuarios autorizados.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 293
Algoritmos de complejidad exponencial
Un algoritmo se dice que tiene tiempo de ejecucin
exponencial si ste depende exponencialmente del
tamao de la entrada.
Si la entrada es de tamao n y t es un entero, el
nmero de operaciones bit ser O(n
t
).
Para t = 2, ser exponencial de orden 2
Para t = 3, ser exponencial de orden 3
n!
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 294
Ejemplo de complejidad exponencial
Ejemplo: El tiempo de ejecucin de un algoritmo es
O(n
3
). Si doblamos la entrada, en cunto aumenta
este tiempo?
Solucin: En el primer caso el tiempo es O(n
3
) y en el
segundo O(2n
3
) = O(8n
3
). Para este sistema exponencial
el tiempo se incrementar en 8 operaciones bit.
Estos son los denominados problemas difciles y son a
los que deber enfrentarse un criptoanalista o atacante
que desea romper una cifra o la clave de un usuario.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 295
Comparativas de complejidad
Los algoritmos polinmicos y exponenciales se
comparan por su complejidad O(n
t
).
Polinmico constante O(1)
Polinmico lineal O(n)
Polinmico cuadrtico O(n
2
)
Polinmico cbico O(n
3
) ... etc.
Exponencial O(d
h(n)
)
donde d es una constante y h(n) un polinomio
Si suponemos un ordenador capaz de realizar
10
9
instrucciones por segundo se tiene el cuadro:
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 296
Tabla comparativa de tiempos
Entrada O(n) O(n
2
) O(n
3
) O(2
n
)
n = 10 10
-8
seg 10
-7
seg 10
-6
seg 10
-6
seg
n = 10
2
10
-7
seg 10
-5
seg 10
-3
seg 410
13
aos
n = 10
3
10
-6
seg 10
-3
seg 1 seg Muy grande
Incrementos de un
orden de magnitud
Computacionalmente
imposible
Entrada/10
9
: Para n = 100 O(n
2
) = 100
2
/10
9
= 10
-5
seg
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 297
Problemas de tipo NP
En criptografa nos interesan las funciones f(x) de un solo
sentido, es decir:
Fcil calcular f(x) pero muy difcil calcular f
-1
(x)
salvo que conozcamos un secreto o trampa
Porque dan lugar a problemas tipo NP, polinomiales no
deterministas, computacionalmente difciles de tratar.
Problema de la mochila
Problema de la factorizacin
Problema del logaritmo discreto
Otros ...
Veremos cada
uno de ellos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 298
El problema de la mochila
Enunciado:
Dada una mochila de determinadas dimensiones de alto,
ancho y fondo, y un conjunto de elementos de distintos
tamaos menores que ella y de cualquier dimensin, ...
es posible llenar la mochila (completa) con distintos
elementos de ese conjunto sin repetir ninguno de ellos?
Es un problema de tipo NP en el
que el algoritmo debe realizar en
cada paso una seleccin iterativa
entre diferentes opciones.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 299
Ejemplo del problema de la mochila
S
1
= a
1
+a
2
+a
3
S
2
= a
1
+a
2
S
3
= a
1
+a
3
S
4
= a
1
S
5
= a
2
+a
3
S
6
= a
2
S
7
= a
3
S
8
=
S = a
1
+ a
2
+ a
3
A = {a
1
, a
2
, a
3
}
Se incluye a
1
en la suma S?
S No
Se incluye a
2
en la suma?
S No S No
Se incluye a
3
?
S No S No S No S No
S
1
S
2
a
1
a
3
a
3
a
2
S
3
S
4
S
7
S
8
S
5
S
6
a
3
a
3
a
2
Sea una mochila
con 4 elementos
{2, 4, 9, 10}
Cuntas sumas
posibles hay?
Solucin: 2
4
= 16
, 2, 4, 6,
9, 10, 11, 12,
13, 14, 15, 16,
19, 21, 23, 25.
Los resultados son todos
distintos: una casualidad
Repita con
{2, 4, 6, 10}
mod p.
Si el valor p es muy grande, el Problema del Logaritmo
Discreto PLD es computacionalmente intratable.
No obstante, el caso inverso, dado dos nmeros y x,
encontrar =
x
mod p es un problema polinomial.
Este problema se usar en la creacin de las claves del
sistema de cifra con clave pblica ElGamal y en el
protocolo de intercambio de clave de Diffie y Hellman.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 305
Un ejemplo del PLD
Clculo fcil o polinomial (funcin directa)
Calcule a mano las siguientes exponenciaciones mod p y
tome el tiempo aproximado que tarda en la operacin:
a) 5
4
mod 7 b) 8
17
mod 41 c) 92
11
mod 251
5
4
= 625
8
17
= 2.251.799.813.685.248
92
11
= 3.996.373.778.857.415.671.808
Nota: Haciendo uso de la propiedad de reducibilidad del captulo 5,
podr reducir significativamente el tiempo de clculo. No obstante,
este tiempo ser de tipo polinomial segn el tamao de la entrada.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 306
Solucin al ejemplo anterior
Clculo difcil o no polinomial (funcin inversa)
Aunque existen varios algoritmos para este tipo de clculos
(al igual que para la factorizacin) use la fuerza bruta que se
explica a continuacin para encontrar los siguientes valores y
vuelva a tomar el tiempo empleado:
a) log
5
2 mod 7 b) log
8
39 mod 41 c) log
92
217 mod 251
Aplicando fuerza bruta en el 1
er
caso (la base elevada a todos
los restos de p) al final se obtiene que log
5
2 mod 7 = 4.
5
1
mod 7 = 5 5
2
mod 7 = 4 5
3
mod 7 = 6
5
4
mod 7 = 2 5
5
mod 7 = 3 5
6
mod 7 = 1
En media deber
recorrer la mitad
del espacio...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 307
Logaritmo discreto con generador
log
2
1 mod 13 = 0 log
2
2 mod 13 = 1 log
2
3 mod 13 = 4
log
2
4 mod 13 = 2 log
2
5 mod 13 = 9 log
2
6 mod 13 = 5
log
2
7 mod 13 = 11 log
2
8 mod 13 = 3 log
2
9 mod 13 = 8
log
2
10 mod 13 = 10 log
2
11 mod 13 = 7 log
2
12 mod 13 = 6
2
0
mod 13 = 1 2
1
mod 13 = 2 2
2
mod 13 = 4
2
3
mod 13 = 8 2
4
mod 13 = 3 2
5
mod 13 = 6
2
6
mod 13 = 12 2
7
mod 13 = 11 2
8
mod 13 = 9
2
9
mod 13 = 5 2
10
mod 13 = 10 2
11
mod 13 = 7
Es
decir
Se cumplir adems que a
p-1
mod p = a
0
mod p = 1.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 308
Logaritmo discreto con no generador
En p=13, el 2
es generador,
pero no as el
nmero 3...
Luego
3
0
mod 13 = 1 3
1
mod 13 = 3 3
2
mod 13 = 9
3
3
mod 13 = 1 3
4
mod 13 = 3 3
5
mod 13 = 9
3
6
mod 13 = 1 3
7
mod 13 = 3 3
8
mod 13 = 9
3
9
mod 13 = 1 3
10
mod 13 = 3 3
11
mod 13 = 9
log
3
1 mod 13 = 0 log
3
2 mod 13 = NE log
3
3 mod 13 = 1
log
3
4 mod 13 = NE log
3
5 mod 13 = NE log
3
6 mod 13 = NE
log
3
7 mod 13 = NE log
3
8 mod 13 = NE log
3
9 mod 13 = 2
log
3
10 mod 13 = NE log
3
11 mod 13 = NE log
3
12 mod 13 = NE
NE = no existe
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 309
Hay ms funciones NP?
Existen otros problemas matemticos que dan lugar a
problemas del tipo NP basados en estas funciones
unidireccionales (one way functions) pero las dos
ltimas funciones vistas factorizacin de nmeros
grandes y logaritmo discreto- son las que ms uso
tienen, de momento, en la criptografa.
Algunos de ellos se presentarn en el Tema dedicado
a los Protocolos Criptogrficos.
Fin del Tema 6
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 6: Teora de la Complejidad Algortmica
Diapositiva 310
Cuestiones y ejercicios
1. Deseamos sumar de forma binaria el nmero 15 (1111) y el nmero
10 (1010), ambos de k = 4 bits. Haga la suma binaria y verifique
que el nmero de operaciones bit desarrolladas es k = 4.
2. Si multiplicamos en binario 101011, donde k = 4 bits y h = 2 bits,
compruebe que el nmero de operaciones bit realizadas es 2kh.
3. Por qu son interesantes los problemas de tipo NP en criptografa?
4. Defina el problema de la mochila y su posible utilizacin en un
sistema de cifra.
5. Factorice mentalmente el valor n = 143. Intente hacer lo mismo
para n = 1.243. Qu opina ahora del problema de la factorizacin?
6. A partir de la ecuacin = x
mod n
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 364
Otras funciones con trampa
Problema de la mochila
Problema de la mochila
Clculo directo: sumar elementos de mochila con trampa
Clculo inverso: sumar elementos de mochila sin trampa
Problema de la raz discreta
Problema de la raz discreta
Clculo directo: cuadrado discreto x = aa mod n
Clculo inverso: raz cuadrada discreta a = x mod n
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 365
Cifrado con clave pblica de destino
NUESTROS PROTAGONISTAS
origen destino
Claves: e
B
, n
B
, d
B
Claves: e
B
, n
B
, d
B
Claves: e
Si Benito realiza la
operacin con las
claves pblicas de
Adela (e
A
, n
A
), la
informacin que se
transmite mantiene la
confidencialidad:
slo ella puede verla.
Benito
Adela
A
, n
A
, d
A
Claves: e
A
, n
A
, d
A
e
B
, n
B
: pblicas
d
B
: privada
e
A
, n
A
: pblicas
d
A
: privada
e
B
y d
B
son
inversas dentro
de un cuerpo Z
B
e
A
y d
A
son
inversas dentro
de un cuerpo Z
A
C = E
eA
(M) mod n
A
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 366
Operacin de cifra con clave de destino
Cifrado:
Benito enva un mensaje M a Adela
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Benito Adela
C = E
eA
(M) mod n
A
Claves pblicas
Descifrado:
Clave privada
M = E
dA
[E
eA
(M)] mod n
A
E
dA
y E
eA
son inversos
Se obtiene confidencialidad del mensaje
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 367
Y si usamos la clave pblica de origen?
Si en vez de utilizar la clave pblica de destino, el emisor
usa su propia clave pblica, la cifra no tiene sentido bajo
el punto de vista de sistemas de clave pblica ya que slo
l o ella sera capaz de descifrar el criptograma (deshacer
la operacin de cifra) con su propia clave privada.
Esto podra usarse para cifrar de forma
local uno o varios ficheros, por
ejemplo, pero para ello ya estn los
sistemas de clave secreta, mucho ms
rpidos y, por tanto, ms eficientes.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 368
Y si usamos la clave privada de origen?
Si ahora el emisor usa su clave privada en la cifra sobre
el mensaje, se obtiene una firma digital que le autentica
como emisor ante el destinatario y, adems, a este ltimo
le permitir comprobar la integridad del mensaje.
Veamos antes un ejemplo de
algoritmo que usa un par de
claves entre dos usuarios...
Obviamente, el emisor nunca podr realizar la cifra del
mensaje M con la clave privada del receptor.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 369
El algoritmo del mensaje en la caja
PROTOCOLO: A enva a B un mensaje M
1 A pone el mensaje M en la caja, la cierra con su
llavey la enva a B.
2 B recibe la caja, la cierra con su llavey enva a
A la caja con las dos cerraduras.
3 A recibe la caja, quita su llave y devuelve a B
la caja slo con la cerradura de B.
4 B recibe la caja, quita su cerradura y puede ver
el mensaje M que A puso en el interior de la caja.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 370
Todo bien en el algoritmo de la caja?
Durante la transmisin, el mensaje est
protegido de cualquier intruso por lo
que existe integridad del mensaje y hay
proteccin contra una ataque pasivo.
Pero el usuario B no puede estar seguro
si quien le ha enviado el mensaje M es
el usuario A o un impostor. Por lo tanto
el algoritmo as implementado no nos
permite comprobar la autenticidad del
emisor pues no detecta la suplantacin
de identidad. No obstante...
Modificando algo el
algoritmo anterior,
podremos asegurar
tanto la integridad del
mensaje como la
autenticidad de emisor.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 371
Cifrado con clave privada del origen
Claves: e
Si ahora Benito realiza
la operacin de cifra con
su clave privada d
B
en el
cuerpo n
B
Adela ser
capaz de comprobar esa
cifra ya que posee (entre
otras) la clave pblica de
Benito. Comprueba as
tanto la autenticidad del
mensaje como del autor.
e
B
y d
B
son
inversas dentro
de un cuerpo Z
B
e
A
y d
A
son
inversas dentro
de un cuerpo Z
A
origen destino
Benito
Adela
A
, n
A
, d
A
Claves: e
A
, n
A
, d
Claves: e
B
, n
B
, d
B
, d Claves: e
B
, n
B
A
B
e
B
, n
B
: pblicas
d
B
: privada
e
A
, n
A
: pblicas
d
A
: privada
C = E
dB
(M) mod n
B
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 372
Operacin de cifra con clave de origen
Cifrado:
Benito firma un mensaje M a Adela
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Benito Adela
C = E
dB
(M) mod n
B
Clave privada
Descifrado:
Claves pblicas
M = E
eB
[E
dB
(M)] mod n
B
E
dB
y E
eB
son inversos
Se comprueba la integridad del origen
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 373
Uso de la criptografa asimtrica
Estas dos operaciones de cifra son posibles debido a la
caracterstica intrnseca de los sistemas de clave pblica: el
uso de una clave privada (secreta) inversa de una pblica.
Qu aplicacin tendrn entonces los sistemas de
criptografa de clave pblica o asimtrica?
Usando la clave pblica del destino se har el intercambio
de claves de sesin de una cifra con sistemas simtricos
(decenas a centenas de bits).
Usando la clave privada de origen, se firmar digitalmente
un resumen (decenas a centenas de bits) del mensaje
obtenido con una funcin hash.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 374
La gestin de claves
Gestin de claves
Clave Secreta Clave Pblica
Hay que memorizar Slo es necesario
un nmero muy alto memorizar la clave
de claves: n
2
. privada del emisor.
En cuanto a la gestin de claves, sern mucho ms
eficientes los sistemas de cifra asimtricos pues los
simtricos no permiten una gestin lgica y eficiente
de estas claves.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 375
El espacio de claves
Longitud y espacio de claves
Clave Secreta Clave Pblica
Debido al tipo de Por el algoritmo usado
cifrador usado, la en la cifra, la clave
clave ser del orden ser del orden de los
de la centena de bits. miles de bits.
En cuanto al espacio de claves, no son comparables los
sistemas simtricos con los asimtricos. Para atacar un
sistema asimtrico no se buscar en todo el espacio de
claves como debera hacerse en los sistemas simtricos.
128 1024
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 376
La vida de las claves
Vida de una clave
Clave Secreta Clave Pblica
La duracin es muy La duracin de la clave
corta. Normalmente pblica, que la entrega
se usa como una y gestiona un tercero,
clave de sesin. suele ser larga.
En cuanto a la vida de una clave, en los sistemas
simtricos sta es muchsimo menor que las usadas
en los asimtricos. La clave de sesin es aleatoria,
en cambio la asimtrica es propia del usuario.
Segundos
o minutos
Meses o
un ao
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 377
Vida de la clave y principio de caducidad
Si en un sistema de clave secreta, sta se usa como clave
de una sesin que dura muy poco tiempo...
y en este tiempo es imposible romperla...
para qu preocuparse entonces?
La confidencialidad de la informacin tiene
una caducidad. Si durante este tiempo
alguien puede tener el criptograma e intentar
un ataque por fuerza bruta, obtendr la clave
(que es lo menos importante) ...
pero tambin el mensaje secreto! ... puede ser muy peligroso.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 378
El problema de la autenticacin
Condiciones de la autenticidad:
a) El usuario A deber protegerse ante mensajes
dirigidos a B que un tercer usuario desconocido C
introduce por ste. Es la suplantacin de identidad o
problema de la autenticacin del emisor.
b) El usuario A deber protegerse ante mensajes
falsificados por B que asegura haberlos recibido
firmados por A. Es la falsificacin de documento o
problema de la autenticacin del mensaje.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 379
La autenticacin de origen y de destino
Autenticacin
Clave Secreta Clave Pblica
Se puede autenticar Al haber una clave
al mensaje pero no pblica y otra privada,
al emisor de forma se podr autenticar el
sencilla y clara. mensaje y al emisor.
En cuanto a la autenticacin, los sistemas simtricos
tienen una autenticacin ms pesada y con una tercera
parte de confianza. Los asimtricos permiten una
firma digital verdadera, eficiente y sencilla.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 380
La velocidad de cifra
Velocidad de cifra
Clave Secreta Clave Pblica
La velocidad de La velocidad de cifra
cifra es muy alta. es muy baja. Se usa
Es el algoritmo de para el intercambio de
cifra del mensaje. clave y la firma digital.
En cuanto a la velocidad de cifra, los
sistemas simtricos son de 100 a 1.000
veces ms rpidos que los asimtricos.
En SW la velocidad de cifra es ms baja.
Cientos de
M Bytes/seg
en HW
Cientos de
K Bytes/seg
en HW
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 381
Resumen cifra simtrica v/s asimtrica
Cifrado Simtrico Cifrado Asimtrico
Confidencialidad
Autenticacin parcial
Sin firma digital
Claves:
Longitud pequea
Vida corta
Nmero elevado
Velocidad alta
Confidencialidad
Autenticacin total
Con firma digital
Claves:
Longitud grande
Vida larga
Nmero reducido
Velocidad baja
Fin del Tema 8
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 382
Cuestiones y ejercicios (1 de 2)
1. En un sistema de cifra se usa un cuerpo de trabajo n. Cmo es el
tamao de ese cuerpo comparado con el tamao del alfabeto usado?
2. Cmo se clasifican los criptosistemas en funcin del tratamiento
que hacemos del mensaje a cifrar?
3. Cmo se clasifican los criptosistemas en funcin de tipo de clave
que se usa en ambos extremos, emisor y receptor?
4. Por qu se dice que un sistema es simtrico y el otro asimtrico?
5. Es posible cumplir 100% con la condicin del cifrado de Vernam?
6. Por qu en los cifradores de flujo se usa la misma funcin XOR en
el extremo emisor y en el extremo receptor? Son inversas aqu las
claves usadas para cifrar y descifrar?
7. Indique y comente algunas debilidades de los sistemas de cifra en
bloque con clave secreta.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 8: Sistemas de Cifra Modernos
Diapositiva 383
Cuestiones y ejercicios (2 de 2)
8. Si ciframos un nmero con la clave pblica del usuario receptor,
qu cree Ud. que estamos haciendo?
9. Por qu decimos que en un sistema asimtrico la gestin de claves
es mucho mejor que en un sistema simtrico?
10. Nos entregan un certificado digital (certificacin de clave pblica)
de 512 bits. Es hoy en da un valor adecuado? Por qu s o o?
11. Por qu decimos que con un sistema asimtrico es muy fcil
generar una firma digital en emisin y comprobarla en destino?
12. Compare los sistemas simtricos y asimtricos en cuanto a su
velocidad de cifra.
13. Qu es un cifrado hbrido? Por qu y cmo se usa la cifra hbrida
en el intercambio de informacin segura por ejemplo en Internet?
14. Qu relacin hay entre vida de una clave y principio de caducidad?
Tema 9
Sistemas de Cifra en Flujo
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 48 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 386
Cifrador de flujo bsico
Siguiendo la propuesta de cifrador hecha en 1917 por
Vernam, los cifradores de flujo (clave secreta) usan:
Una cifra basada en la funcin XOR.
Una secuencia cifrante binaria y aleatoria S que se obtiene
de una clave secreta K compartida por emisor y receptor.
Un algoritmo de descifrado que es igual al de cifrado por la
involucin de la funcin XOR.
Clave K Clave K
Algoritmo
Determinstico
Algoritmo
Determinstico
secuencia cifrante
M M
S S
MENSAJE MENSAJE
C
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 387
Caractersticas de la secuencia cifrante S
i
Condiciones para una clave segura
Perodo:
La clave deber ser tanto o ms larga que el mensaje.
En la prctica se usar una semilla de unos 120 a 250
bits para generar perodos superiores a 10
35
.
Distribucin de bits:
Distribucin uniforme de unos y ceros que represente
una secuencia pseudoaleatoria (Postulados Golomb).
Rachas de dgitos: uno o ms bits entre dos bits distintos.
Funcin de Autocorrelacin Fuera de Fase AC(k):
desplazamiento de k bits sobre la misma secuencia S.
Rachas y AC(k)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 388
Rachas de dgitos en una secuencia
Rachas de una secuencia S de perodo 15
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Prximo
Bit anterior
Rachas de 1s
bit es un 1
es un 0
Rachas de 0s
Un 1 entre dos 0s
Un 0 entre dos 1s
Racha de 00s
Racha de 1111s
Un 00 entre dos 1s
Racha de 11s
Un 1111 entre dos 0s
Un 11 entre dos 0s
Racha de 000s
Un 000 entre dos 1s
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 389
Distribucin de las rachas de dgitos
Las rachas, es decir la secuencia de dgitos iguales entre
dos dgitos distintos, debern seguir una distribucin
estadstica de forma que la secuencia cifrante S
i
tenga un
comportamiento de clave aleatoria o pseudoaleatoria.
Para que esto se cumpla, es obvio que habr ms rachas
cortas que rachas largas como en el ejemplo anterior.
Como veremos ms adelante, esta distribucin seguir
una progresin geomtrica. Por ejemplo una secuencia S
i
podra tener 8 rachas de longitud uno, 4 de longitud dos,
2 de longitud tres y 1 de longitud cuatro.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 390
Autocorrelacin fuera de fase AC(k)
Funcin de Autocorrelacin:
Autocorrelacin AC(k) fuera de fase de una secuencia
S
i
de perodo T desplazada k bits a la izquierda:
AC(k) = (A - F) / T
Aciertos bits iguales Fallos bits diferentes
Ejemplo
Si k = 1
S
i
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
A =
1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 A=7; F=8
F = AC(1)= -1/15
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 391
Autocorrelacin fuera de fase constante
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
Como ejercicio, compruebe que para esta secuencia cifrante
S
i
la Autocorrelacin Fuera de Fase AC(k) para todos los
valores de k (1 k 14) es constante e igual a -1/15.
Esto ser importante para la calidad de la clave.
Para que una secuencia cifrante sea considerada segura,
adems de cumplir con la distribucin de rachas, deber
tener una AC(k) constante como veremos ms adelante.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 392
Imprevisibilidad e implementacin de S
i
Imprevisibilidad:
Aunque se conozca una parte de la secuencia S
i
, la
probabilidad de predecir el prximo dgito no debe ser
superior al 50%.
Esto se define a partir de la Complejidad Lineal.
Facilidad de implementacin:
Debe ser fcil construir un generador de secuencia
cifrante con circuitos electrnicos y chips, con bajo
coste, alta velocidad, bajo consumo, un alto nivel de
integracin, etc.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 393
Primer postulado de Golomb G1
Postulado G1:
Deber existir igual nmero de ceros que de unos. Se
acepta como mximo una diferencia igual a la unidad.
S
1
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
En la secuencia S
1
de 15 bits, hay 8 unos y 7
ceros. Luego s cumple con el postulado G1.
S
2
1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1
En la secuencia S
2
de 16 bits, hay 7 unos y 9
ceros. Luego no cumple con el postulado G1.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 394
Significado del postulado G1
S
i
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Qu significa esto?
Si una secuencia S
i
cumple con G1, quiere decir que la
probabilidad de recibir un bit 1 es igual a la de recibir un bit 0, es
decir un 50%.
Por lo tanto, a lo largo de una secuencia S
i
, independientemente
de los bits recibidos con anterioridad, en media ser igualmente
probable recibir un 1 que un 0, pues hay una mitad de
valores uno y otra mitad de valores cero.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 395
Segundo postulado de Golomb G2
Postulado G2:
En un perodo T, la mitad de las rachas de S
i
sern de
longitud 1, la cuarta parte de longitud 2, la octava parte
de longitud 3, etc.
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
En la secuencia S
i
de 15 bits, hay 4 rachas de longitud uno, 2
rachas de longitud dos, 1 racha de longitud tres y 1 racha de
longitud cuatro. Este tipo de distribucin en las rachas para
perodos impares, es tpica de las denominadas m-secuencias
como veremos ms adelante en el apartado generadores LFSR.
Las rachas de
esta secuencia
estn en una
diapositiva
anterior
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 396
Significado del postulado G2
S
i
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Qu significa esto?
Si una secuencia S
i
cumple con G2, quiere decir que la
probabilidad de recibir un bit 1 0 despus de haber recibido un
1 o un 0 es la misma, es decir un 50%.
Es decir, recibido por ejemplo un 1, la cadena 10 es
igualmente probable que la cadena 11. Lo mismo sucede con
un 0 al comienzo, un 00, 01, 10, 11, 000, 001, etc. Existe una
equiprobabilidad tambin en funcin de los bits ya recibidos.
Como comprobaremos ms adelante, esto va a significar que la
secuencia pasa por todos sus estados, es decir todos sus restos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 397
Tercer postulado de Golomb G3 (1)
Postulado G3:
La autocorrelacin AC(k) deber ser constante
para todo valor de desplazamiento de k bits.
Secuencia original S
i
0 1 1 1 0 1 0 0
Desplazamiento de un bit a la izquierda
1 1 1 0 1 0 0 0
k=1 AC(1) = (4-4)/8 = 0
1 1 0 1 0 0 0 1
k=2 AC(2) = (4-4)/8 = 0
1 0 1 0 0 0 1 1
AC(3) = (2-6)/8 = -1/2 k=3
0 1 0 0 0 1 1 1
k=4
AC(4) = (4-4)/8 = 0
sigue
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 398
Tercer postulado de Golomb G3 (2)
0 1 1 1 0 1 0 0
S
i
Secuencia original
1 0 0 0 1 1 1 0
k=5 AC(5) = (2-6)/8 = -1/2
0 0 0 1 1 1 0 1
k=6 AC(6) = (4-4)/8 = 0
0 0 1 1 1 0 1 0
AC(7) = (4-4)/8 = 0 k=7
0 1 1 1 0 1 0 0
k=8 Secuencia original en fase
La secuencia S
i
= 01110100 de 8 bits no cumple con G3.
S
i
= 10101100 s cumple. Compruebe que AC(k) = - .
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 399
Significado del postulado G3
0 1 1 1 0 1 0 0
S
i
No cumple con G3
1 0 1 0 1 1 0 0
S
i
S cumple con G3
Qu significa esto?
Si una secuencia cumple con el postulado G3 quiere decir
que, independientemente del trozo de secuencia elegido por
el atacante, no habr una mayor cantidad de informacin que
en la secuencia anterior. As, ser imposible aplicar ataques
estadsticos a la secuencia recibida u observada al igual
como operbamos, por ejemplo y guardando las debidas
distancias, con el sistema Vigenre y el ataque de Kasiski.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 400
Generador de congruencia lineal
x
i+1
= (ax
i
b)(mod n) secuencia cifrante
Los valores a, b, n caracterizan al generador y
se utilizan como clave secreta.
El valor x
0
se conoce como semilla; es el que
inicia el proceso generador de la clave X
i
.
La secuencia se genera de i = 0 hasta i = n-1.
Tiene como debilidad que resulta relativamente
fcil atacar la secuencia, de forma similar a los
cifradores afines de la criptografa clsica.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 401
Ejemplo generador de congruencia lineal
x
i+1
= (ax
i
b)(mod n)
x
1
= (510+1) mod 16 = 3 x
2
= (53+1) mod 16 = 0
x
3
= (50+1) mod 16 = 1 x
4
= (51+1) mod 16 = 6
x
5
= (56+1) mod 16 = 15 x
6
= (515+1) mod 16 = 12
x
7
= (512+1) mod 16 = 13 x
8
= (513+1) mod 16 = 2
x
9
= (52+1) mod 16 = 11 x
10
= (511+1) mod 16 = 8
x
11
= (58+1) mod 16 = 9 x
12
= (59+1) mod 16 = 14
x
13
= (514+1) mod 16 = 7 x
14
= (57+1) mod 16 = 4
x
15
= (54+1) mod 16 = 5 x
16
= (55+1) mod 16 = 10
S
i
= 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5
Sea:
a = 5 b = 1
n = 16 x
0
= 10
Sea:
a = 5 b = 1
n = 16 x
0
= 10
Pero...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 402
Algo falla en este generador?
Qu sucede si
a = 11 b = 1
n = 16 x
0
= 7?
Qu sucede si
a = 11 b = 1
n = 16 x
0
= 7?
x
i+1
= (ax
i
b)(mod n)
Ejercicios
Qu sucede si
a = 5 b = 2
n = 16 x
0
= 10?
Qu sucede si
a = 5 b = 2
n = 16 x
0
= 10?
Qu sucede si
a = 5 b = 2
n = 16 x
0
= 1?
Qu sucede si
a = 5 b = 2
n = 16 x
Qu sucede si
a = 4 b = 1
n = 16 x
0
= 10?
0
= 1?
Qu sucede si
a = 4 b = 1
n = 16 x
0
= 10?
Saque sus propias conclusiones.
Como habr comprobado, este tipo de generadores de secuencia
cifrante no son criptogrficamente nada interesantes.
Una vez hecho esto personalmente, pase a la siguiente diapositiva.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 403
Debilidad en este tipo de generadores
S
i
= (117 + 1) mod 16
S
i
= 15, 7
El perodo que se genera es
slo de tamao dos ...
S
i
= (510 + 2) mod 16
S
i
= 4, 6, 0, 2, 12, 14, 8, 10
S
i
= (51 + 2) mod 16
S
i
= 7, 5, 11, 9, 15, 13, 3, 1
Se obtiene un perodo muy
bajo y slo valores pares e
impares. El primer caso es
igual que el de los apuntes
pero con b = 2 ...
S
i
= (410 + 1) mod 16
S
i
= 9, 5, 5, ....
Peor an, ya no se genera
una secuencia ...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 404
Registros de desplazamiento
Generador de secuencia cifrante con registros de desplazamiento
Realimentacin
g[a(t-1)a(t-2) ...a(t-n+1)]a(t-n)
S
n-1
S
i
Bit que se pierde
Desplazamiento
Genera una secuencia con un perodo mximo 2
n
a(t-1)
a(t-2)
a(t-3) a(t-4) a(t-n+1) a(t-n)
Registros de Desplazamiento Realimentados No Linealmente
Registros de Desplazamiento Realimentados Linealmente
NLFSR
LFSR
a(i) es el contenido de la celda i
S
i
es un bit 0 1
Conexiones de puertas
?
S
1
S
2
S
3
S
4
S
n
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 405
Generador NLFSR de 4 celdas (1)
Generador de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4
AND
XOR
NOT
OR
0 0
1
0
0 1 1 1
1
Este es el estado
de las celdas y
las operaciones
previas antes de
producirse el
desplazamiento
de un bit hacia a
la derecha.
S
1
S
2
S
3
S
4
Primera
operacin
S
i
Sea la semilla: S
1
S
2
S
3
S
4
= 0111 Operaciones
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 406
Generador NLFSR de 4 celdas (2)
S
1
S
2
S
3
S
4
AND
XOR
NOT
OR
S
i
Semilla: S
1
S
2
S
3
S
4
= 0111
0 0
1
0
0 1 1 1
1
1 1 1 0 1
Observe que
primero se
transmite
S
4
S
3
S
2
S
1
S
1
S
2
S
3
S
4
S
i
= 1110 1100 1010 0001. T
mx
= 2
n
= 2
4
= 16. Se conoce
como secuencia de De Bruijn. El contenido de las celdas
pasa por todos los estados posibles: 0000 1111.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 407
Generadores lineales LFSR
a(t) = C
1
a(t-1) C
2
a(t-2) C
3
a(t-3) ... C
n
a(t-n)
C
i
= {1,0} conexin/no conexin celda C
n
= 1
Funcin nica: XOR T
mx
= 2
n
- 1
Polinomio asociado:
f(x) = C
n
x
n
+ C
n-1
x
n-1
+ .... + C
2
x
2
+ C
1
x + 1
S
1
S
2
S
3
S
4
XOR
S
i
Generador
LFSR de 4
etapas/celdas
Generador
LFSR de 4
etapas/celdas
C
1
C
2
C
3
C
4
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 408
Tipos de generadores lineales LFSR
Observacin: como la nica funcin de realimentacin de un
LFSR es un XOR, no estar permitida la cadena de todos ceros.
En funcin del polinomio asociado tendremos:
LFSR con polinomios factorizables
No sern criptogrficamente interesantes.
LFSR con polinomios irreducibles
No sern criptogrficamente interesantes.
LFSR con polinomios primitivos
Segn los postulados de Golomb, este tipo de polinomio
que genera todos los estados lineales posibles del cuerpo
de trabajo n, ser el que nos entregue una secuencia
cifrante de inters criptogrfico con perodo T = 2
n
1.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 409
Generador LFSR con f(x) factorizable
Generador f(x) factorizable de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4
Sea f(x) = x
4
+ x
2
+ 1
f(x) es factorizable porque:
Sea f(x
1
) = f(x
2
) = (x
2
+x+1)
f(x) = f(x
1
) f(x
2
)
f(x) = (x
2
+x+1) (x
2
+x+1)
f(x) = x
4
+2x
3
+3x
2
+2x+1
Tras la reduccin mdulo 2
Luego f(x) = x
4
+ x
2
+1
S
i
T depender de la semilla
T 2
n
- 1
Y adems, habr perodos
secundarios divisores de T.
Problema
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 410
Ejemplo de LFSR con f(x) factorizable (1)
f(x) = x
4
+ x
2
+ 1
S
1
S
2
S
3
S
4
S
i
0 1 1 1
Sea ahora la semilla:
S
1
S
2
S
3
S
4
= 0111
Registro Bit S
i
Registro Bit S
i
1110 0
0111 1
Primer bit:
resultado de
la operacin
S
1
= S
2
S
4
1 0011 1111 1
semilla . . .
1 1001 0111 1
1100 0
S
i
= 111001 T = 6
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 411
Ejemplo de LFSR con f(x) factorizable (2)
f(x) = x
4
+ x
2
+ 1
S
1
S
2
S
3
S
4
S
i
1 1 0 1
Sea la semilla:
S
1
S
2
S
3
S
4
= 1101
S
1
S
2
S
3
S
4
Registro Bit S
i
1101 1
T es un perodo
secundario y en
en este caso es
incluso menor
que la semilla.
Primer bit:
resultado de
la operacin
S
1
= S
2
S
4
S
i
= 101
T = 3
0 0110
1 1011
semilla . . .
1101 1
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 412
Generador LFSR con f(x) irreducible
Generador f(x) irreducible de cuatro celdas (n = 4)
Sea f(x) = x
4
+ x
3
+ x
2
+ x + 1
S
1
S
2
S
3
S
4
Es imposible factorizar
en mdulo 2 la funcin
f(x) mediante dos
polinomios f(x
1
) y f(x
2
)
de grado menor
S
i
Ahora T ya no depende de la semilla
pero ser un factor de T
mx
= 2
n
1 y
no obtendremos un perodo mximo.
Problema
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 413
Ejemplo de LFSR con f(x) irreducible
f(x) = x
4
+ x
3
+ x
2
+ x + 1
S
1
S
2
S
3
S
4
S
i
0 0 0 1
Sea ahora la semilla:
S
1
S
2
S
3
S
4
= 0001
Registro Bit S
i
Registro
0001 1
1000 0
1100 0
0110 0
Primer bit:
resultado de
la operacin
S
1
= S
2
S
4
0011 1
Bit S
i
semilla . . .
0001 1
S
i
= 100011 T = 5 siendo
T
mx
= 2
n
- 1 = 2
4
- 1 = 15
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 414
Generador LFSR con f(x) primitivo
Generador f(x) primitivo de cuatro celdas (n = 4)
Sea f(x) = x
4
+ x + 1
S
1
S
2
S
3
S
4
f(x) no es factorizable
como f(x
1
)f(x
2
) en
mdulo dos. Es adems
un generador del grupo.
S
i
T ya no depender de la
semilla y ser un valor
mximo T
mx
= 2
n
- 1.
Se generan m-secuencias
Habr (2
n
- 1)/n
polinomios primitivos
Habr (2
n
- 1)/n
polinomios primitivos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 415
Ejemplo de LFSR con f(x) primitivo
Generador f(x) primitivo de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4
S
i
1 0 0 1
S
1
= S
1
S
4
S
i
= 100100011110101
f(x) = x
4
+ x + 1
S
1
S
2
S
3
S
4
= 1001
Registro Bit S
i
1001 1
T = 2
n
- 1
T = 2
4
- 1
T = 15
0100 0 1110 0 1010 0
0010 0 1111 1 1101 1
0001 1 0111 1 0110 0
1000 0 1011 1 0011 1
1100 0 0101 1 1001 T = 15
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 416
Secuencia S
i
de un LFSR con f(x) primitivo
Caractersticas
Secuencia mxima de 2
n
- 1 bits
Cumple con G1:
Hay 2n bits 1 y 2n-1 bits 0
Cumple con G2:
Distribucin de rachas de m-secuencia. El vector
binario de las celdas pasa por todos los estados
excepto la cadena de ceros que est prohibida.
Cumple con G3:
Los aciertos (A) sern iguales a 2
n-1
- 1
m-secuencia
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 417
Rachas en S
i
de un LFSR con f(x) primitivo
Rachas de Longitud Rachas de Ceros Rachas de Unos
2
...
p
...
n-2
n-1
n
1
TOTAL
2
n-4
...
2
n-p-2
...
1
1
0
2
n-3
2
n-2
2
n-4
...
2
n-p-2
...
1
0
1
2
n-3
2
n-2
Rachas de una m-secuencia
Sin embargo, no es un generador ideal para la cifra
porque su Complejidad Lineal es muy baja.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 418
Debilidad de un LFSR con f(x) primitivo
Como este LFSR genera una secuencia de longitud
mxima, sta ser previsible y se puede encontrar la
secuencia completa S
i
de 2
n
- 1 bits ...
con slo conocer 2n bits !
Por ejemplo, si en un sistema de 8 celdas con un
perodo 2
8
-1 = 255 conocemos 28 = 16 bits seremos
capaces de encontrar las conexiones de las celdas o
valores de C
i
y generar as la secuencia completa S
i
.
Esta debilidad es la que usa el ataque conocido como
algoritmo de Berlekamp-Massey.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 419
Ejemplo de ataque de Berlekamp-Massey
Si conocemos 2n = 8 bits S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
de un LFSR
de 4 celdas C
1
C
2
C
3
C
4
, tenemos el sistema de ecuaciones:
S
5
= C
1
S
1
C
2
S
2
C
3
S
3
C
4
S
4
S
6
= C
1
S
5
C
2
S
1
C
3
S
2
C
4
S
3
S
7
= C
1
S
6
C
2
S
5
C
3
S
1
C
4
S
2
S
8
= C
1
S
7
C
2
S
6
C
3
S
5
C
4
S
1
S
i S
1
S
2
S
3
S
4
C
1
C
2
C
3
C
4
=1
Si asignamos valores
de esos 2n = 8 bits
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
seremos capaces de
resolver este sistema
Primero se transmite
S
4
S
3
S
2
S
1
(semilla) y
luego bits S
5
S
6
S
7
S
8
.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 420
Solucin al ataque de Berlekamp-Massey
S
5
= C
1
S
1
C
2
S
2
C
3
S
3
C
4
S
4
S
6
= C
1
S
5
C
2
S
1
C
3
S
2
C
4
S
3
S
7
= C
1
S
6
C
2
S
5
C
3
S
1
C
4
S
2
S
8
= C
1
S
7
C
2
S
6
C
3
S
5
C
4
S
1
Si los 8 bits
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
son 1100 1000
S
1
= 0 S
5
= 1
S
2
= 0 S
6
= 0
S
3
= 1 S
7
= 0
S
4
= 1 S
8
= 0
1 = C
1
0 C
2
0 C
3
1 C
4
1
0 = C
1
1 C
2
0 C
3
0 C
4
1
C
1
= 1 C
2
= 0
0 = C
1
0 C
2
1 C
3
0 C
4
0
C
3
= 0 C
4
= 1
0 = C
1
0 C
2
0 C
3
1 C
4
0
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 421
Conclusiones ataque Berlekamp-Massey
CONCLUSIONES:
Como se conoce la configuracin del generador LFSR, y
S
i
es una m-secuencia de perodo 2
n
- 1, entonces por el
conjunto de n celdas pasarn todos los restos del campo de
Galois de 2
n
, excepto la cadena de n ceros que sabemos
est prohibida en estos sistemas generadores lineales.
Para el ejemplo anterior, esto quiere decir que cualquier
grupo de 2n = 8 dgitos correlativos nos permite generar la
secuencia mxima, en este caso de 2
n
= 16 bits.
La solucin es aumentar la complejidad lineal del
generador por ejemplo conectando varios LFRs.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 422
Complejidad lineal LC
o Un LFSR con polinomio primitivo de n celdas tendr una
complejidad lineal LC igual a n; es decir con 2n bits se
puede generar la secuencia completa como hemos visto.
o Lo ideal es que si este LFSR entrega una secuencia S
i
con
un perodo igual a 2
n
1, su LC fuese cercana a este valor.
o Para aumentar esta LC podemos usar:
o Operaciones no lineales de las secuencias del LFSR
o Operaciones de suma
o Operaciones de multiplicacin
o Filtrado no lineal de los estados del LFSR.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 423
Operaciones no lineales con dos registros
LC = n
1
; T = 2
n1
-1
Generador primitivo con n
1
celdas
Generador primitivo con n
2
celdas
LC = n
2
T = 2
n2
-1
LC = n
1
+ n
2
T = mcm (2
n1
-1, 2
n2
-1)
Es el modelo usado por A5
S
i
LC = n
1
; T = 2
n1
-1
Generador primitivo con n
1
celdas
Generador primitivo con n
2
celdas
LC = n
2
T = 2
n2
-1
LC = n
1
n
2
T = mcm (2
n1
-1, 2
n2
-1)
S
i
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 424
Generadores LFSR con filtrado no lineal
Generador de Geffe
LFSR 2
LFSR 3
LFSR 1
Selector
a
2
a
3
a
1
S
i
Si a
1
es un 0 S
i
es el bit de a
2
Si a
1
es un 1 S
i
es el bit de a
3
Luego: S
i
= a
2
a
1
a
2
a
1
a
3
0
1
LC = (n
1
+ 1)n
2
n
1
n
3
T = mcm (2
n1
-1, 2
n2
-1, 2
n3
-1)
Se mejora la LC e incluso se aumenta si ponemos ms LFSRs pero
este generador es dbil ante ataques por correlacin de bits.
Existen una infinidad de esquemas en esta lnea, entre ellos los de
Beth-Piper, Jennings, Gollmann y Massey-Rueppel. Encontrar
mayor informacin consultando la bibliografa del tema 18.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 425
Algoritmos de cifrado en flujo
Sistemas ms conocidos:
A5:
Algoritmo no publicado propuesto en 1994. Versiones
A5/1 fuerte (Europa) y A5/2 dbil (exportacin).
RC4:
Algoritmo de RSA Corp. (Rivest Cipher #4) desarrollado
en el ao 1987, usado en Lotus Notes y luego en el
navegador de Netscape desde 1999. No es pblico.
SEAL:
Algoritmo propuesto por IBM en 1994.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 426
El algoritmo de cifra A5
El uso habitual de este algoritmo lo encontramos en el
cifrado del enlace entre el abonado y la central de un
telfono mvil (celular) tipo GSM.
Con cerca de 130 millones de usuarios en Europa y
otros 100 millones de usuarios en el resto del mundo,
el sistema ha sucumbido a un ataque en diciembre de
1999 realizado por Alex Biryukov y Adi Shamir.
Esta es una consecuencia inevitable en el mundo de la
criptografa cuando los desarrolladores de algoritmos
no hacen pblico el cdigo fuente.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 427
Esquema del algoritmo de cifra A5/1
S
i
3 LFSR con
m-secuencia
R
1
n
1
= 19
R
2
n
2
= 22
R
3
n
3
= 23
Clave = 64 bits
f(x
1
) = x
19
+x
18
+x
17
+x
14
+1
C1 14 19 1
9: bit de reloj
C2 22
1
11: bit de reloj
C3 23 8 1
11: bit de reloj
R
1
R
2
R
3
Una funcin
mayora entre
C1, C2 y C3
hace que slo
los registros en
los que coincide
el bit con ese
valor produzcan
desplazamiento.
En cada paso
habr dos o tres
registros en
movimiento.
f(x
2
) = x
22
+x
21
+1
f(x
3
) = x
23
+x
22
+x
21
+x
8
+1
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 428
Consideraciones sobre el perodo de A5/1
El perodo T vendr dado por el mximo comn mltiplo de los
tres perodos individuales:
T = mcm (2
n1
- 1, 2
n2
- 1, 2
n3
- 1)
Como n
1
, n
2
y n
3
son primos entre s, tambin lo sern los valores
(2
n1
-1), (2
n2
- 1) y (2
n3
- 1). Luego el perodo T ser el producto:
T = T
1
T
2
T
3
Entonces T = (2
19
-1)(2
22
-1)(2
23
-1) = 524.2874.194.3038.388.607
T = 18.446.702.292.280.803.327 < 2
64
que es un valor demasiado
bajo incluso para mediados de la dcada pasada.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 429
Registros y funcin mayora en A5/2
Usa los mismos tres registros de desplazamiento con polinomio
primitivo que A5/1:
f(x
1
) = x
19
+ x
18
+ x
17
+ x
14
+ 1
f(x
2
) = x
22
+ x
21
+ 1
f(x
3
) = x
23
+ x
22
+ x
21
+ x
8
+ 1
Adems, usa un cuarto registro R
4
con un polinomio primitivo:
f(x
4
) = x
17
+ x
12
+ 1
Usa cuatro copias de una funcin mayora F para cada uno de los
cuatro registros que se define como:
F(x
1
,x
2
,x
3
) = x
1
x
2
+ x
1
x
3
+ x
2
x
3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 430
Otras operaciones de A5/2
En R
1
las entradas a la funcin F
1
son las celdas 13, 15 y 16.
En R
2
las entradas a la funcin F
2
son las celdas 10, 14 y 17.
En R
3
las entradas a la funcin F
3
son las celdas 14, 17 y 19.
En R
4
las entradas a la funcin F
4
son las celdas 4, 8 y 11.
La salida de esta copia determina qu registros de R
1
,R
2
,R
3
se desplazarn en el ciclo.
Complementacin de celdas y sumas en salida de F:
En R
1
se complementa la celda 15 y se suma la celda 19 a F.
En R
2
se complementa la celda 17 y se suma la celda 22 a F.
En R
3
se complementa la celda 14 y se suma la celda 23 a F.
Fin del Tema 9
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 431
Cuestiones y ejercicios (1 de 3)
1. Por qu en los sistemas de cifra en flujo se usa una funcin XOR
tanto en emisor como en receptor? Son las claves inversas?
2. Si tenemos una clave de 16 bits, cul es el perodo mximo que
podremos lograr en una secuencia cifrante? Por qu?
3. Qu rachas encuentra en la secuencia 110100111010100?
4. Por qu es lgico esperar ms rachas cortas que rachas largas?
5. Si en una secuencia cifrante se observa una correlacin fuera de fase
no constante, qu significa? Podramos hacer un ataque similar al
que permite romper el sistema de cifra polialfabtico Vigenre?
6. A nivel de probabilidades de ocurrencia de bits, qu significan los
postulados de Golomb G1 y G2?
7. Qu significa que una secuencia cifrante pase por todos los estados
o restos posibles? Cul sera en este caso su perodo?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 432
Cuestiones y ejercicios (2 de 3)
8. Qu secuencias se obtiene con un generador de congruencia lineal
en el que a = 7, b = 4 y n = 8? Y si ahora hacemos a = 3?
9. Qu tipo de ataque podramos intentar para romper una secuencia
cifrante obtenida con un generador de congruencia lineal?
10. Por qu en un registro de desplazamiento siempre se realimenta el
bit de la ltima celda, bit que sale a lnea?
11. En el generador NLFSR de los apuntes si se cambia la funcin AND
por una OR, qu sucede con la secuencia? Saque conclusiones.
12. Decimos que los generadores LFSR tienen asociado un polinomio
f(x) = a
n
x
n
+ a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
2
x
2
+ a
1
x + 1, donde a
i
toma los
valores de 0 1. Por qu f(x) termina en 1?
13. Qu polinomio elegira para un LFSR, un polinomio factorizable,
uno irreducible o uno primitivo? Por qu?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 9: Sistemas de Cifra en Flujo
Diapositiva 433
Cuestiones y ejercicios (3 de 3)
14. Por qu no est permitida la cadena de n ceros en un generador
LFSR de n etapas y en cambio s en los NLFSR?
15. En el generador LFSR con f(x) primitivo de 4 etapas, la secuencia
pasa por todos los restos excepto 0000. Si usamos hora una semilla
distinta, debemos hacer otra vez todos los clculos o no? Por qu?
16. Justifique la distribucin de las rachas en una m-secuencia. Por qu
tiene ese comportamiento extrao al final de las rachas largas?
17. Qu debilidad de los sistemas LFSR con polinomios primitivos usa
el algoritmo de Berlekamp-Massey para realizar el ataque?
18. En un ataque de Berlekamp-Massey, importa en qu posicin de la
secuencia se encuentran los 2n bits? Por qu?
19. Por qu cree que el algoritmo A5 es dbil? Cul fue el peor error
cometido por sus creadores?
Tema 10
Cifrado Simtrico en Bloque
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 87 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 10: Cifrado Simtrico en Bloque
Diapositiva 436
Cifrado y descifrado genrico en bloque
MENSAJE (N bits)
FUNCIN f
k
i
X
i
A B
A X
i
B X
i
BLOQUE A BLOQUE B
FUNCIN f
N/2 N/2
k
i
X
i
A X
i
B X
i
Puesto que Y X
i
X
i
= Y
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 10: Cifrado Simtrico en Bloque
Diapositiva 437
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
k
i
slo con una mitad del bloque, y
se permutan en cada vuelta las dos
mitades, operacin que se repite
durante n vueltas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 10: Cifrado Simtrico en Bloque
Diapositiva 438
Un ejemplo bsico de cifrado tipo Feistel
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: C
i
= (M
i
+1 ) mod 27
Permutacin: C
i
=
3241
(el carcter 1 pasa a la 4 posicin
en el criptograma, el 4 a la 3, el 2 a la 2 y el 3 a la 1)
Mensaje: M = STAR WARS, LA MISIN CONTINA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 10: Cifrado Simtrico en Bloque
Diapositiva 439
Cifrado tipo Feistel en cuerpo n = 27
S
i
: +1 mod 27
P
i
:
3241
M = STAR WARS, LA MISIN CONTINA
M
1
= STAR WARS LAMI SION CONT INUA
S
1
= TUBS WARS MBNJ SION DPU INUA
P
1
= BUST WARS NBJM SION PUD INUA
M
2
= WARS BUST SION NBJM INUA PUD
S
2
= XBST BUST TJP NBJM JVB PUD
P
2
= SBTX BUST PJT NBJM VBJ PUD
M = STAR WARS, LA MISIN CONTINA
M
1
= STAR WARS LAMI SION CONT INUA
S
1
= TUBS WARS MBNJ SION DPU INUA
P
1
= BUST WARS NBJM SION PUD INUA
M
2
= WARS BUST SION NBJM INUA PUD
S
2
= XBST BUST TJP NBJM JVB PUD
P
2
= SBTX BUST PJT NBJM VBJ PUD
Primera
vuelta
Segunda
vuelta
C = SBTX BUST PJT NBJM VBJ PUD
Aunque le parezca increble, el DES har prcticamente lo mismo
trabajando con bits y con funciones un poco ms complejas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 10: Cifrado Simtrico en Bloque
Diapositiva 440
Cifradores de bloque ms conocidos
Algoritmo Bloque (bits) Clave (bits) Vueltas
Lucifer 128 128 16
DES 64 56 16
Loki 64 64 16
RC2 64 variable --
CAST 64 64 8
Blowfish 64 variable 16
IDEA 64 128 8
Skipjack 64 80 32
RIJNDAEL 128 128 o ms flexible
E
m
> S
i
i = 1
3. Se elige un entero primo
relativo con .
Se asegura
el inverso
mcd(,) = 1
Se recomienda que no tenga factores con los elementos de S
S
i
= S
i
mod
4. Se multiplica S por mod .
Obteniendo una mochila difcil S = {S
1
, S
2
, ..., S
m
}
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 534
Diseo mochila de Merkle y Hellman (2)
5. Se calcula el inverso de en el cuerpo .
Clave privada: ,
-1
Clave privada: ,
-1
-1
= inv(,)
Esto se interpreta como
encontrar los vectores que
cumplan con un valor de T.
Clave pblica: mochila S
Clave pblica: mochila S
CIFRADO:
C = S M
como S = S mod
C = S M mod
DESCIFRADO:
M =
-1
C mod
Entonces obtenemos:
S M
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 535
Cifrado mochila de Merkle y Hellman (1)
Vamos a cifrar el mensaje M = Sol usando la mochila simple y
supercreciente S = {3, 5, 12, 21}.
1. Eleccin de : 2S
4
221 = 45
2. Eleccin de : mcd(, ) = 1 = 32 (
-1
= 38)
3. Mochila S: S = S mod
S
1
= 32 3 mod 45 = 96 mod 45 = 6
S
2
= 32 5 mod 45 = 160 mod 45 = 25
S
3
= 32 12 mod 45 = 384 mod 45 = 24
S
4
= 32 21 mod 45 = 672 mod 45 = 42
Clave pblica: S = {6,25,24,42} Clave privada: =45,
-1
=38
Clave privada: =45, Clave pblica: S = {6,25,24,42}
-1
=38
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 536
Cifrado mochila de Merkle y Hellman (2)
Clave pblica: S = {6,25,24,42} Clave privada: = 45,
-1
= 38
Clave privada: = 45,
-1
= 38 Clave pblica: S = {6,25,24,42}
Cifrado: M = Sol = 0101 0011 0110 1111 0110 1100
C = (25+42), (24+42), (25+24), (6+25+24+42), (25+24), (6+25)
C = 67, 66, 49, 97, 49, 31
Como m = 4, cifraremos bloques de 4 bits,
convirtiendo el mensaje a su equivalente
en binario del cdigo ASCII.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 537
Descifrado mochila de Merkle y Hellman
Clave pblica: S = {6,25,24,42} Clave privada: = 45,
-1
= 38
Clave privada: = 45,
-1
= 38 Clave pblica: S = {6,25,24,42}
Cifrado: M = Sol = 0101 0011 0110 1111 0110 1100
C = (25+42), (24+42), (25+24), (6+25+24+42), (25+24), (6+25)
C = 67, 66, 49, 97, 49, 31
Descifrado:
3867 mod 45=2546 mod 45 = 26 3897 mod 45=3686 mod 45 = 41
3866 mod 45=2508 mod 45 = 33 3849 mod 45=1862 mod 45 = 17
3849 mod 45=1862 mod 45 = 17 3831 mod 45=1178 mod 45 = 8
Como S = {3,5,12,21}
M = 0101 0011 0110 1111 0110 1100 = Sol
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 538
Valores de diseo de mochilas M-H (1)
Merkle y Hellman proponen los siguientes parmetros:
a) Tamao de la mochila m 100
b) Mdulo uniforme en el siguiente intervalo:
Intervalo : [2
2m+1
+1, 2
2m+2
-1] 2m+2 bits
Si m = 100: todos los elementos de S son de 202 bits.
c) Valores de S
i
elegidos uniformemente en el intervalo:
Intervalo S
i
: [(2
i-1
-1)2
m
+1, 2
i-1
2
m
]
Si m = 100: 1 S
1
2
100
S
2
2
101
S
3
2
102
...
d) Elegir un valor x en el intervalo [2, -2]. El factor se
calcula como: = mcd (, x)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 539
Mochila con parmetros proporcionales (1)
a) Mochila con m = 6
b) Intervalo : [2
2m+1
+1, 2
2m+2
-1] = [2
26+1
+1, 2
26 +2
-1]
= [2
13
+1, 2
14
+1] = [8.193, 16.385] = 13.515
Todos los elementos sern de (2m+2) = 14 bits
c) Eleccin de los valores S
i
:
i=1 : [(2
1-1
-1)2
6
+1, (2
1-1
) 2
6
] 1 S
1
64
i=2 : [(2
2-1
-1)2
6
+1, (2
2-1
) 2
6
] 65 S
2
128
i=3 : [(2
3-1
-1)2
6
+1, (2
3-1
) 2
6
] 193 S
3
256
i=4 : [(2
4-1
-1)2
6
+1, (2
4-1
) 2
6
] 449 S
4
512
i=5 : [(2
5-1
-1)2
6
+1, (2
5-1
) 2
6
] 961 S
5
1.024
i=6 : [(2
6-1
-1)2
6
+1, (2
6-1
) 2
6
] 1.985 S
6
2.048
UNA ELECCIN
S
1
= 39
S
2
= 72
S
3
= 216
S
4
= 463
S
5
= 1.001
S
6
= 1.996
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 540
Mochila con parmetros proporcionales (2)
d) Clculo del factor . Buscamos un valor x en el intervalo
[2, -2] = [2, 13.513], por ejemplo x = 9.805.
Como el mximo comn divisor entre = 13.515 y x = 9.805
es 265, luego = 9.805/265 = 37.
Vamos a elegir:
= 37 de forma que
-1
= 4.018 inv (37,13.515) = 4.018
Luego, la mochila simple y la clave privada sern:
S = {39, 72, 216, 463, 1.001, 1.996}
Mdulo: = 13.515
-1
= 4.018
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 541
Mochila con parmetros proporcionales (3)
Mochila simple:
S = {39, 72, 216, 463, 1.001, 1.996} Mdulo: = 13.515
Factor multiplicador: = 37;
-1
= 4.018 Clave privada
S
1
= 3937 mod 13.515 = 1.443
S
2
= 7237 mod 13.515 = 2.664
S
3
= 21637 mod 13.515 = 7.992
S
4
= 46337 mod 13.515 = 3.616
S
5
= 1.00137 mod 13.515 = 10.007
S
6
= 1.99637 mod 13.515 = 6.277
Mochila difcil:
S = {1.443, 2.664, 7.992, 3.616, 10.007, 6.277} Clave pblica
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 542
Fortaleza de las mochilas M-H
En el ao 1982 Adi Shamir y Richard Zippel encuentran
debilidades a las mochilas de Merkle-Hellman:
Si se conoce el mdulo (o puede deducirse) ...
Y si los dos primeros elementos (S
1
y S
2
) de la mochila
difcil se corresponden con los dos primeros elementos
(S
1
y S
2
) de la mochila simple y son primos con ...
Entonces podemos generar la mochila simple a partir de la
difcil ya que encontraremos la clave secreta
-1
...
Aunque como veremos existen fuertes restricciones, esta
debilidad no hace recomendable el uso de las mochilas de
M-H al menos para el cifrado de la informacin ...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 543
Criptoanlisis de Shamir y Zippel
El ataque para m = 100 supone:
a) Que los dos primeros elementos de S de 100 y 101 bits
son mucho ms pequeos que el mdulo de 202 bits.
b) Que podemos identificar los elementos S
1
y S
2
en la
mochila difcil y hacerlos corresponder con S
1
y S
2
.
c) Que conocemos el mdulo o podemos deducirlo.
Con estos datos se trata de encontrar los valores de S
1
y
S
2
adems del factor de multiplicacin .
Con estos valores podemos generar la mochila fcil S.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 544
Pasos del ataque de Shamir y Zippel (1)
1. Se calcula q = (S
1
/S
2
) mod
Como S
i
= S
i
mod entonces:
q = (S
1
/S
2
) mod = [S
1
inv(S
2
, )] mod
Esto implica una condicin: mcd (S
2
, ) = 1
2. Se calculan todos los mltiplos modulares del valor q con
multiplicadores en el rango [1, 2
m+1
] = [1, 2
101
]
CM = {1q mod , 2q mod , ..., 2
m+1
q mod }
3. El candidato para S
1
ser el valor ms pequeo de CM
puesto que ese elemento debe ser ms pequeo de la
mochila fcil S.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 545
Pasos del ataque de Shamir y Zippel (2)
4. Encontrado el candidato para S
1
se calcula:
= (S
1
/S
1
) mod = [S
1
inv(S
1
, )] mod
Esto implica una nueva condicin: mcd (S
1
, ) = 1
5. Conocido encontramos
-1
= inv(, ) y as calculamos
todos los elementos de la mochila S
i
= S
i
-1
mod que
debera ser del tipo supercreciente.
6. Si no se genera una mochila supercreciente, se elige el
siguiente valor ms pequeo del conjunto CM y as hasta
recorrer todos sus valores. Si con este conjunto CM no se
obtiene una mochila simple, se repite el punto 2 tomando
ahora valores en el rango 2
m+i
con i = 2, 3, etc. Por lo
general el ataque prospera con el primer conjunto CM.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 546
Ejemplo de ataque de Shamir y Zippel (1)
La clave pblica de un sistema de mochila Merkle-Hellman es:
S = {S
1
, S
2
, S
3
, S
4
, S
5
} = {3.241, 572, 2.163, 1.256, 3.531}
Si de alguna forma hemos conseguido conocer que el mdulo = 4.089,
se pide encontrar la mochila fcil S = {S
1
, S
2
, S
3
, S
4
, S
5
}.
Solucin:
q = S
1
/S
2
mod = S
1
inv (S
2
, ) mod . Calculamos ahora inv (S
2
, )
es decir inv (572, 4,089) = 309, luego q = 3.241309 mod 4.089 = 599.
Mltiplos CM = {1q mod , 2q mod , 3q mod , ..., 64q mod }
puesto que la mochila tiene m = 5 elementos y el intervalo ser [1, 2
5+1
].
Luego CM = [599, 1.198, 1.797, 2.396, 2.995, 3.594, 104, 703, 1.302,
1.901, 2.500, 3.099, 3.698, 208, 807, 1.406, 2.005, 2.604, 3.203, 3.802,
312, 911, 1.510, 2.109, 2.708, 3.307, 3.906, 416, 1.015, 1.614, 2.213,
2.812, 3.411, 4.010, 520, 1.119, 1.718, 2.317, 2.916, 3.515, 25, 624,
1.223, 1.822, 2.421, 3.020, 3.619, 129, 728, 1.327, 1.926, 2.525, 3.124,
3.723, 233, 832, 1.431, 2.030, 2.629, 3.228, 3.827, 337, 936, 1.535].
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 547
Ejemplo de ataque de Shamir y Zippel (2)
Suponemos que el nmero ms pequeo de CM es candidato a S
1
= 25.
El factor de multiplicacin sera = (S
1
/S
1
) = S
1
inv (S
1
, ) mod .
Como inv (S
1
, ) = inv (25, 4,089) = 2.617, el factor de multiplicacin
= 3.2412.617 mod 4.089 = 1.111.
Por lo tanto su valor inverso ser
-1
= inv (, ) = inv (1.111, 4.089).
Luego
-1
= 622.
Multiplicamos ahora los valores S de la mochila difcil por
-1
a ver si
obtenemos una mochila supercreciente S (S
i
= S
i
-1
mod ):
S
1
= 25 (valor elegido como candidato del conjunto CM)
S
2
= S
2
-1
mod = 572 622 mod 4.089 = 41
S
3
= S
3
-1
mod = 2.163 622 mod 4.089 = 105
S
4
= S
4
-1
mod = 1.256 622 mod 4.089 = 233
S
5
= S
5
-1
mod = 3.531 622 mod 4.089 = 489
Como la mochila S = {25, 41, 105, 233, 489} es supercreciente, el
ataque ha prosperado y hemos encontrado la clave privada.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 548
Usos de proteccin con mochilas
Existen varios algoritmos propuestos como sistemas de cifra
usando el problema de la mochila: el de Graham-Shamir,
Chor-Rivest, etc.
No obstante todos han sucumbido a los criptoanlisis y en la
actualidad en el nico entorno que se usan es en la proteccin
de diversos programas de aplicacin, en forma de hardware
que se conecta en la salida paralela del computador para
descifrar el cdigo ejecutable de esa aplicacin dejando, sin
embargo, activa la salida a impresora. De esta manera slo en
aquel sistema con la mochila instalada se puede ejecutar el
programa. No se usa en comunicaciones.
Fin del Tema 11
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 549
Cuestiones y ejercicios (1 de 2)
1. Recorra de izquierda a derecha y de derecha a izquierda la mochila
S = {13, 6, 1, 3, 4, 9, 10} para T = 24. Tiene solucin rpida?
2. Para la mochila de la pregunta anterior, hay una o ms soluciones?
3. Interesa usar en criptografa el problema de la mochila con una
solucin no nica? Por qu s o no?
4. Qu significa que una mochila sea supercreciente? Es la mochila
S = {3, 4, 9, 18, 32, 73} supercreciente? Por qu?
5. A partir de la mochila S = {3, 5, 10, 21, 43} obtenga la mochila
MH difcil S. Para y use los valores mnimos posibles.
6. Si la mochila fcil es S = {1, 2, 4, 8, 16, 32, 64, 128} con = 257 y
= 21, cifre con una mochila de MH el mensaje en ASCII de 10
caracteres M = Hola amigo (recuerde que el espacio se cifra).
7. Descifre el criptograma obtenido en la pregunta anterior.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 11: Cifrado Asimtrico con Mochilas
Diapositiva 550
Cuestiones y ejercicios (2 de 2)
8. Qu valores mnimos de diseo propusieron Merkle y Hellman
para su sistema de cifrado con mochila? Por qu?
9. Disee una mochila de MH con parmetros proporcionales si m = 5.
10. No es un buen criterio elegir m = 4, m = 8 o m = 16. Por qu?
11. En qu consiste el ataque de Shamir y Zippel a la mochila de MH?
12. En el ejemplo de los apuntes, cuntas operaciones ha tenido que
hacer nuestro algoritmo para romper la clave privada?
13. Con el software de mochilas de la asignatura genere una mochila
difcil a partir de la mochila fcil S = {122, 250, 506, 1.018, 2.042,
4.090, 8.186}, con = 59.369 y = 59.361. Cifre algo con ella y
luego haga un ataque. Cuntas mochilas S encuentra? Comntelo.
14. Usara un sistema de mochila para cifrar informacin en un entorno
como Internet? Y en una intranet para respuestas a un examen?
Tema 12
Cifrado Asimtrico Exponencial
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 56 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 552
Cifrado exponencial con clave del receptor
En el cifrado del mensaje E
e
(M) = C y en el descifrado
del criptograma E
d
(C) = M, se usa una exponenciacin.
En la operacin de cifrado, el subndice e significa el uso
de la clave pblica del receptor (R) en el extremo emisor
y el subndice d el uso de la clave privada del receptor
(R) en el extremo receptor.
C = E
eR
(M) = M
eR
mod n
R
M = E
dR
(C) = C
dR
mod n
R
M debe ser un elemento del CCR de n
R
.
Esta operacin se usar para realizar el intercambio de
una clave de sesin entre un emisor y un receptor.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 553
Cifrado exponencial con clave del emisor
En la operacin de cifrado el subndice d significa el uso
de la clave privada del emisor (E) en el extremo emisor y
el subndice e el uso de la clave pblica del emisor (E) en
el extremo receptor.
C = E
dE
(M) = M
dE
mod n
E
M = E
eE
(C) = C
eE
mod n
E
M debe ser un elemento del CCR de n
E
.
Esta operacin se usar para autenticar la identidad de un
usuario mediante una firma digital al mismo tiempo que
la integridad del mensaje.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 554
Cifrado exponencial genrico tipo RSA
Sea el grupo de trabajo n = pq (n) = (p-1)(q-1)
Se eligen una clave pblica e y una privada d de forma que:
ed mod (n) = 1 ed = k(p-1)(q-1) + 1.
Si ed = k(n) + 1
Por el Teorema del Resto
Chino se tiene que:
M
ed
= M mod n
ssi M
ed
= M mod p
M
ed
= M mod q
y ...
Por el Teorema de Euler
se tiene que:
M
k(n)
mod n = 1
para todo M primo con n
Luego, el sistema de cifra es
vlido para cualquier valor de M
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 555
Operacin de descifrado exponencial
Al cifrar el mensaje M con una clave pblica e (en este caso
para intercambio de clave, aunque es igual de vlido con una
clave d en caso de firma digital) tenemos:
Cifrado: C = M
e
mod n
Descifrado: C
d
mod n = (M
e
)
d
mod n = M
ed
mod n
C
d
mod n = M
k(n)+1
mod n = MM
k(n)
mod n
C
d
mod n = M1 mod n = M mod n
Por lo tanto, la operacin C
d
mod n recupera el mensaje M.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 556
Comprobacin de recuperacin de texto
Sea n = pq = 511 = 55 (n) = (5-1)(11-1) = 40
Mensaje M = 50 = 25
2
(debe ser un elemento de n)
Se elige e = 3 d = inv[e, (n)] = inv (3,40) = 27
ed mod (n) = 327 mod 40 = 81 mod 40 = 1
C = M
e
mod n = 50
3
mod 55 = (25
2
)
3
mod 55
C = [(2)
3
mod 55 (5
2
)
3
mod 55] mod 55 - por reducibilidad +-
M = C
d
mod n = {[(2)
3
mod 55 (5
2
)
3
mod 55] mod 55}
27
mod 55
M = [(2)
327
mod 55 (5
2
)
327
mod 55] mod 55
M = [2
2(n)+1
5
2(n)+1
5
2(n)+1
] mod 55
Por el Teorema de Euler y del Resto Chino
= 2 5 5 mod 55 = 50
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 557
Intercambio de clave de Diffie y Hellman
El comienzo de los sistemas de clave pblica se debe al estudio
hecho por Whitfield Diffie y Martin Hellman (1976).
Protocolo de Intercambio de Claves de Diffie y Hellman
A y B seleccionan un grupo multiplicativo (con inverso) p
y un generador de dicho primo, ambos valores pblicos
A genera un nmero aleatorio a y enva a B
a
mod p
B genera un nmero aleatorio b y enva a A
b
mod p
B calcula (
a
)
b
mod p =
ab
mod p y luego destruye b
A calcula (
b
)
a
mod p =
ba
mod p y luego destruye a
El secreto compartido por A y B es el valor
ab
mod p
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 558
Ejemplo de intercambio de clave de DH
Adela (A) y Benito (B) van a intercambiar una clave de
sesin dentro del cuerpo p = 1.999, con = 33. El
usuario A elegir a = 47 y el usuario B elegir b = 117.
Algoritmo:
A calcula
a
mod p = 33
47
mod 1.999 = 1.343 y se lo enva a B.
B calcula
b
mod p = 33
117
mod 1.999 = 1.991 y se lo enva a A.
B recibe 1.343 y calcula 1.343
117
mod 1.999 = 1.506.
A recibe 1.991 y calcula 1.991
47
mod 1.999 = 1.506.
La clave secreta compartida por (A) y (B) ser 1.506
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 559
Puede un intruso atacar la clave DH?
Un intruso que conozca las claves pblicas p y e
intercepte el valor
a
mod p que ha transmitido A y
el valor
b
mod p transmitido por B no podr
descubrir los valores de a, b ni
ab
mod p ...
salvo que se enfrente al Problema del Logaritmo
Discreto (PLD) que, como ya hemos visto, se
vuelve computacionalmente intratable para valores
del primo p grandes.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 560
Es vulnerable el protocolo de DH?
A elige un nmero a con 1 < a < p-1 y enva a B
a
mod p
C intercepta este valor, elige un nmero c con 1 < c < p-1 y
enva a B
c
mod p
B elige un nmero b con 1 < b < p-1 y enva a A
b
mod p
C intercepta este valor y enva a A
c
mod p (valor anterior)
A y B calculan sus claves k
A
= (
c
)
a
mod p, k
B
= (
c
)
b
mod p
C calcula tambin las claves:
k
CA
= (
a
)
c
mod p
k
CB
= (
b
)
c
mod p
Por lo tanto, a partir de ahora C tiene luz verde y puede
interceptar todos los mensajes que se intercambian A y B.
Qu hacer?
La solucin a
este problema
es el sellado
de tiempo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 561
Intercambio de clave DH entre n usuarios
El protocolo DH se puede generalizar para n usuarios: sea n = 3.
A, B y C seleccionan un grupo p y un generador
A genera un nmero aleatorio a y enva
a
mod p a B
B genera un nmero aleatorio b y enva
b
mod p a C
C genera un nmero aleatorio c y enva
c
mod p a A
A recibe
c
mod p y calcula (
c
)
a
mod p y se lo enva a B
B recibe
a
mod p y calcula (
a
)
b
mod p y se lo enva a C
C recibe
b
mod p y calcula (
b
)
c
mod p y se lo enva a A
A recibe
bc
mod p y calcula (
bc
)
a
mod p =
bca
mod p
B recibe
ca
mod p y calcula (
ca
)
b
mod p =
cab
mod p
C recibe
ab
mod p y calcula (
ab
)
c
mod p =
abc
mod p
El secreto compartido por A, B y C es el valor
abc
mod p
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 562
Condiciones del intercambio de clave D-H
CONDICIONES DEL PROTOCOLO:
El mdulo p debe ser un primo grande, al menos 1.024 bits.
Interesa que p-1 debe tener factores primos grandes.
El generador debe ser una raz primitiva del mdulo p.
Si el mdulo es un primo pequeo, se puede hacer un ataque por
fuerza bruta dentro de un tiempo razonable.
Si el generador no es una raz primitiva del grupo p, entonces la
operacin
i
mod p (1 i p-1) no genera todos los restos del
grupo y esto facilita el ataque por fuerza bruta.
Veamos un ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 563
Raz incorrecta (falsa)
MALA ELECCIN DE LOS PARMETROS:
Sean el grupo de trabajo p = 13 y un valor = 3 ... entonces
3
1
mod 13 = 3 3
2
mod 13 = 9 3
3
mod 13 = 1 1 vamos mal
3
4
mod 13 = 3 3
5
mod 13 = 9 3
6
mod 13 = 1
3
7
mod 13 = 3 3
8
mod 13 = 9 3
9
mod 13 = 1
3
10
mod 13 = 3 3
11
mod 13 = 9 3
12
mod 13 = 1 (
p-1
mod p = 1)
Slo debera
darse unidad
en este caso.
Se repiten los restos 3, 9 y 1 porque 3 no es un generador de Z
13
.
Observe que 3
4
mod 13 = (3
3
)(3)
1
mod 13 = 1(3)
1
mod 13 = 3.
Un ataque por fuerza bruta deber buscar slo en una tercera parte
del espacio de claves y, lo que es peor, la probabilidad de xito de
encontrar un valor verdadero b en
b
mod p aumenta de 1/12 a 1/3.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 564
Raz correcta
Y si ahora = 2 ?
Primero intente calcularlo... y luego para comprobar sus resultados, avance.
2
1
mod 13 = 2 2
2
mod 13 = 4 2
3
mod 13 = 8
2
4
mod 13 = 3 2
5
mod 13 = 6 2
6
mod 13 = 12
2
7
mod 13 = 11 2
8
mod 13 = 9 2
9
mod 13 = 5
2
10
mod 13 = 10 2
11
mod 13 = 7 2
12
mod 13 = 1
Ahora s estn todos los restos multiplicativos del cuerpo Z
13
porque
el resto 2 es un generador dentro de este cuerpo.
Observe que el valor unidad slo se obtiene para
p-1
mod p.
Y si ahora = 2 ?
Como vimos en el captulo de Teora de Nmeros,
en p = 13 sern generadores g = 2, 6, 7, 11.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 565
Algoritmo de cifra asimtrica RSA
En febrero de 1978 Ron Rivest, Adi Shamir y Leonard Adleman
proponen un algoritmo de cifra de clave pblica: RSA
Algoritmo
1. Cada usuario elige un grupo n = pq (pueden ser distintos).
2. Los valores p y q no se hacen pblicos.
3. Cada usuario calcula (n) = (p-1)(q-1).
4. Cada usuario elige una clave pblica e que sea parte del cuerpo n
y que cumpla: mcd [e, (n)] = 1.
5. Cada usuario calcula la clave privada d = inv [e,(n)].
6. Se hace pblico el grupo n y la clave e.
7. Se guarda en secreto la clave d.
Podran destruirse
ahora p, q y (n).
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 566
Ejemplo de cifrado y descifrado con RSA
Grupo n = 91 = 713; (n) = (713) = (7-1)(13-1) = 72 M = 48
Elegimos e = 5 pues mcd (5,72) = 1 d = inv(5,72) = 29
CIFRADO:
C = M
e
mod n = 48
5
mod 91 = 5245.803.968 mod 91 = 55
DESCIFRADO:
M = C
d
mod n = 55
29
mod 91 = 48 ... 55
29
ya es nmero grande
55
29
es un nmero con 51 dgitos...
55
29
= 295473131755644748809642476009391248226165771484375
Cmo podemos acelerar esta operacin?
= e
-1
mod = inv (e, )
La clave pblica e tendr claves parejas de forma que:
d
i
= d
+ i 1 < d
i
< n
i = 0, 1, ... -1 = (n - d
)/
En el ejemplo anterior tenemos que = mcm (4, 12) = 12.
Luego: d
+ i = 5 + i12.
Es decir d
i
= 5, 17, 29, 41, 53; el nmero de claves que
corresponden al valor = (n - d
)/ = (65 5)/12) = 5.
En este caso hablamos de debilidad de la clave, al igual que suceda
con las claves dbiles y semidbiles por ejemplo en DES e IDEA.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 576
Minimizando el nmero de claves parejas
Para que sea lo ms pequeo posible ( = 1) deberemos
elegir los primos p y q como primos seguros.
Ejemplo:
Sea r = 5 p = 2r + 1 = 11 (es primo `)
q = 2p + 1 = 23 (es primo `)
En estas condiciones con n = 253 y (n) = 220, sea e = 7
Luego = mcm (10, 22) = 110 y d
)/ = (253 63)/110 = 1
As: d
i
= d
n
= [1 + mcd (e-1, p-1)][1 + mcd (e-1, q-1)]
Los mensajes no cifrables sern:
M = [q{inv (q, p)}M
p
+ p{inv (p, q)}M
q
] mod n
con: M
p
las soluciones de M
e
mod p = M
M
q
las soluciones de M
e
mod q = M
Esto ltimo debido al TRC puesto que M
e
mod n = M
En el ejemplo anterior se da el caso mnimo:
n
= [1 + mcd (10, 4)][1 + mcd (10, 6)] = (1+2)(1+2) = 9
M
11
mod 5 = M M
5
= {0, 1, 4} M
11
mod 7 = M M
7
= {0, 1, 6}
M = [7{inv (7, 5)}M
p
+ 5 {inv (5,7)}M
q
] mod 35
M = [73 M
p
+ 53 M
q
] mod 35 = [21{0, 1, 4} + 15 {0, 1, 6}] mod 35
M = {0, 15, 90, 21, 36, 111, 84, 99, 175} mod 35 ordenando...
M = {0, 1, 6, 14, 15, 20, 21, 29, 34}
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 579
Ejemplo de mensajes no cifrables (1)
Sea p = 13; q = 17; n = pq = 221
Elegimos e = 7 por lo que d = inv (7, 192) = 55, luego:
n
= [1 + mcd (e-1, p-1)][1 + mcd (e-1, q-1)]
221
= [1 + mcd (6, 12)][1 + mcd (6, 16)] = (1+6)(1+2) = 21
Soluciones de M
7
mod 13 = M M
p
= {0, 1, 3, 4, 9, 10, 12}
Soluciones de M
7
mod 17 = M M
q
= {0, 1, 16}
Los mensajes no cifrables sern:
M = [q{inv (q, p)}M
p
+ p{inv (p, q)}M
q
] mod n
M = [17{inv (17, 13)}M
p
+ 13{inv (13, 17)}M
q
] mod 221
M = [{1710}M
p
+ {134}M
q
] mod 221
M = [170M
p
+ 52M
q
] mod 221
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 580
Ejemplo de mensajes no cifrables (2)
Tenamos M
p
= {0, 1, 3, 4, 9, 10, 12}
M
q
= {0, 1, 16}
M = [170M
p
+ 52M
q
] mod 221 luego:
M = [170{0, 1, 3, 4, 9, 10, 12} + 52{0, 1, 16}] mod 221
Como 52{0, 1, 16} = {0, 52, 832} entonces:
M = [0+0, 0+52, 0+832, 170+0, 170+52, 170+832, ...] mod 221
M = [0, 52, 832, 170, 222, 1.002, 510, 562, 1.342, 680, 732,
1.512, 1.530, 1.582, 2.362, 1.700, 1.752, 2.531, 2.040,
2.092, 2.872] mod 221
M = [0, 52, 169, 170, 1, 118, 68, 120, 16, 17, 69, 186, 204, 35,
152, 153, 205, 101, 51, 103, 220] ordenando:
M = [0, 1, 16, 17, 35, 51, 52, 68, 69, 101, 103, 118, 120, 152,
153, 169, 170, 186, 204, 205, 220] los 21 mensajes de
221
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 581
Nmero mnimo de mensajes no cifrables
Para que el nmero de mensajes no cifrables sea el mnimo posible,
es decir 9, deberemos elegir la clave pblica e de forma que:
mcd (e-1, p-1) = 2 y mcd (e-1, q-1) = 2
Entonces:
n
= [1 + 2][1 + 2] = 9
Esto se logra usando primos seguros:
p = 2r + 1 y q = 2p + 1 con r, p y q primos grandes
ya que: mcd (e-1, p-1) = mcd (e-1, (2r +1)-1) mcd = 2 o bien r
mcd (e-1, q-1) = mcd (e-1, (2p +1)-1) mcd = 2 o bien p
Luego:
n
= {9, 3(r+1), 3(p+1), (r+1)(p+1)}
Hay que comprobar en diseo que no se den valores del mcd igual a
r o p pues tendramos un nmero muy alto de este tipo de mensajes.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 582
Nmero mximo de mensajes no cifrables
En el peor de los casos, mcd (e-1, p-1) = p-1 y mcd (e-1, q-1) = q-1
Entonces:
n
= [1 + mcd(e-1, p-1)][1 + mcd(e-1, q-1)]
n
= pq = n ... todas las cifras irn en claro!
Si en el ejemplo anterior con p = 13, q = 17, hubisemos elegido
como clave e = 49, con d = inv (49, 192) = 145, observamos que:
mcd (e-1, p-1) = mcd (48, 12) = 12
mcd (e-1, q-1) = mcd (48, 16) = 16
n
= [1 + 12][1 + 16] = 1317 = 221 = pq = n
Por lo tanto, cualquier mensaje en el cuerpo n = 221 ser no cifrable
para la clave pblica e = 49. Compruebe que en este caso esto se
cumple si e = (n)/k +1 (k = 1, 2 y 4), es decir e = 193, 97 y 49.
Nunca podr usarse e = (n) + 1 ya que la clave de descifrado es 1
ni e = (n)/2 + 1 pues tampoco se cifrarn todos los mensajes de n.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 583
Ataque a la clave por factorizacin de n
Qu fortaleza tendr este algoritmo ante ataques?
El intruso que desee conocer la clave secreta d a
partir de los valores pblicos n y e se enfrentar al
Problema de la Factorizacin de Nmeros Grandes
(PFNG) puesto que la solucin para conocer esa
clave privada pasa por deducir el valor del Indicador
de Euler (n) = (p-1)(q-1) para as poder encontrar el
inverso de la clave pblica d = inv [e,(n)].
La complejidad asociada al PFNG viene dada por la
ecuacin e
ln(n) ln ln(n)
, donde ln es logaritmo natural.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 584
Tiempo necesario para afrontar el PFNG
1,0 x 10
6
3,8 x 10
8
200 665
2,5 x 10
2
9,4 x 10
4
133 442
2,5 9,0 x 10
2
109 363
- 1,0 77 256
- 1,5 x 10
-5
36 120
- 1,7 x 10
-8
18 60
Aos Das N de dgitos N de bits (n)
Para un procesador de 2x10
8
instrucciones por segundo.
Fuente: Criptografa Digital, Jos Pastor. Prensas Univ. de Zaragoza, 1998.
Existen, no obstante, otros tipos de ataques a este
sistema que no pasan por la factorizacin de n.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 585
Ataque al secreto de M por cifrado cclico
Se puede encontrar el mensaje en claro M sin necesidad de
conocer d, la clave privada del receptor.
Como C = M
e
mod n, realizaremos cifrados sucesivos de los
criptogramas C
i
resultantes con la misma clave pblica hasta
obtener nuevamente el cifrado C original.
C
i
= C
e
i-1
mod n (i = 1, 2, ...) y C
0
= C
Si en el cifrado isimo se encuentra el criptograma C inicial,
entonces es obvio que el cifrado (i-1) ser el mensaje
buscado.
Esto se debe a que RSA es un grupo mutiplicativo. Para
evitarlo hay que usar primos seguros de forma que los
subgrupos de trabajo sean bastante altos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 586
Ejemplo de ataque por cifrado cclico
Sea p = 13, q = 19, n = 247, (n) = 216, e = 29 (d = 149, no conocido)
El mensaje a cifrar ser M = 123 C = 123
29
mod 247 = 119
Tabla de cifra i C
i
i = 0 C
0
= 119
i = 1 C
1
= 119
29
mod 247 = 6
i = 2 C
2
= 6
29
mod 247 = 93
i = 3 C
3
= 93
29
mod 247 = 175
i = 4 C
4
= 175
29
mod 247 = 54
i = 5 C
5
= 54
29
mod 247 = 123
i = 6 C
6
= 123
29
mod 247 = 119
El ataque ha prosperado muy rpidamente: como hemos obtenido otra
vez el criptograma C = 119, es obvio que el paso anterior con C = 123
se corresponda con el texto en claro. Y si usamos primos seguros?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 587
Ataque cifrado cclico: caso primos seguros
Sea p = 11, q = 23, n = 253, (n) = 220, e = 17 (d = 134, no conocido)
Sea el mensaje secreto M = 123 C = 123
17
mod 253 = 128
i C
i
i C
i
i = 0 C
0
= 128 i = 12 C
12
= 167
17
mod 253 = 150
i = 1 C
1
= 128
17
mod 253 = 6 i = 13 C
13
= 150
17
mod 253 = 193
i = 2 C
2
= 6
17
mod 253 = 173 i = 14 C
14
= 193
17
mod 253 = 118
i = 3 C
3
= 173
17
mod 253 = 101 i = 15 C
15
= 118
17
mod 253 = 200
i = 4 C
4
= 101
17
mod 253 = 95 i = 16 C
16
= 200
17
mod 253 = 73
i = 5 C
5
= 95
17
mod 253 = 39 i = 17 C
17
= 73
17
mod 253 = 94
i = 6 C
6
= 39
17
mod 253 = 96 i = 18 C
18
= 94
17
mod 253 = 41
i = 7 C
7
= 96
17
mod 253 = 2 i = 19 C
19
= 41
17
mod 253 = 123 -
i = 8 C
8
= 2
17
mod 253 = 18 i = 20 C
20
= 123
17
mod 253 = 128
i = 9 C
9
= 18
17
mod 253 = 215
i = 10 C
10
= 215
17
mod 253 = 151
i = 11 C
11
= 151
17
mod 253 = 167
Hemos tenido que recorrer un
espacio mucho mayor dentro
de un cuerpo de cifra similar.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 588
Ataque a la clave por paradoja cumpleaos
La paradoja del cumpleaos se ver en el prximo captulo.
Algoritmo propuesto por Merkle y Hellman en 1981:
El atacante elige dos nmeros aleatorios distintos i, j
dentro del cuerpo de cifra n. Elige adems un mensaje M
cualquiera.
Para i = i+1 y para j = j+1 calcula M
i
mod n y M
j
mod n.
Cuando encuentra una coincidencia de igual resultado
para una pareja (i, j), puede encontrar d.
Ejemplo: sea p = 7; q = 13, n = pq = 81, e = 11, d = 59.
El atacante elige los valores i = 10, j = 50 y parte con el
mensaje M = 20. Slo conoce n = 81 y e = 11.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 589
Ejemplo de ataque paradoja cumpleaos
i C
i
j C
i
i = 10 C
10
= 20
10
mod 81 = 34 i = 50 C
50
= 20
50
mod 81 = 13
i = 11 C
11
= 20
11
mod 81 = 32 i = 51 C
51
= 20
51
mod 81 = 17
i = 12 C
12
= 20
12
mod 81 = 73 i = 52 C
52
= 20
52
mod 81 = 16
i = 13 C
13
= 20
13
mod 81 = 2 i = 53 C
53
= 20
53
mod 81 = 77
i = 14 C
14
= 20
14
mod 81 = 40 i = 54 C
54
= 20
54
mod 81 = 1
i = 15 C
15
= 20
15
mod 81 = 71 i = 55 C
55
= 20
55
mod 81 = 20
i = 16 C
16
= 20
16
mod 81 = 43 i = 56 C
56
= 20
56
mod 81 = 76
i = 17 C
17
= 20
17
mod 81 = 50 i = 57 C
57
= 20
57
mod 81 = 62
i = 18 C
18
= 20
18
mod 81 = 28 i = 58 C
58
= 20
58
mod 81 = 25
i = 19 C
19
= 20
19
mod 81 = 74 i = 59 C
59
= 20
59
mod 81 = 14
i = 20 C
20
= 20
20
mod 81 = 22 i = 60 C
60
= 20
60
mod 81 = 37
i = 21 C
21
= 20
21
mod 81 = 35 i = 61 C
61
= 20
61
mod 81 = 11
i = 22 C
22
= 20
22
mod 81 = 52 i = 62 C
62
= 20
62
mod 81 = 58
i = 23 C
23
= 20
23
mod 81 = 68 i = 63 C
63
= 20
63
mod 81 = 26
i = 24 C
24
= 20
24
mod 81 = 64 i = 64 C
64
= 20
64
mod 81 = 34
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 590
Resultado del ataque paradoja cumpleaos
NOTA: Puesto que la explicacin matemtica de este algoritmo podra
resultar algo compleja y larga para exponerla en estos apuntes, se dar
slo la solucin numrica al problema que, como ver, es muy sencilla.
La primera coincidencia se encuentra para i = 10; j = 64. As, el atacante
conociendo la clave pblica e = 11, calcula:
w = (10-64) / mcd (11, 10-64) = -54 / mcd (11, -54) = - 54.
Entonces debern existir valores s,t de forma que se cumpla lo siguiente:
ws + et = 1 -54s + 11t = 1
Las posibles soluciones a la ecuacin son: ws mod e = 1; et mod w = 1
-54s = 1 mod 11 s = inv (-54, 11) = 1
11t = 1 mod 54 t = inv (11, 54) = 5
El valor t = 5 ser una clave secreta d pareja de d = 59. Compruebe que
se verifica ws + et = 1. Observe que 5 mod 54 = 59 mod 54 = 5.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 591
La otra historia del algoritmo RSA
Rivest, Shamir y Adleman son los autores de RSA pero
el desarrollo de un algoritmo de cifra asimtrico que
usara el problema de factorizar nmeros grandes como
funcin unidireccional fue descubierto mucho antes.
En el ao 1969 el GCHQ (Government Communications
Headquarters) en Gran Bretaa comienza a trabajar en
la idea de poder distribuir claves a travs de una cifra no
simtrica. En 1973, el matemtico Clifford Cocks llegar
a la misma conclusin que los creadores de RSA.
Desgraciadamente este trabajo fue considerado como
alto secreto por el gobierno britnico por lo que no se
hace pblico ni se patenta como invento, algo que s
hacen Diffie y Hellman en 1976 con su intercambio de
claves y en 1978 otro tanto los creadores de RSA.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 592
Cifrado Pohlig y Hellman con clave secreta
Stephen Pohlig y Martin Hellman proponen en enero de 1978 un
algoritmo de cifra de clave secreta y que basa su seguridad en el
problema del logaritmo discreto. Hablamos de slo un mes antes
que el algoritmo RSA... algo que tambin llama la atencin.
+ Se elige un grupo multiplicativo Z
p
*, p es un primo grande.
+ Cada usuario elige una clave e, que sea primo relativo con el grupo
(p) = p-1 y calcula d = inv (e, (p)].
+ La clave secreta sern los valores e y d.
El sistema carece de
firma digital y no puede
competir en velocidad
con los algoritmos de
clave secreta por lo
que no tiene uso.
Operaciones de cifra
CIFRADO
C = M
e
mod p
DESCIFRADO
M = C
d
mod p
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 593
Ejemplo de cifrado Pohlig y Hellman
A cifra un mensaje M que enva a B
p = 263 (p) = 262; e = 15 d = inv(15,262) = 35
Sea M = Adis = 65 100 105 243 115
Como se usa el cdigo ANSI, podremos cifrar en bloques
de un carcter pues el mdulo p es algo mayor que 256.
C = M
e
mod p = 65
15
mod 263, 100
15
mod 263,
105
15
mod 263, 243
15
mod 263, 115
15
mod 263
C = 245, 143, 179, 86, 101
Operacin Cifrado:
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 594
Ejemplo de descifrado Pohlig y Hellman
B descifra el criptograma C enviado por A
p = 263; d = inv (15, 262) = 35
C = 245, 143, 179, 86, 101
Operacin Descifrado:
M = C
d
mod p = 245
35
mod 263, 143
35
mod 263,
179
35
mod 263, 86
35
mod 263, 101
35
mod 263
M = 065, 100, 105, 243, 115
Convirtindolo al cdigo ANSI: M = Adis
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 595
Algoritmo de cifra asimtrica de ElGamal
Taher ElGamal propone en 1985 un algoritmo de cifra
que hace uso del Problema del Logaritmo Discreto PLD.
Caractersticas
Se elige un grupo multiplicativo Z
p
*, p es primo grande.
Del grupo p se elige una raz , generador del grupo.
Cada usuario elige un nmero aleatorio dentro de p.
Esta ser la clave privada.
Cada usuario calcula
mod p.
Junto con p es la clave pblica.
Para descubrir la clave privada
el atacante deber enfrentarse
al Problema del Logaritmo
Discreto para un valor p alto.
Para descubrir la clave privada
el atacante deber enfrentarse
al Problema del Logaritmo
Discreto para un valor p alto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 596
Operacin de cifra con ElGamal
Operacin Cifrado: A cifra un mensaje M que enva a B
El usuario B ha elegido su clave privada b dentro del
cuerpo del nmero primo p que es pblico.
El usuario B ha hecho pblica su clave
b
mod p.
El emisor A genera un nmero aleatorio de sesin y
calcula
mod p.
Con la clave pblica de B (
b
) el emisor A calcula:
(
b
)
mod p y M(
b
)
mod p
A enva a B el par: C = [
mod p, M (
b
)
mod p]
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 597
Operacin de descifrado con ElGamal
Operacin Descifrado: B descifra el criptograma C que enva A
El usuario B recibe C = [
mod p, M (
b
)
mod p].
B toma el valor
mod p y calcula (
)
b
mod p.
B descifra el criptograma C haciendo la siguiente divisin:
[M (
b
)
mod p ] / [(
)
b
mod p] (
b
)
= (
)
b
El paso anterior es posible hacerlo porque existir el
inverso de (
)
b
en el grupo p al ser p un primo. Luego:
[M (
b
)
{inv (
)
b
, p}] mod p = M
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 598
Ejemplo de cifrado con ElGamal
Adela (A) enviar a Benito (B) el mensaje M = 10 cifrado
dentro del cuerpo p = 13 que usa Benito.
CIFRADO
Claves pblicas de Benito: p = 13, = 6, (
b
) mod p = 2
Adela A elige por ejemplo = 4 y calcula:
(
) mod p = 6
4
mod 13 = 9
(
b
)
v
mod p = 2
4
mod 13 = 3
M(
b
)
v
mod p = 103 mod 13 = 4
Enva a B (
) mod p, M(
b
)
v
mod p = [9, 4]
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 599
Ejemplo de descifrado con ElGamal
DESCIFRADO
La clave privada de Benito es b = 5
Benito recibe: [(
) mod p, M(
b
)
v
mod p] = [9, 4]
Benito calcula:
(
)
b
mod p = 9
5
mod 13 = 3
[M(
b
)
v
] inv[(
)
b
, p] = 4 inv (3, 13) = 4 9
M = 4 9 mod 13 = 10 (se recupera el mensaje)
Recuerde que debe ser una raz de p. Como ya hemos
visto, si no es una raz, aunque s puede hacerse la cifra,
se facilitar el ataque al Problema del Logaritmo Discreto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 600
Consideraciones sobre el bloque
Si el mensaje M fuese mayor que el mdulo de trabajo
(n = pq para RSA y p para ElGamal)
cmo se generaran los bloques del mensaje a cifrar?
El mensaje M se transforma en
nmeros y stos se dividen en bloques
de de g-1 dgitos, siendo g el nmero
de dgitos del mdulo de trabajo: el
valor n para RSA y p para ElGamal.
Nota: en la prctica esto no ocurrir ya que el
cuerpo de cifra es como mnimo de 512 bits y el
mensaje a cifrar tendr slo una centena de bits.
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 601
Ejemplo de eleccin del bloque con RSA
Se representar el mensaje en su valor ANSI decimal.
n = pq = 89127 = 11.303 bloques de cuatro dgitos
(n) = 11.088; e = 25; d = inv (25, 11.088) = 10.201
M = Ol = 079 108 233 M = 0791 0823 3
Se recupera el mensaje agrupando en
bloques de 4 dgitos excepto el ltimo
CIFRADO DESCIFRADO
C
1
= 791
25
mod 11.303 = 7.853
C
2
= 823
25
mod 11.303 = 2.460
C
3
= 3
25
mod 11.303 = 6.970
M
1
= 7.853
10201
mod 11.303 = 0791
M
2
= 2.460
10201
mod 11.303 = 0823
M
3
= 6.970
10201
mod 11.303 = 3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 602
Fortaleza de la cifra exponencial
El problema de la Factorizacin de Nmeros Grandes PFNG
tiene una complejidad similar al del Logaritmo Discreto PLD:
ambos suponen un tiempo de ejecucin no polinomial.
Nmero de pasos que debe realizar el algoritmo PFNG:
e
{ln(n)ln[ln(n)]}
n = 60 dgitos 2,710
11
pasos
n = 100 dgitos 2,310
15
pasos
n = 200 dgitos 1,210
23
pasos
Sistema que consuma 1 seg por paso:
3 das
74 aos
3,810
9
aos
El PLD es matemticamente similar:
nmero de pasos e
{ln(p)ln[ln(p)]}
Fin del Tema 12
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 603
Cuestiones y ejercicios (1 de 4)
1. A partir de la ecuacin ed = k(n) + 1, compruebe que las claves
RSA e = 133 y d = 38.797 son inversas en el cuerpo n = 40.501.
2. En el ejemplo de intercambio de clave DH del libro con p = 1.999,
podran haber elegido Adela y Benito = 34, 35, 36 37?
3. Carmela (C) intercepta la clave de sesin DH que se intercambian
Adela (A) y Benito (B) dentro del cuerpo p = 127. Si se usa como
generador = 19 y a = 3, b = 12 y c = 7, desarrolle el algoritmo que
permite a C interceptar la comunicacin y engaar a A y B.
4. Los usuarios A, B, C y D desean intercambiar una clave usando el
mtodo DH. Proponga un protocolo genrico que solucione este
problema y presente un ejemplo en el cuerpo p = 23 y elija .
5. Disee un sistema RSA en el que p = 53, q = 113. Elija como clave
pblica el mnimo valor posible de 2 dgitos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 604
Cuestiones y ejercicios (2 de 4)
6. Para los datos de diseo del ejercicio 5, cifre el mensaje M = 121 y
luego descfrelo. Use el algoritmo de exponenciacin rpida.
7. Vuelva a descifrar el criptograma usando ahora el Teorema del
Resto Chino. Aunque en este caso haya hecho ms clculos por
qu es interesante usar aqu el Teorema del Resto Chino?
8. Si p = 353 y q = 1.103, cifre el mensaje ASCII de cuatro caracteres
M = HOLA en bloques de tamao eficiente (mnimo) para e = 17.
9. Para los datos del ejercicio anterior, encuentre la clave privada d con
el algoritmo extendido de Euclides.
10. Por qu se usa una clave pblica e de un valor relativamente bajo
y, por contrapartida, la clave privada d es alta? Qu utilidad tiene?
11. Cmo atacara un sistema RSA mal diseado con primos cercanos
y cuyo mdulo es n = 205.027? Encuentre los valores de p y q.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 605
Cuestiones y ejercicios (3 de 4)
12. En el sistema RSA con p = 11 y q = 19, se elige como clave pblica
e = 31. Cuntas y cules son las claves privadas parejas?
13. Para los mismos datos del ejercicio anterior, cuntos y cules son
los mensajes no cifrables? Y si ahora e = 33?
14. Cmo puede minimizarse el nmero de claves privadas parejas y el
de mensajes no cifrables? D un ejemplo con primos de dos dgitos.
15. Atacamos un sistema RSA con un cifrado cclico. Qu es lo que
vulneramos, el secreto de la clave privada o secreto del mensaje?
16. Se ataca por cifrado cclico el sistema RSA en el que p = 23, q = 41
y e = 17. Cuntos cifrados hay que hacer hasta encontrar M?
17. Cifre M = La Puerta de Alcal (de 19 caracteres ANSI) con un
sistema de Pohlig y Hellman. Use el primer primo que le permita
cifrar bloques de 2 bytes. Descifre ahora el criptograma C.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 12: Cifrado Asimtrico Exponencial
Diapositiva 606
Cuestiones y ejercicios (4 de 4)
18. Vamos a cifrar con ElGamal el mensaje en ASCII decimal de la
letra A. Cules son los valores mnimos del cuerpo de cifra, del
generador , de la clave pblica y del valor local v?
19. Descifre el criptograma obtenido en el ejercicio anterior.
20. Se va a cifrar con RSA el mensaje M = Hola. Si p = 53 y q = 97, de
cuntos dgitos ser el bloque ptimo de cifra?
21. En un sistema real, tiene sentido hablar de bloques con un nmero
de dgitos ptimos? Por qu? Justifique su respuesta.
22. Cuntos pasos debe realizar una factorizacin de un nmero n de
120 dgitos? Si tenemos un sistema que consume 1 seg por paso,
cuntos aos tardaramos ms o menos en factorizar ese nmero?
23. El valor encontrado en el ejercicio anterior, es siempre fijo o es
slo una aproximacin? Justifique su respuesta.
Tema 13
Funciones Hash en Criptografa
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 30 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 608
Uso de las funciones hash en criptografa
Una de las aplicaciones ms interesantes de la
criptografa es la posibilidad real de incluir en un
mensaje una firma digital. Todo esto comienza en el
ao 1976 cuando Diffie y Hellman presentan un
modelo de cifrado asimtrico con clave pblica. Con
los sistemas de clave simtrica esto era inviable.
No obstante, dado que los sistemas de clave pblica
son muy lentos, en vez de firmar digitalmente el
mensaje completo, en un sistema criptogrfico se
incluir como firma digital una operacin con la clave
privada sobre un resumen o hash de dicho mensaje
representado por slo una centena de bits.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 609
Funciones hash
Mensaje = M Funcin Resumen = H(M)
Firma (rbrica): r = E
dE
{H(M)}
dE es la clave privada del emisor que firmar H(M)
Cmo se comprueba la identidad en destino?
Se descifra la rbrica r con la clave pblica del
emisor eE. Al mensaje en claro recibido M (se
descifra si viene cifrado) se le aplica la misma
funcin hash que en emisin. Si los valores son
iguales, la firma es autntica y el mensaje ntegro:
Calcula: E
eE
(r) = H(M)
Compara: H(M) = H(M)?
Qu seguridad nos da
un resumen de k bits?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 610
Seguridad asociada a una funcin hash
Suponga que hemos creado una funcin hash de forma que el resumen es
slo de 4 bits, independientemente del tamao del mensaje de entrada.
La pregunta es: cul es la probabilidad de que dos mensajes distintos
tengan igual funcin hash? Si esta probabilidad fuese muy baja (en este
caso 1/16: hash desde 0000 hasta 1111) podra darse el siguiente caso:
alguien modifica nuestro mensaje firmado, y enva ese mensaje falso con
la firma del primero ya que en ambos casos son los mismos 4 bits...
Mensaje 1: Rechazamos el contrato por no interesarnos nada hash: 1101
Mensaje 2: Firma todo lo que te pongan porque nos interesa hash: 1101
Observe que ambos mensajes tienen 47 caracteres. As, podramos crear
una gran cantidad de mensajes diferentes que digan casi lo mismo, incluso
con igual nmero de caracteres... hasta que los dos hash coincidan!
Por este motivo las funciones hash para que sean interesantes en
criptografa, deben cumplir un conjunto de propiedades.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 611
Propiedades de las funciones hash
H(M) ser segura si tiene las siguientes caractersticas:
1. Unidireccionalidad. Conocido un resumen H(M), debe
ser computacionalmente imposible encontrar M a
partir de dicho resumen.
2. Compresin. A partir de un mensaje de cualquier
longitud, el resumen H(M) debe tener una longitud
fija. Lo normal es que la longitud de H(M) sea menor.
3. Facilidad de clculo. Debe ser fcil calcular H(M) a
partir de un mensaje M.
4. Difusin. El resumen H(M) debe ser una funcin
compleja de todos los bits del mensaje M. Si se
modifica un bit del mensaje M, el hash H(M) debera
cambiar aproximadamente la mitad de sus bits.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 612
Colisiones: resistencia dbil y fuerte
5. Colisin simple. Conocido M, ser
computacionalmente imposible encontrar otro M tal
que H(M) = H(M). Se conoce como resistencia dbil
a las colisiones.
6. Colisin fuerte. Ser computacionalmente difcil
encontrar un par (M, M) de forma que H(M) = H(M).
Se conoce como resistencia fuerte a las colisiones.
Ataque por la paradoja del cumpleaos
Para tener confianza en encontrar dos mensajes con el mismo
resumen H(M) -probabilidad 50%- no habr que buscar en
2
n
(p.e. 2
128
), bastar una bsqueda en el espacio 2
n/2
(2
64
).
La complejidad algortmica se reduce de forma drstica!
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 613
La paradoja del cumpleaos
Problema: Cul ser la confianza (probabilidad > 50%) de que en un
aula con 365 personas -no se tiene en cuenta el da 29/02 de los aos
bisiestos- dos de ellas al azar cumplan aos en la misma fecha.
Solucin: Se escribe en la pizarra los 365 das del ao y entran al aula
de uno en uno, borrando el da de su cumpleaos de la pizarra. Para
alcanzar esa confianza, basta que entren 23 personas al aula, un valor
muy bajo, en principio inimaginable y de all el nombre de paradoja.
Explicacin: El primero en entrar tendr una probabilidad de que su
nmero no est borrado igual a n/n = 1, el segundo de (n-1)/n, etc. La
probabilidad de no coincidencia ser p
NC
= n!/(n-k)n
k
. Para k = 23 se
tiene p
NC
= 0,493 y as la probabilidad de coincidencia es p
C
= 0,507.
En nuestro caso, esto es equivalente a sacar dos mensajes de dos
conjunto disjuntos y comparar sus hash; si los hash no son iguales
sacamos otros dos mensajes, ...etc., hasta que haya una colisin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 614
Algoritmos de resumen en criptografa
MD5: Ron Rivest 1992. Mejoras al MD4 y MD2 (1990), es ms lento
pero con mayor nivel de seguridad. Resumen de 128 bits.
SHA-1: Del NIST, National Institute of Standards and Technology,
1994. Similar a MD5 pero con resumen de 160 bits. Existen otras
nuevas propuestas conocidas como SHA-256 y SHA-512.
RIPEMD: Comunidad Europea, RACE, 1992. Resumen de 160 bits.
N-Hash: Nippon Telephone and Telegraph, 1990. Resumen: 128 bits.
Snefru: Ralph Merkle, 1990. Resmenes entre 128 y 256 bits. Ha sido
criptoanalizado y es lento.
Tiger: Ross Anderson, Eli Biham, 1996. Resmenes de hasta 192 bits.
Optimizado para mquinas de 64 bits (Alpha).
Panama: John Daemen, Craig Clapp, 1998. Resmenes de 256 bits de
longitud. Trabaja en modo funcin hash o como cifrador de flujo.
Haval: Yuliang Zheng, Josef Pieprzyk y Jennifer Seberry, 1992.
Admite 15 configuraciones diferentes. Hasta 256 bits.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 615
Message Digest 5, MD5
Algoritmo bsico MD5
a) Un mensaje M se convierte en un bloque mltiplo de 512
bits, aadiendo bits si es necesario al final del mismo.
b) Con los 128 bits de cuatro vectores iniciales ABCD de 32
bits cada uno y el primer bloque del mensaje de 512 bits, se
realizan diversas operaciones lgicas entre ambos bloques.
c) La salida de esta operacin (128 bits) se convierte en el
nuevo conjunto de 4 vectores ABCD y se realiza la misma
funcin con el segundo bloque de 512 bits del mensaje y
as hasta el ltimo bloque del mensaje.
d) Al terminar, el algoritmo entrega un resumen que
corresponde a los ltimos 128 bits de estas operaciones.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 616
Etapas de MD5
a) Aadir bits para congruencia mdulo 512, reservando
los ltimos 64 bits para un indicador de longitud.
b) Aadir indicacin de la longitud del mensaje en los 64
bits reservados.
c) Inicializar el vector ABCD de claves.
d) Procesar bloques de 512 bits, entregando una salida de
128 bits que formarn nuevamente el vector ABCD.
e) Obtener el resumen de los ltimos 128 bits.
Bloques funcionales de MD5
Esquema
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 617
Esquema de la funcin MD5
Mensaje
1000...
Relleno de 1 a 448 bits
K mod 2
64
(64 bits)
Mensaje de K bits
K
L512 bits = N 32 bits
N palabras de 32 bits
Y
q
H
MD5
Y
L-1
H
MD5
RESUMEN
de 128 bits
ABCD
Y
1
Y
2
512 bits
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
H
MD5
H
MD5
Primer resumen
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 618
Bloque principal de MD5
Qu hacen las funciones F y FF...?
Bloque principal
1
er
bloque de 512
bits del mensaje M
Vuelta
1
Funciones
F y FF
Vuelta
2
Funciones
G y GG
Vuelta
3
Funciones
H y HH
Vuelta
4
Funciones
I e II
+
+
+
+
Nuevo Vector ABCD
de 128 bits para el
prximo bloque
A
Vector
inicial
A
B
B
C
C
D
D
SUMA MDULO 2
32
+
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 619
Esquema funciones F, G, H, I en MD5
a b c d b c d
Vector inicial ABCD
128 bits
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
A
16
= 01234567
B
16
= 89ABCDEF
C
16
= FEDCBA98
D
16
= 76543210
funcin no lineal
x, y, z b, c, d
F (x, y, z)
(x AND y) OR (NOT x AND z)
G (x, y, z)
(x AND z) OR (y AND NOT z)
H (x, y, z)
x XOR y XOR z
I (x, y, z)
y XOR (x OR NOT z)
F (x, y, z)
(x AND y) OR (NOT x AND z)
G (x, y, z)
(x AND z) OR (y AND NOT z)
H (x, y, z)
x XOR y XOR z
I (x, y, z)
y XOR (x OR NOT z)
F (b, c, d)
(b AND c) OR (NOT b AND d)
G (b, c, d)
(b AND d) OR (c AND NOT d)
H (b, c, d)
b XOR c XOR d
I (b, c, d)
c XOR (b OR NOT d)
F (b, c, d)
(b AND c) OR (NOT b AND d)
G (b, c, d)
(b AND d) OR (c AND NOT d)
H (b, c, d)
b XOR c XOR d
I (b, c, d)
c XOR (b OR NOT d)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 620
Algoritmo de las funciones en MD5
a b c d b c a d
Desplazamiento del registro
+
+
+
32 bits
32 bits
Situacin luego del desplazamiento
funcin no lineal
Se repite el proceso para
M
j+1
hasta 16 bloques del
texto. En las vueltas 2, 3 y 4
se repite el proceso ahora
con funciones G, H e I.
M
j
t
j
El algoritmo realiza
416 = 64 vueltas
para cada uno de los
bloques de 512 bits
s
j
bits a la
izquierda
<<< s
j
+
+
Suma
mod 2
32
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 621
Funciones no lineales en MD5
Vector de 128 bits
Funciones no lineales
en cada vuelta
a b c d
1 Vuelta:
FF(a,b,c,d,M
j
,t
j
,s) a = b + ((a + F(b,c,d) + M
j
+ t
j
) <<< s)
2 Vuelta:
GG(a,b,c,d,M
j
,t
j
,s) a = b + ((a + G(b,c,d) + M
j
+ t
j
) <<< s)
3 Vuelta:
HH(a,b,c,d,M
j
,t
j
,s) a = b + ((a + H(b,c,d) + M
j
+ t
j
) <<< s)
4 Vuelta:
II(a,b,c,d,M
j
,t
j
,s) a = b + ((a + I(b,c,d) + M
j
+ t
j
) <<< s)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 622
Algoritmo y desplazamiento en MD5
Vector de 128 bits
a b c d
Sea f la funcin F, G, H o I segn la vuelta.
El algoritmo ser:
Para j = 0 hasta 15 hacer:
TEMP = [(a + f(b,c,d) + M
j
+ t
j
) <<<s
j
]
a = d
d = c
c = b
b = a
a = TEMP
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 623
Operaciones en 1 y 2 vueltas en MD5
FF (a, b, c, d, M
j
, t
j
, s)
FF(a, b, c, d, M
0
, D76AA478, 7)
FF(d, a, b, c, M
1
, E8C7B756, 12)
FF(c, d, a, b, M
2
, 242070DB, 17)
FF(b, c, d, a, M
3
, C1BDCEEE, 22)
FF(a, b, c, d, M
4
, F57C0FAF, 7)
FF(d, a, b, c, M
5
, 4787C62A, 12)
FF(c, d, a, b, M
6
, A8304613, 17)
FF(b, c, d, a, M
7
, FD469501, 22)
FF(a, b, c, d, M
8
, 698098D8, 7)
FF(d, a, b, c, M
9
, 8B44F7AF, 12)
FF(c, d, a, b, M
10
, FFFF5BB1, 17)
FF(b, c, d, a, M
11
, 895CD7BE, 22)
FF(a, b, c, d, M
12
, 6B901122, 7)
FF(d, a, b, c, M
13
, FD987193, 12)
FF(c, d, a, b, M
14
, A679438E, 17)
FF(b, c, d, a, M
15
, 49B40821, 22)
P
r
i
m
e
r
a
v
u
e
l
t
a
GG (a, b, c, d,
GG(a, b, c, d, M
GG(d, a, b, c, M
GG(c, d, a, b, M
GG(b, c, d, a, M
GG(a, b, c, d, M
GG(d, a, b, c, M
GG(c, d, a, b, M
GG(b, c, d, a, M
GG(a, b, c, d, M
GG(d, a, b, c, M
GG(c, d, a, b, M
GG(b, c, d, a, M
GG(a, b, c, d, M
GG(d, a, b, c, M
GG(c, d, a, b, M
GG(b, c, d, a, M
S
e
g
u
n
d
a
v
u
e
l
t
a
M
j
, t
j
, s)
1
, F61E2562, 5)
6
, C040B340, 9)
11
, 265E5A51, 14)
0
, E9B6C7AA, 20)
5
, D62F105D, 5)
10
, 02441453, 9)
15
, D8A1E681, 14)
4
, E7D3FBC8, 20)
9
, 21E1CDE6, 5)
14
, C33707D6, 9)
3
, F4D50D87, 14)
8
, 455A14ED, 20)
13
, A9E3E905, 5)
2
, FCEFA3F8, 9)
7
, 676F02D9, 14)
12
, 8D2A4C8A, 20)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 624
Operaciones en 3 y 4 vueltas en MD5
HH (a, b, c, d, M
j
, t
j
, s)
HH(a, b, c, d, M
5
, FFFA3942, 4)
HH(d, a, b, c, M
8
, 8771F681, 11)
HH(c, d, a, b, M
11
, 6D9D6122, 16)
HH(b, c, d, a, M
14
, FDE5380C, 23)
HH(a, b, c, d, M
1
, A4BEEA44, 4)
HH(d, a, b, c, M
4
, 4BDECFA9, 11)
HH(c, d, a, b, M
7
, F6BB4B60, 16)
HH(b, c, d, a, M
10
, BEBFBC70, 23)
HH(a, b, c, d, M
13
, 289B7EC6, 4)
HH(d, a, b, c, M
0
, EAA127FA, 11)
HH(c, d, a, b, M
3
, D4EF3085, 16)
HH(b, c, d, a, M
6
, 04881D05, 23)
HH(a, b, c, d, M
9
, D9D4D039, 4)
HH(d, a, b, c, M
12
, E6DB99E5, 11)
HH(c, d, a, b, M
15
, 1FA27CF8, 16)
HH(b, c, d, a, M
2
, C4AC5665, 23)
T
e
r
c
e
r
a
v
u
e
l
t
a
II (a, b, c, d,
II(a, b, c, d, M
II(d, a, b, c, M
II(c, d, a, b, M
II(b, c, d, a, M
II(a, b, c, d, M
II(d, a, b, c, M
II(c, d, a, b, M
II(b, c, d, a, M
II(a, b, c, d, M
II(d, a, b, c, M
II(c, d, a, b, M
II(b, c, d, a, M
II(a, b, c, d, M
II(d, a, b, c, M
II(c, d, a, b, M
II(b, c, d, a, M
C
u
a
r
t
a
v
u
e
l
t
a
M
j
, t
j
, s)
0
, F4292244, 6)
7
, 411AFF97, 10)
14
, AB9423A7, 15)
5
, FC93A039, 21)
12
, 655B59C3, 6)
3
, 8F0CCC92, 10)
10
, FFEFF47D, 15)
1
, 85845DD1, 21)
8
, 6FA87E4F, 6)
15
, FE2CE6E0, 10)
6
, A3014314, 15)
13
, 4E0811A1, 21)
4
, F7537E82, 6)
11
, BD3AF235, 10)
2
, 2AD7D2BB, 15)
9
, EB86D391, 21)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 13: Funciones Hash en Criptografa
Diapositiva 625
Funcin de resumen SHA-1
Un resumen de 128 bits tiene una complejidad algortmica de
slo 2
64
, un valor en la actualidad muy comprometido...
La funcin SHA-1, Secure Hash Algorithm, entregar un
resumen de 160 bits una complejidad algortmica de 2
80
.
ipad K
+
b bits
Hash
n bits
IV Relleno hasta b bits
S
0
n bits
IV
Hash HMAC
K
(M)
S
1
Y
0
Y
1
Y
L-1
opad K
+
b bits
b bits
H(S
i
||M)
n bits
n bits
Parmetros
esquema en
la siguiente
diapositiva.
Y
i
bloques del mensaje
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 651
Parmetros, valores tpicos y salida HMAC
M = mensaje de entrada incluyendo el relleno.
H = alguna funcin hash como MD5 (128 bits) o SHA-1 (160 bits).
Y
i
= bloque isimo de M.
L = nmero de bloques en M.
b = nmero de bits en cada bloque (512).
n = longitud del resumen del hash ocupado en el sistema (128 / 160 bits).
K = clave secreta (160 bits) aunque se recomienda sea mayor que n. Si la
clave K es mayor que b, esta clave se hace pasar antes por la funcin hash
para reducirla a una clave de n bits.
K
+
= clave K con ceros aadidos a la izquierda para alcanzar b bits.
ipad = 00110110 octeto repetido b/8 (64) veces.
opad = 01011010 octeto repetido b/8 (64) veces.
Salida HMAC: HMAC
K
= H{(K
+
opad) || H[(K
+
ipad) || M ]}
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 652
Operaciones y seguridad de HMAC
Aadir ceros a la izquierda de K hasta obtener K
+
, una cadena de b bits.
Sumar or exclusivo K
+
con la cadena ipad para obtener S
1
de b bits.
Aadir a S
1
el mensaje M como bloques Y
i
de b bits cada uno.
Aplicar la funcin hash elegida a la cadena de bits antes formada, con el
vector inicial IV de n bits para generar un hash de n bits.
Sumar or exclusivo K
+
con la cadena opad para obtener S
0
de b bits.
Aadir a S
0
el hash anterior, rellenando este ltimo hasta b bits.
Aplicar la funcin hash elegida a los dos bloques de b bits generados en
el paso anterior, con vector IV de n bits para generar un hash de n bits.
El resultado de este ltimo hash es el HMAC del mensaje M con la
clave K, es decir HMAC
K
(M).
Aunque la seguridad de HMAC est directamente relacionada con el hash
utilizado, el modelo presentado no es seguro. Hay otras configuraciones
ms desarrolladas que mejoran esta caracterstica.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 653
Autenticacin con cifra simtrica y un KDC
Caractersticas
Utilizacin de un KDC (Key Distribution Centre) o
Distribuidor de Claves de Confianza, que comparte una
clave llamada maestra con los clientes.
Cada parte, usuario o entidad de la red comparte una clave
secreta y nica o clave maestra con el KDC.
El KDC se ocupa de distribuir una clave de sesin que va a
ser utilizada en la conexin entre dos partes.
La clave de sesin se protege con la clave maestra de los
participantes de una comunicacin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 654
Propuesta de Needham y Schroeder (1978)
1. A KDC: ID
A
||ID
B
||N
1
2. KDC A: E
KA
[K
S
||ID
B
||N
1
||E
KB
[K
S
||ID
A
]]
3. A B: E
KB
[K
S
||ID
A
]
4. B A: E
KS
[N
2
]
5. A B: E
KS
[f (N
2
)]
f (N2) es una funcin
conocida por A y B.
Qu sucede si no se
realizan los pasos 4 y 5?
ID
A
= Nombre de A o identificador de A
ID
B
= Nombre de B o identificador de B
N
X
= Valor nonce
K
S
= Clave de sesin
E
KX
= Cifrado con clave secreta de X
K
X
= Clave secreta de X (A B)
Un intruso podra capturar
el mensaje en el paso 3 y
repetirlo, interfiriendo as
las operaciones de B.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 655
Ms debilidades de la propuesta N-S
Algo ms improbable es que un intruso X tenga una clave
de sesin antigua y repita el mensaje del paso 3 enviado a
B, quien no tiene porqu recordar todas las claves de
sesin usadas previamente con A.
Si X captura el mensaje del paso 4, podr suplantar la
respuesta de A del paso 5, enviando a B mensajes que
parecen venir de A con clave de sesin autenticada.
Denning propone la inclusin de un valor timestamp en los
pasos 2 y 3. La utilizacin de timestamps requiere la
sincronizacin de relojes, pero la utilizacin de valores
nonce es tambin vulnerable. Se propone como solucin
ptima dar una duracin a la clave de sesin (tickets).
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 656
Solucin propuesta por Denning y tickets
1. A KDC: ID
A
||ID
B
2. KDC A: E
KA
[K
S
||ID
B
||T||E
KB
[K
S
||ID
A
||T]]
3. A B: E
KB
[K
S
||ID
A
||T]
4. B A: E
KS
[N
1
]
5. A B: E
KS
[f (N
1
)]
Denning
T = Timestamp
| Clock t | < t
1
+ t
2
1. A B: ID
A
||N
A
2. B KDC: ID
B
||N
B
||E
KB
[ID
A
||N
A
||T
B
]
3. KDC A: E
KA
[ID
B
||N
A
||K
S
||T
B
]||E
KB
[ID
A
||K
S
||T
B
]||N
B
4. A B: E
KB
[ID
A
||K
S
||T
B
]||E
KS
[N
B
]
Tickets
Tickets
Solucin al problema del timestamp
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 657
Autenticacin en un sentido
El correo electrnico es un ejemplo de aplicacin que
requiere este tipo de autenticacin:
No es necesario que el emisor y el receptor estn conectados
al mismo tiempo.
El receptor necesita confirmar de alguna forma que el emisor
del mensaje es quien dice ser.
1. A KDC: ID
A
||ID
B
||N
1
2. KDC A: E
KA
[K
S
||ID
B
||N
1
||E
KB
[K
S
||ID
A
]]
3. A B: E
KB
[K
S
||ID
A
]||E
KS
[M]
Se garantiza as que slo el receptor puede leer el mensaje
y autentica adems al emisor. Es vulnerable a repeticiones.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 658
Autenticacin con Kerberos (1988)
Servicio de autenticacin
desarrollado en el Massachusetts
Institute of Technology (MIT)
Perro de tres cabezas y cola de serpiente segn mitologa
griega, guardin de la entrada del Templo de Hades.
Tres componentes guardarn la puerta: Autenticacin,
Contabilidad y Auditora. Las dos ltimas cabezas nunca
han sido implementadas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 659
Caractersticas y fases de Kerberos
Est basado en el protocolo de distribucin de
claves de Needham & Schroeder.
Usa un intercambio de claves con una tercera
parte de confianza.
Fases de autenticacin:
Obtencin de credenciales
Tickets
Autenticadores
Peticin de autenticacin frente un servicio.
Presentacin de las credenciales al servidor final.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 660
Elementos del dilogo de autenticacin
Usuario, cliente y servidor: persona o mquina que necesita
autenticarse en la red.
Principal: entidad o cliente que usa Kerberos y que ha sido
previamente autenticado por un servidor de autenticacin.
Servicio y servidor: servicio es una entidad abstracta (por
ejemplo correo) y servidor el proceso que lo ejecuta.
Clave y password: funcin aplicada a la clave de usuario.
Credenciales: lo que se utiliza para autenticarse.
Maestros y esclavos: la mquina que hospeda la base de
datos es el master y esclavos son las mquinas que poseen
copias de sta.
Dominio: nombre de entidad administrativa que mantiene
los datos de autenticacin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 661
El ticket en la credencial de Kerberos
Existen dos tipos de credenciales utilizadas en el modelo de
Kerberos: tickets y autenticadores.
Es necesario un ticket para pasar de una forma segura la
identidad del cliente entre el servidor de autenticacin y el
servidor final.
[s, c, addr, timestamp, life, K
S,C
]K
S
s = nombre del servidor
c = nombre del cliente
addr = direccin Internet del cliente
timestamp = fecha de iniciacin del ticket
life = duracin
K
S
= clave de sesin aleatoria
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 662
El autenticador en la credencial de Kerberos
El autenticador contiene informacin adicional que,
comparada con el ticket, prueba que el cliente que presenta
el ticket es el mismo a quien se le entreg,
[c, addr, timestamp]K
S,C
c = nombre del cliente
addr = direccin Internet de la estacin de trabajo
timestamp = fecha de iniciacin del ticket
K
S,C
= clave de sesin que es parte del ticket
Los objetivos de las credenciales son minimizar el nmero de veces
que un usuario tiene que introducir la password as como eliminar el
problema de enviar la password en texto plano por la red.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 663
Ejemplo de autenticacin con Kerberos (1)
Se autenticar el usuario A ante el usuario B teniendo
como tercera parte de confianza al KDC.
Usarn el algoritmo DES.
A B
KDC
k
A
k
B
Paso 1. A pide una credencial a KDC.
A KDC ID(A), ID(B), NA
Enva el nmero aleatorio NA para que
nadie pueda suplantar su identidad.
Paso 2. KDC genera una clave de sesin K
S
con perodo de validez L
y una credencial c para el usuario B.
m = E
kA
[K
S
, L, NA, ID(B)]; c = E
kB
[K
S
, L, ID(A)]
KDC A (m, c)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 664
Ejemplo de autenticacin con Kerberos (2)
Paso 3. A descifra con su clave k
A
el valor m:
D
kA
[K
S
, L, NA, ID(B)] = K
S
, L, NA, ID(B)
Y luego con la clave de sesin entregada por KDC generar un
autenticador a para el usuario B junto con un sello temporal T
A
.
a = E
KS
[ID(A), T
A
]
A B (c, a)
Paso 4. B descifra con su clave k
B
c:
D
kB
[K
S
, L, ID(A)] = K
S
, L, ID(A)
Ahora que tiene K
S
descifra el valor a:
D
KS
[ID(A), T
A
] = ID(A), T
A
Comprueba que coinciden los identificadores ID(A) del usuario A
y que T
A
est dentro del rango de validez L dado por KDC.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 665
Ejemplo de autenticacin con Kerberos (3)
Paso 5. B calcula una funcin acordada con A por ejemplo (T
A
+ 1)
y con la clave de sesin K
S
se lo enva cifrado.
B A h = E
KS
[T
A
+ 1]
Paso 6. A descifra h con la clave de sesin K
S
:
D
KS
[T
A
+ 1] = T
A
+ 1
Comprueba que coincide con lo acordado lo que le demuestra que
B ha recibido correctamente la clave de sesin K
S
.
El valor de T
A
permite ms autenticaciones dentro del perodo de
validez L sin la intervencin de la tercera parte de confianza KDC.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 666
Resumen del ejemplo de autenticacin
Los valores de c y m aseguran la confidencialidad en
la transmisin de la clave de sesin K
S
.
Los valores de a y h aseguran la confirmacin de la
recepcin correcta de la clave de sesin K
S
por B.
En este protocolo slo se autentica A ante B.
Existen extensiones del algoritmo que permiten una
autenticacin doble entre A y B.
Otra opcin es que los usuarios A y B compartan una
clave K
S
sin que su valor sea conocido por KDC.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 667
El hash en la autenticacin asimtrica
H(M) es el resultado de un algoritmo que con una entrada
M de cualquier tamao, produce salida de tamao fijo.
El emisor A enva el mensaje M y la funcin hash H(M) a
B, quien aplica la misma funcin al mensaje M recibido.
Si los mensajes son iguales entonces se asegura que los
hash tambin son iguales. No obstante, el hecho de que los
hash coincidan no significa que los mensajes M y M sean
iguales (ya visto en el captulo correspondiente).
Integridad: el receptor B puede confiar en que nadie ha
modificado el mensaje durante la transmisin pues el valor
H(M) en destino coincide con el enviado por A.
Autenticacin: Es imposible la autenticacin de usuario,
salvo que se use un modelo con clave tipo HMAC ya visto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 668
Autenticacin con sistemas asimtricos
Al existir una clave pblica y otra privada que
son inversas, se autentica el mensaje y al emisor.
Permite la firma digital, nica para cada mensaje
Problema:
Los sistemas de cifra asimtricos son muy lentos y el mensaje
podra tener miles o millones de bytes ...
Solucin:
Se genera un resumen del mensaje, representativo del mismo, con
una funcin hash imposible de invertir. La funcin hash comprime
un mensaje de longitud variable a uno de longitud fija y pequea.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 669
Caractersticas de una firma digital
Requisitos de la Firma Digital:
a) Debe ser fcil de generar.
b) Ser irrevocable, no rechazable por su propietario.
c) Ser nica, slo posible de generar por su propietario.
d) Ser fcil de autenticar o reconocer por su propietario y los
usuarios receptores.
e) Debe depender del mensaje y del autor.
Esta ltima
propiedad es
muy importante!
Son condiciones ms fuertes
que la de una firma manuscrita.
Son condiciones ms fuertes
que la de una firma manuscrita.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 670
Firma digital RSA de A hacia B
Clave Pblica (n
A
, e
A
) Clave Privada (d
A
)
Rbrica: r
A
H(M) = H(M)
dA
mod n
A
Algoritmo:
A enva el mensaje M en claro (o cifrado) al destinatario B
junto a la rbrica: {M, r
A
H(M)}
El destinatario B tiene la clave pblica e
A
,n
A
de
A y descifra r
A
H(M) {(H(M)
dA
)
eA
mod n
A
}
obteniendo as H(M). Como recibe el mensaje
M, calcula la funcin hash H(M) y compara:
Si H(M) = H(M) se acepta la firma.
Benito
Adela
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 671
Valores y tamaos tpicos de firmas
En los siguientes ejemplos, por limitacin del tamao de los
primos elegidos, se firmarn slo bloques de una cantidad
determinada de bits en funcin del cuerpo de trabajo.
No obstante, en los sistemas reales esto no es as puesto que
las funciones hash ya vistas entregarn -por lo general-
resmenes comprendidos entre 128 y 160 bits y, por otra
parte, el cuerpo de trabajo de la cifra asimtrica para la
firma digital ser como mnimo de 512 bits (si bien en la
actualidad se recomienda al menos 1.024). Por lo tanto el
resumen que se firma es menor que el cuerpo de cifra o, lo
que es lo mismo, es parte del conjunto de restos del grupo.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 672
Ejemplo de firma digital RSA (B A)
Hola. Te envo el documento. Saludos, Beni.
Sea H(M) = F3A9 (16 bits)
Claves Benito
n
B
= 65.669
e
B
= 35, d
B
= 53.771
2
16
< 65.669 < 2
17
Forzaremos firmar
bloques de 16 bits
Benito Adela
Claves Adela
n
A
= 66.331
e
A
= 25, d
A
= 18.377
Firma
H(M) = F3A9
16
= 62.377
10
r
H(M)
= H(M)
dB
mod n
B
r
H(M)
= 62.377
53.771
mod 65.669 = 24.622
Benito enva el par (M, r) = (M, 24.622)
Nota: los primos
que usa Benito
son 97, 677 y
Adela 113, 587
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 673
Comprobacin la firma RSA por A
Claves Benito
n
B
= 65.669
e
B
= 35, d
B
= 53.771
Claves Adela
n
A
= 66.331
e
A
= 25, d
A
= 18.377
Tenamos que: H(M) = F3A9
16
= 62.377
10
r
H(M)
= H(M)
dB
mod n
B
r
H(M)
= 62.377
53.771
mod 65.669 = 24.622
Benito haba enviado el par (M, r) = (M, 24.622)
Adela recibe un mensaje M junto con una rbrica r = 24.622:
Calcula r
eB
mod n
B
= 24.622
35
mod 65.669 = 62.377.
Calcula el resumen de M es decir H(M) y lo compara con H(M).
Si los mensajes M y M son iguales, entonces H(M) = H(M) y se
acepta la firma como vlida.
NOTA: No obstante, H(M) = H(M) no implica que M = M.
Benito Adela
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 674
Firma digital ElGamal de A hacia B
ElGamal: El usuario A generaba un nmero
aleatorio a (clave privada) del cuerpo p. La
clave pblica es
a
mod p, con generador.
Algoritmo de firma:
1 El usuario A genera un nmero aleatorio h, que ser primo
relativo con (p): h / mcd {h, (p)} = 1
2 Calcula h
-1
= inv {h, (p)}
3 Calcula r =
h
mod p
4 Resuelve la siguiente congruencia:
M = ar + hs mod (p)
s = (M - ar)inv[h,(p)] mod (p)
M = ar + hs mod (p)
s = (M - ar)inv[h,(p)] mod (p)
Firma: (r, s)
Firma: (r, s)
Adela
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 675
Comprobacin de firma ElGamal por B
Algoritmo comprobacin de firma:
1 El usuario B recibe el par (r, s) y calcula:
r
s
mod p y (
a
)
r
mod p
2 Calcula k = [(
a
)
r
r
s
] mod p
Como r era igual a
h
mod p entonces:
k = [(
ar
hs
] mod p =
(ar + hs)
mod p =
mod p
3 Como M = (ar + hs) mod (p) y es una raz
primitiva de p se cumple que:
b
mod p = 3.631
b = 20, h = 31
2
16
< 79.903 < 2
17
Forzaremos firmar
bloques de 16 bits
Benito Adela
Firma
1) h
-1
= inv[h, (p)] = inv (31, 79.902) = 5.155
2) r =
h
mod p = 10
31
mod 79.903 = 11.755
3) s = [H(M) - br][inv(h,(p)] mod (p) H(M) = A69B
16
= 42.651
10
4) s = [42.651-2011.755]5.155 mod 79.902
5) s = 68.539
(r, s) = (11.755, 68.539)
(r, s) = (11.755, 68.539)
Luego, la firma ser
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 677
Comprobacin de firma ElGamal por A
Adela Benito
Claves Benito
p
B
= 79.903 = 10
b
mod p = 3.631
b = 20, h = 31
H(M) = A69B = 42.651
Adela recibe el par (r, s) = (11.755, 68.539)
Comprobacin de la firma:
1) r
s
mod p = 11.755
68.539
mod 79.903 = 66.404
2) (
b
)
r
mod p = 3.631
11.755
mod 79.903 = 12.023
3) (
b
)
r
r
s
mod p = (12.023 66.404) mod 79.903 = 64.419 = k
4)
H(M)
mod p = 10
42.651
mod 79.903 = 64.419
Como hay igualdad
se acepta la firma
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 678
Importancia de en la firma de ElGamal
Claves Benito
p
B
= 79.903 = 10
b
mod p = 3.631
b = 20, h = 31
= 10 es un generador
del cuerpo p = 79.903
puesto que:
p-1 = 79.902 = 23
2
23193
q
1
= 2; q
2
= 3; q
3
= 23; q
4
= 193
y se cumple 10
(p-1)qi
mod p 1
10
39.951
mod 79.903 = 79.902
10
26.634
mod 79.903 = 71.324
10
3.474
mod 79.903 = 2.631
10
414
mod 79.903 = 41.829
Benito
Si se elige = 11 que no es raz, para el exponente 39.951 se
obtiene el valor 1. No nos servir para la firma porque ser
imposible comprobarla mediante la ecuacin k =
M
mod p.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 679
Estndares de firma digital
1991: National Institute of Standards and Technology (NIST)
propone el DSA, Digital Signature Algorithm, una
variante de los algoritmos de ElGamal y Schnoor.
1994: Se establece como estndar el DSA y se conoce como
DSS, Digital Signature Standard.
1996: La administracin de los Estados Unidos permite la
exportacin de Clipper 3.11 en donde viene inmerso el
DSS, que usa una funcin hash de tipo SHS, Secure
Hash Standard.
El peor inconveniente de la firma propuesta por ElGamal es que
duplica el tamao del mensaje M al enviar un par (r, s) en Z
p
y (p).
No obstante, se solucionar con el algoritmo denominado DSS.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 680
Digital Signature Standard DSS
Parmetros pblicos de la firma:
Un nmero primo grande p (512 bits)
Un nmero primo q (160 bits) divisor de p-1
Un generador de orden q del grupo p
Generador de orden q es aquella raz en el cuerpo Z
p
de
forma que q es el entero ms pequeo que verifica:
q
mod p = 1
En este caso se cumple para todo t que:
t
=
t (mod q)
mod p
y eso qu es?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 681
Generacin de firma DSS (A B)
GENERACIN DE LA FIRMA POR PARTE DE A
Claves pblicas de A: primos p, q y el generador
Clave secreta de la firma: a (1 < a < q) aleatorio
Clave pblica de la firma: y =
a
mod p
Para firmar un mensaje 1 < M < p, el firmante A elige un
valor aleatorio 1 < h < q y calcula:
r = (
h
mod p) mod q
s = [(M + ar) inv (h,q)] mod q
La firma digital de M ser el par (r, s)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 682
Comprobacin de firma DSS por B
COMPROBACIN DE LA FIRMA DE A POR B
B recibe el par (r, s)
Luego calcula:
w = inv (s, q)
u = M w mod q
v = r w mod q
Comprueba que se cumple la relacin:
r = (
u
y
v
mod p) mod q
Si se cumple, se acepta la firma como vlida.
La firma tendr en este caso
un tamao menor que q, es
decir, menos bits que los del
mdulo de firma p ya que se
elige por diseo p >> q
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 683
Ejemplo de firma DSS (B A)
Hola Adela, soy Benito y lo firmo con DSS.
Adela
Benito
Sea H(M) = 1101000 = 104 (un elemento de p
B
)
Claves Benito
p
B
= 223 q
B
= 37 = 17
y =
b
mod p = 30
b = 25, h = 12
2
8
< p
B
= 223 < 2
7
Forzaremos firmar
bloques de 7 bits
Firma
1) inv (h,q) = inv (12, 37) = 34
2) r = (
h
mod p) mod q = (17
12
mod 223) mod 37 = 171 mod 37 = 23
3) s = [H(M)+br][inv (h,q)] mod q = [104+2523]34 mod 37 = 35
4) La firma digital de H(M) = 104 ser: (r, s) = (23, 35)
5) Benito transmite a Adela el bloque (M, r, s) = (M, 23, 35)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 684
Comprobacin de la firma DSS por A
1) w = inv (s, q) = inv (35, 37) = 18
2) u = Mw mod q = 10418 mod 37 = 22
3) v = rw mod q = 2318 mod 37 = 7
4) (
u
y
v
mod p) mod q = r ?
5) [(17
22
30
7
) mod 223] mod 37 = 23
En caso afirmativo,
se acepta la firma
Y el tamao ser menor que
q
B
= 37 es decir << p
B
= 223
que era precisamente el punto
dbil del sistema ElGamal.
Claves Benito
p
B
= 223 q
B
= 37 = 17
y =
b
mod p = 30
b = 25, h = 12
Adela recibe:
(M, r, s) = (M, 23, 35)
Igualdad?
Fin del Tema 14
Benito Adela
Comprobacin de firma
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 685
Cuestiones y ejercicios (1 de 2)
1. Por qu cree que un escenario de integridad en la que hay siempre
una tercera parte de confianza activa no sera adecuado en Internet?
2. Si una Autoridad de Certificacin es la tercera parte de confianza,
acta de forma activa o pasiva en la comunicacin? Explquelo.
3. Qu importancia tiene la redundancia del lenguaje en un sistema de
autenticacin? Qu sucedera si no hubiese esa redundancia?
4. Hacemos una autenticacin de mensaje mediante un MAC en el que
el algoritmo es DES. Sera acertado usar modo ECB? Por qu?
5. En un sistema de autenticacin mediante Kerberos, cmo sabe el
que comienza el protocolo (A) que no hay un impostor que intenta
suplantarle? Cmo sabe el que comienza el protocolo (A) que el
segundo usuario (B) o elemento del sistema ha recibido bien la clave
de sesin entregada por el centro de distribucin de claves KDC?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 14: Autenticacin y Firma Digital
Diapositiva 686
Cuestiones y ejercicios (2 de 2)
6. Cmo podramos usar una funcin hash para comprobar que un
archivo no se ha modificado o que est libre de virus?
7. Nos afirman que podemos autenticar un mensaje usando para ello
slo una funcin hash. Es esto verdadero? Por qu?
8. Por qu se dice que una firma digital tiene condiciones ms fuertes
que una firma manuscrita?
9. Por qu es importante que la firma digital dependa del mensaje?
10. Firme digitalmente con RSA el mensaje M = 121 si los datos del
firmante son p = 19; q = 31, d = 149. Compruebe la firma.
11. Con p = 331 y clave privada 15, vamos a firmar digitalmente con
ElGamal el mensaje M = 250 . Para ello, elija los valores ms
pequeos posibles de los parmetros y h. Compruebe la firma.
12. Repita el ejercicio 10 con DSS y valores propuestos por Ud.
Tema 15
Certificados Digitales
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 11 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 688
Nota del autor
El contenido de este archivo
corresponde a una primera
introduccin bsica sobre
certificados digitales, en
particular X.509, y el
intercambio de stos entre
cliente y servidor para una completa autenticacin. En
este ao 2003 se ir ampliando este captulo de forma
que en la prxima versin de este libro se pueda contar
con ya con un tema de certificacin digital y Autoridades
de Certificacin como debe corresponder a un curso de
criptografa y seguridad informtica.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 689
Qu son los certificados digitales?
Un certificado digital es un documento que
contiene diversos datos, entre ellos el nombre de
un usuario y su clave pblica, y que es firmado
por una Autoridad de Certificacin (AC).
Como emisor y receptor confiarn en esa AC, el
usuario que tenga un certificado expedido por
ella se autenticar ante el otro, en tanto que su
clave pblica est firmada por dicha autoridad.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 690
Certificado digital X.509
X.509 est basado en criptografa asimtrica y firma digital.
En X.509 se define un framework (una capa de abstraccin)
para suministrar servicios de autenticacin a los usuarios del
directorio X.500.
La autenticacin se realiza mediante el uso de certificados.
- Un certificado contiene: el nombre de la AC, el nombre
del usuario, la clave pblica del usuario y cualquier otra
informacin como puede ser un un indicador de tiempo
o timestamp.
- El certificado se cifra con la clave privada de la AC.
- Todos los usuarios poseen la clave pblica del AC.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 691
Formato del certificado digital X.509
Funcin hash que se cifra con
la clave privada de la AC
N de serie
Algoritmo
Parmetros
Autoridad de Certificacin
Inicio de la validez
Caducidad de la validez
Nombre del usuario
Algoritmo
Parmetros
Clave pblica del usuario
Identificador del algoritmo
Perodo de validez
Clave pblica que se firma
Versin
Firma de la AC
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 692
Campos del certificado digital X.509
V: Versin del certificado (actualmente V3).
SN: Nmero de serie.
AI: identificador del algoritmo de firma que sirve para identificar el
algoritmo usado para firmar el paquete X.509.
CA: Autoridad certificadora.
T
A
: Periodo de validez.
A: Propietario de la clave pblica que se est firmando.
P: Clave pblica ms identificador de algoritmo utilizado y ms
parmetros si son necesarios.
Y{I}:Firma digital de Y por I usando la clave privada de la unidad
certificadora.
CA<<A>> = CA { V, SN, AI, CA, T
A
, A, AP }
Y<<X>> es el certificado del usuario X expedido por la autoridad certificadora Y.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 693
Autoridades de Certificacin
B
Autoridad de Certificacin AC
c
l
a
v
e
p
b
l
i
c
a
A
C
c
l
a
v
e
p
b
l
i
c
a
A
C
AC
A
Autoridad de Certificacin es un
ente u organismo que, de acuerdo
con unas polticas y algoritmos,
certificar -por ejemplo- claves
pblicas de usuarios o servidores.
certificado de B
certificado de A
El usuario A enviar al usuario B
su certificado (la clave pblica
firmada por AC) y ste comprobar
con esa autoridad su autenticidad.
Lo mismo en sentido contrario.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 694
Elementos de una AC
El sistema de autenticacin debe tener:
Una poltica de certificacin
Un certificado de la CA
Los certificados de los usuarios (X.509)
Los protocolos de autenticacin, gestin y obtencin
de certificados:
Se obtienen de bases de datos (directorio X.500)
O bien directamente del usuario en tiempo de
conexin (WWW con SSL)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 695
Algunas caractersticas de diseo de la AC
Deber definirse una poltica de certificacin
Ambito de actuacin y estructura
Relaciones con otras ACs
Deber definirse el procedimiento de certificacin
para la emisin de certificados:
Verificacin on-line
Verificacin presencial
Deber generarse una Lista de Certificados Revocados
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 696
Funcionamiento de una AC
Puesta en marcha de la AC:
Generar su par de claves
Proteger la clave privada con una passphrase
Generar el certificado de la propia AC
Distribucin del certificado de la AC:
A travs del directorio X.500
Por medio de pginas Web
Podr certificar a servidores y a clientes
Fin del Tema 15
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 15: Certificados Digitales
Diapositiva 697
Cuestiones y ejercicios
1. Qu es lo que certifica un certificado digital?
2. Solicitamos un certificado digital a una empresa. Est nuestra clave
privada entre los datos que nos solicita para el alta?
3. Si un certificado digital pierde la validez, qu debemos hacer?
4. Por qu una Autoridad de Certificacin firma una funcin hash?
5. Si Ud. fuese una Autoridad de Certificacin, qu condicin pondra
para expedir con seguridad un certificado a un usuario?
6. Una Autoridad de Certificacin emite certificados digitales de hasta
1.024 bits y duracin un ao. Si ella tiene un certificado digital raz
de 2.048 bits, sera lgico plantear una validez de ste por 10 aos?
7. Qu es y cundo se solicita la revocacin de un certificado digital?
8. Qu significa que la Autoridad de Certificacin deba gestionar una
lista de certificados revocados?
Tema 16
Aplicaciones Criptogrficas
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 83 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 700
Resumen de los sistemas de clave secreta
Pros y contras de los Sistemas de Clave Secreta
El emisor y el receptor comparten una misma clave.
La seguridad depende slo del secreto de la clave.
La velocidad de cifra es muy alta y los sistemas con un
espacio de clave grande son muy seguros.
Permiten autenticar los mensajes con MACs.
`
... pero
Es imposible establecer un sistema de distribucin y
gestin de claves eficiente entre emisor y receptor.
Carecen de una firma digital en sentido amplio.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 701
Resumen de los sistemas de clave pblica
Pros y contras de los Sistemas de Clave Pblica
Emisor y receptor generan un par de claves, pblica y
privada, relacionadas por una funcin con trampa.
Emisor y receptor de un mensaje usan claves diferentes
para las operaciones de cifrado, descifrado y firma.
La seguridad del sistema va asociada a la resolucin de un
problema matemtico difcil.
Tiene firma digital: autenticacin de mensaje y del emisor.
`
... pero
Es necesario contar con mecanismos de certificacin
para asegurar la veracidad de las claves pblicas: ACs.
Son sistemas de cifra muy lentos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 702
El correo electrnico seguro
A comienzos de los aos 90 hacen su aparicin
dos sistemas de correo electrnico seguro:
PEM (Private Enhanced Mail)
PGP (Pretty Good Privacy)
De los dos, ha sido PGP quien se ha convertido en un
estndar de hecho en clientes del e-mail seguro. Por
lo tanto veremos slo algunos aspectos genricos de
PEM y analizaremos ms en profundidad PGP.
Su estudio nos permitir ver una aplicacin real de
los sistemas de cifra y firma analizados en el curso.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 703
Private Enhanced Mail PEM
Es una propuesta de la IETF Internet Engineering Task
Force en 1985. El documento tcnico se publica en 1993.
Las especificaciones tcnicas estn en las RFCs Request
For Comments nmeros 1421, 1422, 1423 y 1424.
Se usa conjuntamente con el protocolo SMTP Simple Mail
Internet Protocol.
Cifrado de la informacin: DES modo CBC.
Generacin y gestin de claves: RSA de 508 a 1024 bits.
Estructura de certificados segn la norma X.509.
Clave de sesin: DES modo ECB, TripleDES-EDE.
Firma digital: RSA, MD2, MD5.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 704
Implementacin de PEM
Es compatible con otros modelos de mensajera como, por
ejemplo, X.400.
PEM se implementa en el nivel de aplicacin:
es independiente de los protocolos de los niveles OSI o
TCP/IP inferiores.
es independiente de los sistemas operativos o del
ordenador.
Se puede implementar como un mdulo independiente que
trabaje con el cliente de correo habitual para el usuario.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 705
Servicios de seguridad en PEM
Servicios de seguridad contemplados:
Autenticacin del origen.
Confidencialidad.
Integridad del mensaje.
No repudio del origen cuando se utiliza gestin de clave
con algoritmo de clave asimtrica.
Servicios de seguridad no contemplados:
Control de acceso.
Confidencialidad del trfico de mensajes.
No repudio del mensaje por parte del receptor.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 706
Formato e implementacin de PEM
TIS/PEM
Plataformas UNIX. Trusted Information
System. Cdigo fuente disponible para
los ciudadanos o empresas de Estados
Unidos y Canad. Usa una jerarqua de
certificacin mltiple.
RIPEM
Implementa parte de los protocolos PEM
sin certificados para autenticacin de
claves. Gratuito para aplicaciones no
comerciales. Exportacin prohibida fuera
de Estados Unidos. Existen versiones
utilizadas en todo el mundo.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 707
Pretty Good Privacy PGP
Philip Zimmermann publica la versin 1.0 de PGP en
1991 con mnimos requisitos de hardware y software.
En 1992 aparece la versin 2.0 en la que ya participan
programadores de todo el mundo. Su cdigo se escribe
fuera de USA para evitar las leyes restrictivas respecto al
software criptogrfico y sus problemas legales.
En 1993 aparece la versin 2.3a muy popular en sitios FTP
y vlida para varias plataformas de sistemas operativos.
En 1994 participa en el proyecto el Massachusetts Institute
of Technology MIT y aparecen las versiones 2.4, 2.5 y 2.6.
La versin 2.6.3i se populariza a nivel mundial.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 708
Nota aclaratoria sobre versiones de PGP
Aunque hay ms de una oferta de software para correo seguro que
el programa PGP, ste se ha convertido en un estndar de hecho.
Si bien las ltimas versiones del programa orientadas a entornos
Windows presentan altas prestaciones, las operaciones bsicas
siguen siendo las mismas que en la conocida versin 2.6.3i.
Las nuevas versiones de PGP en entorno Windows cambian muy
rpidamente por lo que resulta muy difcil tener unos apuntes
permanentemente actualizados. Por ello, se usar la versin 2.6.3i
como versin simple para la explicacin de las operaciones de
cifra y firma con PGP y, posteriormente, haremos un repaso de las
caractersticas de la versiones 6.5.1 y 8.0, la ltima a la fecha.
La filosofa de las nuevas versiones es exactamente la misma
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 709
Tutorial de PGP 2.6.3i
Si no conoce PGP o no ha trabajado nunca con este
entorno, le recomiendo que descargue desde la pgina
Web de la Red Temtica CriptoRed el archivo del
Tutorial de PGP 2.6.3i en formato HTML.
Esta aplicacin, obra de D. David Lin Zayas, alumno
que realiz este proyecto como su Tesis Fin de Carrera
tutorizado por el autor de estos apuntes, le servir para
aprender rpidamente los comandos y prestaciones de
esta versin de PGP, muy similar a las actuales. Adems
PGP 2.6.3i ocupa menos que un disquete de 1,4 MB.
http://www.criptored.upm.es/paginas/software.htm
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 710
Caractersticas de PGP 2.6.3i
PGP, en su versin 2.6.3i (internacional) se convirti a
mediados de la dcada de los 90 en un estndar de hecho.
De hecho, muchos usuarios siguen fieles a esta versin.
Cifra todo tipo de datos en entornos MS-DOS y UNIX. Su
orientacin principal es el cifrado de los datos y la firma
digital en correo electrnico.
Los algoritmos bsicos que usa son:
IDEA para cifrar con sistema de clave secreta.
RSA para intercambio de claves y firma digital.
MD5 para obtener la funcin hash de la firma digital.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 711
Algoritmos usados en PGP 2.6.3i
Compresin ZIP
Se comprime el mensaje en claro y la firma para
almacenarlo o transmitirlo.
Generacin de claves RSA, MD5
Genera una clave pblica y otra privada, encontrando
dos nmeros primos muy grandes. El valor privado se
guarda cifrado con IDEA usando como clave un resumen
MD5 de la frase de paso secreta.
Cifrado Convencional IDEA
Cifra el mensaje con una clave de sesin de 128 bits
(nica) generada en el emisor de forma aleatoria.
Intercambio de claves IDEA, RSA
Cifra la clave de sesin IDEA con la clave pblica del
destinatario con RSA y la aade en el criptograma.
Firma Digital MD5, RSA
La funcin hash MD5 genera un resumen de 128 bits,
que representa al mensaje en claro completo, y que se
cifra en RSA con la clave privada del emisor. Se aade
al mensaje enviado.
Compatibilidad e-mail Base-64
Permite transmitir el mensaje a todo tipo de aplicaciones
e-mail. Convierte los octetos en caracteres imprimibles.
Segmentacin
Divide el criptograma final en bloques de menos de
50.000 bytes para su correcta transmisin en Internet y
su recuperacin.
- Operacin - - Algoritmo - - Descripcin de su funcin -
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 712
Caractersticas del cifrado local
O Esta operacin sirve para mantener los archivos
protegidos, por ejemplo en el disco duro.
O El acceso al texto en claro slo ser posible si se
conoce una clave o contrasea que es la frase de
paso usada al cifrar.
O Recuerde que si despus de cifrar el archivo borra
fsicamente el texto en claro -operacin que
realiza una grabacin de unos y ceros aleatorios
en la zona de almacenamiento del disco- le ser
imposible recuperarlo si olvida la contrasea.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 713
Pasos del cifrado local con IDEA
Pasos:
1. PGP solicita una frase de paso: sta debe ser lo
suficientemente larga como para evitar ataques por
combinaciones.
2. Se aplica el algoritmo de resumen MD5 a esa
contrasea, generando as una clave de 128 bits.
3. PGP cifra el documento con el algoritmo IDEA y le
pone como extensin .pgp.
4. Permite luego hacer un borrado fsico del archivo
en claro.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 714
Esquema de cifrado local con IDEA
Mensaje en
claro
Clave Local
de 128 bits
Mensaje
cifrado
El documento se comprime
con el algoritmo ZIP
El archivo cifrado
puede guardarse,
por ejemplo, en
disco.
Borrado del texto
en claro opcional.
La contrasea es una frase de paso.
Se recomienda que tenga espacios,
signos y caracteres de puntuacin
CONTRASEA
Cada nuevo cifrado requiere una contrasea. Esta puede ser igual o distinta.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 715
Operaciones con claves asimtricas
Las operaciones de PGP para cifrar, descifrar, firmar y la
comprobacin posterior de la firma digital, usan los
algoritmos de funciones hash, de clave pblica y de clave
secreta ya vistos en captulos anteriores.
Para poder enviar y recibir correo seguro, es necesario
contar al menos con las siguientes claves:
Clave pblica del destinatario.
Par de claves asimtricas del emisor.
Generacin de claves con RSA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 716
Generacin de claves asimtricas tipo RSA
Una vez instalado PGP, se procede a la generacin de
claves asimtricas del usuario propietario.
Se elige el tamao del mdulo n, por ejemplo 1.024 bits.
PGP generar un par de nmeros primos e (clave pblica)
y d (clave privada) de forma que ed mod (n) = 1.
Para una mayor facilidad en el descifrado en destino, el
valor de la clave pblica e ser pequeo (un valor tpico es
el nmero primo 65.537 = 2
16
+1).
PGP pedir una contrasea o passphrase y con ella y MD5
generar una clave de 128 bits con la que cifrar la clave
privada antes de almacenarla en el disco.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 717
Anillos de claves asimtricas
Con las claves pblica y privada generadas y otras
claves pblicas que podr importar de otros usuarios,
se crean dos anillos de claves:
Anillo de claves pblicas: archivo pubring.pgp
en el que se guardan las claves pblicas del
usuario propietario (puede tener ms de una
identidad) y las claves pblicas de importadas.
Anillo de claves privadas: archivo secring.pgp
en el que se guarda la o las claves privadas del
usuario propietario.
Nota: estos anillos cambiarn su extensin en
las nuevas versiones.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 718
Estructura del anillo de claves privadas
Sellado de tiempo Clave ID* Clave pblica Clave privada cifrada ID usuario
T
1
e
1
mod 2
64
Clave pb. 1 Clave priv. 1 Usuario 1
--- --- --- --- ---
T
i
e
i
mod 2
64
e
i
E
H(FPi)
(d
i
) Usuario i
--- --- --- --- ---
T
n
e
n
mod 2
64
Clave pb. n Clave priv. n Usuario n
Descripcin de los campos
(*) Se usa este campo para la indexacin de la tabla en ambos anillos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 719
Campos de los anillos de claves
Sellado de tiempo:
Fecha y hora de la generacin del par de claves.
Clave ID:
Identificador de clave (ltimos 64 bits de la clave pblica e).
Clave pblica:
Nmero primo e, inverso del primo d en el cuerpo (n).
Clave privada cifrada:
Cifra E
H(FPi)
de la clave privada d con IDEA y la funcin hash
de la frase de paso del propietario como clave secreta.
ID usuario:
Identificacin del usuario, normalmente direccin de email.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 720
Estructura del anillo de claves pblicas (1)
Sellado de tiempo Clave ID* Clave pblica Confianza propietario ID usuario
T
1
e
1
mod 2
64
Clave pb. 1 flag_confianza 1 Usuario 1
--- --- --- --- ---
T
i
e
i
mod 2
64
e
i
flag_confianza i Usuario i
--- --- --- --- ---
T
n
e
n
mod 2
64
Clave pb. n Clave priv. n Usuario n
...
...
...
...
contina en prxima diapositiva
(*) Se usa este campo para la indexacin de la tabla en ambos anillos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 721
Estructura del anillo de claves pblicas (2)
Legitimacin de clave Firma(s) Confianza de Firmas
flag_confianza 1
--- --- ---
flag_confianza i
--- --- ---
flag_confianza n
...
...
...
...
viene de la diapositiva anterior
Con la clave pblica del destinatario ya podemos
enviar el correo cifrado y/o firmado. Pero ...
cmo se gestionan las claves en PGP?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 722
Gestin del anillo de claves pblicas
?
?
?
A1 Nivel A
B1 B2 B3 Nivel B
C2 C4 C5 C1 C3 Nivel C
D1
Nivel D
X Y
X es firmado por Y
Propietario del anillo
A1 cree en el propietario de la clave para firmar otra clave
ms
A1 cree parcialmente en el propietario de la clave para firmar otra clave
La clave est firmada por un
usuario o Autoridad que no
est en anillo de claves de A1
A1 cree en legitimidad de clave
?
A1 no cree que la clave sea legtima
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 723
Otros escenarios de confianza en PGP
D1
?
A1
B1 B3
C2 C1
D2
X Y
X es firmado por Y
B2
?
C1
Otras situaciones en anillo de claves
D1 D1
Nodo hurfano
con firmas no
reconocibles
C1 D1
estados iniciales
?
Observe cambios
en estados finales
A1 cree en el propietario de la clave para firmar otra clave
A1 cree parcialmente en el propietario de la clave para firmar otra clave
PGP hace que A1 crea en la legitimidad de las claves pues tienen al menos dos
firmas parciales (B1-B2)o una completa (C2) pero no da confianza para firmar
A1 no cree que la clave sea legtima
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 724
Problema en estos escenarios de confianza
La gestin de claves en PGP se
basa en la confianza mutua:
los amigos de tus amigos son
mis amigos!
- En un sistema abierto en Internet como puede ser el
comercio electrnico, esta situacin y otras ms que
pueden darse en este sistema de gestin de claves de
confianza mutua, resulta inaceptable.
- La solucin, que PGP ya contempla en sus ltimas
versiones, es la aceptacin de las Autoridades de
Certificacin como certificadores de claves pblicas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 725
Pasos cifrado con clave pblica de destino
Pasos:
1. PGP genera un nmero aleatorio de 128 bits que
ser la clave de sesin.
2. Se cifra el mensaje con dicha clave usando IDEA.
3. Se cifra la clave de sesin con la clave pblica RSA
del destinatario y se aade al criptograma.
4. Se aade el identificador ID de la clave pblica del
destinatario a la clave de sesin cifrada en el paso 3
como indicativo de la identidad del receptor.
Recuerde que el correo electrnico no es en general una comunicacin
en tiempo real por lo que, aunque se enva una clave para descifrar el
criptograma en recepcin, no se trata de una clave de sesin en los
mismos trminos que se usa, por ejemplo, en una comunicacin SSL.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 726
Cifrado con clave pblica de destino
Mensaje en
claro
Clave pblica
del destinatario
Mensaje
cifrado
Clave de
sesin
cifrada
Clave
de
sesin
Se busca en el anillo de
claves pblicas del emisor
Necesitamos una
clave de sesin...
Por compatibilidad de
sistemas clientes de
correo, se le aade
armadura (Base 64)
antes de transmitirlo
El documento se comprime
antes con el algoritmo ZIP
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 727
Pasos descifrado con clave privada destino
Pasos:
1. PGP busca en la cabecera del criptograma el
identificador de usuario ID (receptor) que se ha
aadido en la clave de sesin cifrada.
2. Se busca la clave privada del identificador ID en el
anillo de claves privadas del receptor.
3. Se accede a la clave privada en claro, descifrndola
con IDEA al introducir el propietario ID su frase de
paso. Slo en ese momento est en claro.
4. Con la clave privada se descifra la clave de sesin.
5. Con la clave de sesin se descifra el criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 728
Descifrado con la clave privada de destino
Mensaje
cifrado
Clave de
sesin
cifrada
Clave privada
destino cifrada
Clave privada
descifrada
Clave
de
sesin
Mensaje en
claro
Se ha quitado la armadura y se descomprime
Se busca en el anillo de
claves privadas del receptor
CONTRASEA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 729
Firma digital RSA
Mensaje en
claro
Bloque de
firma
digital
Mensaje en
claro
Clave privada
cifrada IDEA
Clave privada
descifrada
Se va a firmar un mensaje en claro
Necesitamos nuestra
clave privada...
Si se desea se puede
enviar tambin cifrado
CONTRASEA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 730
Comprobacin de la firma digital RSA
Mensaje en
claro recibido
Se calcula en destino la funcin hash del mensaje y comparamos
IGUALES ?
Firma
correcta
Firma
incorrecta
S
No
H(M)
enviado
H(M)
calculado
Clave pblica
del emisor
Bloque de
firma digital
Se busca la clave pblica del
emisor para descifrar la firma
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 731
Formato de un mensaje PGP dirigido a B
NOMBRE DEL FICHERO
IDENTIFICADOR DE CLAVE PUBLICA DEL RECEPTOR
CLAVE DE SESION
SELLO DE TIEMPO
IDENTIFICADOR DE CLAVE PUBLICA DEL EMISOR
RESUMEN DEL MENSAJE
TEXTO DEL USUARIO
COMPONENTES
DE LA FIRMA
COMPONENTES
DEL MENSAJE
DOS PRIMEROS OCTETOS DEL RESUMEN
SELLO DE TIEMPO
COMPONENTES DE
CLAVE DE SESION
Orden de las operaciones
R64
E(e
B
)
ZIP
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 732
Los tiempos cambian, pero ...
La mtica versin de PGP 2.6.3 del MIT se convierte rpidamente
en el software de libre distribucin freeware ms popular en el
mundo de los PCs y especialmente en entornos de correo
electrnico: usa cifra y firma con criptografa calificada como fuerte.
Las versiones en entorno Windows a travs de Network Associates
presentan opciones avanzadas, servicios de red para seguimiento
de paquetes y autenticacin mediante Autoridades de Certificacin.
Existe una versin freeware para usos no comerciales .
Las versiones 5 y 6 tuvieron su cdigo fuente abierto, en la 7 el
cdigo deja de ser pblico y la nueva versin 8.0 (diciembre
2002) ahora con PGP Corporation ha liberado otra vez el cdigo.
Ha vuelto otra vez la cordura? Aqu puede haber varias opiniones....
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 733
Algoritmos en nuevas versiones de PGP
Generacin de claves
RSA: 1.024, 1.536, 2.048 bits
Diffie y Hellman: 1.024, 1.536, 2.048, 3.072, 4.096 bits
Firma digital
DSS Digital Signature Standard 1.024 bits
Cifrado
CAST, IDEA, TripleDES, AES, Twofish
Resumen
SHA-1 (160 bits) y MD5 (128 bits)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 734
Algunas versiones de PGP en Windows
Desde la versin 5.0 hasta la actual 8.0 en el momento de escribir este
libro (febrero de 2003) los esquemas de cifra y firma digital han cambiado
muy poco aunque presentan mayores prestaciones. No obstante, recuerde
que algunas prestaciones slo estarn activadas en versiones comerciales.
PGP 7.0.3
PGP 6.5.1 PGP 8.0
Veremos algunas operaciones de estas tres versiones con mayor detalle.
Recuerde, eso s, que la versin 7.0.3 no tiene su cdigo fuente abierto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 735
Instalacin de la versin PGP 6.5.1
PGP 6.5.1 internacional aparece en el ao 1999. Puede
considerarse como una de las versiones seguras mejor
optimizadas desde la primera en entorno Windows.
Puede descargar
estas versiones
desde el servidor
http://www.pgpi.org
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 736
Carpetas y programas de PGP 6.5.1
Encontrar aqu
un excelente
manual de PGP
en formato PDF
Tal vez el programa ms
importante de PGP
La instalacin crear esta carpeta
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 737
Opciones generales de PGP 6.5.1
- La generacin rpida
de claves slo puede
hacerse para valores
DH de una longitud
predeterminada.
- Se puede limitar el
tiempo de descifrado
de la frase de paso en
memoria cach.
- El borrado fsico de
datos y ficheros se
hace escribiendo 1s y
0s aleatorios en los
cluster, desde 8 hasta
32 veces.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 738
Opciones de ficheros de PGP 6.5.1
- Los archivos donde
guarda las claves
pblicas y claves
privadas siguen
llamndose pubring y
secring pero ahora, a
diferencia de versiones
anteriores, usa como
extensiones pkr.
- El archivo de semilla
permite generar
nmeros aleatorios
para crear claves.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 739
Opciones de e-mail de PGP 6.5.1
- El PGP/MIME slo
funciona con plugins.
- Se puede pedir que
cifre, firme o descifre
y compruebe firma por
defecto al enviar o
abrir mensajes.
- Si usa Secure Viewer,
al descifrar un archivo
ste slo se muestra en
la pantalla usando para
ello una tcnica de
enmascarado que evita
los ataques por captura
de radiofrecuencias del
teclado, TEMPEST.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 740
Opciones de atajos de PGP 6.5.1
- La opcin de usar
teclas para atajos es
poco interesante pero
puede activarse si se
desea.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 741
Opciones de servidores de PGP 6.5.1
- A estos servidores se
puede enviar nuestra
clave pblica para que
los usuarios accedan
ms fcilmente a ella.
- Es interesante estar
sincronizado con el
servidor por el tema de
las claves revocadas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 742
Opciones de ACs de PGP 6.5.1
Tambin
VeriSign OnSite
y Entrust
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 743
Opciones avanzadas de PGP 6.5.1
- IDEA era en versiones
anteriores el algoritmo
de cifra por defecto.
- El aviso sobre uso de
Additional Decryption
Key (ADK) significa
que el administrador
del sistema puede usar
una clave extra que le
permita descifrar lo
cifrado, en caso de
necesidad o por un
requerimiento judicial.
- El formato compatible
es el cdigo base 64.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 744
El programa PGPtray de acceso directo
Si PGPnet est instalado, en la
barra de tareas, al lado del
candado de PGPtray, nos
aparecer un icono vertical
como se ve en la figura.
- La ventana actual cifra
texto y no documentos
con formato.
- El uso de portapapeles
es la solucin si no
tenemos el plugin para
correo electrnico.
Barra de tareas del PC
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 745
Barra flotante de PGPtools
PGPkeys
Encrypt
Sign
Encrypt & Sign
Decrypt/Verify
Wipe
Freespace Wipe
No es muy cmodo y resulta mejor usar
el men contextual con el botn derecho
del ratn. En este caso
sobre el archivo Kerberos_borrador.doc
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 746
Generacin de claves con PGPkeys 6.5.1
Esta es la primera pantalla que aparece una vez instalado PGP.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 747
Nombre del usuario y su correo
- No es necesario que
la direccin de
correo sea la real.
No obstante sirve
para los que se
comunican con
nosotros sepan que
esa clave pertenece
a esa direccin de
email.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 748
Eleccin del tipo de clave asimtrica
- El estndar para la
generacin de las
claves asimtricas
es en la actualidad
Diffie y Hellman
junto con la Digital
Signature Standard,
y se representar
como DH/DSS.
- Tambin puede usar
claves RSA que son
compatibles con las
versiones anteriores
de PGP.
Habr nuevas
sorpresas en
otras versiones
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 749
Eleccin de la longitud de la clave
- Si genera claves de
longitud distinta a
los valores que se
proponen, puede
tardar bastante
tiempo generarlas.
Algo similar sucede
si no usa la opcin
generacin rpida
de claves.
- Es recomendable
que use una clave
de 2.048 bits. Esta
se generar slo en
esta fase.
`
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 750
Clave sin caducidad
- Puede optar porque
su clave no caduque
nunca eligiendo esa
opcin.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 751
Clave con caducidad
- Puede optar que la
clave caduque de
acuerdo con un
calendario que nos
muestra PGP. En el
ejemplo la clave era
vlida desde el 4 de
junio de 2000 al 4
de junio de 2001.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 752
Frase de paso para cifrar la clave privada
- La frase de paso
debe tener varias
palabras para que
sea difcil un ataque
por diccionario.
- Si quita la opcin
Hide Typing podr
ver lo que escribe.
- Por seguridad, no
est permitido usar
el portapapeles para
copiar la frase de
arriba en la casilla
de confirmacin.
No muy buena
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 753
Generacin de los nmeros primos
- PGP genera dos
primos tanto para
las claves RSA (los
valores p y q) como
para DH/DSS, en
este caso el primo p
para el intercambio
de clave y el primo
q para la firma DSS.
- Normalmente tarda
pocos segundos si
se eligen los valores
estndar que nos
propone PGP.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 754
Envo de la clave al servidor de claves
- Se puede enviar la
clave a un servidor.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 755
Generacin de clave concluida
- Se ha concluido
satisfactoriamente la
generacin del par
de claves pblica y
privada que se
guardarn en los
anillos pubring.pkr
y secring.pkr.
- La clave privada se
guarda cifrada con
una clave de sesin
que se genera al
aplicar una funcin
hash a la frase de
paso del propietario.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 756
Visualizacin de la clave de Benito
Por defecto, el propietario se firma la clave pblica con su clave privada.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 757
Exportacin de la clave pblica de Benito
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 758
Claves de dos usuarios para un ejemplo
U1
U2
Frase de paso para descifrar la clave privada de este usuario
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 759
Inclusin de fotografa en clave pblica
Usuario al que se
le aade una
fotografa en
propiedades.
Se firma la fotografa
En negrita el usuario por defecto
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 760
Las claves pblicas del ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 761
Definir un usuario por defecto
El usuario en negrita
es aquel que se ha
definido por defecto.
En cursiva: usuario
cuya clave ha sido
revocada o bien ha
caducado su validez.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 762
Ejemplo de cifra y firma con portapapeles
Era el usuario
por defecto
El texto se escribe
con WordPad o con
el Bloc de Notas y
luego se copia al
portapapeles.
Si lo desea tambin
puede crear el texto
con la opcin Edit y
copiarlo luego al
portapapeles.
Las operaciones
(slo sobre textos)
se realizarn en el
portapapeles por lo
que en este entorno
no crear archivos.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 763
Destinatario y frase de paso para la firma
Al trabajar con el portapapeles,
el archivo cifrado siempre
estar en formato base 64.
Se elige el destino y se
arrastra hacia la zona de
destinatarios. Puede ser
ms de uno y hacerlo con
doble clic. Para quitar a
un receptor se hace doble
clic sobre l.
Como se va a firmar, PGP
pedir la frase de paso del
emisor, la agente Scully.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 764
Documento portapapeles formato base 64
Todo el texto que hay en
el portapapeles, incluido
BEGIN PGP y END PGP,
puede ahora copiarse en
el cuerpo del cliente de
correo electrnico.
Si desea enviar por el
cliente de correo un
archivo adjunto cifrado
y/o firmado, deber crear
primero ese documento
con cualquier programa
como Word, Excel, etc. y
aplicar sobre el archivo el
men contextual del
botn derecho del ratn.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 765
Descifrado del criptograma por destinatario
Introducimos la clave solicitada
para descifrar...
Aunque el usuario por defecto era
Scully, al pedir descifrar lo del
portapapeles, PGP detecta que el
receptor es el usuario Mulder.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 766
Mensaje en claro y firma comprobada
Comprobacin de la firma
Descifrado del
criptograma
Texto en claro
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 767
Otras operaciones con PGP
PGP permite hacer otras operaciones interesantes:
Dividir (split) una clave privada en varias subclaves, de
forma que para deshacer una operacin de cifra o firmar un
documento se requiere un umbral de estas subclaves dadas
por diseo. Est basado en el esquema de Blakely-Shamir.
Firmar las claves pblicas de otros usuarios con distintos
niveles de confianza.
Revocar una clave, habilitar o deshabilitar una clave.
Enviar, buscar y actualizar claves desde servidores.
Cifrar con la opcin slo para tus ojos, crear grupos, etc.
Le recomiendo que stas y otras operaciones las realice
a modo de ejercicio, instalando en su PC el programa.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 768
PGP versin 7.0.3
Es bsicamente el mismo programa de la versin 6.5.1 pero
con ligeras diferencias:
Los mayores cambios se observan en men PGP Options.
Incluye opcin de descifrado automtico muy interesante.
Incluye dos nuevos algoritmos: AES y Twofish
La creacin de claves es de forma automtica DH/DSS con
1.024 bits. Si queremos crear claves RSA, debemos entrar
obligatoriamente en la opcin experto.
Aade opciones de configuracin de VPNs.
El peor inconveniente es que su cdigo no es pblico por lo que nadie
puede asegurar que el programa haga exactamente lo que dice que hace,
por ejemplo la fortaleza de la cifra, proteccin ante ataques tempest, etc.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 769
Opciones de VPN en PGP 7.0.3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 770
Autenticacin VPN en PGP 7.0.3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 771
Opciones VPN avanzadas en PGP 7.0.3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 772
Cifrado local de ficheros con PGP 7.0.3
Podemos usar el
botn derecho del
ratn sobre archivo
Leame.doc...
Elegimos la opcin cifrado convencional
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 773
Descifrado de ficheros con PGP 7.0.3
El archivo queda cifrado, con icono de
PGP y extensin pgp. Observe que el
archivo original permanece porque no
hemos activado la opcin wipe original.
Pinchando dos veces sobre el icono...
Si olvidamos la clave y usamos wipe,
nunca podremos recuperar el archivo!
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 774
Cifrado en modo SDA con PGP 7.0.3
Opcin SDA: Self
Decrypting Archive
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 775
Descifrado SDA con PGP 7.0.3
Este archivo
ejecutable se descifra
de forma automtica
en recepcin sin
necesidad de que el
usuario tenga
instalado PGP.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 776
Borrado fsico de archivos con PGP 7.0.3
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 777
PGP versin 8.0
Las operaciones sobre archivos para cifra y firma digital
siguen siendo muy similares a las versiones anteriores. La
oferta de producto, adems de la versin freeware contempla:
PGP Desktop
PGP Desktop Upgrade to Enterprise
PGP Enterprise
PGP Mobile
PGP Personal
Adems de las carpetas de instalacin, veremos algunas
de las opciones de configuracin con diferencias notables
respecto a las versiones anteriores.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 778
Carpeta e iconos de PGP versin 8.0
La versin 8.0 se instala en
la carpeta PGP Corporation
que cuelga de la carpeta de
C:/Archivos de Programa.
Incluye un nuevo
programa: PGPdisk
El programa PGPmail
es el antiguo PGPtools
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 779
Programa PGPdisk
El programa PGPdisk
permite montar una
seccin del disco como si
se tratase de una unidad
ms en su PC.
De esta forma toda la
informacin que all se
almacene estar protegida
por una clave.
Desgraciadamente esta
opcin no viene incluida
en la edicin freeware.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 780
Opciones generales de PGP 8.0
Incluye al igual que en la
versin 7.03 la opcin de
Single Sign On. Consiste
en permitir la firma
digital de documentos
durante un tiempo dado,
sin tener que introducir
en cada uno de ellos la
frase de paso para
acceder a clave privada.
Las dems opciones son
las mismas, con ligeras
modificaciones.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 781
Opciones avanzadas de PGP 8.0
El algoritmo por defecto
es el nuevo estndar
AES (Rijndael) y cambia
Blowfish por Twofish.
Incluye la opcin de usar
tarjetas inteligentes para
almacenar y gestionar
claves.
Se puede configurar un
backup automtico del
anillo de claves al cerrar
el programa.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 782
Acceso a Wipe Free Space desde PGPmail
Desde PGPtray se
accede a PGPmail
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 783
Free Space Wipe con PGP 8.0
Seleccionamos la unidad en la que
vamos a borrar archivos temporales y
el espacio libre al final del cluster de
cada archivo del disco.
Se elige el nmero de pasos que
har el programa de borrado.
Nota: es una accin que toma
bastante tiempo. En este caso
de unidad A:\ y con slo dos
archivos, tres pasadas han
significado ms de 7 minutos
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 784
Estndar PKCS
PKCS: Public-Key Cryptography Standards. Conjunto de
especificaciones tcnicas desarrolladas por Netscape, RSA y
otros desarrolladores de informtica con el objeto de
uniformizar las tcnicas de criptografa pblica
Publicacin de la primera versin 1.0 en el ao 1991.
PKCS forma parte de distintos estndares de hecho como ANSI
X9, PKIX, SET, S/MIME y SSL.
A la fecha existen 14 documentos con ttulos genricos que van
desde PKCS #1 a PKCS #15. Los puede descargar desde el
servidor http://www.rsasecurity.com/rsalabs/pkcs/.
Mantendremos los ttulos originales en su versin en ingls de
RSA Security Inc. Public-Key Cryptography Standards PCKS.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 785
Documentos del estndar PKCS (2002)
PKCS #1: RSA Cryptography Standard
PKCS #2: Incluido ahora en PKCS #1
PKCS #3: Diffie-Hellman Key Agreement Standard
PKCS #4: Incluido ahora en PKCS #1
PKCS #5: Password-Based Cryptography Standard
PKCS #6: Extended-Certificate Syntax Standard
PKCS #7: Cryptographic Message Syntax Standard
PKCS #8: Private-Key Information Syntax Standard
PKCS #9: Selected Attribute Types
PKCS #10: Certification Request Syntax Standard
PKCS #11: Cryptographic Token Interface Standard
PKCS #12: Personal Information Exchange Syntax Standard
PKCS #13: Elliptic Curve Cryptography Standard
PKCS #15: Cryptographic Token Information Format Standard
Veremos slo un
breve resumen del
contenido del
estndar PKCS #1
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 786
PCKS #1 v2.1 del 14 de Junio 2002 (1)
PKCS #1: RSA Cryptography Standard
Tipos de claves: definicin de claves pblica y privada.
Conversin de primitivas: I2OSP (Integer-to-Octet-String primitive) y
OS2IP (Octet-String-to-Integer primitive).
Primitivas criptogrficas cifra: RSAEP (RSA encryption primitive) y
RSADP (RSA decryption primitive). En este ltimo caso se especifica
la operacin tpica para n = pq y la operacin para n = r
1
r
2
r
3
...r
u
.
Primitivas criptogrficas firma: RSASP1 (RSA signature primitive 1)
especificando la operacin tpica para n = pq y la operacin en caso
de que n = r
1
r
2
r
3
...r
u
y RSAVP1 (RSA verification primitive 1).
Esquemas de cifrado: RSAES-OAEP (RSA encryption scheme usando
Optimal Asymmetric Encryption Padding). Especificacin de las
operaciones de cifrado y descifrado.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 787
PCKS #1 v2.1 del 14 de Junio 2002 (2)
Esquemas de firma con apndice: RSASSA-PSS (RSA signature
scheme with appendix - Probabilistic Signature Scheme). Define la
firma y su verificacin.
Mtodos de codificacin para asignaturas con apndices: EMSA-PSS
(Encoding Method for Signatures with Appendix - Probabilistic
Signature Scheme). Define operaciones de codificacin y verificacin.
Sintaxis ASN.1: define los identificadores de objetos ANS.1 para las
claves pblica y privada RSA, RSAES-OAEP, RSASSA-PSS, etc.
Tcnicas soportadas: algoritmos funciones hash MD2, MD5, SHA-1 y
los propuestos SHA-256, SHA-384 y SHA-512 as como funciones de
generacin de mscaras: MGF1 (Mask Generation Function 1).
La patente de RSA ha expirado en septiembre de 2000 no as el nuevo
sistema de cifra RSA con mltiples primos.
Fin del Tema 16
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 788
Cuestiones y ejercicios (1 de 4)
1. Usando la tabla correspondiente represente en base 64 los siguientes
mensajes ASCII: M
1
= AMIGOS, M
2
= Qu pasa?
2. Instale una versin de PGP, vaya a la carpeta del programa y luego
imprima el documento que ver en la carpeta documentation.
3. Con cualquier versin de PGP cifre de forma local y con armadura
(base 64) un archivo que haya creado con el bloc de notas y observe
los rellenos que introduce en el criptograma y al final de l. Aada
una letra al texto en claro y vuelva a comparar los textos ASC.
4. Cifre el documento TXT anterior y observe la salida ASC. Vuelva a
cifrarlo y observe la salida. Coinciden? Qu ha pasado?
5. Es posible que PGP cifre un documento y ste salga en claro?
6. Por qu siempre se comprime el mensaje antes de cifrar?
7. Qu puede decir de la gestin de claves pblicas que ofrece PGP?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 789
Cuestiones y ejercicios (2 de 4)
8. Qu tipo de esquema de cifra es el que utiliza PGP?
9. Despus de instalar PGP en nuestro computador, qu es lo primero
que nos sugiere?
10. Qu diferencia hay entre elegir una clave DH/DSS y RSA?
11. Si creamos un nuevo par de claves asimtricas, queda el nuevo
usuario como usuario por defecto?
12. Cree tres nuevos usuarios Hugo, Paco y Luis con diferentes tipos y
longitudes de clave. Haga que entre ellos se firmen sus claves.
13. Incluya en cada uno una fotografa en sus propiedades. Puede ser
cualquier archivo con formato de imagen.
14. Qu sucede si creamos que un nuevo usuario Ana con una clave
tipo DH/DSS con una longitud exacta de 4.000 bits? Podemos
crear una clave RSA de 4.000 bits?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 790
Cuestiones y ejercicios (3 de 4)
15. Revoque una clave y observe sus propiedades. Se puede recuperar
esa clave? Puede deshabilitar una clave? Qu significa esto?
16. Cree el grupo Sobrinos con los usuarios Hugo, Paco y Luis. Enve
un mensaje a ese grupo eligiendo desde PGPkeys Show Groups.
17. Cree el usuario FirmaEspecial con frase de paso UnaFirmaEspecial
en la que intervengan 4 usuarios, cada uno con una porcin igual de
la clave y umbral 3. Cifre y firme un documento con dicha clave.
Podra alguien tener ms de una participacin de la clave?
18. Mediante el botn derecho del ratn cifre de forma local un archivo
por ejemplo de Word, en modo formato compatible. Vuelva a cifrar
el archivo original con otro nombre pero ahora sin formato base 64.
Cmo son ambos criptogramas? Cmo son sus tamaos en bytes?
19. Si se cifra un archivo txt con la opcin Secure Viewer, se guarda el
archivo descifrado? Es seguro? Puede hacerse con archivo Word?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 16: Aplicaciones Criptogrficas
Diapositiva 791
Cuestiones y ejercicios (4 de 4)
20. Cree el nuevo usuario Pepillo y exporte su clave a un archivo. Borre
ahora este usuario y desde PGPkey importe ese archivo de clave
pblica. Se aade el usuario al anillo de claves pblicas?
21. Qu pasa en un cifrado local de un archivo con self decrypting?
Comprubelo con un archivo cualquiera. Podramos usar esta
opcin si adems de cifrar vamos a firmar ese documento?
22. Qu significa actualizar una clave desde PGPkeys?
23. Aada un nuevo nombre a una clave. Para qu puede servir esto?
24. Qu son el KeyID y el Fingerprint? Qu utilidad puede tener que
la huella dactilar tambin est dada como un conjunto de palabras?
25. Si una clave est revocada, puede recibir archivos cifrados con su
clave pblica? Puede firmar nuevos documentos? Puede descifrar
y/o comprobar documentos anteriores a la fecha de revocacin?
Tema 17
Protocolos y Esquemas Criptogrficos
Seguridad Informtica y Criptografa
Ultima actualizacin: 03/03/03
Archivo con 72 diapositivas
Jorge Rami Aguirre
Universidad Politcnica de Madrid
Material Docente de
Libre Distribucin
v 3.1
Este archivo forma parte de un curso sobre Seguridad Informtica y Criptografa. Se autoriza la
reproduccin en computador e impresin en papel slo con fines docentes o personales, respetando
en todo caso los crditos del autor. Queda prohibida su venta, excepto a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica, Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 794
Definicin de protocolo criptogrfico
Veamos 10 ejemplos
Protocolo: es el conjunto de acciones
coordinadas que realizan dos o ms partes
o entidades con el objeto de llevar a cabo
un intercambio de datos o informacin.
Protocolos criptogrficos sern aquellos
que cumplen esta funcin usando para ello
algoritmos y mtodos criptogrficos.
Permiten dar una solucin a distintos
problemas de la vida real, especialmente
en aquellos en donde puede existir un
grado de desconfianza entre las partes.
Qu es un
protocolo?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 795
Ejemplos de protocolos criptogrficos (1)
1.- El problema de la identificacin del usuario
Cmo permitir que un usuario se identifique y autentique
ante una mquina -y viceversa- sin que sea posible la
obtencin por un tercero de la clave o password?
2.- El problema del lanzamiento de la moneda
Cmo permitir que dos usuarios realicen una prueba con
probabilidad -como es el lanzamiento de una moneda-
si stos no se encuentran fsicamente frente a frente y,
a la vez, asegurar que ninguno de los dos hace trampa?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 796
Ejemplos de protocolos criptogrficos (2)
3.- El problema de la firma de contratos
Cmo permitir que dos o ms usuarios que se encuentran
fsicamente alejados puedan realizar la firma de un contrato,
asegurando que ninguno de ellos va a modificar las
condiciones ni negarse a ltima hora a dicha firma?
4.- El problema del descubrimiento mnimo de un secreto
Cmo poder demostrar y convencer a otra persona o
sistema que uno est en posesin de un secreto, sin por ello
tener que desvelarlo ni a ella ni a un tercero?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 797
Ejemplos de protocolos criptogrficos (3)
5.- El problema del juego de pker mental o por telfono
Cmo permitir que varios usuarios puedan jugar a travs de
la red un juego de pker -o cualquier otro- si no estn
fsicamente en una misma mesa de juego y asegurando, al
mismo tiempo, que ninguno de ellos va a hacer trampa?
6.- El problema de la divisin de un secreto o del umbral
Si tenemos un secreto nico y por tanto muy vulnerable,
cmo permitir que ese secreto se divida en n partes, de
forma que juntando k partes sea posible reconstruirlo y, en
cambio, con k-1 partes imposible su reconstruccin?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 798
Ejemplos de protocolos criptogrficos (4)
7.- El problema del esquema electoral o voto electrnico
Cmo realizar unas elecciones a travs de una red, de forma
que pueda asegurarse que el voto es nico y secreto, que los
votantes estn autenticados y que ese voto se contabiliza
adecuadamente en el cmputo final?
8.- El problema de la transmisin por canales subliminales
Dos usuarios desean intercambiar informacin a travs de un
tercero del cual desconfan. Cmo pueden hacerlo sin cifrar
la informacin de forma que este tercero slo vea un mensaje
con texto en claro aparentemente inocente?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 799
Ejemplos de protocolos criptogrficos (5)
9.- El problema del millonario
Dos usuarios desean conocer cul de los dos tiene ms
dinero en su cuenta corriente. Cmo pueden hacerlo de
forma que, una vez terminado el protocolo, ambos sepan
quin de los dos es ms rico sin desvelar la cantidad de
dinero del otro?
10.- El problema del correo electrnico con acuse de recibo
Cmo hacer que una vez recibido un correo electrnico,
ste slo pueda ser ledo (abierto) si el receptor enva, con
anterioridad al emisor, un acuse de recibo como sucede -de
forma similar- con el correo normal certificado?
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 800
Transferencia inconsciente o trascordada
Algoritmo de TI propuesto por Michael Rabin en 1981.
Un usuario A transfiere a un usuario B un dato o
secreto con un cifrado probabilstico del 50%.
El usuario B recibe el dato y tiene una probabilidad
del 50% de descubrir el secreto. Una vez que ha
recibido el dato, B sabe si ste es el secreto o no.
No obstante, el usuario A no tiene forma de saber si el
usuario B ha recibido el secreto o no.
Esta incertidumbre mutua forzar a
los protagonistas a que terminen el
protocolo sin hacer trampas.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 801
Algoritmo de TI de Rabin (1)
Paso 1 A elige dos primos (p y q), calcula n = pq y
enva el valor n a B.
Paso 2 B elige un nmero aleatorio x del CCR(n) de
forma que que mcd (x,n) = 1, y devuelve a A
el valor K = x
2
mod n.
Paso 3 A calcula las cuatro races de x
2
mod n y
enva a B una de ellas. Las races de x
2
mod n
sern: x, n-x, y, n-y. Slo A puede hacerlo
porque conoce los valores de p y q.
Paso 4 B intenta descubrir el valor de p o q.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 802
Conclusin del algoritmo de TI de Rabin
Si B recibe x o n-x no ser capaz de encontrar p o q.
No tiene ms informacin que la que tena porque:
x y n-x son valores que conoce (B ha elegido x).
Si B recibe y o n-y, podr encontrar p o q.
En este caso, como x
2
mod n = y
2
mod n, entonces:
(x
2
- y
2
) mod n = (x+y)(x-y) mod n = 0
Luego (x+y)(x-y) = kn y se cumplir que:
p = mcd (x+y, n) y
q = mcd (x-y, n)
Para entenderlo mejor ... veamos un ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 803
Ejemplo de algoritmo de TI de Rabin (1)
A Adela tiene como nmeros secretos p y q, valores que
corresponden a la factorizacin del valor n.
B Benito conoce el valor n y deber descubrir, a partir
del protocolo de transferencia inconsciente, p o q.
Ejemplo con valores:
Sea p = 7; q = 13. Luego, n = pq = 713 = 91.
1.- A enva a B el valor n = 91.
2.- B elige al azar del CCR(91) el valor x = 15 y calcula
K = 15
2
mod 91 = 225 mod 91 = 43. Se lo enva a A.
3.- A recibe K = 43 y calcula las 4 races de x
2
mod n.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 804
Clculo de races de la TI de Rabin
A calcula las dos races de x
2
mod n = K de en p y q:
x
1
2
= K mod p = 43 mod 7 = 1 x
1
= 1
x
2
2
= K mod q = 43 mod 13 = 4 x
2
= 2
Con estos valores usa ahora el Teorema del Resto Chino
Si no recuerda el Teorema del Resto
Chino, repase el archivo SItema05.
Tenamos que: x
1
= 1 y x
2
= 2.
Aplicando entonces la ecuacin del TRC:
No siempre
ser tan fcil
el clculo de
estas races
como se ver
ms adelante
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 805
Aplicacin del TRC en la TI de Rabin
y
1
= inv (n/p, p) = inv (91/7, 7) = inv (13,7) y
1
= 6
y
2
= inv (n/q, q) = inv (91/13, 13) = inv (7,13) y
2
= 2
x = [(n/p)y
1
x
1
+ (n/q)y
2
x
2
] mod n
x = (136x
1
+ 72x
2
) mod 91
Luego para todas las combinaciones x
i
, p y q se tiene:
{x
1
, x
2
} [1,2] x = 15
{x
1
, q-x
2
} [1,13-2] = [1,11] x = 50
{p-x
1
, x
2
} [7-1,2] = [6,2] x = 41
{p-x
1
, q-x
2
} [7-1,13-2] = [6,11] x = 76
15
2
mod 91 = 50
2
mod 91 = 41
2
mod 91 = 76
2
mod 91 = 43.
Adems se cumple que 15 + 76 = 91 = n y 50 + 41 = 91 = n.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 806
Conclusin del algoritmo de TI de Rabin
A recibir cualquiera de estos cuatro valores:15, 50, 41, 76.
Si A recibe el nmero 15 (el valor que haba enviado a B) o
bien n-15 = 91-15 = 76 (que llamaremos valores x) no tiene
ms datos que los que tena al comienzo del protocolo y no
podr factorizar n.
Si A recibe cualquiera de los otros dos valores enviados por B
(50 41) valores que llamaremos y, podr factorizar n usando
la expresin mcd (x+y, n) con x el valor elegido por A al
comienzo del protocolo, es decir 15.
Si y = 50 mcd (50+15, 91) = mcd (65, 91) = 13 q = 13
Si y = 41 mcd (41+15, 91) = mcd (56, 91) = 7 p = 7
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 807
Eleccin de p y q en algoritmo de Rabin
Para facilitar el clculo de las races de x
2
mod p y x
2
mod q, el usuario
A elegir los valores de p y q de forma que cumplan:
- El valor (p+1) sea divisible por 4.
- El valor (q+1) sea divisible por 4.
Si x
2
mod p = a mod p dos soluciones: x
1
y (p x
1
)
Si x
2
mod q = a mod q dos soluciones: x
2
y (q x
2
)
Estas soluciones se obtienen aplicando el TRC, no obstante si (p+1)
es divisible por 4 entonces para este primo p si x = a
(p+1)/4
se cumple:
(a
(p+1)/4
)
2
mod p = a
(p+1)/2
mod p = a(a
(p-1)/2
) mod p = a
Esto es vlido porque : a
(p-1)/2
mod p = 1. Lo mismo sucede con q.
Luego: x
1
= a
(p+1)/4
mod p y x
2
= a
(q+1)/4
mod q
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 808
Problema lanzamiento de la moneda (1)
Algoritmo propuesto por Mario Blum en 1982.
Se trata de resolver una apuesta entre dos
personas A y B distantes entre s mediante el
lanzamiento de una moneda (cara o cruz).
Situaciones si A lanza la moneda al aire:
Caso 1
1 A lanza la moneda.
2 B hace su apuesta y se lo dice a A.
3 A le dice a B que ha salido justo lo contrario
... independientemente de lo que haya salido.
En este caso el usuario A hace trampa ...
A
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 809
Problema lanzamiento de la moneda (2)
Caso 2
1 A lanza la moneda.
2 B hace su apuesta y se lo dice a A.
3 No sale lo apostado por B y A se lo notifica.
4 B se desmiente y dice que esa era su apuesta.
Ahora es el usuario B quien hace trampa ...
Si A y B estn distantes y no hay un testigo de fe, cmo
puede desarrollarse el algoritmo para que ninguno de los
dos pueda hacer trampa y, si lo hace, el otro lo detecte?
Esquema de Blum
B
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 810
El problema de la moneda segn Blum
Soluciones al problema del lanzamiento de la moneda:
Usar el protocolo de la transferencia inconsciente de Rabin
con probabilidad del 50% ya visto, o bien...
Usar el Esquema General de Blum:
1 A partir de un conjunto de nmeros que la mitad son pares
y la otra impares y una funcin unidireccional f : xy, el
usuario A elige un valor x, calcula y = f (x) y lo enva a B.
2 El usuario B apuesta por la paridad de x.
3 A le muestra a B el verdadero valor de x y su paridad.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 811
Condiciones del esquema general de Blum
B tendr igual probabilidad de recibir un nmero
par o impar.
A deber tener una probabilidad igual (50%) de
recibir una apuesta par o impar por parte B.
Ninguno de los dos podr hacer trampa.
Bsqueda de esa funcin f?
Antes deberemos explicar qu se entiende
por restos cuadrticos y enteros de Blum
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 812
Restos cuadrticos de Blum
Buscamos una funcin unidireccional con trampa que
cumpla las caractersticas del protocolo anterior.
El valor a es un resto cuadrtico de Blum R
2
mod n si:
x
2
mod n = a
siendo mcd (a,n) = 1
Algn problema? S No sigue la paridad deseada.
Por ejemplo, el resto cuadrtico R
2
= 4 en mod 11 se
obtiene para x = 2 (par) y x = 9 (impar) ya que:
2
2
mod 11 = 4 mod 11 = 4 y 9
2
mod 11 = 81 mod 11 = 4
solucin
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 813
Enteros de Blum
Un entero de Blum es un nmero resultado del producto de dos
primos p y q, ambos congruentes con 3 mdulo 4.
En este caso se cumplir que:
y = x
2
mod n mantendr la paridad con z = y
2
mod n x Z
n
Ejemplo: sea n = 1119 = 209 y el valor x = 24
11 mod 4 = 3; 19 mod 4 = 3 (cumplen congruencia 3 mod 4 `)
y = x
2
mod n = 24
2
mod 209 = 576 mod 209 = 158
z = y
2
mod n = 158
2
mod 209 = 24.964 mod 209 = 93
Como se observa, en este caso y es par y z es impar.
Luego, para todos los restos principales de y = 158 (par) que se obtengan con
valores de x diferentes, el resto cuadrtico z
2
ser siempre el valor 93 (impar).
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 814
Paridad en enteros de Blum
Es importante recalcar que:
Existir igual nmero de soluciones y (pares o
impares) que de soluciones z (pares o impares).
Esto no suceder con enteros que no sean de Blum.
Por lo tanto, esta igualdad de paridad en los valores de
los restos de z y de y, har que desde el punto de vista
del usuario B que recibe como dato el valor z o resto
R
2
enviado por A, exista una equiprobabilidad.
El siguiente cuadro indica la paridad de R
2
para
algunos mdulos enteros y no enteros de Blum.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 815
Ejemplo de paridad en enteros de Blum
n p q y (pares) y (impares) z (pares) z (impares)
21 3 7 10 10 10 10
33 3 11 12 20 12 20
57 3 19 24 32 24 32
69 3 23 36 32 36 32
77 7 11 36 40 36 40
Paridad de elementos de R
2
para mdulos enteros de Blum
Observe que se obtiene igual cantidad de valores y pares que
de z pares. De la misma forma, se obtiene igual cantidad de
valores y impares que de z impares.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 816
Ejemplo de paridad en no enteros de Blum
n p q y (pares) y (impares) z (pares) z (impares)
15 3 5 8 6 6 8
35 5 7 14 20 8 26
39 3 13 22 16 16 22
Paridad de elementos de R
2
para mdulos no enteros de Blum
En este caso no se obtienen cantidades iguales de valores y, z.
Como ejercicio, compruebe que los nmeros 21, 33, 57, 69 y 77
del ejemplo anterior son enteros de Blum y que, por el
contrario, 15, 35 y 39 no lo son.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 817
El algoritmo de Blum
1) A elige dos primos p y q de forma que n = pq es un
entero de Blum (p y q son congruentes con 3 mod 4)
2) A elige un elemento x de Z
n
y calcula y = x
2
mod n.
Luego calcula z = y
2
mod n, valor que enva a B.
3) B recibe z y apuesta por la paridad del valor y.
4) A le informa a B si ha acertado o no en su apuesta.
Le muestra tambin el valor x elegido y el valor de y.
Adems le comprueba que n es un entero de Blum.
5) B comprueba que y = x
2
mod n y que z = y
2
mod n.
6) A y B han actuado con una probabilidad del 50% en
los pasos 2 y 3, respectivamente.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 818
Ejemplo del algoritmo de Blum
Sean los primos p = 7 y q = 19
Luego, n = pq = 719 = 133
Comprobacin de que n = 133 es un entero de Blum:
7 mod 4 = 3; 19 mod 4 = 3 `
A elige el valor x = 41 y calcula:
y = x
2
mod n
y = 41
2
mod 133 = 1.681 mod 133 = 85
z = y
2
mod n
z = 85
2
mod 133 = 7.225 mod 133 = 43
A enva a B el valor z = 43.
B debe apostar por la paridad de y.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 819
Conclusin del ejemplo de Blum
Situacin 1 (B acierta)
Si B acierta y dice que y es impar, A no puede negarle que ha
ganado. A debe mostrarle a B los valores x e y. Adems debe
demostrarle a B que n era un entero de Blum.
Situacin 2 (B no acierta)
Si B no acierta y dice que y es par, A le dice a B que ha
perdido, le demuestra que n era un entero de Blum y le
muestra el valor x elegido as como el valor y.
Compruebe que a iguales valores de resto principal y resto cuadrtico
se llega para x = 22, x = 92 y x = 111. Es decir, si se recibe z = 43
(impar) la nica posibilidad es que el valor de y sea 85 (impar) y que
A haya elegido como valor x alguno de stos: 22, 41, 92 111.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 820
La firma de contratos
Dos personas desean firmar un
contrato sin un ministro de fe.
- Deben cumplirse dos condiciones:
Que los firmantes queden obligados a culminar la
firma slo a partir de un punto del protocolo. Esto
se conoce como compromiso de los contratantes.
Que la firma no pueda falsificarse y que, adems,
pueda ser comprobada por la otra parte.
Un posible algoritmo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 821
Algoritmo bsico de firma de contratos (1)
1. El usuario A elige dos claves i
A
y j
A
en un sistema de clave
pblica y calcula sus claves privadas i
A
-1
y j
A
-1
.
2. El usuario B elige una clave secreta K
B
.
3. A enva a B sus dos claves pblicas i
A
y j
A
.
4. B elige una de las dos claves recibidas y con ella cifra su
clave K
B
, enviando el resultado al usuario A.
5. A elige al azar una de sus dos claves privadas i
A
-1
y j
A
-1
y
descifra con dicha clave el valor recibido en el punto 4.
6. A cifra el primer bloque del mensaje de firma usando el
valor elegido en el punto 5 como clave y lo enva a B.
7. B descifrar con la clave recibida el bloque de firma.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 822
Algoritmo bsico de firma de contratos (2)
Observe que los siete pasos
anteriores corresponden
bsicamente al algoritmo de
transferencia inconsciente
entre los usuarios A y B.
Finalizacin
del protocolo
8. A repite la operacin de los pasos 5 y 6 para cada uno de
los bloques de su firma y B el paso 7.
9. Terminados los bloques de su firma, A repite el paso 6
utilizando ahora su otra clave privada y B el paso 7.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 823
Algoritmo bsico de firma de contratos (3)
Si A y B han elegido al azar la misma clave con una
probabilidad del 50% para cada uno, B descifrar un
mensaje con sentido en la primera vuelta. En caso
contrario, B recibe un texto sin sentido y deber
esperar hasta recibir el ltimo bloque de la segunda
vuelta para obtener el texto en claro.
Sin embargo, A no tiene cmo saber en cul de los dos
pasos (en la primera o la segunda vuelta) ha logrado B
descifrar el criptograma y obtener un texto con sentido
lo que fuerza a ambas partes a terminar el algoritmo.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 824
Firma de contratos: algoritmo de Even (1)
En el ao 1985 Even, Goldreinch y Lempel proponen el uso
de sistemas de cifra simtricos para la firma de contratos.
1. A elige un conjunto de 2n claves en un sistema simtrico:
C
1
, C
2
, ..., C
n
, C
n+1
, ..., C
2n
. Las claves se tomarn como
parejas, esto es (C
1
, C
n+1
), (C
2
, C
n+2
), ..., (C
n
,C
2n
) aunque
no tengan ninguna relacin entre s.
2. A cifra un mensaje estndar M
A
conocido por B con 2n
claves E
C1
(M
A
), E
C2
(M
A
), ..., E
C2n
(M
A
) y le enva a B
ordenados los 2n criptogramas.
3. A se comprometer ms adelante a la firma del contrato
si B puede presentarle para algn i el par (C
i
, C
n+i
).
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 825
Firma de contratos: algoritmo de Even (2)
4. B elige tambin un conjunto de 2n claves de un sistema
simtrico: D
1
, D
2
,..., D
n
, D
n+1
, ..., D
2n
y las claves se
tomarn como parejas (D
1
, D
n+1
), (D
2
, D
n+2
), ..., (D
n
,D
2n
).
B cifra un mensaje estndar M
B
conocido por A con las
2n claves E
D1
(M
B
), E
D2
(M
B
), ..., E
D2n
(M
B
) y enva a A 2n
criptogramas ordenados. B se comprometer a la firma en
los mismos trminos que lo hizo A en el punto anterior.
5. A enva a B cada par (C
i
, C
n+i
) ordenados mediante una
transferencia inconsciente; es decir enviando C
i
o C
n+i
con igual probabilidad. Lo mismo hace B enviando a A
ordenadamente uno de los dos valores del par (D
i
, D
n+i
).
En este punto A y B tienen la mitad de las claves del otro.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 826
Firma de contratos: algoritmo de Even (3)
6. Si la longitud de cada clave C
i
o D
i
es de L bits, A y B
realizan el siguiente bucle con 1 i 2n para la clave C
i
y D
i
que no han usado en los pasos anteriores:
for 1 j L
begin
A enva a B el bit jsimo de todas esas claves C
i
B enva a A el bit jsimo de todas esas claves D
i
end (Esto se conoce como compromiso bit a bit)
7. Al realizar el bucle completo, A y B tienen las 2n claves
del otro y se supone firmado el contrato.
A y B pueden generar mensajes del tipo Esta es mi mitad izquierda
i de mi firma para cifrar con la clave C
i
y D
i
y Esta es mi mitad
derecha i de mi firma para cifrar con la clave C
n+i
y D
n+i
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 827
Protocolo de firma ciega
Supongamos que Adela desea que Benito le firme algo pero sin que
Benito se entere de qu es lo que est firmando. En este caso Benito
acta como un ministro de fe, autenticando a Adela.
Protocolo:
Adela pone un documento dentro de un sobre.
Adela cierra el sobre y se lo enva a Benito.
Benito firma el sobre autenticando a Adela y se lo devuelve.
Adela abre el sobre y demuestra que Benito al firmar en el sobre
cerrado tambin ha firmado el documento que estaba en su interior.
En el anterior algoritmo, si Benito necesita una comprobacin de la
identidad Adela, sta sencillamente incluye una firma digital suya en el
sobre que le permita a Benito comprobar su autenticidad.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 828
Algoritmo de firma ciega RSA (Chaum)
Adela desea que Benito le firme un documento M
Adela (A) conoce las claves pblicas de Benito (B: n
B
, e
B
)
A elige un valor k de forma que mcd (k, n
B
) = 1, calcula
k
-1
= inv (k, n
B
) y luego enmascara su mensaje mediante
la siguiente operacin en n
B
:
t
A
= M k
eB
mod n
B
y lo enva a B
B firma el valor: t
B
= t
A
dB
mod n
B
y lo enva a A
A quita la mscara haciendo s = t
B
inv (k, n
B
) mod n
B
El resultado es que A tiene M
dB
mod n
B
, la firma de B.
Comprobacin: t
B
= (M k
eB
)
dB
mod n
B
= M
dB
k mod n
B
Luego: [M
dB
k inv (k, n
B
)] mod n
B
= M
dB
mod n
B
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 829
Ejemplo de algoritmo de firma ciega
Adelaida (A) desea que Benito (B) le firme el mensaje M = 65
Claves pblicas de B: n
B
= 299, e
B
= 7
Clave privada y datos de B: p
B
= 13; q
B
= 23; (n
B
) = 264, d
B
= 151
A elige k / mcd (k, n
B
), por ejemplo k = 60. Luego inv (k, n
B
) = 5
A enmascara el mensaje: t
A
= M k
eB
mod n
B
= 65 60
7
mod 299
A enva a B: t
A
= 65226 mod 299 = 39
B firma t
A
con clave privada: t
B
= t
A
eB
mod n
B
= 39
151
mod 299 = 104
A quita la mscara: s = t
B
inv (k, n
B
) = 104 5 mod 299 = 221
Este valor (221) es el mismo que se obtendra si B firmase su con
clave privada el mensaje M, es decir 65
151
mod 299 = 221
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 830
Existe el correo electrnico certificado?
Cmo podemos estar seguros que un mensaje enviado por
correo electrnico ha sido abierto y su contenido conocido
slo por su destinatario autorizado?
Los sistemas actuales de e-mail permiten emitir desde
el cliente de correo del receptor un acuse de recibo.
No obstante, esto slo significa que alguien en
extremo receptor desde el buzn de entrada pincha
sobre un mensaje nuevo y a la pregunta enviar acuse
recibo al emisor? pulsa Enter eligiendo la opcin S.
Ser para m
ese e-mail?
Para evitar estas situaciones podemos
usar el protocolo del correo certificado
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 831
El correo electrnico certificado
El usuario A desea enviar un mensaje electrnico
como correo certificado al usuario B.
El usuario A le descubre el mensaje (le enva la
clave) slo despus de que el usuario B le enve
el acuse de recibo correspondiente. De la misma
manera que actuamos ante un correo certificado:
nos entregan la multa si primero firmamos.
El algoritmo ser muy similar al anterior de
firma de contratos propuesto por Even.
Veamos una implementacin del algoritmo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 832
Un algoritmo de correo certificado (1)
A elige de forma aleatoria n+1 claves (a
0
, a
1
, a
2
, ... a
n
) de un sistema
de cifra simtrico. Las claves a
i
no estn relacionadas.
Con la clave a
0
A cifrar el documento o carta, C
0
= E
a0
(M) y se lo
enva a B.
Las claves (a
1
, a
2
, ... a
n
) sern la parte izquierda de la clave KI
Ai
.
A calcula a
n+i
= a
0
a
i
para 1 i n, obteniendo as la parte derecha
de la clave (a
n+1
, a
n+2
, ... a
2n
) es decir KD
Ai
.
A y B se ponen de acuerdo en un mensaje estndar de validacin, por
ejemplo V = Mensaje de Validacin.
A cifra el mensaje de validacin V con las 2n claves secretas, es decir
n claves KI
Ai
y n claves KD
Ai
.
Cifrado de validacin de la parte izquierda: VI
Ai
= E
KIAi
(V).
Cifrado de validacin de la parte derecha: VD
Ai
= E
KDAi
(V).
A enva a B los pares ordenados (VI
Ai
, VD
Ai
) para i = 1, 2, ... n.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 833
Un algoritmo de correo certificado (2)
B genera de forma similar n parejas de claves KI
Bi
y KD
Bi
, 2n claves.
B genera n parejas de mensajes Acuse de Recibo de la parte i
Izquierda (RI
i
) y Acuse de Recibo de la parte i Derecha (RD
i
).
B cifra las parejas (RI
i
, RD
i
) con un sistema simtrico usando las claves
KI
Bi
y KD
Bi
.
B enva a A las parejas ordenadas (IB
i
, DB
i
) = [E
KIBi
(RIi), E
KDBi
(RDi)].
Mediante una trasferencia trascordada A enva a B una de las dos claves
secretas (K
IA1
o K
DA1
) y lo mismo hace B que enva a A (K
IB1
o K
DB1
).
Este proceso se repite hasta que se envan los n valores de claves.
B usa las claves enviadas por A en el paso anterior para comprobar que
al descifrar D
KIAi
(V
Ai
) o D
KDAi
(V
Ai
) obtiene el Mensaje de Validacin.
A usa las claves enviadas por B en el paso anterior para comprobar que
al descifrar D
KIBi
(I
Bi
) o D
KDBi
(I
Bi
) obtiene siempre RI
i
o RD
i
.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 834
Un algoritmo de correo certificado (3)
No pueden hacer trampa. A y B ya tienen informacin suficiente para
demostrar ante un ministro de fe que el otro no ha seguido el protocolo.
A y B se intercambian ahora bit a bit todos los bits de las claves de
forma alterna. El primer bit de KI
A1
, el primer bit de KI
B1
, el primer bit
de KI
A2
, el primer bit de KI
B2
, ... el primer bit de KD
A1
, etc.
Este paso se conoce como compromiso bit a bit entre A y B.
A obtiene todas las claves de B y comprueba todos los Acuse de Recibo
pareados, la parte i Izquierda y su correspondiente parte i Derecha.
B obtiene todas las claves de A y comprueba que todos los envos de A
contienen el Mensaje de Validacin. A deber mostrar todas sus claves
a B para que B compruebe que A ha usado la funcin a
n+1
= a
0
a
i
.
Como B tiene todas las claves de A calcula ahora a
0
= KI
Ai
KD
Ai
.
Para ello cualquiera de las parejas de Acuse de Recibo son vlidas.
B descifra el criptograma Da
0
(C
0
) = M y recupera el mensaje .
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 835
El pker mental con cifra simtrica (1)
Se trata de encontrar un protocolo que permita el juego
del pker a travs de una red de computadores. Se debe asegurar un
juego limpio y sin trampas. Aunque el nmero de jugadores puede
ser cualquiera,veremos un ejemplo slo para dos jugadores.
1. A y B usan un sistema de cifra simtrica que tenga propiedades
conmutativas, usando claves K
A
y K
B
respectivamente.
2. B cifra -accin mezcla- las 52 cartas (codificadas con un nmero
aleatorio c
i
) con su clave secreta K
B
: E
KB
(c
i
) y las enva a A.
3. A elige al azar 5 valores y enva a B: E
KB
(c
B1
, c
B2
, c
B3
, c
B4
, c
B5
).
4. B recibe estos valores y los descifra con su clave secreta K
B
. As
obtiene: D
KB
[E
KB
(c
B1
, c
B2
, c
B3
, c
B4
, c
B5
)] = c
B1
, c
B2
, c
B3
, c
B4
, c
B5
.
Estas cinco cartas c
Bi
corresponden a la mano de B.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 836
El pker mental con cifra simtrica (2)
5. A elige otras cinco cartas de las 47 restantes, las cifra con su
clave secreta K
A
y enva a B: E
KA
[E
KB
(c
A1
, c
A2
, c
A3
, c
A4
, c
A5
)].
6. B descifra con su clave secreta K
B
la cifra anterior y enva a A el
resultado: E
KA
(c
A1
, c
A2
, c
A3
, c
A4
, c
A5
).
7. A descifra lo anterior con su clave secreta K
A
y obtiene su mano
c
Ai
: D
KA
[E
KA
(c
A1
, c
A2
, c
A3
, c
A4
, c
A5
)] = c
A1
, c
A2
, c
A3
, c
A4
, c
A5
.
8. Las restantes 42 cartas permanecern en poder de A que es quien
las reparte. Estas cartas siguen cifradas con la clave de B.
9. Si los jugadores desean cambiar algunas cartas, siguen el mismo
procedimiento anterior.
Como ejercicio, intente generalizar este esquema para cuatro jugadores.
Esquema con cifra asimtrica
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 837
Pker mental con cifra asimtrica RSA (1)
En este caso se usar un sistema RSA en el que el mdulo de trabajo
n ser compartido y el par de claves asimtricas de cada jugador, e y
d, sern ambas secretas. Veamos un ejemplo para 4 jugadores.
1. El jugador A que repartir las cartas, todas ellas codificadas con
un nmero aleatorio c
i
, las mezclar cifrndolas con su clave
pblica e
A
: E
eA
[c
1
, c
2
, c
3
, ... c
50
, c
51
, c
52
] y las enva a B.
2. B elige cinco cartas, las cifra con su clave pblica e
B
y devuelve
a A : E
eB
{E
eA
[c
B1
, c
B2
, c
B3
, c
B4
, c
B5
]}.
3. A descifra lo recibido con su clave privada d
A
y se lo enva a B:
E
eB
[c
B1
, c
B2
, c
B3
, c
B4
, c
B5
].
4. B descifra ahora con su clave privada d
B
lo recibido y se queda
con su mano c
Bi
= c
B1
, c
B2
, c
B3
, c
B4
, c
B5
.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 838
Pker mental con cifra asimtrica RSA (2)
5. El jugador B pasa las restantes 47 cartas al jugador C y se
repiten los pasos 2 al 4 anteriores entre C y A, usando ahora las
claves e
C
, d
A
y d
C
.
6. Terminado el paso 5, el jugador C tendr entonces como mano
c
Ci
= c
C1
, c
C2
, c
C3
, c
C4
, c
C5
.
7. El jugador C pasa las restantes 42 cartas al jugador D y se
repiten los pasos 2 al 4 entre D y A, usando ahora las claves e
D
,
d
A
y d
D
.
8. Terminado el paso 7, el jugador D tendr entonces como mano
c
Di
= c
D1
, c
D2
, c
D3
, c
D4
, c
D5
.
9. El jugador D devuelve las 37 cartas que quedan y que estn
cifradas con su clave pblica: E
eD
{E
eA
[c
1
, c
2
, c
3
, ... c
36
, c
37
]} al
jugador A.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 839
Pker mental con cifra asimtrica RSA (3)
10. El jugador A elige 5 cartas entre las 37 y devuelve al jugador
D: E
eD
{E
eA
[c
A1
, c
A2
, c
A3
, c
A4
, c
A5
]}.
11. El jugador D descifra con su clave privada d
D
lo recibido y
enva a A: E
eA
[c
A1
, c
A2
, c
A3
, c
A4
, c
A5
].
12. El jugador A descifra con su clave privada d
A
lo recibido y se
queda con su mano c
Ai
= c
A1
, c
A2
, c
A3
, c
A4
, c
A5
.
13. Todos tienen su mano de juego. Las restantes 32 cartas quedan
en poder de A cifradas por D y A: E
eD
{E
eA
[c
1
, c
2
, ... c
31
, c
32
]}.
14. Si un jugador X desea descarte, pide las cartas a A, elige las
que desea, las cifra con su clave pblica e
X
y se las devuelve a
A, quien las enva a D para que descifre con su clave privada
d
D
. D las devuelve a A para que descifre con su clave privada
d
A
y A enva a X: E
eX
[cartas elegidas en su descarte].
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 840
El canal subliminal
Como ejemplo de canal subliminal, en un supermercado podran incluir
en la msica ambiental una informacin no audible y que slo nuestro
subconsciente sea capaz de interpretar. No se extrae de ello, este tipo
de experimentos se han probado hace muchos aos atrs.
El concepto de canal subliminal fue propuesto por Gustavus Simmons
en 1983. Se conoce tambin como el problema de los prisioneros.
Dos prisioneros cmplices de un delito son encarcelados en celdas
separadas. Si entre ellos pueden intercambiarse mensajes a travs de un
carcelero que los puede leer, cmo hacen para que esos mensajes en
principio inocentes, lleven de forma subliminal un mensaje cifrado y
que el carcelero sea incapaz de dilucidar ese secreto?
La tcnica denominada esteganografa, hoy en da de moda, realiza una
operacin similar, normalmente ocultando un texto bajo una fotografa.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 841
El problema de los prisioneros
El prisionero A genera un mensaje inocente M que desea enviar al
prisionero B a travs del guardia.
Utilizando una clave secreta K acordada con anterioridad, el prisionero
A firma el mensaje de forma que en esa firma se esconda el mensaje
subliminal.
El guardia recibe el mensaje firmado por A y como no observa nada
anormal se lo entrega al prisionero B.
El prisionero B comprueba la firma de su compaero A, autentica el
mensaje y lee la informacin subliminal en M.
Existen varios esquemas de uso del canal subliminal para proteger la
informacin, entre ellos el propio esquema de Simmons basado en la
factorizacin de un nmero grande n compuesto por tres primos p, q y r.
Habr por tanto 2
3
= 8 races de las cuales slo algunas se usarn como
valores vlidos y otras no. Hace uso del Teorema del Resto Chino.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 842
Transferencia con conocimiento nulo TCN
La cueva de Al Bab
A
B
C D
Puerta de la cueva: palabra secreta
Algoritmo:
1. Mortadelo y Filemn se acercan a la
cueva en el punto A.
2. Mortadelo se adentra en la cueva hasta
llegar al punto C o D.
3. Filemn se acerca al punto B de la cueva
y le pide a Mortadelo que salga por la
ladera derecha o izquierda, segn desee.
4. Mortadelo satisface la peticin de
Filemn y sale por la ladera que ste le
ha solicitado, usando si es menester la
palabra secreta para abrir la puerta.
5. Se repite el proceso desde el comienzo
hasta que Filemn se convence que
Mortadelo conoce la palabra secreta.
Este modelo fue presentado
por J. Quisquater y L. Guillou
en Crypto 89 para explicar el
protocolo de transferencia con
conocimiento cero o nulo.
brete ssamo
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 843
Esquema de TCN de Koyama
A desea demostrar a B que conoce la clave secreta RSA de un tercer
usuario C, es decir d
C
. Como es lgico tambin conocer p
C
, q
C
y (n
C
).
Las claves pblicas de C son n
C
y e
C
que conocen tanto A como B.
A y B se ponen de acuerdo y eligen dos valores aleatorios k y m con la
condicin de que km = e
C
mod (n
C
).
Como A debe mantener en secreto el valor de (n
C
) le propone a B que
en cada ejecucin del algoritmo elija un nmero m primo por lo que A
calcula k = [{inv (m, (n
C
)}e
C
] mod (n
C
).
A propone a B un texto aleatorio M o bien A y B generan este texto
usando, por ejemplo, un algoritmo de transferencia trascordada.
Usando la clave privada d
C
de C, ahora A calcula C = M
dC
mod n
C
.
Luego calcula X = C
k
mod n
C
y enva el valor X a B.
B recibe X y comprueba si X
m
mod n
C
es igual al texto M. Si es as,
quiere decir que A ha usado d
C
, la clave privada de C.
Se repite el proceso las veces que haga falta hasta que B acepte que A
conoce clave privada de C.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 844
Por qu funciona el esquema de Koyama?
Por simplicidad supondremos que los datos de C no tienen subndice:
1. A conoce n, e, d, p, q, (n) y el texto M; B conoce n, e y el texto M.
2. B elige un primo m y se lo enva enva a A.
3. A calcula k = [{inv (m, (n)}e] mod (n).
4. A calcula C = M
d
mod n y X = C
k
mod n = M
dk
mod n y enva este
valor X a B.
5. B recibe X y calcula X
m
mod n = M
(dk)m
mod n = M
kmd
mod n, pero
como km = e mod (n) entonces M
kmd
mod n = M
ed
mod n = M.
6. La nica posibilidad para que B recupere el texto M en el paso 5, es
que A haya usado en la cifra del paso 4 la clave privada d.
7. Si B no se convence en el primer intento, ambos repiten el algoritmo
con valores primos m distintos en cada iteracin, hasta que se cumpla
un umbral ante el que B acepte que A est en posesin de ese secreto.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 845
Ejemplo del esquema de TCN de Koyama
Supongamos que A desea demostrar a B que conoce la clave privada de
C. Los valores pblicos de C son n = 77, e = 13.
El mensaje M acordado por A y B es la palabra PADRINO con la
codificacin que se muestra a continuacin:
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
02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Supongamos que B elige como valor aleatorio m = 29.
A calcula k segn el algoritmo de Koyama y para cada valor M
i
del
mensaje (P = 18, A = 2, D = 5, etc.) calcula primero C = M
i
d
mod n y
luego X = C
k
mod n = 30, 39, 31, 27, 54, 36, 68 que enva a B.
B calcula 30
29
mod 77, 39
29
mod 77, 31
29
mod 77, 27
29
mod 77, 54
29
mod 77, 36
29
mod 77, 68
29
mod 77 y obtiene la cadena de caracteres
PADRINO.
El protocolo puede repetirse para otros valores primos m que elija B y
siempre se obtendr como resultado el mismo mensaje M.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 846
Solucin del ejemplo de TCN de Koyama
Como n = 77, es obvio que p = 7, q = 11, (n) = 60. Por lo tanto, puesto
que e = 13 entonces d = inv {e, (n)} = inv (13, 60) = 37.
M
1
= 18; M
2
= 2; M
3
= 5; M
4
= 20; M
5
= 10; M
6
= 15; M
7
= 17.
C
1
= 18
37
mod 77 = 39; C
2
= 2
37
mod 77 = 51; C
3
= 5
37
mod 77 = 47;
C
4
= 20
37
mod 77 = 48; C
5
= 10
37
mod 77 = 10; C
6
= 15
37
mod 77 = 71;
C
7
= 17
37
mod 77 = 52.
k = [{inv (m, (n)}e] mod (n) = inv (29, 60)13 mod 60 = 17.
X
1
= 39
17
mod 77 = 30; X
2
= 51
17
mod 77 = 39; X
3
= 47
17
mod 77 = 31;
X
4
= 48
17
mod 77 = 27; X
5
= 10
17
mod 77 = 54; X
6
= 71
17
mod 77 = 36;
X
7
= 52
17
mod 77 = 68. Luego X = 30, 39, 31, 27, 54, 36, 68.
30
29
mod 77 = 18 = P; 39
29
mod 77 = 2 = A; 31
29
mod 77 = 5 = D
27
29
mod 77 = 20 = R; 54
29
mod 77 = 10 = I; 36
29
mod 77 = 15 = N
68
29
mod 77 = 17 = O.
En este ejemplo el valor de n es muy pequeo y resulta muy fcil
romper la clave privada simplemente factorizando el mdulo .
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 847
El voto electrnico o por ordenador
Todos tenemos de una u otra forma una idea intuitiva,
aunque quizs no completa, sobre cmo se desarrolla un
proceso electoral.
La pregunta es si es posible realizar este tipo de eventos
desde Internet, lo que se conoce como esquema electoral.
La respuesta es s con la ayuda de tcnicas y protocolos
criptogrficos aunque no se trata slo de un problema de
implementacin tcnica; es menester tener en cuenta otros
factores importantes, a saber:
Socio-polticos, econmicos, jurdicos, legislativos...
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 848
Definicin de esquema electoral
Un esquema de votacin electrnica es una
aplicacin distribuida y constituida por un conjunto
de mecanismos criptogrficos y protocolos que, de
forma conjunta, permiten que se realicen elecciones
en una red de computadores, de forma segura,
incluso suponiendo que los electores legtimos
pueden tener un comportamiento malicioso.
Andreu Riera (Tesis Doctoral, UAB, 1999)
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 849
Requisitos de un esquema electoral (1)
Requisitos de un esquema electoral:
Slo pueden votar quienes estn censados.
El voto debe ser secreto.
El voto debe ser nico por cada votante.
Se contabilizarn todos los votos vlidos.
El recuento parcial no debe afectar a votos
que se emitan con posterioridad.
sigue
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 850
Requisitos de un esquema electoral (2)
Requisitos de un esquema electoral:
Cada votante podr comprobar que su voto
ha sido tenido en cuenta en el escrutinio.
Esto ltimo es muy importante
Y, adems:
Se debe proteger el proceso contra ataques en red.
El proceso debe ser factible, prctico y dentro de lo
posible de uso universal.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 851
Primera aproximacin del voto electrnico
MCV = Mesa Central de Votacin
> El votante cifra su voto con la clave pblica de MCV.
> El votante enva su voto a la MCV.
> La MCV descifra el voto y lo contabiliza.
> La MCV hace pblico el resultado.
Qu problemas presenta este esquema? TODOS...
La MCV no sabe de dnde vienen los votos, si stos
son vlidos o no y si alguien vota ms de una vez.
Adems puede conocer la identidad del votante por lo
que se vulnera el secreto del voto. Lo nico que aqu
se protege es el secreto del voto ante terceros.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 852
Segunda aproximacin del voto electrnico
MCV = Mesa Central de Votacin
> El votante firma su voto con su clave privada y lo
cifra luego con la clave pblica de MCV.
> El votante enva su voto a la MCV.
> La MCV descifra el voto, lo contabiliza y hace
pblico el resultado.
Qu problema tenemos ahora?
En este nuevo esquema se satisface que cada votante
autorizado vote una sola vez, no obstante seguimos
vulnerando el secreto del voto ante la MCV.
Jorge Rami Aguirre Madrid (Espaa) 2003
Seguridad Informtica y Criptografa. Tema 17: Protocolos y Esquemas Criptogrficos
Diapositiva 853
Tercera aproximacin del voto electrnico
El tercer esquema contempla dos mesas:
MCV = Mesa Central de Votacin
MCL = Mesa Central de Legitimacin
> Evita que la MCV conozca a quin ha votado el
votante, mediante un protocolo entre ambas, y
adems gestionan una lista de votantes censados.