Seguridad Informatica
Seguridad Informatica
Seguridad Informatica
http://www.rae.es/
Si nos atenemos a la definicin de la Real Academia de la Lengua
RAE, seguridad es la cualidad de seguro. Buscamos ahora seguro y
obtenemos libre y exento de todo peligro, dao o riesgo.
A partir de estas definiciones no podramos aceptar que seguridad
informtica es la cualidad de un sistema informtico exento de
peligro, por lo que habr que buscar una definicin ms apropiada.
Algo bsico: la seguridad no es un producto, sino un proceso.
Por lo tanto, podramos aceptar que una primera definicin ms o
menos aceptable de seguridad informtica sera:
Un conjunto de mtodos y herramientas destinados a proteger la
informacin y por ende los sistemas informticos ante cualquier
amenaza, un proceso en el cual participan adems personas.
Concienciarlas de su importancia en el proceso ser algo crtico.
Recuerde: la seguridad informtica no es un bien medible, en cambio
s podramos desarrollar diversas herramientas para cuantificar de
alguna forma nuestra inseguridad informtica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 51
Y qu es la criptografa?
La criptografa es aquella rama inicial de las Matemticas y
en la actualidad tambin de la Informtica y la Telemtica,
que hace uso de mtodos y tcnicas con el objeto principal de
cifrar, y por tanto proteger, un mensaje o archivo por medio
de un algoritmo, usando una o ms claves.
Un trmino ms genrico es criptologa: el compendio de las
tcnicas de cifra, conocido como criptografa, y aquellas
tcnicas de ataque conocidas como criptoanlisis.
He aqu una definicin menos afortunada de
criptografa que podemos encontrar en el
diccionario de la Real Academia Espaola...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 52
Una definicin menos afortunada...
http://www.rae.es/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 55
Unas cuantas 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 permiten cifrar
un documento y descifrar el correspondiente criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 56
La solucin ser estar desconectado?
No podemos aceptar esa
afirmacin simplista que
dice que el computador
ms seguro ...
... es aquel que est
desconectado y, por lo
tanto, libre de todos los
peligros que hay en la red.
A pesar de todas las
amenazas del entorno,
que sern muchas y de
muy distinto tipo ...
... tendremos que aplicar
polticas, metodologas y
tcnicas de proteccin
de la informacin porque
la conectividad es vital.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 57
Tenemos conciencia de las debilidades?
Amenazas
La seguridad informtica
se convierte en un nuevo
motivo de preocupacin
Habr debilidades tanto internas como externas...
A finales del siglo XX e inicios del XII tanto las empresas, organismos e
incluso particulares comienzan a tomar verdadera conciencia de su
importancia. Hoy en da, tener un sistema que cumpla con los estndares
de gestin de la seguridad es sinnimo de calidad de servicio.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 58
Acontecimientos en dos ltimas dcadas
A partir de los aos 80 el uso del ordenador personal
comienza a ser comn. Asoma por tanto la preocupacin
por la integridad de los datos.
En la dcada de los aos 90 aparecen los virus y gusanos y
se toma conciencia del peligro que nos acecha como
usuarios de PCs y equipos conectados a Internet.
Adems, comienzan a proliferar ataques a sistemas
informticos. La palabra hacker aparece incluso en prensa.
Las amenazas se generalizan a finales de los 90; aparecen
nuevos gusanos y malware generalizado.
En los aos 00s los acontecimientos fuerzan a que se tome
muy en serio la seguridad informtica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 59
Qu hay de nuevo en los 00s?
Principalmente por el uso masivo de Internet, el tema de la
proteccin de la informacin se ha transformado en una
necesidad y con ello se populariza la terminologa tcnica
asociada a la criptologa:
Cifrado, descifrado, criptoanlisis, firma digital, ...
Autoridades de Certificacin, comercio electrnico, ...
Ya no slo se comentan estos temas en las universidades.
Cualquier usuario desea saber, por ejemplo, qu significa
firmar un e-mail o qu significa que en una comunicacin
con su banco aparezca un candado en la barra de tareas de
su navegador y le diga que el enlace es SSL con 128 bits.
El software actual viene con seguridad aadida o embebida.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 60
Es atractivo el delito informtico?
Suponiendo que todos entendemos ms o menos qu es un delito
informtico, algo no muy banal dado que muchos pases no se
ponen de acuerdo, parece ser que es un buen negocio:
Objeto pequeo: la informacin que se ataca est almacenada
en contenedores pequeos: no es necesario un camin para
robar un banco, llevarse las joyas, el dinero, etc.
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. Los datos
(el contenido a robar) puede valer mucho ms que el soporte
que los almacena: servidor, computador, disco, CD, etc.
Aunque no ser la nica, una de las herramientas de proteccin de
datos ms efectiva es el uso de tcnicas criptogrficas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 61
Seguridad Fsica y Seguridad Lgica
El estudio de la seguridad informtica podramos plantearlo desde dos
enfoques distintos aunque complementarios:
La Seguridad Fsica: puede asociarse a la proteccin del sistema
ante las amenazas fsicas, incendios, inundaciones, edificios,
cables, control de accesos de personas, etc.
La Seguridad Lgica: proteccin de la informacin en su propio
medio, mediante el enmascaramiento de la misma usando tcnicas
de criptografa. Este enfoque de las aplicaciones criptogrficas, es
el que ser tratado a lo largo de los captulos de este libro.
La gestin de la seguridad est en medio de la dos: los planes de
contingencia, polticas de seguridad, normativas, etc. Aunque muy
brevemente, este tema ser tratado en un prximo captulo.
No obstante, tenga en cuenta que esta clasificacin en la prctica
no es tan rigurosa. En resumidas cuentas, podramos decir que cada
vez est menos claro dnde comienza una y dnde termina la otra.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 62
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/09/2001 en
Nueva York, los del 11/03/2004 en Madrid y los
del 07/07/2005 en Londres, que echaron por
tierra todos los planes de contingencia, incluso
los ms paranoicos, comenzamos a tener muy en
cuenta las debilidades de los sistemas y valorar
en su justa medida el precio de la seguridad.
Es necesario
aprender de
los errores
http://www.virusprot.com/Opiniones2002.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 63
1
er
principio de la seguridad informtica
PREGUNTA:
Cules son los puntos dbiles
de un sistema informtico?
P1: El intruso al sistema utilizar el artilugio que
haga ms fcil su acceso y posterior ataque.
Existir una diversidad de frentes desde los que
puede producirse un ataque, tanto internos como
externos. Esto dificultar el anlisis de riesgo ya
que el delincuente aplicar la filosofa del ataque
hacia el punto ms dbil: el equipo o las personas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 64
2 principio de la seguridad informtica
PREGUNTA:
Cunto tiempo deber
protegerse un dato?
P2: los datos confidenciales deben protegerse slo
hasta que ese secreto pierda su valor como tal.
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 65
3
er
principio de la seguridad informtica
P3: las medidas de control se implementan para
que tengan un comportamiento efectivo, eficiente,
sean fciles de usar y apropiadas al medio.
Efectivo: que funcionen en el momento oportuno.
Eficiente: que optimicen los recursos del sistema.
Apropiadas: que pasen desapercibidas para el usuario.
Y lo ms importante: ningn sistema de
control resulta efectivo hasta que debemos
utilizarlo al surgir la necesidad de aplicarlo.
Junto con la concienciacin de los usuarios,
ste ser uno de los grandes problemas de la
Gestin de la Seguridad Informtica.
Medidas de control
S
e
g
u
r
i
d
a
d
I
n
f
o
r
m
t
i
c
a
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 66
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 67
Amenazas de interrupcin
Interrupcin
Intruso
Se daa, pierde o deja de funcionar un punto del
sistema.
Su deteccin es inmediata.
Ejemplos: Destruccin del hardware.
Borrado de programas, datos.
Fallos en el sistema operativo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 68
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 69
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 70
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 71
Escenarios de las amenazas del sistema
Interrupcin Interceptacin Modificacin Generacin
(prdida) (acceso) (cambio) (alteracin)
Datos
Hardware Software
Interrupcin (denegar servicio) Modificacin (falsificacin)
Interceptacin (robo) Interrupcin (borrado)
Interceptacin (copia)
Ejemplos de amenzas
Los datos sern la parte ms
vulnerable del sistema
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 72
Amenazas ms caractersticas
Hardware:
Agua, fuego, electricidad, polvo, cigarrillos, comida.
Software:
Adems de algunos tpicos del 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, habr datos
de carcter personal y privado que podran convertirse
en datos de carcter pblico: hay leyes que lo protegen.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 73
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
sueltas, 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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 74
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 todas estas amenazas, y que adems se
entienda y pase desapercibido por los usuarios.
Debido al principio de acceso ms fcil, el responsable de
seguridad informtica no se deber descuidar ninguno de
los cinco elementos susceptibles de ataque al sistema.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 75
Confidencialidad, integridad y disponibilidad
Estos son los tres elementos bsicos de la
seguridad informtica:
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 76
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 77
El concepto de datos seguros
Si se cumplen los principios vistos anteriormente, diremos
en general que los datos estn protegidos y seguros.
Confidencialidad Integridad Disponibilidad
Datos Seguros
DATOS DATOS
DATOS
Esto se entiende en el
siguiente sentido: los
datos slo pueden ser
conocidos por aquellos
usuarios que tienen
privilegios sobre ellos,
slo usuarios autorizados
los podrn crear o bien
modificar, y tales datos
debern estar siempre
disponibles.
DATOS
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 78
Sistema de cifra
Medio de
Transmisor Transmisin Receptor
M C
Cifrador
Mensaje cifrado Descifrador
Interceptacin del mensaje
por un intruso
T R
MT
C M
Usurpacin de identidad
por un intruso
Sea cual sea el medio de transmisin o almacenamiento (enlace,
red telefnica, red de datos, disco magntico, disco ptico, etc.),
ste ser siempre y por definicin un medio inseguro. Por lo tanto,
habr que adaptarse a este medio usando el cifrado. Tal vez esto
deje de ser cierto en los futuros sistemas con criptografa cuntica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 79
Esquema de un criptosistema
Texto Emisor (E)
Texto cifrado
Receptor (R)
Base Base
Canal inseguro
Clave
Cifrador Descifrador
Texto
M M
C
K
E
Clave K
R
Texto base: ser
cualquier archivo
o documento
Un espacio de textos en claro M
Un espacio de textos cifrados C
Un espacio de claves K
Unas transformaciones de cifrado E
KE
(M)
Unas transformaciones de descifrado D
KR
(C)
Hablaremos
entonces de:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 80
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
R
, E(k
E
,M))
Las operaciones D y E son
inversas o bien lo son las
claves que intervienen. Esto
ltimo es lo normal, usando
inversos dentro de un cuerpo
finito. Por tanto, se recupera
as el mensaje en claro.
E(M): Cifrado del mensaje M
D(C): Descifrado del criptograma C
Es el caso tpico de los sistemas modernos: los algoritmos E y D son iguales y
la clave k
R
es la usada en el extremo receptor y la clave k
E
en extremo emisor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 81
El 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...
Hola, qu tal?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 82
El 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, con y sin
sentido, como es lgico.
C = {c
1
, c
2
, ..., c
n
}
VjbmljYSB3kZSBNYWR
y+WQgQ0ExLTAr8BgN=
A?&% | $/n_*
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 83
El espacio de claves K
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.
Si el espacio de claves K fuera tan grande como el de
los mensajes M, se puede lograr un criptosistema con
secreto perfecto.
K = {k
1
, k
2
, ..., k
n
}
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 84
Transformaciones de cifrado E
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 adems
su cdigo fuente est disponible en Internet.
E
k
: M C k K
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 85
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 86
Requisitos de seguridad de un sistema
El algoritmo de cifrado y descifrado deber ser rpido
y fiable.
Debe ser posible 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 en 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 una clave secreta a partir de otros
datos de carcter pblico.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 87
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.
http://www.sirbacon.org/links.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 88
Recomendaciones de Kerckhoffs
Profesor holands en Pars en el 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
El mtodo de eleccin de claves debe ser fcil de recordar.
K
4
La transmisin del texto cifrado se har por telgrafo.
K
5
El criptgrafo (equipo o mquina de cifrar) debe ser portable.
K
6
No debe existir una larga lista de reglas de uso.
Al igual que en el caso anterior, estas recomendaciones siguen
siendo vlidas si las adaptamos a nuestra poca y tecnologa.
http://en.wikipedia.org/wiki/Kerckhoffs%27_law
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 89
Fortaleza de la cifra: tipos de ataques
Conociendo el algoritmo de cifra, el criptoanalista intentar
romper la cifra en uno de estos escenarios:
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 todas combinaciones posibles de claves.
Un algoritmo de cifra ser fuerte si, conociendo su funcionamiento o
cdigo, conociendo el texto cifrado y conociendo el texto en claro, el
ataque a la clave de cifra secreta es computacionalmente muy difcil.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 90
Clasificacin de los criptosistemas
Sistemas de cifra: clsicos
versus modernos
Clasificacin histrica y
cultural (no tcnica).
Sistemas de cifra: en bloque
versus en flujo
Clasificacin de acuerdo a
cmo se produce la cifra.
Sistemas con clave: secreta versus pblica
Clasificacin de acuerdo al uso de una nica clave
secreta (sistemas simtricos) o bien dos claves, una de
ellas pblica y la otra privada (sistemas asimtricos).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 91
Cifrado en bloque y cifrado 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 de texto o informacin a cifrar normalmente
ser 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 de mayor longitud que el mensaje.
La cifra se hace carcter a carcter o bit a bit.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 92
Comparativa de cifra: bloque vs 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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 93
Confidencialidad versus integridad
Vamos a ver cmo se obtienen en cada uno de estos
sistemas de cifra (cifrado con clave secreta o
sistemas simtricos y cifrado con clave pblica o
sistemas asimtricos) los dos aspectos ms relevantes
de la seguridad informtica:
La confidencialidad y la
integridad de la informacin
Llegaremos a un concepto de mucha utilidad en criptografa
al analizar el sistema con clave pblica...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 94
Criptosistemas de clave secreta
Mensaje cifrado
Medio de
Clave Transmisin Clave
M
C
Texto
Texto
Base
Base
Cifrado Descifrado
MT
M C
Cifrado: E
k
Descifrado: D
k
E
k
D
k
k k
Clave
nica
El problema es
cmo hacerla
llegar al destino
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 95
Confidencialidad con clave secreta
protegida
Buscamos la
confidencialidad
Medio de
k
Transmisin
k
M
C
Texto Texto
Base Base
No le estar
permitido leer M
E
K
MT
D
K
M
C
D
K
intruso
Criptograma
Protegeremos 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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 96
Integridad con clave secreta
protegida
Buscamos la
integridad
Medio de
k
Transmisin
k
M
C
Texto Texto
Base
Criptograma
Base
No le estar permitido
generar un C
E
K
MT
D
K
M
C
E
K
intruso
Hola... soy Paquito!
Protegeremos 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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 97
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.
Es algo obvio y que
ya se esperaba...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 98
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 usa
dos funciones: una
pblica E
X
y otra
privada D
X
.
Cada usuario usa
dos funciones: una
pblica E
X
y otra
privada D
X
.
C = E
B
(M)
M = D
B
(C) = D
B
(E
B
(M))
E
B
y D
B
son operaciones
inversas dentro de un cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 99
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 100
Resumen para sistemas con clave pblica
k privada
de A
M
C
Confidencialidad
Usuario A Usuario B
Integridad
D
B
E
A
E
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
D
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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 101
Gestin de claves en sistemas simtricos
A
E
D
C
B
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
Muy mala gestin de claves: el valor tiende a n
2
.
Clave
secreta
k
xy
= k
yx
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 102
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,
redes y entornos de cmputo
personal (PC) funcionan as.
La solucin hbrida
Es entonces la clave pblica la solucin a
todos nuestros problemas?
NO !
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 103
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
el 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) 2006
Captulo 3: Introduccin a la Seguridad Informtica
Pgina 104
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 obtienen la confidencialidad y
la integridad al mismo tiempo protegiendo slo 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?
Captulo 4
Calidad de Informacin y Programas Malignos
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 27 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 106
Qu es la informacin?
Bajo el punto de vista de la ingeniera:
Estudio de las caractersticas y estadsticas del
lenguaje que nos permitir su anlisis desde un
enfoque matemtico, cientfico y tcnico.
Bajo el punto de vista de 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) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 107
Teora de la informacin de Shannon
El estudio hecho por Claude Shannon en aos posteriores
a la 2 Guerra Mundial ha permitido, entre otras cosas:
Cuantificar la cantidad de informacin.
Medir la entropa de la informacin.
Definir un sistema con secreto perfecto.
Calcular la redundancia y la ratio del lenguaje.
Encontrar la distancia de unicidad.
Todo el estudio de Shannon est orientado a criptosistemas
clsicos que cifran letras, que tienen escaso inters en este libro.
No obstante, en un captulo posterior se vern estos sistemas con
un mnimo detalle pues permiten analizar con cierta facilidad
sistemas con secreto perfecto.
http://es.wikipedia.org/wiki/Claude_Shannon
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 108
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.
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. Por este motivo, es vital que
se implanten unas polticas de seguridad y que,
adems, se haga un seguimiento de ellas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 109
Importancia de la informacin
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 posee, entre
otras caractersticas, las de confidencialidad,
de integridad y de disponibilidad.
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 xito de la misma. Despus de
atentados terroristas, incendios, huracanes y diversas amenazas,
muchas empresas han desaparecido por no haber sido capaces
de recuperarse tras haber perdido toda su informacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 110
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 problemas ms importantes puede
ser el que est relacionado con el delito o
crimen informtico, bien por factores
externos o internos. Habr que estar muy
atentos al factor humano interno.
Un empleado
descontento...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 111
Hay que implantar polticas de seguridad
El tratamiento y vulnerabilidad de la informacin se
ver influida por otros temas, como por ejemplo los
aspectos legales vigentes. Adems, las empresas
cada da dependen ms de sus comunicaciones y de
su trabajo en red, lo que aumenta su inseguridad.
... Y solamente ahora
comienza a tomarse
verdaderamente en serio.
Poltica 1
Poltica 2
Poltica 3
Solucin
La solucin parece
muy sencilla: crear
y aplicar polticas
de seguridad...
http://www.rediris.es/cert/doc/docu_rediris/poliseg.es.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 112
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, la
proteccin de
datos resulta
obvia
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 113
Copias de seguridad: backup
La medida ms elemental 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.
http://www.criptored.upm.es/guiateoria/gt_m001l.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 114
Hackers, crakers, script kiddies...
Hacker:
Definicin inicial de los ingenieros del MIT que hacan
alardes de sus conocimientos en informtica.
Entre muchas clasificaciones estn las de White Hat
(generalmente no delictivos), Blak Hat (generalmente es
delictivo) y Grey Hat (reconvertidos por la empresa).
Cracker:
Persona que intenta de forma ilegal romper la seguridad de
un sistema por diversin o inters.
Script kiddie:
Un inexperto, normalmente un adolescente, que usar
programas que se descarga de Internet para atacar sistemas.
Ms informacin en:
http://www.umanizales.edu.co/encuentrohackers/tiposh.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 115
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 importantes riesgos de
ataques por parte de delincuentes informticos,
pero ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 116
Dnde est el verdadero enemigo?
Por muy organizados que puedan estar estos
grupos de 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. Segn estadsticas
fiables, cerca del 80% de las amenazas de
seguridad provienen de la propia organizacin.
La solucin sigue siendo la misma: la puesta en marcha
de una adecuada poltica de seguridad en la empresa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 117
Algunos ataques y 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 )C. de Troya )Spam
http://www.delitosinformaticos.com/delitos/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 118
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) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 119
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) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 120
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 como ya estamos acostumbrados.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 121
Caballos de Troya y spam
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. Puede
ser muy peligroso cuando es un programador de la
propia empresa quien lo instala en un programa.
Spam
El spam o correo no deseado, si bien no lo podemos
considerar como un ataque propiamente dicho, lo cierto
es que provoca hoy en da prdidas muy importantes
en empresas y muchos dolores de cabeza.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 122
Ataques y delitos recientes
Tres amenazas que se han incrementado en el ao 2005:
Cartas nigerianas: correo electrnico que comenta la necesidad de sacar
una gran cantidad de dinero de un pas africano a travs de un cmplice
de otro pas, justificando una persecucin poltica.
Ingeniera social: correo electrnico en el que se fuerza al usuario a que
abra un archivo adjunto que supuestamente le interesa o bien est muy
relacionado con su trabajo, utilizando as el eslabn ms dbil de una
cadena de seguridad como es el ser humano.
Phising: simulacin, algunas veces perfecta, de una pgina Web de un
banco solicitando el ingreso de claves secretas, con la excusa de la
aplicacin de nuevas polticas de seguridad de la entidad. Dentro del
enlace a la noticia de Hispasec, se recomienda la visualizacin de los
vdeos explicativos en flash con los altavoces del PC encendidos.
http://www.hispasec.com/unaaldia/2406 http://en.wikipedia.org/wiki/Phising
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 123
Aparecern nuevos ataques
En un futuro inmediato y en los prximos aos aparecern nuevos
delitos y ataques a los sistemas informticos y redes que, a fecha de
hoy, no sabemos cmo sern ni a qu vulnerabilidad atacarn.
Este constante enfrentamiento entre el lado oscuro o
el mal (conocido como el Yin) y el lado claro o el
bien (el Yang), como muestra este smbolo propio
de filosofas ancestrales, ser inevitable en sistemas
intercomunicados y abiertos como los actuales.
Las comunicaciones crecern cada vez ms hacia ese entorno
abierto, como las actuales redes inalmbricas, con lo que irn
apareciendo nuevas amenazas...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 124
Breve introduccin a virus informticos
Las prximas diapositivas son slo 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 los virus
informticos y programas malignos con la profundidad que
debera hacerse y que este tema en realidad se merece.
Se incluye este apartado precisamente en este captulo como un
factor ms a tener en cuenta en cuanto a la calidad de la
informacin que manejamos.
Mucha gente cataloga a ste como un tema menor; sin embargo,
dentro de las empresas es uno de los mayores problemas a los
que se enfrentan los responsables de seguridad informtica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 125
Historia y tipos de virus
Primer ejemplo: John von Neuman en 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 (pelotas, letras que se mueven, etc.)
Slo molestan y entorpecen el trabajo pero no destruyen
informacin. Podran residir en el PC.
Malignos (Viernes 13, Blaster, Nimbda, Netsky, Klez, etc.)
Destruyen los datos y afectan a la integridad y la
disponibilidad del sistema. Hay que eliminarnos.
Ms informacin en:
http://alerta-antivirus.red.es/virus/ver_pag.html?tema=V
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 126
Transmisin de virus y malware
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 bien los visualizadores ejecutan cdigo en el cliente
de correo del usuario y stos pueden tener incluido un virus.
No obstante hay que estar muy atentos pues ya a comienzos de
2006 hacen su aparicin virus que se ejecutan desde la simple
visualizacin de un grfico jpg, gif, etc., usando para ello una
vulnerabilidad conocida de procesamiento de WMF (Windows
Meta File) que permite la ejecucin de cdigo arbitrario.
http://www.hispasec.com/unaaldia/2639
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 127
Peligros del entorno Web
El entorno web es mucho ms peligroso. Un enlace puede
lanzar un programa que se ejecute en el cliente y nos infecte o
comprometa la mquina, dejndola abierta para otros ataques o
bien dejarla como un zombie que colabore en otros ataques.
Si se atreve y su sistema tiene AntiSpyware haga una prueba:
busque en Google una pgina web porno supuestamente seria,
navegue unos 10 minutos y luego al salir observe que dicho
programa seguramente le avisar de varios programas spyware,
ms de algn dialer que se quiere instalar, etc. /
Punto ms crtico de la seguridad respecto a virus y accesos a
Internet: usuario que confiado en la direccin del remitente o
de un servidor, por curiosidad, engaado con la denominada
ingeniera social, etc., ... abre archivos o entra a ese servidor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 128
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) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 129
Algunas medidas bsicas de prevencin
Proteger los discos extrables -hoy principalmente usando la
tecnologa flash con USB- con la pestaa de seguridad. Es una
proteccin de escritura fcil y muy elemental.
Instalar un antivirus y actualizarlo de forma peridica. Es muy
recomendable que se haga al menos una vez por semana.
Ejecutar el antivirus a todo el disco duro una vez al mes.
Ejecutar siempre el antivirus a todo disco o CD que se
introduce al sistema y a los archivos que descargamos desde
Internet o vienen adjuntos en un e-mail.
Si se tiene dudas, recurra a herramientas libres en Internet (*).
Controlar el acceso de extraos al computador.
Aunque esto puede ser ms complicado ... use software legal.
(*)
http://www.virustotal.com/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 130
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.
Ejecutar luego un programa antivirus.
Si es posible, hacer copia de seguridad de sus archivos para
poder compararlas con copias anteriores.
Formatear el disco duro a bajo nivel (si puede hacerlo claro) y si
no le queda otra solucin /.
Instalar nuevamente el sistema operativo y restaurar las copias
de seguridad... ahora se acuerda que debe hacerlas a menudo?
De todas maneras, recuerde que la seguridad informtica total no existe... ha
pensado que su disco duro puede quemarse ahora mismo por una repentina subida
de voltaje? Y estas cosas son ms habituales de lo que piensa.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 4: Calidad de Informacin y Programas Malignos
Pgina 131
Cuestiones y ejercicios (1 de 1)
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 responsables 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 podran ser las ms adecuadas de cara a minimizar
los ataques por virus en nuestra empresa?
5. Si deseamos que nuestra empresa est debidamente protegida tanto
fsica como lgicamente, qu deberamos hacer?
Captulo 5
Introduccin a la Gestin de la Seguridad
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 46 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 133
Proteccin lgica y fsica de los datos
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 herramientas de seguridad en redes.
Se incluyen tambin medidas de prevencin de riesgos
y la instauracin de polticas de seguridad, de planes
de contingencia, de recuperacin ante desastres,
aplicacin de normativas, la legislacin vigente, etc.
Seguridad Fsica
Procedimientos de proteccin fsica del sistema:
acceso personas, incendio, agua, terremotos, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 134
La seguridad fsica en entornos de PCs
Anclajes a mesas de trabajo.
Cerraduras en puertas.
Tarjetas con alarma.
Etiquetas con adhesivos especiales.
Bloqueo de unidades externas.
Protectores de teclado.
Tarjeta de control de acceso al hardware.
Sistema de suministro continuo de corriente.
Toma de tierra.
Eliminacin de la esttica... etc.
Temas a tener
en cuenta en un
entorno de PCs
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 135
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.
Le recomiendo descargar estas herramientas de libre distribucin
para el anlisis de riesgo desde las direcciones que se indican:
http://www.csi.map.es/csi/pg5m20.htm
Magerit V 2
http://www.criptored.upm.es/software/sw_m214_01.htm
Chinchon V 1.3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 136
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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 137
Ecuacin bsica del anlisis de riesgo
B > P L ?
B: es la carga o gasto que significa la prevencin de
una prdida especfica debido a una vulnerabilidad.
P: es la probabilidad de que se vea afectada dicha
vulnerabilidad y ocurra esa prdida especfica.
L: es el impacto o coste total que significa la prdida
especfica debido a esa vulnerabilidad que ha sido
afectada por una amenaza.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 138
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 como
las consecuencias informticas en algunas empresas tras el
11 de septiembre. Lo que s es cierto, es que no tiene
sentido alguno invertir ms dinero en la proteccin del
bien que el propio valor de ste.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 139
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 se 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. En varios casos, el verdadero
problema est en la dificultad de calcular de forma
ms o menos precisa el impacto econmico que
puede suponer el hecho de que ocurra ese riesgo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 140
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 de valoracin 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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 141
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.
Una vez se conoce P para un L dado, se obtiene la
probabilidad de prdida relativa de la ocurrencia PL
que se comparar con B, el peso que nos supondra
implantar la medida de prevencin respectiva.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 142
El factor B en la ecuacin de riesgo
Factor B (en B P L)
Indica qu se requiere para prevenir una prdida.
Por ejemplo, puede ser 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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 143
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 nivel de seguridad que nuestra empresa
desee, crea oportuno o que nos imponga el mercado.
De qu forma nos protegeremos?
Una casa puede protegerse con puertas, cerraduras, barras
de hierro en ventanas, sistemas de alarmas, etc.
En un sistema informtico podemos aplicar protecciones
fsicas, polticas de seguridad, control de accesos, planes
de contingencia y de recuperacin, cortafuegos, IDs, uso
de cifrado, autenticacin, firmas, pasarelas seguras, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 144
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.
B PL ?
Se
cierra
el
ciclo
2. Determinar susceptibilidad.
La probabilidad de prdida (P)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 145
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 las cuales se comunican los
sujetos dentro del sistema.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 146
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.
Se procede a la etapa de concienciacin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 147
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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 148
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 lo secreta que sea la informacin que procesan.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 149
Modelos de seguridad
Modelo de Bell LaPadula (BLP)
Rgido. Confidencialidad y con autoridad.
Modelo de Clark-Wilson (CW)
Orientacin comercial: integridad.
Modelo de Take-Grant (TG)
Derechos especiales: tomar y otorgar.
Otros: modelo de Goguen-Meseguer (no interferencia entre
usuarios); modelo de Matriz de Accesos (estados y
transiciones entre estados: tipo Graham-Dennig; tipo
Harrison-Ruzzo-Ullman), Biba, Chinese Wall, etc.
Se definirn
brevemente
en prximas
diapositivas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 150
La escritura hacia abajo est prohibida.
La lectura hacia arriba est prohibida.
Es el llamado principio de tranquilidad.
Lectura hacia arriba prohibida Secreto mximo
Usuario dado de alta
con un nivel de secreto Secreto
Escritura hacia abajo prohibida No clasificado
Modelo de Bell y LaPadula
http://en.wikipedia.org/wiki/Bell-LaPadula_model
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 151
Modelo de Clark Wilson CW
Est 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.
http://www.criptored.upm.es/guiateoria/gt_m248c.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 152
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.
http://www.criptored.upm.es/guiateoria/gt_m248b.htm
Documentos de lectura recomendada:
http://www.criptored.upm.es/guiateoria/gt_m248a.htm
Biba
Harrison, Ruzzo y Ullman
http://www.criptored.upm.es/guiateoria/gt_m248e.htm
Chinese Wall
http://www.criptored.upm.es/guiateoria/gt_m248d.htm
Sea View: bases de datos
http://www.criptored.upm.es/guiateoria/gt_m248f.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 153
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.
Normativa internacional 17799
Desarrolla un protocolo de condiciones mnimas de seguridad
informtica de amplio espectro.
Encontrar una interesante lectura sobre aplicacin de criterios de
seguridad en el documento que se indica
http://www.csi.map.es/csi/criterios/seguridad/index.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 154
Leyes de seguridad informtica en Espaa
En el Real Decreto 994/1999 (11 junio) sobre Medidas de seguridad
de los ficheros automatizados que contengan datos de carcter
personal se definen las funciones del Responsable de Seguridad.
Ley Orgnica de Proteccin de Datos LOPD se desarrolla en Espaa
en diciembre de 1999 y comienza a aplicarse ya en el ao 2002.
Se crea una Agencia Espaola de Proteccin de Datos AEPD que
debe velar por el cumplimiento de esta ley mediante la realizacin de
auditoras, al menos cada dos aos. La AEPD la forman 9 personas.
Se definen las funciones y obligaciones del Responsable de Fichero y
del Encargado de Tratamiento.
Las infracciones se clasifican como leves, graves y muy graves con
sanciones de 60.000 , 300.000 y 600.000 respectivamente.
Establece un conjunto de procedimientos de obligado cumplimiento
de forma que adems de proteger la privacidad de los datos, se
cumplan los principios de la seguridad informtica fsica y lgica.
http://www.agpd.es/index.php?idSeccion=77
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 155
Cadena de responsabilidades en seguridad
Responsable de Fichero: es la entidad, institucin o
persona jurdica que posee datos de carcter personal y
que por tanto debe velar por la seguridad de ellos.
Responsable de Tratamiento: es posible que la entidad
anterior sea quien manipule los datos (gestin, copias de
seguridad, etc.) o bien esta tarea la ejecute otra empresa.
De ah que se diferencie entre estos dos responsables.
Responsable de seguridad: persona o personas en las que
el responsable de fichero ha asignado formalmente la
funcin de coordinar y controlar las medidas de seguridad
aplicables.
https://www.agpd.es/upload/Canal_Documentacion/legislacion/Estatal/A.8%29%20Real%20Decreto%20994-1999.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 156
Operaciones de responsabilidad en LOPD
Artculo 9: Seguridad de los datos.
El responsable del fichero y, en su caso, el encargado del
tratamiento debern adoptar las medidas de ndole tcnica y
organizativa necesarias que garanticen la seguridad de los
datos de carcter personal y eviten su alteracin, prdida,
tratamiento o acceso no autorizado, habida cuenta del
estado de la tecnologa, la naturaleza de los datos
almacenados y los riesgos a que estn expuestos, ya
provengan de la accin humana o del medio fsico o natural.
Temas como estar en el estado de la tecnologa y conocer todo tipo
de riesgos son un dolor de cabeza para el responsable de seguridad.
https://www.agpd.es/upload/Canal_Documentacion/legislacion/Estatal/Ley%2015_99.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 157
Niveles de seguridad en el RD 994/1999
Nivel Bsico: todos los ficheros que contengan datos de carcter
personal debern adoptar las medidas de seguridad calificadas como
de nivel bsico.
Nivel Medio: los ficheros que contengan datos relativos a la comisin
de infracciones administrativas o penales, Hacienda Pblica, servicios
financieros ..., debern reunir, adems de las medidas de nivel bsico,
las calificadas como de nivel medio.
Nivel Alto: los ficheros que contengan datos de ideologa, religin,
creencias, origen racial, salud o vida sexual as como los que
contengan datos recabados para fines policiales sin consentimiento de
las personas afectadas debern reunir, adems de las medidas de nivel
bsico y medio, las calificadas como de nivel alto.
Las medidas a que se hace mencin en estos textos puede verlas en:
https://www.agpd.es/upload/Canal_Documentacion/legislacion/Estatal/A.8%29%20Real%20Decreto%20994-1999.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 158
LOPD: algunas infracciones leves
No atender, por motivos formales, la solicitud del interesado de
rectificacin o cancelacin de los datos personales objeto de
tratamiento cuando legalmente proceda.
No proporcionar informacin que solicite la Agencia de Proteccin de
Datos en el ejercicio de las competencias que tiene legalmente
atribuidas, en relacin con aspectos no sustantivos de la proteccin de
datos.
No solicitar la inscripcin del fichero de datos de carcter personal en
el Registro General de Proteccin de Datos, cuando no sea
constitutivo de infraccin grave.
Proceder a la recogida de datos de carcter personal de los propios
afectados sin proporcionarles la informacin que seala el artculo 5
de la presente ley.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 159
LOPD: algunas infracciones graves
Proceder a la creacin de ficheros de titularidad pblica o iniciar la
recogida de datos de carcter personal para los mismos, sin
autorizacin de disposicin general, publicada en el Boletn Oficial
del Estado o diario oficial correspondiente.
Proceder a la creacin de ficheros de titularidad privada o iniciar la
recogida de datos de carcter personal para los mismos con
finalidades distintas de las que constituyen el objeto legtimo de la
empresa o entidad.
Proceder a la recogida de datos de carcter personal sin recabar el
consentimiento expreso de las personas afectadas, en los casos en que
ste se exigible.
Mantener los ficheros, locales, programas o equipos que contengan
datos de carcter personal sin las debidas condiciones de seguridad
que por va reglamentaria se determine.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 160
LOPD: algunas infracciones muy graves
La recogida de datos de forma engaosa y fraudulenta.
La comunicacin o cesin de los datos de carcter personal, fuera de
los casos en que estn permitidas.
La transferencia temporal o definitiva de datos de carcter personal
que hayan sido objeto de tratamiento o hayan sido recogidos para
someterlos a dicho tratamiento, con destino a pases que no
proporcionen un nivel de proteccin equiparable sin autorizacin del
Director de la Agencia de Proteccin de Datos.
Tratar los datos de carcter personal de forma ilegtima o con
menosprecio de los principios y garantas que les sean de aplicacin,
cuando con ello se impida o se atente contra el ejercicio de los
derechos fundamentales.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 161
La norma ISO 17799 (27001)
Presenta normas, criterios y recomendaciones bsicas para
establecer polticas de seguridad.
stas van desde los conceptos de seguridad fsica hasta los
de seguridad lgica.
Parte de la norma elaborada por la BSI, British Standards
Institution, adoptada por International Standards
Organization ISO y la International Electronic Commission
IEC.
Documento de 70 pginas no de libre distribucin.
Desde finales de 2005 estas normas se estn revisando y
cambiando de numeracin a partir del nmero 27001.
)
http://www.aenor.es/desarrollo/normalizacion/normas/resultadobuscnormas.asp?campobuscador=17799
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 162
Entornos de la norma ISO 17799
Se trata de un cdigo de buenas prcticas para la Gestin de la
Seguridad de la I nformacin.
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
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 163
Historia de la norma ISO 17799
Ref.: Gestin de Seguridad de la Informacin: UNE 71502, ISO17799, A. Villaln.
http://www.criptored.upm.es/guiateoria/gt_m209b.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 164
Planes de contingencia
Un Plan de Contingencia consiste en un estudio y anlisis
pormenorizado de las reas que componen la organizacin y
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 sus fortalezas y sus
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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 165
Acciones a realizar en un SGSI
El Plan de Contingencia ser una herramienta imprescindible en un
Sistema de Gestin de la Seguridad Informtica (SGSI). Acciones:
Planificar: estudiar la implantacin de la poltica de seguridad
adoptada, alcances que tendr la gestin, anlisis de riesgos que se
harn, establecimiento de controles que activaremos, etc.
Hacer: implantar el sistema de gestin, poner y activar los controles,
registros e indicadores. Toma de datos del estado de la seguridad.
Verificar: realizar una auditora interna para comprobar el grado de
cumplimiento de nuestro sistema.
Actuar: realizar el seguimiento de la gestin y tomar las medidas
correctivas as como las acciones preventivas correspondientes.
Se cierra el ciclo ajustando las acciones planificadas si fuera el caso.
Ciclo ms conocido por las siglas PDCA (Plan - Do - Check - Act)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 166
Ciclo PDCA
Plan
Poltica y Alcance del sistema
Anlisis de riesgos
Seleccin de controles
Implantacin del SGSI
Implantacin controles
Implantacin indicadores
Acciones correctivas
Acciones preventivas
Modificacin Plan
Act Do
Auditora interna
No conformidades
Grado de cumplimiento
Check
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 167
Desastres naturales y su prevencin
Desastres naturales
Huracn
Tormenta
Inundacin
Tornado
Vendaval
Incendio
Terremoto
Otros
Medidas prevencin
Emplazamientos
adecuados
Proteccin fachadas,
ventanas, puertas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 168
Vandalismo informtico y su prevencin
Terrorismo
Sabotaje
Robo
Virus
Chantaje informtico
Programas malignos
Medidas de prevencin
Fortificacin de entradas
Guardia Jurado
Patrullas de seguridad
Circuito cerrado TV
Control fsico de accesos
Proteccin de software y
hardware con antivirus,
cortafuegos, deteccin de
intrusos, etc.
Seguimiento de las polticas
de seguridad de la empresa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 169
Amenazas del agua y su prevencin
Amenazas
Inundaciones por
causas propias de la
empresa
Inundaciones por
causas ajenas
Pequeos incidentes
personales (la tpica
botella de agua o taza
con caf que se cae
sobre el teclado...)
Medidas prevencin
Revisar conductos de
agua
Emplazar la sala con los
equipos ms caros en un
sitio libre de estos
problemas
Instalar sistemas de
drenaje de emergencia
Concienciar a nuestros
empleados
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 170
Amenazas del fuego y su prevencin
Amenazas
Una mala instalacin
elctrica
Descuidos personales
como puede ser fumar
en sala de ordenadores
Papeleras mal ubicadas
en la que se tira un
cigarrillo no apagado
Vulnerabilidades del
sistema ante el 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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 171
Qu sucede si se produce un desastre?
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 las 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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 172
Tiempos de recuperacin ante desastres
Segn diversos estudios el perodo mximo de inactividad
que puede soportar una empresa sin poner en peligro su
supervivencia es de:
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 (
Si nos han dicho que nuestro banco tiene problemas de
seguridad y no podemos mover nuestras cuentas, lo ms
seguro es que cambiemos de banco al da siguiente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 173
Prdidas por no contar con plan estratgico
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 en el mercado.
Prdida de credibilidad en el sector.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 174
Medidas bsicas ante un desastre
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.
http://recovery-disaster.info/index.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 175
Alternativas del 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
Algunas soluciones pueden resultar de muy alto costo. Su eleccin
depender entonces de las caractersticas de nuestra empresa y qu
tan crtico debe ser ese plan de continuidad acorde con ello.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 176
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 riesgo 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) 2006
Captulo 5: Introduccin a la Gestin de la Seguridad
Pgina 177
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 una empresa que vende coches?
Captulo 6
Teora de la Informacin
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 59 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 179
Fundamentos de la Seguridad Informtica
Los pilares sobre los que descansa toda la teora asociada a
los criptosistemas son bsicamente tres:
La teora de la informacin
Estudio de la cantidad de informacin contenida en los
mensajes y claves, as como su entropa.
La teora de los nmeros
Estudio de las matemticas discretas y cuerpos finitos
que permiten las operaciones de cifrado y descifrado.
La teora de la complejidad de los algoritmos
Estudio de la clasificacin de los problemas como
computacionalmente tratables o intratables.
Estos temas los veremos en ste y en los siguientes captulos del libro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 180
Teora de la informacin
Definicin de informacin:
Es el 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
tcnicas criptogrficas entre otras herramientas.
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.
Qu significa
cantidad de
informacin y
codificador
ptimo?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 181
Puede ser numrica, alfabtica, simblica, por lenguaje.
Ejemplo: 15/01/05 15-01-05 15-1-05 15/01/2005
01/15/05 01-15-05 1-15-05 01-15-2005 ...
- Todos son el da 15 de enero del ao 2005.
Vitaminas: B
12
, C, ...
Grupo sanguneo: A2 Rh+ ...
Elementos: Fe, Si, Hg ...
Compuestos qumicos: H
2
O, CO
2
...
Ms comn Lenguaje con cdigo: Hace calor all?
Veamos la informacin
que contiene el mensaje
Hace calor all?
Veamos la informacin
que contiene el mensaje
Hace calor all?
Representacin de la informacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 182
La informacin que tiene un mensaje
Veremos qu informacin nos entrega un mensaje
dependiendo del contexto en que nos encontremos.
Esto puede analizarse:
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 ltimo enfoque orientado a la ingeniera y usado por
Claude Shannon en su estudio es el que aqu nos interesa.
http://es.wikipedia.org/wiki/Claude_E._Shannon
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 183
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.
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?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 184
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) 2006
Captulo 6: Teora de la Informacin
Pgina 185
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) 2006
Captulo 6: Teora de la Informacin
Pgina 186
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) 2006
Captulo 6: Teora de la Informacin
Pgina 187
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 los nmeros 1 y 3 de la calle Sierpes en
Sevilla, Espaa.
Respuesta 3: En los nmeros 1 y 3 de la calle Sierpes en
Sevilla, Espaa... La Campana, una excelente bombonera!
Por qu?
Dnde hay una mayor cantidad de informacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 188
Incertidumbre e informacin
Ante varios mensajes posibles, en principio todos equiprobables, aquel
que tenga una menor probabilidad de aparicin 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.
Las siguientes diapositivas resumen el estudio de Claude Shannon sobre la
entropa en su artculo A Mathematical Theory of Communication que
puede descargarlo en formato pdf desde esta direccin:
http://cm.bell-labs.com/cm/ms/what/shannonday/paper.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 189
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) 2006
Captulo 6: Teora de la Informacin
Pgina 190
Definicin de cantidad de informacin
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 2: Un fenmeno binario dos estados (bit)
1
c
i
p
i
0
0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 191
Grado de indeterminacin
Combinacin 1 Combinacin 5
Combinacin 2 Combinacin 6
Combinacin 3 Combinacin 7
Combinacin 4 Combinacin 8
Grado de indeterminacin previo
Grado de indeterminacin posterior
c
i
=
En una bolsa hay dos papeles con crculos, dos con
cuadrados y dos con tringulos: negros o blancos.
Sacamos a ciegas tres papeles cualesquiera...
Qu cantidad de informacin tiene cada uno de los estados?
Si hay equiprobabilidad
entonces p(x
i
) = 1/8 Sea sta ser la combinacin elegida...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 192
La incertidumbre del ejemplo del mago
Combinacin 1 Combinacin 5
Combinacin 2 Combinacin 6
Combinacin 3 Combinacin 7
Combinacin 4 Combinacin 8
Como p(xi) = 1/8 entonces
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 (descartamos 5, 6 y 7).
Hay dos figuras blancas: I
i
baja de 3 a 2 (descartamos 4).
El cuadrado es negro: I
i
baja de 2 a 1 (descartamos 2.)
Veamos esto ahora
matemticamente ...
Se acaba la incertidumbre pues la solucin es la combinacin 3.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 193
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) 2006
Captulo 6: Teora de la Informacin
Pgina 194
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. Es decir, pasamos de la
incertidumbre total a la certeza con slo 3 preguntas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 195
Con slo tres preguntas inteligentes...
Combinacin 1 Combinacin 5
Combinacin 2 Combinacin 6
Combinacin 3 Combinacin 7
Combinacin 4 Combinacin 8
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!
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 196
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
Nota: aunque la ecuacin parece
bastante lgica, no es inmediata.
http://en.wikipedia.org/wiki/Information_entropy
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 197
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
Despus del ejemplo de los papeles, podramos aceptar el
concepto de incertidumbre en H. Lo que ahora nos llama
la atencin es lo del nmero de bits de informacin.
Esto lo
veremos ms
adelante...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 198
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. Esta demostracin es sencilla.
b) La entropa ser mxima, hay mayor incertidumbre del mensaje,
cuando exista una equiprobabilidad en todos los valores de la
variable X. La demostracin emprica es muy fcil; no obstante
la demostracin matemtica de este mximo no es directa. El
valor mximo de H(X) para una variable de n estados ser log
2
n.
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) 2006
Captulo 6: Teora de la Informacin
Pgina 199
Concepto 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:
H(X) = p(x) log
2
[1/p(x)]
i
Veamos un ejemplo
de codificacin
La expresin log
2
[1/p(x)] representar 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) 2006
Captulo 6: Teora de la Informacin
Pgina 200
Codificacin con el mtodo de Huffman
M= 1 = 01 A = 000 I = 0010 E = 0011
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
Mensaje: 1 0010 01 1 000 1 000 01 1 0011 01 1 0010 1 000 (33 bits)
Pregunta: Cuntos bits necesitara para codificarlo usando ahora cdigo ASCII?
Creacin del rbol de
frecuencias observadas
http://articulos.conclase.net/compresion/huffman.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 201
El nmero necesario de bits y la entropa
Para que d un valor exacto, vamos a calcular el nmero de bits ptimo
de codificacin para el mensaje M = LELA ELLA (*) de 8 caracteres :
Solucin:
p(L) = 0,5; p(E) = 0,25; p(A) = 0,25; y obviamente p(L, E, A) = 1,0.
Para codificar L necesitaremos 1 bit: log
2
[1/ P(L)] = log
2
2 = 1
Para codificar E necesitaremos 2 bits: log
2
[1/ P(E)] = log
2
4 = 2
Para codificar A necesitaremos 2 bits: log
2
[1/ P(A)] = log
2
4 = 2
Luego, si L se codifica como 0, E como 10 y A como 11, el mensaje M se
codificar como: 0 10 0 11 10 0 0 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: para codificar un mensaje M de
8 elementos, hemos usado 12 bits. Luego 12/8 = 1,5 bits por elemento.
(*) Mis disculpas este mensaje poco afortunado, pero era difcil encontrar uno
con estas caractersticas y que tuviese algo de sentido... aunque no sea cierto .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 202
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) 2006
Captulo 6: Teora de la Informacin
Pgina 203
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
Suponga adems que 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 por el conocimiento de su relacin con Y.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 204
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)
c k
Servir como un parmetro para la evaluacin de la fortaleza
de un criptosistema segn equivocacin de clave y mensaje.
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) 2006
Captulo 6: Teora de la Informacin
Pgina 205
La 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
denominada 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) 2006
Captulo 6: Teora de la Informacin
Pgina 206
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., segn el
estudio hecho por Shannon.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 207
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.
Muy importante: No significa que podamos codificar
todos los mensajes de 27 caracteres con 2 bits (esto
sera imposible ). Slo significa que la informacin
que contiene cada letra es tan slo de 1,5 bits.
Veamos un ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 208
Ejemplo de la ratio del lenguaje
Un subalfabeto del castellano mdulo 27 consta de 5 caracteres: A, E, O,
S, y T, todos ellos equiprobables. Podemos aceptarlo como representativo
del lenguaje; es ms o menos cierto. De acuerdo, estoy jugando con algo
de trampa pero es para que el ejemplo entre justo en una diapositiva .
Pregunta: Cuntos mensaje de longitud 4 existen y cuntos con sentido?
Solucin:
R = log
2
5 = 2,3219. Existirn as 2
R4
= 2
2,32194
= 625 = 5
4
mensajes.
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 (puede hacerlo) encontramos las 45 palabras
que se indican, y que casualmente es el valor medio (27 + 64)/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) 2006
Captulo 6: Teora de la Informacin
Pgina 209
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
No le resulta familiar este porcentaje de reduccin en los archivos zip?
http://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 210
Es nuestro lenguaje redundante?
El estudio de Shannon demuestra que es la estructura del
lenguaje la que produce esta redundancia:
Existe diferencias en la frecuencia de aparicin de cada una
de las letras de un texto, entregando una distribucin tpica,
como puede ver en las tablas del captulo 21 de este libro.
Existe gran cantidad de digramas comunes (en, es, ...),
tambin muchos trigramas (ado, ida, ...), tetragramas (ando,
lado, ...), algunos pentagramas (mente, ...), etc.
Existe una estructuracin tpica de frases y oraciones con
sentido en nuestro lenguaje.
Esto dar pistas al criptoanalista para atacar un sistema. Y nuestra
misin es crear algoritmos que sean seguros y eviten estos ataques.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 211
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 0, 1,
2, 3 y hasta 4 vocales, segn las reglas del lenguaje...
M = __H__B__N__V__Z__N__C__R__C__
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 212
Un ejemplo de redundancia (parte 2)
Tenamos el mensaje M = HBNVZNCRC y adems:
M = __H__B__N__V__Z__N__C__R__C__
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
vlido pero sin sentido lgico podra ser...
M = AH BUENO AVE ZONA CERCA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 213
Un ejemplo de redundancia (parte 3)
Tenamos el mensaje M = HBNVZNCRC y adems
M = __H__B__N__V__Z__N__C__R__C__
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 = HABA UNA VEZ UN CIRCO
http://www.cs.ucla.edu/~jkong/research/security/shannon1949/node14.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 224
Parmetros del modelo aleatorio (1)
Existirn 2
RN
mensajes posibles de longitud N.
Existirn 2
rN
mensajes de longitud N con sentido.
El espacio de mensajes de longitud N se dividir en:
Espacio de los mensajes con sentido: M
CS
= 2
rN
.
Espacio de los mensajes sin sentido: M
SS
= 2
RN
- 2
rN
.
Los 2
rN
mensajes con sentido sern equiprobables
siendo su valor p(M
CS
) = 1/2
rN
= 2
-rN
.
El resto de mensajes (2
RN
- 2
rN
) correspondientes a
aquellos sin sentido tendrn una probabilidad nula
p(M
SS
) = 0, ya que nunca sern generados.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 225
Parmetros del modelo aleatorio (2)
Existirn 2
H(K)
claves equiprobables.
En donde H(K) es la entropa de la clave.
Con p(K) = 1/2
H(K)
= 2
-H(K)
.
Con estas claves se cifrarn todos los mensajes con
sentido dando lugar a 2
RN
textos cifrados posibles de
longitud N.
A diferencia de los mensajes, como es lgico los
criptogramas obtenidos sern todos equiprobables.
En la siguiente diapositiva se muestra un esquema
de este modelo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 226
Esquema para mensajes de longitud N
Mensajes Sin Sentido
Mensajes Con Sentido
2
rN
2
RN -
2
rN
Operaciones de
cifra usando una
clave
Criptogramas
Mensajes
M
1
M
2
M
3
C
1
C
3
C
2
2
RN
2
RN
Veamos ahora los escenarios del modelo de cifra para slo dos claves k
1
y k
2
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 227
Escenarios en el cifrador aleatorio
Espacio de Mensajes Espacio de Claves Espacio de Cifrados
k1
M
1
C
1
k2
M
2
k1
C
2
k2
k2
M
3
C
3
k1
k1
k2
M
4
C
4
k1
M
5
C
5
k2
M
6 k1
C
6
k2
M
7
C
7
M
8
C
8
M
9
C
9
M
10
C
10
Verdaderas SV
SV: Un criptograma est asociado
slo a un texto en claro con sentido
y cifrado con una nica clave k
i
.
SF: Cualquier otra solucin de
cifra distinta a la anterior.
SV: C
3
= E
k1
(M
5
) C
4
= E
k1
(M
2
)
C
6
= E
k2
(M
1
) C
7
= E
k1
(M
3
)
C
9
= E
k1
(M
6
) C
10
= E
k2
(M
6
)
SF: C
2
= E
k1
(M
4
) C
2
= E
k2
(M
4
)
C
5
= E
k2
(M
2
) C
5
= E
k2
(M
5
)
C
1
= E
k1
(M
1
) C
1
= E
k2
(M
3
)
SF C
2
: Condicin obvia
SF C
5
: Condicin dbil
SF C
1
: Condicin fuerte
Falsas SF
Soluciones:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 228
Clculo de la distancia de unicidad (1)
Para cada solucin correcta de un texto M cifrado con
una clave k del espacio 2
H(K)
, existirn otras (2
H(K)
-1)
claves con la misma probabilidad de entregar una
solucin falta SF.
Sea q la probabilidad de obtener un mensaje con sentido:
q = 2
rN
/ 2
RN
= 2
(r - R)N
= 2
-DN
Luego:
SF = (2
H(K)
-1) q = (2
H(K)
-1) 2
-DN
= 2
H(K) - DN
- 2
-DN
SF 2
H(K) - DN
log
2
SF = H(K) - DN
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 229
Clculo de la distancia de unicidad (2)
La solucin SF = 0 es imposible porque slo se llega a
ella de forma asinttica con un valor de N infinito como
se muestra en la diapositiva siguiente.
Se acepta entonces que haya como mximo una sola
solucin falsa, de ah su nombre de unicidad, luego:
SF = 2
H(K) DN
Si hacemos SF = 1 H(K) - DN = 0
Por lo tanto:
N = H(K) / D
El valor N ser el nmero mnimo de bytes o caracteres que deber tener
el criptograma C para intentar un ataque por estadsticas del lenguaje.
Por lo general el valor real necesario de N ser unas 10 veces superior.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 230
Cantidad de trabajo Q en un criptoanlisis
Cantidad de Trabajo
Q
H(M/C)
n
N Cantidad de caracteres
(A)
(B)
(C)
(A) Inicialmente hay que hacer un arduo trabajo para obtener algo
coherente. Nos encontraremos con muchas soluciones falsas.
(B) Cuando se tiene una cantidad adecuada de texto cifrado, la
cantidad de trabajo disminuye. Se descartan algunas soluciones.
(C) Cuando se anula la equivocacin de la clave, H(M/C) = 0,
disminuyen las soluciones falsas y la solucin tiende a ser nica.
(D)
Solucin nica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 231
Algunos ejemplos de distancia de unicidad
Para el cifrador del Csar mdulo 27 en el que la clave es b, todos
los posibles desplazamientos de caracteres, 1 b 26, su entropa
H(X) = log
2
26 = 4,7 bits por lo que N = 4,7/3,4 = 1,4 caracteres.
Para el mismo cifrador del Csar pero con clave, si el alfabeto tiene n
caracteres, existirn n! claves posibles. En este caso la entropa de la
clave puede aproximarse como H(X) = log
2
27! 27log
2
(27/e), por
lo que N = 27log
2
(27/2,72)/3,4 = 27,4 caracteres.
En el sistema DES la clave verdadera es de 56 bits por lo que su
entropa H(X) = 56. Si el mensaje slo contiene letras maysculas
(27 elementos) podramos decir que N = 56/3,4 = 16,5 caracteres.
Nota: aunque el valor de N sea ahora ms bajo no quiere decir en
absoluto que el DES sea menos seguro que el cifrador del Csar con
clave. Este ltimo se puede atacar fcilmente con estadsticas del
lenguaje muy elementales y el DES no. Adems, recuerde que se
debe contar con un criptograma varias veces mayor que el valor de N
si desea que su criptoanlisis tenga alguna posibilidad de xito.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 232
El uso de tcnicas de difusin
Para lograr un mayor secreto en las operaciones de cifra,
Shannon propuso usar dos tcnicas: difusin y confusin.
Difusin: es la transformacin sobre el texto en claro con el
objeto de dispersar las propiedades estadsticas del lenguaje
sobre todo el criptograma. Se logra con transposiciones.
TRANSPOSICIONES
La transposicin consiste bsicamente en una permutacin, es
decir, cambiar los caracteres de lugar segn una regla, una
funcin, etc. Por ejemplo el carcter primero se posiciona en
el lugar cuarto, el segundo en el lugar tercero, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 233
El uso de tcnicas de confusin
Confusin: transformacin sobre el texto en claro con objeto
de mezclar los elementos de ste, aumentando la complejidad
de la dependencia funcional entre la clave y el criptograma.
Se obtiene a travs de sustituciones.
SUSTITUCIONES
La sustitucin consiste bsicamente modificar la informacin,
es decir, sustituir un carcter por otro de acuerdo a una regla,
una funcin, etc. Por ejemplo cambiar la letra A por la letra
M, la letra B por la letra X , etc.
Ambas tcnicas se usan en sistemas clsicos orientados a caracteres y
tambin en los modernos pero en este caso operando sobre bits.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 234
Cuestiones y ejercicios (1 de 2)
1. Al despertar ponemos la radio y escuchamos noticias que no nos
llaman la atencin. Por qu decimos que no haba informacin?
2. Justifique la definicin logartmica de cantidad de informacin, es
decir la razn de que c
i
= - log (p
i
).
3. Por qu usamos la base 2 en el logaritmo que define c
i
?
4. Cul es el nmero mnimo -e inteligente- de preguntas que hay que
hacer para pasar de la incertidumbre a la certeza en un sistema de n
estados equiprobables? Y si ahora no son equiprobables?
5. Por qu la entropa es no nula y se anula si y slo si uno de los
estados de la variable es igual a la unidad?
6. Codificamos en binario un sistema con 256 estados equiprobables.
Si no usamos un codificador ptimo, cuntos bits son necesarios?
Mediante un codificador ptimo, usaremos ms o menos bits?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 235
Cuestiones y ejercicios (2 de 2)
7. Qu representa la expresin log
2
[1/p(x)] en la entropa H(X)? Si
p(x
1
)=0,6; p(x
2
)=0,3; p(x
3
)=0,1 calcule log
2
[1/p(x)]. Qu opina?
8. Definimos un alfabeto con 71 elementos (maysculas y minsculas,
minsculas acentuadas, dgitos, punto, coma). Si estos elementos
son equiprobables, cul es la ratio absoluta de este alfabeto?
9. La ratio verdadera es mayor o menor que la absoluta? Por qu?
10. Un alfabeto consta de 8 elementos equiprobables. Cuntos posibles
mensajes de tamao 4 existen? De stos, cuntos mensajes podran
tener sentido si esos 8 elementos representan al idioma castellano?
11. Cundo decimos que un sistema tiene secreto perfecto? En un
sistema real, es eso posible? Piense en algn ejemplo y comntelo.
12. Por qu se dice que hay que minimizar las soluciones falsas SF en
el modelo aleatorio para romper la clave? Es la clave k nica?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 6: Teora de la Informacin
Pgina 236
Prcticas del tema 6 (1/1)
Software CripClas:
http://www.criptored.upm.es/software/sw_m001c.htm
1. Encuentre la entropa del mensaje M = MI MAMA ME MIMA, comprela
con el resultado de la diapositiva correspondiente, 33 bits para codificar 15
caracteres: 33/15 = 2,2. Por qu no coinciden? Repita este clculo ahora
con el mensaje M = RARORARO y saque conclusiones.
2. Encuentre la entropa de M = ABCDEFGHIJKLMNOPQRSTUVWXYZ
es decir el alfabeto en castellano mdulo 27, y comprela con el valor que
aparece en la dispositiva correspondiente.
3. Cmo son las entropas de M = TE AMO y M = Te amo? Por qu?
4. Copie en el portapapeles todas estas preguntas, guarde el archivo con el
nombre prtema6.txt y encuentre su entropa. Encuentre luego la entropa de
otros archivos txt, grandes y pequeos, y saque conclusiones.
5. Encuentre la frecuencia de monogramas del archivo anterior, prtema6.txt.
Comprela en la misma pantalla con la tabla de frecuencias estndar.
Captulo 7
Teora de los Nmeros
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 75 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 238
Matemtica discreta y congruencia
La congruencia es la base en la que se sustentan las
operaciones de cifra en matemtica discreta.
Concepto de congruencia:
Sean dos nmeros enteros a y b: se dice que a es
congruente con b en el mdulo o cuerpo n (Z
n
) si y slo
si existe algn entero k que divide de forma exacta la
diferencia (a - b) .
Esto podemos expresarlo as:
a - b = k n
a
n
b
a b mod n
Desde esta pgina Web podr realizar diversos clculos en
matemtica discreta:
http://www.numbertheory.org/php/php.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 239
Operaciones de congruencia en Z
n
Es 18 congruente con 3 mdulo 5?
18 3 mod 5?
S, porque: 18-3 = 15 = k5 con k = 3
Cmo se usar esto en criptografa?
Esta operacin en Z
n
se expresar as:
18 mod 5 = 3
El valor 3 ser el resto o residuo.
El conjunto de nmeros que forman los restos dentro de
un cuerpo Z
n
ser muy importante en criptografa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 240
Propiedades de la congruencia en Z
n
Propiedad Reflexiva:
a a mod n a Z
Propiedad Simtrica:
a b mod n b a mod n a,b Z
Propiedad Transitiva:
Si a b mod n y b c mod n
a c mod n a,b,c Z
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 241
Propiedades de las operaciones en Z
n
(1)
Propiedad Asociativa:
a + (b + c) mod n (a + b) + c mod n
Propiedad Conmutativa:
a + b mod n b + a mod n
a b mod n b a mod n
Propiedad Distributiva:
a (b+c) mod n ((a b) + (a c)) mod n
Normalmente usaremos
el signo = en vez de que
denotaba congruencia.
Esto es algo propio de los
Campos de Galois que
veremos ms adelante.
a (b+c) mod n = ((a b) + (a c)) mod n
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 242
Existencia de Identidad:
a + 0 mod n = 0 + a mod n = a mod n = a
a 1 mod n = 1 a mod n = a mod n = a
Existencia de Inversos:
a + (-a) mod n = 0
a (a
-1
) mod n = 1 (si a 0)
Reducibilidad:
(a + b) mod n = [(a mod n) + (b mod n)] mod n
(a b) mod n = [(a mod n) (b mod n)] mod n
No siempre existe
Ambos sern
muy importantes
en criptografa
Propiedades de las operaciones en Z
n
(2)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 243
Conjunto completo de restos CCR
Para cualquier entero positivo n, el conjunto
completo de restos ser CCR = {0, 1, 2, ... n-1},
es decir:
a Z ! r
i
CCR / a r
i
mod n
CCR (11) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
CCR (6) = {0, 1, 2, 3, 4, 5} = {12, 7, 20, 9, 16, 35}
El segundo conjunto es equivalente: 12 0, 7 1...
Normalmente se trabajar en la zona cannica: 0 n-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 244
Homomorfismo de los enteros
Enteros Enteros mod n
a
1
, a
2
(a
1
mod n), (a
2
mod n)
op (y posterior reduccin mod n) op
(a
1
op a
2
) mod n (a
1
mod n) op (a
2
mod n) mod n
es lo mismo que
esta otra
Esta operacin ...
Esto nos permitir trabajar con nmeros muy grandes
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 245
Un ejemplo de homomorfismo
Ahora ya no
se desborda
la memoria
... y hemos usado siempre nmeros de 3
dgitos. En este caso la operacin mxima
sera 1212 = 144, es decir tres dgitos.
http://es.geocities.com/eucliteam/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 247
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 248
Divisibilidad con algoritmo de Euclides
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
mcd (148, 40)
148 = 3 40 + 28
40 = 1 28 + 12
28 = 2 12 + 4
12 = 3 4 + 0
mcd (148, 40) = 4
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
Esta condicin
ser importante en
criptografa.
N
I
C
A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 252
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 253
Inversos aditivo y multiplicativo
(A+B) mod 5 (AB) mod 5
B + 0 1 2 3 4 B 0 1 2 3 4
A 0 0 1 2 3 4 A 0 0 0 0 0 0
1 1 2 3 4 0 1 0 1 2 3 4
2 2 3 4 0 1 2 0 2 4 1 3
3 3 4 0 1 2 3 0 3 1 4 2
4 4 0 1 2 3 4 0 4 3 2 1
o En la operacin suma siempre existir el inverso o valor identidad
de la adicin (0) para cualquier resto del cuerpo. Su valor es nico.
o En la operacin producto, de existir un inverso o valor de identidad
de la multiplicacin (1) ste es nico y la condicin para ello es que
el nmero y el mdulo sean primos entre s. Por ejemplo para n = 4,
el resto 2 no tendr inverso multiplicativo, en cambio el resto 3 s.
0+0 = 0
11 = 1
Es trivial
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 254
No existencia de inversos multiplicativos
(AB) mod 10
1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 0 2 4 6 8
3 3 6 9 2 5 8 1 4 7
4 4 8 2 6 0 4 8 2 6
5 5 0 5 0 5 0 5 0 5
6 6 2 8 4 0 6 2 8 4
7 7 4 1 8 5 2 9 6 3
8 8 6 4 2 0 8 6 4 2
9 9 8 7 6 5 4 3 2 1
Para mdulo 10 slo
encontramos inversos
multiplicativos en los
restos 3, 7 y 9, puesto
que los dems restos
tienen factores 2 y 5 en
comn con el mdulo.
http://www.cut-the-knot.org/blue/Modulo.shtml
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 255
Conjunto reducido de restos CRR
El conjunto reducido de restos, conocido como
CRR de n, es el subconjunto {0, 1, ... n
i
, ... n-1}
de restos, primos con el grupo n.
Si n es primo, todos los restos sern primos con l.
Como el cero no es una solucin, entonces:
CRR = {1, ..., n
i
, ... n-1} / mcd (n
i
, n) = 1
Ejemplo: CRR mod 8 = {1, 3, 5, 7}
CRR mod 5 = {1, 2, 3, 4}
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 256
Utilidad del CRR
Qu utilidad tiene esto en criptografa?
El conocimiento del CRR permitir aplicar un algoritmo para el
clculo del inverso multiplicativo de un nmero x dentro de un
cuerpo n a travs de la funcin (n), denominada Funcin de
Euler o Indicador de Euler.
Ser importante en todos los sistemas simtricos que trabajan
en un mdulo (con excepcin del DES que es un caso muy
especial de cifra no modular) y ms an en los sistemas
asimtricos y en particular RSA ya que los clculos de claves
pblica y privada se harn dentro del cuerpo (n). En ambos
casos la cifra y las claves estarn relacionadas con el CRR.
http://es.wikipedia.org/wiki/Euler
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 257
Funcin de Euler (n)
El Indicador o Funcin de Euler (n) nos entregar el
nmero de elementos del CRR.
Podremos representar cualquier nmero n de estas cuatro
formas:
a) n es un nmero primo.
b) n se representa como n = p
k
con p primo y k entero.
c) n es el producto n = pq con p y q primos.
d) n es un nmero cualquiera, forma genrica:
t
n = p
1
e1
p
2
e2
... p
t
et
= p
i
ei
i=1
http://mathworld.wolfram.com/TotientFunction.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 258
Funcin (n) de Euler cuando n = p
Caso 1: n es un nmero primo
Si n es primo, (n) ser igual a CCR menos el 0.
(n) = n - 1
Si n es primo, entonces CRR = CCR - 1 ya que todos
los restos de n, excepto el cero, sern primos entre s.
CRR(7) = {1,2,3,4,5,6} seis elementos
(7) = n - 1 = 7-1 = 6
(11) = 11-1 = 10; (23) = 23-1 = 22
Ejemplo
Esta expresin se usar en los sistemas de cifra de ElGamal y DSS.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 259
Funcin (n) de Euler cuando n = p
k
Caso 2: n = p
k
(con p primo y k un entero)
(n) = (p
k
) = p
k
- p
k-1
(p
k
) = p
k-1
(p-1)
De los p
k
elementos del CCR, restaremos todos los
mltiplos 1p, 2p, 3p, ...(p
k-1
-1)p y el cero.
CRR(16) = {1,3,5,7,9,11,13,15} ocho elementos
(16) = (2
4
) = 2
4-1
(2-1) = 2
3
1 = 8
(125) = (5
3
) = 5
3-1
(5-1) = 5
2
4 = 254 = 100
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 260
Funcin (n) de Euler cuando n = pq
Caso 3: n = pq (con p y q primos)
(n) = (pq) = (p)(q) = (p-1)(q-1)
De los pq elementos del CCR, restaremos todos los
mltiplos de p = 1p, 2p, ... (q - 1)p, todos los
mltiplos de q = 1q, 2q, ... (p - 1)q y el cero.
(pq) = pq - [(q-1) + (p-1) +1] = pq - q - p + 1
(p-1)(q-1)
Esta expresin se usar en el sistema de cifra RSA.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 261
Ejemplo de (n) cuando n = pq
Ejemplo
CRR(15) = {1,2,4,7,8,11,13,14} ocho elementos
(15) = (35) = (3-1)(5-1) = 24 = 8
(143) = (1113) = (11-1)(13-1) = 1012 = 120
Esta ser una de las operaciones ms utilizadas en criptografa.
Es la base del sistema RSA que durante muchos aos ha sido
un estndar y, de hecho, contina sindolo en el ao 2006, al
menos a nivel de uso empresarial y comercial.
Uno de sus usos ms tpicos podemos encontrarlo en las
comunicaciones seguras del entorno Internet mediante SSL,
tanto para el intercambio de claves como en los formatos de
certificados digitales X.509 para firma digital.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 262
Funcin (n) de Euler para n genrico
Caso 4: n = p
1
e1
p
2
e2
... p
t
et
(p
i
son primos)
t
(n) = p
i
ei-1
(p
i
- 1)
i=1
(Esta demostracin no es inmediata)
CRR(20) = {1, 3, 7, 9, 11, 13, 17, 19} ocho elementos
(20) = (2
2
5) = 2
2-1
(2-1)5
1-1
(5-1) = 2
1
114 = 8
(360) = (2
3
3
2
5) = 2
3-1
(2-1)3
2-1
(3-1)5
1-1
(5-1) = 96
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 263
Teorema de Euler
Dice que si mcd (a,n) = 1 a
(n)
mod n = 1
Ahora igualamos ax mod n = 1 y a
(n)
mod n = 1
a
(n)
a
-1
mod n = x mod n
x = a
(n)-1
mod n
El valor x ser el inverso de a en el cuerpo n
Nota: Observe que se ha dividido por a en el clculo anterior.
Esto se puede hacer porque mcd (a, n) = 1 y por lo tanto hay
un nico valor inverso en el cuerpo n que lo permite.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 264
Clculo de inversos con Teorema Euler
Ejemplo
Cul es el inverso de 4 en mdulo 9? inv (4, 9)
Pregunta: Existe a x mod n = 4 x mod 9 = 1?
Como mcd (4, 9) = 1 S ... aunque 4 y 9 no sean primos.
(9) = 6 x = 4
6-1
mod 9 = 7 74 = 28 mod 9 = 1
Resulta obvio que: inv (4, 9) = 7 e inv (7, 9) = 4
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 265
Teorema de Euler para n = pq
Si el factor a es primo relativo con n y el valor n es
el producto de 2 primos, seguir cumplindose el
Teorema de Euler tambin en dichos primos.
Por ejemplo:
Si n = pq (n) = (p-1)(q-1)
a / mcd {a, (p,q)} = 1
se cumple que:
a
(n)
mod p = 1
a
(n)
mod q = 1
En el captulo
dedicado a la
cifra con clave
pblica RSA,
relacionaremos
este tema con el
Teorema del
Resto Chino.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 266
Ejemplo Teorema de Euler para n = pq
Sea n = pq = 711 = 77
(n) = (p - 1)(q - 1) = (7 - 1)(11 - 1) = 610 = 60
Si k = 1, 2, 3, ...
Para a = k7 a
(n)
mod n = k7
60
mod 77 = 56
Para a = k11 a
(n)
mod n = k11
60
mod 77 = 22
Para a k7, k11 a
(n)
mod n = a
60
mod 77 = 1
Y se cumple tambin que:
Para a k7, k11 a
(n)
mod p = a
60
mod 7 = 1
a
(n)
mod q = a
60
mod 11 = 1
En caso contrario: a
(n)
mod p = 0
a
(n)
mod q = 0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 267
Pequeo teorema de Fermat
Si el cuerpo de trabajo es un primo p:
mcd (a, p) = 1 a
(p)
mod p = 1
Entonces a x mod p = 1 y a
(n)
mod p = 1
Adems, en este caso (p) = p-1 por lo que igualando las dos
ecuaciones de arriba tenemos:
a
(p)
a
-1
mod p = x mod p
x = a
p-2
mod p
Luego x ser e inverso de a en el primo p.
http://es.wikipedia.org/wiki/Peque%C3%B1o_teorema_de_Fermat
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 268
Qu hacemos si no se conoce (n)?
Calcular a
i
mod n cuando los valores de i y a son
grandes, se hace tedioso pues hay que utilizar la
propiedad de la reducibilidad repetidas veces.
Si no conocemos (n) o no queremos usar los
teoremas de Euler o Fermat, siempre podremos
encontrar el inverso de a en el cuerpo n usando el
Algoritmo Extendido de Euclides
Este es el mtodo ms rpido y prctico
http://en.wikipedia.org/wiki/Euclid
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 269
Algoritmo Extendido de Euclides AEE
Si mcd (a, n) = 1 y ax mod n = 1 x = inv (a, n)
Luego podemos escribir:
n = C
1
a + r
1
a > r
1
a = C
2
r
1
+ r
2
r
1
> r
2
r
1
= C
3
r
2
+ r
3
r
2
> r
3
... ...
r
n-2
= C
n
r
n-1
+ 1 r
n-1
> 1
r
n-1
= C
n+1
1 + 0
Concluye aqu el algoritmo.
Si volvemos hacia
atrs desde este
valor, obtenemos
el inverso de a en
el cuerpo n.
Si volvemos hacia
atrs desde este
valor, obtenemos
el inverso de a en
el cuerpo n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 270
Tabla de restos del AEE
Ordenando por restos desde el valor 1 se llega a una expresin
del tipo (k
1
n + k
2
a) mod n = 1, en donde el inverso de a en
n lo dar el coeficiente k
2
puesto que k
1
n mod n = 0.
C
1
C
2
C
3
C
4
... C
n-1
C
n
C
n+1
n a r
1
r
2
r
3
... r
n-2
r
n-1
1
(k
1
n + k
2
a) mod n = 1
Tabla de restos
Vuelta hacia atrs
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 271
Clculo de inversos mediante el AEE
Encontrar el inv (9, 25) por el mtodo de restos de Euclides.
a) 25 = 29 + 7
b) 9 = 17 + 2
c) 7 = 32 + 1
d) 2 = 21 + 0
2 1 3 2
25 9 7 2 1 0
7 = 25 - 29
2 = 9 - 17
1 = 7 - 32
7 = 25 - 29
2 = 9 - 1(25 - 29) = 39 -125
1 = (25 - 29) - 3(39 -125)
1 = 425 - 119 mod 25
El inv (9,25) = -11
-11 + 25 = 14
inv (9, 25) = 14
El inv (9,25) = -11
-11 + 25 = 14
inv (9, 25) = 14
restos
Tabla de Restos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 272
Para encontrar x = inv (A, B)
Hacer (g
0
, g
1
, u
0
, u
1
, v
0
, v
1
, i) = (B, A, 1, 0, 0, 1, 1)
Mientras g
i
0 hacer
Hacer y
i+1
= parte entera (g
i-1
/g
i
)
Hacer g
i+1
= g
i-1
- y
i+1
g
i
Hacer u
i+1
= u
i-1
- y
i+1
u
i
Hacer v
i+1
= v
i-1
- y
i+1
v
i
Hacer i = i+1
Si (v
i-1
< 0)
Hacer v
i-1
= v
i-1
+ B
Hacer x = v
i-1
i y
i
g
i
u
i
v
i
0 - 25 1 0
1 - 9 0 1
2 2 7 1 -2
3 1 2 -1 3
4 3 1 4 -11
5 2 0 -9 25
x = inv (A, B)
x = inv (9, 25)
x = inv (9, 25) = -11+25 = 14
Algoritmo para el clculo de inversos
Ejemplo
-
x
=
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 273
Caractersticas de inversos en n = 27
Para el alfabeto castellano con maysculas (n = 27) tenemos:
x inv (x, 27) x inv (x, 27) x inv (x, 27)
1 1 10 19 19 10
2 14 11 5 20 23
4 7 13 25 22 16
5 11 14 2 23 20
7 4 16 22 25 13
8 17 17 8 26 26
27 = 3
3
luego no existe inverso para a = 3, 6, 9, 12, 15, 18, 21, 24.
Inversos en sistema de
cifra clsico orientado a
alfabeto de 27 caracteres.
inv (x, n) = a inv (a, n) = x
inv (1, n) = 1; inv (n-1, n) = n-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 274
Qu pasa si mcd (a, n) 1?
Pueden existir inversos?
No, pero...
Si a x mod n = b con b 1 y mcd (a, n) = m, siendo
m divisor de b, habr m soluciones vlidas.
En principio esto no nos sirve en criptografa ...
6x mod 10 = 4 mcd (6, 10) = 2
No existe inv (6, 10) pero ... habr 2 soluciones vlidas
x
1
= 4 64 mod 10 = 24 mod 10 = 4
x
2
= 9 69 mod 10 = 54 mod 10 = 4
?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 275
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
]
En algunos textos lo
ver como Teorema
Chino de los Restos...
aunque es obvio que la
autora pertenece a los
matemticos chinos,
alguien podra poner en
duda si el teorema es
chino o bien si los restos
son los chinos .
http://www.math.hawaii.edu/~lee/courses/Chinese.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 276
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 277
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 278
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 [(3.960/8), 8] = inv (495, 8)
y
2
= inv [(n/d
2
), d
2
] y
2
= inv [(3.960/9), 9] = inv (440, 9)
y
3
= inv [(n/d
3
), d
3
] y
3
= inv [(3.960/5), 5] = inv (792,5)
y
4
= inv [(n/d
4
), d
4
] y
4
= inv [(3.960/11), 11] = inv (360, 11)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 279
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 280
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 281
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
Qu sucede ahora con:
49x mod 3.960 = 1?
49x mod 3.960 = 1
S existir x, y en este caso es el
inverso de 49. Ser nico ya que
49 = 77 no tiene factores en n.
Primero encuentre x.
Luego vea la solucin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 282
Clculo de inversos usando el TRC (1)
Si 49x mod 3.960 = 1, se pide encontrar x = inv (49, 3.960)
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 = 49
b = 1
Como n d
1
d
2
d
3
d
4
existirn 4 soluciones de x
i
ax
1
mod d
1
= b mod d
1
49x
1
mod 8 = 1 mod 8 = 1
ax
2
mod d
2
= b mod d
2
49x
2
mod 9 = 1 mod 9 = 1
ax
3
mod d
3
= b mod d
3
49x
3
mod 5 = 1 mod 5 = 1
ax
4
mod d
4
= b mod d
4
49x
4
mod 11 = 1 mod 11 = 1
Resolviendo para x
i
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 283
Clculo de inversos usando el TRC (2)
x
1
= 1 x
2
= 7
x
3
= 4 x
4
= 9
4 ecuaciones en x
49x
1
mod 8 = 1 1x
1
mod 8 = 1 x
1
= 1
49x
2
mod 9 = 1 4x
2
mod 9 = 1 x
2
= 7
49x
3
mod 5 = 1 4x
3
mod 5 = 1 x
3
= 4
49x
4
mod 11 = 1 5x
4
mod 11 = 1 x
4
= 9
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 284
Clculo de inversos usando el 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 [3.960/8), 8] y
1
= inv (495, 8) = inv (7, 8) = 7
y
2
= inv [(3.960)/9, 9] y
2
= inv (440, 9) = inv (8, 9) = 8
y
3
= inv [(3.960)/5, 5] y
3
= inv (792, 5) = inv (2, 5) = 3
y
4
= inv [(3.960)/11, 11] y
4
= inv (360, 11) = inv (8, 11) = 7
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 285
Clculo de inversos usando el TRC (4)
x
1
= 1 x
2
= 7
x
3
= 4 x
4
= 9
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 + 44087 + 79234 + 36079] mod 3.960
x = [3.465 + 880 + 1.584 + 2.880] mod 3.960 = 889
En efecto, inv (49, 3.960) = 889 ... pero
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 286
Utilidad del Teorema del Resto Chino
Calcular el inverso de 49 en el cuerpo 3.960 por medio
del Teorema del Resto Chino es algo tedioso ....... y
bastante absurdo como ya lo habr comprobado .
En el desarrollo del propio algoritmo del Teorema del
Resto Chino para encontrar un inverso hay que calcular
otros inversos lo que no tiene sentido alguno...
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 287
La exponenciacin en la cifra asimtrica
Una de las aplicaciones ms interesantes 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 grande o un producto de primos grandes.
Esta operacin A
B
mod n se realizar para el
intercambio de clave y en la firma digital.
Cmo hacer estos clculos de forma rpida y
eficiente, sin tener que aplicar reducibilidad? Los
algoritmos de exponenciacin rpida sern la
solucin. Uno de ellos es el que se presenta en la
siguiente diapositiva.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 288
Un mtodo de exponenciacin rpida
En A
B
mod n se representa el exponente B en binario.
Se calculan los productos A
2
j
con j = 0 hasta n-1, siendo n
el nmero de bits que representan el valor B en binario.
Slo se toman en cuenta los productos en los que en la
posicin j del valor B en binario aparece un 1.
Ejemplo
Calcular x = 12
37
mod 221 = 207
12
37
es un nmero de 40 dgitos:
8505622499821102144576131684114829934592
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 289
Ejemplo de exponenciacin rpida
Calcular x = 12
37
mod 221 = 207
B = 37
10
= 100101
2
mod 221
j 0 1 2 3 4 5
A = 12
12 144 183 118 1 1
Bits 5 4 3 2 1 0
x = 121831 mod 221 = 207
interesante...
12
2
mod 221
144
2
mod 221
A
2
j
(primer clculo)
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 A) con
sus reducciones mdulo 221, ms dos al final y sus correspondientes
reducciones; en total 14. Observamos un ahorro superior al 80% pero
ste es un valor insignificante dado que los nmeros son muy pequeos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 290
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). En este
caso hemos realizado slo 16 operaciones frente a 164. Piense ahora qu suceder en
una operacin tpica de firma digital con hash: (160 bits)
(1.024 bits)
mod 1.024 bits .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 291
Cuntos nmeros primos hay?
Por el teorema de los nmeros primos, se tiene que la
probabilidad de encontrar nmeros primos a medida que
stos se hacen ms grandes es menor:
Nmeros primos en el intervalo [2, x] = x / ln x
Primos entre 2 y 2
5
= 32 x/lnx = 32/3,46 = 9 Probabilidad x sea primo: 30,00 %
Primos entre 2 y 2
6
= 64 x/lnx = 64/4,16 = 15 Probabilidad x sea primo: 24,00 %
Primos entre 2 y 2
7
= 128 x/lnx = 128/4,85 = 26 Probabilidad x sea primo: 20,63 %
Primos entre 2 y 2
8
= 256 x/lnx = 256/5,54 = 46 Probabilidad x sea primo: 18,11 %
Primos entre 2 y 2
9
= 512 x/lnx = 512/6,23 = 82 Probabilidad x sea primo: 16,08 %
Primos entre 2 y 2
10
= 1.024 x/lnx = 1.024/6,93 = 147 Probabilidad x sea primo: 14,38 %
Primos entre 2 y 2
11
= 2.048 x/lnx = 2.048/7,62 = 268 Probabilidad x sea primo: 13,10 %
Primos entre 2 y 2
12
= 4.096 x/lnx = 4.096/8,32 = 492 Probabilidad x sea primo: 12,02 %
En el captulo 21 encontrar una tabla con nmeros primos hasta el 1.999.
http://www.utm.edu/research/primes/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 292
Raz primitiva o generador de un primo
Un generador o raz primitiva de un nmero primo
p es aquel valor que, elevado a todos los restos del
cuerpo reducido mdulo n, genera todo el cuerpo.
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 293
Cuntas races hay en un primo p?
Existen muchos nmeros dentro del CRR que son
generadores del cuerpo ... pero:
Su bsqueda no es algo 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
En cambio, si algn resultado es
igual a 1, g no ser generador.
http://mathworld.wolfram.com/PrimitiveRoot.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 294
Bsqueda de races primitivas en Z
13
(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 s 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) 2006
Captulo 7: Teora de los Nmeros
Pgina 295
Bsqueda de races primitivas en Z
13
(2)
g: 2, 6, 7, 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 s 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 s es generador
Resto 7
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 296
Bsqueda de races primitivas en Z
13
(3)
g: 2, 6, 7, 11
Generadores en Z
13
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 s es generador
Resto 11
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 297
Bsqueda de races primitivas en Z
13
(4)
g: 2, 6, 7, 11
Generadores en Z
13
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 298
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
Comprobacin
Casi la mitad de los nmeros del
grupo sern generadores en p.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 299
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 300
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}
Es decir, prcticamente la mitad de los valores de CRR que en
este caso es igual a 23 1 = 22.
Observe cmo se distribuyen los valores de estas races dentro
del primo, en forma de grupos y distribuidos uniformemente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 301
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 302
Clculos en campos de Galois (GF)
Cuando trabajamos en un cuerpo K con dos operaciones + y *,
sabemos que todo elemento distinto del cero tiene un nico inverso
multiplicativo. Si el cuerpo es finito, se denomina tambin cuerpo o
campo de Galois y se denota por GF(p
n
), donde p es un primo y n un
entero 1.
Algunos usos en criptografa:
Sistemas de clave pblica cuando la operacin es C = M
e
mod p
(cifrador ElGamal) o bien RSA usando el Teorema del Resto
Chino para descifrar, como se ver en ese captulo.
Aplicaciones en GF(p
n
), polinomios mdulo p y de grado n de la
forma a(x) = a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
1
x + a
0
: se usar en el
cifrador de flujo A5, el algoritmo Rijndael de AES y los sistemas
de curvas elpticas.
http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Galois.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 303
Elementos de GF(p
n
) como polinomios
Los elementos del cuerpo GF(p
n
) se pueden representar como
polinomios de grado < n con coeficientes a
i
Zp, es decir, en la
forma:
a(x) = a
n-1
x
n-1
+ a
n-2
x
n-2
+ ... + a
1
x + a
0
El cuerpo GF(p
n
) se puede construir escogiendo un polinomio
irreducible p(x) de grado n a coeficientes en Z
p
. Entonces cada
elemento a(x) del cuerpo GF(p
n
) es un resto mdulo p(x).
As, los elementos de GF(2
n
) son polinomios de grado < n con
coeficientes en {0, 1}. De esta manera, GF (2
3
) tiene 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).
En el captulo 21 encontrar una tabla de polinomios primitivos.
http://mathworld.wolfram.com/FiniteField.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 304
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 2
2
, vamos a
aplicar Reduccin por Coeficientes.
Ejemplo de clculos en mod 2:
x + (x +1) = 2x + 1 mod 2 = 1
1 + (x +1) = 2 + x mod 2 = x
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 305
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
)
Para la reduccin por exponente, sea el
el polinomio irreducible de grado 2 el
siguiente: p(x) = x
2
+ x + 1.
Luego: x
2
= x + 1
Clculo de (x+1)(x+1) mod 2:
(x + 1)(x + 1) = x
2
+ 2x + 1 mod 2
(x + 1)(x + 1) = (x + 1) + 2x +1 mod 2
(x + 1)(x + 1) = 3x + 2 mod 2 = x
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 306
Operaciones con campos de Galois en AES
La suma y multiplicacin de polinomios dentro de un
cuerpo binario descritas en diapositivas anteriores
conforman las operaciones bsicas del algoritmo de
cifra Advanced Encryption Standard 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 de
cifra en bloque con clave secreta encontrar ejemplos
de suma y multiplicacin polinmica dentro de este
cuerpo binario para el AES.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 307
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. En un cuerpo n el inverso de a es a
1
, es ese valor nico? Por qu?
5. Cifraremos en un cuerpo n = 131. Cul es el valor del CCR? Cul
es valor del CRR? Qu valores podemos cifrar?
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? Para qu sirve?
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) 2006
Captulo 7: Teora de los Nmeros
Pgina 308
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 (47, 41).
11. Cuntas soluciones x
i
hay en la expresin 8x mod 20 = 12?
Explique lo que sucede. Tendra 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 (121, 393) 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 p = 17? Y si
ahora p = 7, cuntos generadores habr? Comprubelo calculando
todos los exponentes del conjunto completo de restos de p = 7.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 309
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. Comente el ahorro en nmero de operaciones del ejercicio anterior.
20. Compruebe los resultados (si puede) con calculadoras de Windows
3.1; Windows 95 y actual. Puede encontrar los ejecutables de estas
calculadoras en el software de la asignatura de nombre CripClas.
21. Qu sucede con estas calculadoras para nmeros muy grandes?
22. En GF(2
n
) reduzca por coeficientes 5x
5
+ x
4
+ 2x
3
+ 3x
2
+ 6x + 2.
23. 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.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 310
Prcticas del tema 7 (1/2)
Software CripClas:
http://www.criptored.upm.es/software/sw_m001c.htm
1. Calcule 237 mod 10; 1452 mod 314; 31 mod 49; 3565 mod 115.
2. Calcule mcd (384, 42); mcd (1234; 56); mcd (23, 5); mcd (371, 97).
3. Calcule (7); (77); (131); (200).
4. Calcule inv (5, 27); inv (12, 133); inv (21, 25); inv (63, 189).
Software Fortaleza:
http://www.criptored.upm.es/software/sw_m001e.htm
1. Calcule 2
8
mod 200; 14
1001
mod 5321; 4902564
1053501
mod 34090062349.
2. Repita estos clculos usando las calculadoras de Windows 3.1 y Windows
95 que encontrar en la carpeta de CripClas. Calcule ahora estas potencias:
10
15
mod 61 y 300
21
mod 45. Qu ha pasado?
Este bug originado por un uso indebido de la operacin mdulo con nmeros en formato coma flotante
(descubierto de forma fortuita, todo hay que decirlo) fue notificado por este autor va email a Microsoft
en el ao 1995 y subsanado en la edicin de la calculadora de Windows 98 y versiones posteriores.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 7: Teora de los Nmeros
Pgina 311
Prcticas del tema 7 (2/2)
3. Calcule si son primos: 23; 371; 19841; 27603543067280716373.
4. Calcule mcd (13824552, 9315188); mcd (6276359, 8725413290).
5. Calcule inv (324762387638768, 893247293874293879873498787987).
6. Calcule 87363553226
6530982763424323401728
mod 98774655534452522982343.
7. Compruebe que una exponenciacin de 50 dgitos
100 dgitos
mod 200 dgitos
tarda aproximadamente 30 segundos en resolverse con este programa.
Software ExpoCrip:
http://www.criptored.upm.es/software/sw_m001l.htm
1. Calcule las races primitivas de los siguientes nmeros: 5; 19; 31; 57; 61.
2. Compruebe que estos nmeros son primos seguros: 23; 503; 1019; 10007.
3. Calcule las races primitivas de los primos seguros del apartado 2.
4. Compare el porcentaje de races primitivas encontradas en nmeros primos
normales y en primos seguros o fuertes.
Captulo 8
Teora de la Complejidad Algortmica
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 31 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 313
Introduccin a la teora de la complejidad
La teora de la complejidad de los algoritmos permitir, entre otras
cosas, conocer la fortaleza de un algoritmo y tener as una idea de
su vulnerabilidad computacional.
Complejidad Computacional
Los algoritmos pueden clasificarse segn su tiempo de ejecucin,
en funcin del tamao u orden de la entrada. Hablamos as de
complejidad:
Polinomial comportamiento similar al lineal
Polinomial No Determinsta comportamiento exponencial
Esto dar lugar a problemas fciles y problemas difciles cuyo
uso ser muy interesante en la criptografa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 314
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 (bits de 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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 315
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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 316
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))
Y se define as: f = O(n) ssi c
o
,n
o
/ f(n) c
o
g(n)
Ejemplo
La funcin O(n)
http://www.mm.informatik.tu-darmstadt.de/courses/2002ws/ics/lectures/v14.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 317
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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 318
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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 319
Algoritmos de complejidad polinomial
Un algoritmo se dice que tiene tiempo de ejecucin
polinomial (no confundir con lineal) 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
Mximo Comn
Divisor (Euclides)
Ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 320
Ejemplo de complejidad polinomial
Pregunta: El tiempo de ejecucin de un algoritmo es
O(log
3
n). Si doblamos el tamao de la entrada, en
cunto aumentar este tiempo?
Solucin: En el primer caso el tiempo es O(log
3
n) y en
el segundo O(log
3
2n). Para este sistema polinomial, el
tiempo se incrementar slo 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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 321
Algoritmos de complejidad no determinista
Un algoritmo se dice que tiene tiempo de ejecucin
polinomial no determinista (en este caso 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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 322
Ejemplo de complejidad no determinista
Pregunta: El tiempo de ejecucin de un algoritmo es
O(n
3
). Si doblamos el tamao de la entrada, en cunto
aumentar este tiempo?
Solucin: En el primer caso el tiempo es O(n
3
) y en el
segundo O((2n)
3
) = O(8n
3
). El tiempo para este sistema
exponencial, 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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 323
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 obtenemos este cuadro:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 324
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) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 325
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 de tipo NP, polinomiales no
deterministas, computacionalmente difciles de tratar:
Problema de la mochila
Problema de la factorizacin
Problema del logaritmo discreto
Problema logaritmo discreto en curvas elpticas
Otros
Definicin del
problema y
ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 326
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?
El problema de la mochila
Es un problema de tipo NP en el
que el algoritmo debe realizar en
cada paso una seleccin iterativa
entre diferentes opciones.
http://en.wikipedia.org/wiki/Knapsack_problem
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 327
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
Reptalo con
{2, 4, 6, 10}
Ejemplo del problema de la mochila
http://www.criptored.upm.es/software/sw_m001e.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 330
El problema de la factorizacin PFNG
Dado un nmero n que es el resultado del producto de dos o
ms primos, se pide encontrar estos factores.
Por ejemplo, cuando el valor n = pq es muy grande, el
Problema de la Factorizacin de Nmeros Grandes PFNG se
vuelve computacionalmente intratable.
No obstante, el caso inverso, dado dos nmeros primos p y q,
encontrar el resultado pq = n, se trata de un problema de tipo
polinomial.
Este problema se usar en la generacin del par de claves del
sistema de cifra con clave pblica RSA.
http://home.netcom.com/~jrhowell/math/factor.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 331
Compruebe lo que significa el PFNG
Clculo fcil o polinomial (funcin directa)
Calcule a mano los siguientes productos de dos primos y
tome el tiempo aproximado que tarda en la operacin:
a) 1331 b) 113131 c) 1.0131.031 calcule...
Clculo difcil o no polinomial (funcin inversa)
Usando la criba de Eratstenes, factorice en dos primos los
siguientes nmeros y vuelva a tomar el tiempo empleado:
a) 629 b) 17.399 c) 1.052.627 calcule...
En el caso a) son primos de 2 dgitos, en b) de 3 y en c) de 4.
No vale usar
calculadora...
Qu puede concluir
de estos clculos?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 332
Solucin al ejemplo anterior
Dificultad polinomial (rpido)
a) 1331 = 403 b) 113131 = 14.803 c) 10131031 = 1.044.403
A medida que aumenta el tamao de la entrada, el tiempo de
clculo aumenta proporcionalmente con el nmero de dgitos.
Dificultad no determinista (lento)
a) 629 b) 17.399 c) 1.052.627
Da igual que el algoritmo sea ste muy elemental u otro ms eficaz;
aqu resulta evidente que el tiempo de clculo aumenta mucho al
incrementar en un dgito los nmeros en cuestin. Es no lineal.
Solucin: Los resultados a), b) y c) son el producto de los nmeros
primos inmediatamente superiores a los que se usaron en el clculo
polinomial es decir 17*37; 127*137; 1019*1033.
Paciencia, un
computador va a
sufrir lo mismo ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 333
El problema del logaritmo discreto PLD
Dado un par de enteros y que pertenecen al Campo de
Galois GF(p), se pide encontrar un entero x de forma tal que
x = log
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, entre otros, 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.
http://en.wikipedia.org/wiki/Discrete_logarithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 334
El PLD en su funcin directa o fcil
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
Solucin:
5
4
mod 7 = 2
8
17
mod 41 = 39
92
11
mod 251 = 217
Haciendo uso de la propiedad de reducibilidad
vista en el apartado de matemticas discretas,
podr bajar significativamente el tiempo de
clculo. Este tiempo ser de tipo polinomial
segn el tamao de la entrada.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 335
El PLD y su funcin inversa o difcil
Clculo difcil o no determinista (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 trmino medio deber recorrer la mitad del
espacio de valores para encontrarlo ...
Solucin:
log
5
2 mod 7 = 4
log
8
39 mod 41 = 17
log
92
217 mod 251 = 11
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 336
Logaritmo discreto con generador
En el cuerpo p = 13, el 2 es un generador, luego:
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
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
Es
decir
Se cumplir siempre que a
0
mod p = a
p-1
mod p = 1.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 337
Logaritmo discreto con no generador
En p=13 el 2
era 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 el logaritmo discreto en ese cuerpo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 338
Hay ms funciones NP?
Existen otros muchos problemas matemticos que dan
lugar a problemas del tipo NP, algunos de ellos basados
en estas funciones unidireccionales one-way functions que
tanto interesan en criptografa.
Las dos ltimas funciones vistas, la factorizacin de
nmeros grandes y el logaritmo discreto, son las que ms
uso tienen de momento en la criptografa actual.
En la siguiente pgina Web encontrar una interesante
lista con 88 problemas de tipo NP.
http://www.csc.liv.ac.uk/~ped/teachadmin/COMP202/annotated_np.html
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 339
Cuestiones y ejercicios (1 de 2)
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. Es siempre nica la solucin de una mochila? Piense sobre el
particular y su trascendencia si las utilizamos sin ningn control en
sistemas de cifra.
6. Factorice mentalmente el valor n = 143. Intente hacer lo mismo
para n = 1.243. Qu opina ahora del problema de la factorizacin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 8: Teora de la Complejidad Algortmica
Pgina 340
Cuestiones y ejercicios (2 de 2)
7. Se le ocurre alguna forma de utilizar este problema de un solo
sentido para cifrar informacin?
8. A partir de la ecuacin = x
http://www.criptored.upm.es/guiateoria/gt_m001a.htm
http://www.abcdatos.com/tutoriales/tutorial/l10448.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 345
Cifradores e informacin en Web
9 Existe una gran cantidad de sistemas y cifradores de los
denominados clsicos.
9 En este captulo slo se presentan la Esctala, Polybios, Csar,
Afn, Vigenre, Playfair, Hill y Vernam, as como los ataques
segn mtodos de Kasiski y Gauss Jordan.
Puede ampliar informacin y ver una interesante galera de
fotografas sobre estas mquinas y pioneros de la criptografa
en la pgina Web de la NSA, National Security Agency
Y la descripcin de varios algoritmos en el siguiente enlace:
http://www.nsa.gov/public/publi00007.cfm
http://library.thinkquest.org/27158/concept1_1.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 346
Clasificacin histrica de criptosistemas
La clasificacin actual de los sistemas de cifra se basa en el
tratamiento de la informacin (cifrado en bloque vs cifrado en
flujo) o bien en el tipo de clave utilizada en la cifra (sistemas de
clave secreta v/s sistemas de clave pblica), pero segn su relacin
con la historia de la criptografa podramos clasificarlos como:
Sistemas de Cifra Clsicos versus Sistemas de Cifra Modernos
Esta no es ni mucho menos la mejor clasificacin desde el punto de
vista de la ingeniera y la informtica ... pero permitir comprobar
el desarrollo de estas tcnicas de cifra, hoy en da rudimentarias y
simples, desde una perspectiva histrica y culturalmente interesante
para un ingeniero. Adems, nos permitir criptoanalizar con cierta
facilidad prcticamente todos estos sistemas y comprobar tambin
las teoras de Shannon sobre las estadsticas del lenguaje.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 347
Una primera aproximacin histrica
El uso de tcnicas criptogrficas es casi tan antiguo como las
culturas de los primeros pueblos de nuestro planeta.
Ya en el siglo V antes de J.C. un pueblo griego usaba tcnicas
elementales de cifra para proteger su informacin.
Se pretenda garantizar en aquellos das slo la confidencialidad
y la autenticidad de los mensajes. A finales del siglo XX se han
aadido la disponibilidad y, ltimamente, el no repudio.
Los mayores avances se logran en la Primera y Segunda Guerra
Mundiales, especialmente durante y despus de esta ltima. Los
pases en conflicto posean verdaderas empresas con un gran
nmero de matemticos, cuya funcin era romper los mensajes
cifrados de los teletipos intercambiados por sus enemigos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 348
Herramientas de la criptografa clsica
Tanto mquinas, artilugios de cifra, como los algoritmos
que trabajaban matemticamente dentro de un cuerpo
finito n, hacen uso de dos tcnicas bsicas orientadas a
caracteres y que, muchos siglos despus, las propondr
Shannon como herramientas para fortalecer la cifra:
Tcnicas de sustitucin: Los caracteres o letras del mensaje
en claro se modifican o sustituyen por otros elementos o
letras en la cifra. El criptograma tendr entonces caracteres
distintos a los que tena el mensaje en claro.
Tcnicas de transposicin o permutacin: los caracteres o
letras del mensaje en claro se redistribuyen sin modificarlos
y segn unas reglas, dentro del criptograma. El criptograma
tendr entonces los mismos caracteres del mensaje en claro
pero con una distribucin o localizacin diferente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 349
Clasificacin de los criptosistemas clsicos
y algunos
ejemplos...
TRANSPOSICIN SUSTITUCIN
MONOGRMICA POLIGRMICA NO PERIDICA PERIDICA
ALFABETO
ESTNDAR
ALFABETO
MIXTO
DIGRMICA
N-GRMICA
LINEALES PROGRESIVOS
CSAR
PLAYFAIR
HILL
VERNAM
ENIGMA
VIGENRE
AFN
OTROS
ALFABETO
ESTNDAR
ALFABETO
MIXTO
OTROS
COLUMNAS
FILAS
SERIES
GRUPOS MONOALFABTICA POLIALFABTICA
ESCTALA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 350
Hitos histricos en la criptografa
La criptografa clsica abarca desde tiempos inmemoriales
hasta la mitad del siglo XX.
El punto de inflexin en esta clasificacin la marcan tres
hechos relevantes:
En el ao 1948 se publica el estudio de Claude Shannon
sobre la Teora de la Informacin.
En 1974 aparece el estndar de cifra DES.
Y en el ao 1976 se publica el estudio realizado por
Whitfield Diffie y Martin Hellman sobre la aplicacin de
funciones matemticas de un solo sentido a un modelo de
cifra, denominado cifrado con clave pblica.
C
I
F
R
A
D
O
D
I
G
I
T
A
L
http://www.cs.jhu.edu/~rubin/courses/sp03/papers/diffie.hellman.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 351
Primer cifrador por transposicin: esctala
La esctala era usada en el siglo V a.d.C. por el pueblo
griego de los lacedemonios. Consista en un bastn en el
que se enrollaba una cinta de cuero y luego se escriba en
ella el mensaje de forma longitudinal.
Al desenrollar la cinta, las letras aparecern desordenadas.
Para descifrar el criptograma y recuperar el mensaje en
claro habr que enrollar dicha cinta en un bastn con el
mismo dimetro que el usado en el extremo emisor y leer
el mensaje de forma longitudinal. La clave del sistema se
encuentra en el dimetro del bastn. Se trata de una cifra
por transposicin pues los caracteres del criptograma son
los mismos que en el texto en claro pero estn distribuidos
de otra forma dentro del criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 352
Mtodo de cifra de la esctala
Bastn y cinta para cifrar
A S I C I F R A B
A N C O N L A E S
C I T A L A
El texto en claro es:
M = ASI CIFRABAN CON LA ESCITALA
El texto cifrado o criptograma ser:
C = AAC SNI ICT COA INL FLA RA AE BS
En ese bastn resida la
fortaleza de un pueblo.
Por ello, y como smbolo de
poder, el bastn de mando que
se le entrega al alcalde de una
ciudad en la ceremonia de su
nombramiento, proviene de
estos tiempos tan remotos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 353
Primer cifrador por sustitucin: Polybios
Es el cifrador por sustitucin de caracteres ms antiguo que se
conoce (siglo II a.d.C.) pero como duplica el tamao del texto
en claro, con letras o nmeros, ... no fue tan buena la idea.
A B C D E 1 2 3 4 5
A A B C D E 1 A B C D E
B F G H IJ K 2 F G H IJ K
C L M N O P 3 L M N O P
D Q R S T U 4 Q R S T U
E V W X Y Z 5 V W X Y Z
M
1
= QU BUENA IDEA
C
1
= DA DE AE AB DE AE
CC AA BD AD AE EA
M
2
= LA DEL GRIEGO
C
2
= 31 11 14 15 31 22
42 24 15 22 34
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 354
El cifrador del Csar
En el siglo I a.d.C., Julio Csar usaba este cifrador. El
algoritmo consiste en el desplazamiento de tres espacios
hacia la derecha de los caracteres del texto en claro. Es
un cifrador por sustitucin monoalfabtico en el que las
operaciones se realizan mdulo n, siendo n el nmero de
elementos del alfabeto (en aquel entonces el latn).
M
i
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
C
i
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Alfabeto de cifrado del Csar para castellano mod 27
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 355
Ejemplo de cifra del Csar en mod 27
M
i
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
C
i
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Cifrado: C
i
= M
i
+ 3 mod 27 Descifrado: M
i
= C
i
- 3 mod 27
M = EL PATIO DE MI CASA ES PARTICULAR
C = H SDWLR GH OL FDVD HV SDUWLFXDU
Cada letra se cifrar siempre igual. Es una gran debilidad y hace que
este sistema sea muy vulnerable y fcil de atacar, simplemente usando
las estadsticas del lenguaje. Puede ver la tabla de frecuencias tpicas
del lenguaje castellano en el captulo 21 de este libro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 356
Criptoanlisis del cifrador por sustitucin
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
00 01 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
Cifrado: C
i
= (M
i
+ b) mod 27 Descifrado: M
i
= (C
i
b) mod 27
La letra ms frecuente del criptograma la hacemos coincidir con
la ms frecuente del lenguaje, la letra E, y encontramos as b.
C = LZAHL ZBTHW YBLIH XBLKL ILYOH ZLYCH ROKH
Frecuencias observadas en el criptograma: L (7); H (6); Z (3); B (3);
Y (3); I (2); K (2); O (2); A (1); T (1); W (1); X (1); C (1); R (1).
Es posible que la letra E del lenguaje se cifre como L. Comprobamos
adems si la letra A (segunda ms frecuente) se cifra como H:
E + b mod 27 = L b = L - E mod 27 = 11 4 mod 27 = 7 %
A + b mod 27 = H b = H - A mod 27 = 7 0 mod 27 = 7 &
M = ESTA ES UNA PRUEBA QUE DEBERIA SER VALIDA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 357
Cifrador por sustitucin afn mod 27
Cifrado: C
i
= aM
i
+ b mod 27
Descifrado: M
i
= (C
i
b) a
-1
mod 27 donde a
-1
= inv (a, 27)
El factor de multiplicacin a deber ser primo relativo con el
cuerpo n (en este caso 27) para que exista el inverso a
-1
.
El factor de desplazamiento puede ser cualquiera: 0 b 26.
El ataque a este sistema es tambin muy elemental. Se relaciona el
elemento ms frecuente del criptograma a la letra E y el segundo a
la letra A, planteando un sistema de 2 ecuaciones. Si el texto tiene
varias decenas de caracteres este ataque prospera; caso contrario,
podra haber ligeros cambios en esta distribucin de frecuencias.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 358
Criptoanlisis a la cifra afn mod 27
C: NAQF EKNDP NCIVU FPUAN EJUIP FCNER NFRF UNPLN
AFPFQ TFPEI JRTE FPKI KTAPF LIKI AIPU RCUJI
PCIVU CUNER IRLNP TJIAF NEOI CFLNC NLUFA TEF
Caracteres ms frecuentes en el criptograma: F = 14; N = 13; I = 12
Con E y A las ms frecuentes, el ataque falla. En un segundo
intento suponemos la letra A ms frecuente que la E, luego:
F = (aA + b) mod 27 (a0 + b) mod 27 = 5 b = 5
N = (aE + b) mod 27 (a4 + 5) mod 27 = 13
Entonces a = (13-5) inv (4, 27) mod 27 = 8 7 mod 27 = 2
C
i
= (2M
i
+ 5) mod 27 M
i
= (C
i
5)inv (2, 27) = (C
i
5)14 mod 27
M: EL GRAN PEZ SE MOVA SILENCIOSAMENTE A TRAVS DE LAS
AGUAS NOCTURNAS, PROPULSADO POR LOS RTMICOS
MOVIMIENTOS DE SU COLA EN FORMA DE MEDIA LUNA.
(Comienzo de la novela Tiburn de Peter Benchley)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 359
El cifrador de Vigenre
Este cifrador polialfabtico soluciona la debilidad del cifrado
del Csar en que una letra se cifra siempre igual. Se usa una
clave K de longitud L y se cifra carcter a carcter sumando
mdulo n el texto en claro con los elementos de esta clave.
C
i
= M
i
+ K
i
mod 27
Sea K = CIFRA y el mensaje M = HOLA AMIGOS
M = H O L A A M I G O S
K = C I F R A C I F R A sumando mod 27...
C = J W P R A P L G S
Ms de un alfabeto: la letra
O se cifra de forma distinta.
Observe que el criptograma P se obtiene de un texto L y de un texto I.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 360
Es Vigenre un algoritmo seguro?
Si la clave de Vigenre tiene mas de 6 caracteres distintos, se
logra una distribucin de frecuencias en el criptograma del
tipo normal, es decir ms o menos plana, por lo que se logra
difuminar la redundancia del lenguaje.
Aunque pudiera parecer que usando una clave larga y de
muchos caracteres distintos, y por tanto varios alfabetos de
cifrado, Vigenre es un sistema de cifra seguro, esto es falso.
La redundancia del lenguaje unido a tcnicas de criptoanlisis
muy sencillas, como los mtodos de Kasiski y del ndice de
Coincidencia, permiten romper la cifra y la clave de una
manera muy fcil y con mnimos recursos. En la siguiente
diapositiva veremos un ataque por el mtodo de Kasiski.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 361
Ataque por el mtodo de Kasiski
El mtodo de Kasiski consiste en buscar repeticiones de cadenas de
caracteres en el criptograma. Si estas cadenas son mayores o iguales a
tres caracteres y se repiten ms de una vez, lo ms probable es que esto
se deba a cadenas tpicas del texto en claro (trigramas, tetragramas, etc.,
muy comunes) que se han cifrado con una misma porcin de la clave.
Si se detectan estas cadenas, la distancia entre las mismas ser mltiplo
de la longitud de la clave. Luego, el mximo comn divisor entre esas
cadenas es un candidato a ser la longitud de la clave, digamos L.
Dividimos el criptograma en L subcriptogramas que entonces han sido
cifrados por una misma letra de la clave y en cada subcriptograma
hacemos un ataque simple ahora de tipo estadstico monoalfabtico.
La idea es buscar ahora a travs de los tres caracteres ms frecuentes en
cada subcriptograma las posiciones relativas de las letras A, E y O que
en castellano estn separadas por 4 y 11 espacios. La letra de la posicin
que ocupe la letra A (A = 0) ser entonces la letra clave correspondiente.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 362
Cadenas repetidas en ataque de Kasiski
Sea el criptograma C de 404 caracteres que vamos a criptoanalizar el siguiente:
PBVRQ VICAD SKAS DETSJ PSIED BGGMP SLRPW RPWY EDSDE DRDP CRCPQ MNPWK
UBZVS FNVRD MTIPW UEQVV CBOVN UEDIF QLONM WNUVR SEIKA ZYEAC EYEDS ETFPH
LBHGU ESOM EHLBX VAEEP UELI SEVEF WHUNM CLPQP MBRRN BPVI MTIBV VEID
ANSJA MTJOK MDODS ELPWI UFOZM QMVNF OHASE SRJWR SFQCO TWVMB JGRPW VSUEX
INQRS JEUEM GGRBD GNNIL AGSJI DSVSU EEINT GRUEE TFGGM PORDF OGTSS TOSEQ
OTGR RYVLP WJIFW XOTGG RPQRR JSKET XRNBL ZETGG NEMUO TXJAT ORVJH RSFHV
NUEJI BCHAS EHEUE UOTIE FFGYA TGGMP IKTBW UEEN IEEU.
Entre otras, se observan las siguientes cadenas (subrayadas) en el criptograma:
3 cadenas GGMP, separadas por 256 y 104 posiciones.
2 cadenas YEDS, separadas por 72 espacios.
2 cadenas HASE, separadas por 156 espacios.
2 cadenas VSUE, separadas por 32 espacios.
Luego el perodo de la clave puede ser mcd (256, 104, 72, 156, 32) = 4. La clave
tendr cuatro caracteres, por lo tanto tomaremos del criptograma el carcter 1, el
5, el 9, etc. para formar el primer subcriptograma C
A
; luego el 2, el 6, el 10,
etc. para formar el subcriptograma C
B
, y lo mismo para subcriptogramas C
C
y C
D
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 363
Paso a cifrado monoalfabtico en Kasiski
Tenemos ahora 4 subcriptogramas de slo 101 letras c/u (muy importante tenerlo
en cuenta en las estadsticas) que han sido cifrados con la misma letra de la clave:
C
A
= PQAAEPDMREEDCNUSRIECNIONSAAETLUOLAUIEULMNIIEAAOOLU
MNARSOMRSISERNAISIRTMDTOORLIORRENENOAVSNIAEOFAMTEI
C
B
= BVDTSBPPPDPPPBFDPQBUFNUEZCDFBMBESFNPBBBNMKDPF
QFSJFTBPUNJMBNGDUNUFPFSSRPFTPJTBTETTJFUBSUTFTPBE
C
C
= VISSSIGSWWSDCQWZNMWVOEQMVIYESPHEEXEEEWMQRPMVISTMSWO
MOEWQWJWEQEGDISSETEGOOSETYWWGQSXLGMXOHHECEEIGGIWEE
C
D
= RCKDJEGLRYDRRMKVVTUVVDLWRKEYEHGSHVPLVHCPRVTVDJJDEIZ
VHSRCVGVXRUGGLJVEGEGRGTQGVJXGRKRZGUJRRVJHHUEYGKUNU
La frecuencia relativa observada en cada uno de los subcriptogramas es:
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
12 0 2 3 12 1 0 0 11 0 0 5 6 9 1 10 2 1 9 7 4 5 1 0 0 0 0
0 14 1 6 4 12 1 0 0 4 1 0 3 6 8 0 14 2 1 6 9 7 1 0 0 0 1
0 0 2 2 18 0 7 3 7 1 0 1 7 1 0 6 2 6 1 12 3 0 4 12 3 2 1
0 0 3 5 7 0 12 6 1 7 5 4 1 1 0 0 2 1 13 2 3 6 14 1 2 3 2
C
A
C
B
C
C
C
D
Luego, la letra ms frecuente del subcriptograma debera corresponder a la
letra E del texto en claro, la segunda a la letra A y la tercera a la letra O.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 364
La regla AEO en el ataque de Kasiski
Si la posicin relativa de la letra A es el valor 0, entonces la letra E est
cuatro espacios a la derecha de la A (m+4 mod 27) y la letra O est 15
espacios a la derecha de la letra A (m+15 mod 27) y a 11 de la letra E.
Buscaremos en cada subcriptograma C
i
las tres letras ms frecuentes y
que cumplan adems con esa distribucin: 0 +4 +11 mod 27.
Es suficiente contar con estas tres letras para que el ataque prospere. No
obstante, podemos afinar un poco ms el ataque si tomamos en cuenta la
siguiente letra frecuente en castellano S, en la posicin (m+19) mod 27.
En el ejemplo para C
A
se observa que la nica solucin que cumple con
esto es la que coincide la AEO (12, 12, 10) luego la letra clave sera la A.
Para C
B
elegimos BFP (14, 12, 14) por lo que la letra clave sera B. Para
C
C
elegimos EIS (18, 7, 12) por lo que la letra clave sera E. Para C
D
elegimos RVG (13, 14, 12) por lo que la letra clave sera R.
Con la clave K = ABER obtenemos Para que la cosa no me sorprenda....
Al ser ste un texto largo y con sentido, hemos encontrado la clave $.
(artculo del periodista Andrs Aberasturi sobre la Navidad, Espaa, ao 1995)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 365
El ndice de coincidencia IC
El estudio del ndice IC queda fuera del contexto de estos apuntes. Si bien
tiene relacin con el nmero de alfabetos, no es efectivo como Kasiski.
26
IC = p
i
2
para castellano mod 27: IC = p
A
2
+ p
B
2
+ ... + p
Z
2
= 0,072
i=0
Si el IC es menor que 0,5 es muy probable que no se trate de un cifrador
monoalfabtico sino polialfabtico con un periodo 2 o mayor.
As, cuando encontramos una longitud L de la clave por el mtodo de
Kasiski y rompemos el criptograma en L subcriptogramas, aplicando el
concepto del ndice de coincidencia IC podemos comprobar que cada uno
de ellos se trata efectivamente de un cifrado monoalfabtico cuando para
cada subcriptograma este valor se acerca a 0,072 o lo supera.
En el ejemplo anterior, una vez roto el criptograma en cuatro tenemos:
IC
CA
= 0,080; IC
CB
= 0,091; IC
CC
= 0,083; IC
CD
= 0,082 ... perfecto &
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 366
Cifrador poligrmico de Playfair
Los cifrados anteriores se hacan carcter a carcter, es decir eran
monogrmicos. Para aumentar la seguridad de la cifra y romper las
estadsticas, podemos cifrar por poligramas, bloques de caracteres.
Un cifrador inventado a finales del siglo XIX es el de Playfair que
trabaja con una matriz de 5x5 letras, cifrando por digramas. Si el
texto en claro tiene un nmero impar de elementos, se rellena con
una letra preestablecida, por ejemplo la letra X.
Z Y X W V
U T S R Q
P O N/ M L
K I/J H G F
E D C B A
Si M
1
M
2
estn en la misma fila, C
1
C
2
son los dos caracteres de la derecha.
Si M
1
M
2
estn en la misma columna,
C
1
C
2
son los dos caracteres de abajo.
Si M
1
M
2
estn en filas y columnas
distintas, C
1
C
2
son los dos caracteres de
la diagonal, desde la fila de M
1
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 367
Ejemplo de cifra con Playfair
Si la clave K = BEATLES y eliminamos la letra (ingls), cifre el
mensaje M = WITH A LITTLE HELP FROM MY FRIENDS.
Z Y X W V
U R Q P O
N M K I/J H
G F D C S
L T A E B
M = WI TH AL IT TL EH EL PF RO MX MY FR IE ND SX
C = EP BM TB ME LB BI AB RC UP KY RT MY PC KG DV
Estos sistemas tambin son criptoanalizables pues en el criptograma C
persisten algunas propiedades del lenguaje; en este caso la distribucin de
digramas tpicos; por ejemplo en el castellano en, de, mb, etc.
Se rompe la doble
MM agregando una
X y se rellena al
final tambin con X
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 368
El cifrador de matrices de Hill
En 1929 el matemtico Lester Hill propone un sistema de cifra
usando una matriz como clave, cifrando Ngramas de forma que:
C
1
k
11
k
12
k
13
... k
1N
M
1
C
2
k
21
k
22
k
23
... k
2N
M
2
C
3
k
31
k
32
k
33
... k
3N
M
3
.. .. .. .. .. ..
C
N
k
N1
k
N2
k
N3
... k
NN
M
N
=
X mod n
La matriz clave K debe tener inversa K
-1
en el cuerpo de cifra n.
Luego, como K
-1
= T
ADJ(K)
/|K| mod n, en donde ADJ(K) es la
matriz adjunta, T es la traspuesta y |K| el determinante, este ltimo
valor |K| no podr ser cero ni tener factores en comn con n puesto
que est en el denominador (concepto de inverso ya visto).
Si el texto en claro no es mltiplo del bloque N, se rellena con
caracteres predeterminados, por ejemplo la letra X o la Z.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 369
Ejemplo de cifrado de Hill
Sea M = AMIGO CONDUCTOR y la clave K la que se muestra:
C
1
16 4 11 0
C
2
8 6 18 12
C
3
15 19 15 8
=
X mod 27
M = AMI GOC OND UCT ORZ
C
1
= (160 + 412 + 118) mod 27 = 136 mod 27 = 1 = B
C
2
= (80 + 612 + 188) mod 27 = 216 mod 27 = 0 = A
C
3
= (150 + 1912 + 158) mod 27 = 348 mod 27 = 24 = X
C = BAX PMA BJE XAF EUM (compruebe Ud. los dems trigramas)
K = PELIGROSO ser la clave
simblica. Se cifrar el primer
trigrama: AMI = 0, 12, 8.
Para descifrar encontramos K
-1
= inv (K, 27) = K
-1
= T
ADJ(K)
/|K| mod n
|K| = 16(615 - 1918) 4(815 - 1518) + 11 (819 - 156) mod 27 = 4
Encontramos luego la matriz adjunta de K, la trasponemos cambiando
filas por columnas y la multiplicamos por inv (|K|, 27) = inv (4, 27) = 7
con lo que se obtiene la matriz que se indica (hgalo Ud.)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 370
Ejemplo de descifrado de Hill
18 26 15
M = K
-1
x C mod n y K
-1
= 24 6 13
11 24 10
C = BAX PMA BJE XAF EUM y la clave K
-1
es la que se muestra:
M
1
18 26 15 1
M
2
24 6 13 0
M
3
11 24 10 24
=
X mod 27
Descifrado del primer trigrama
del criptograma: BAX = 1, 0, 24.
C = BAX PMA BJE XAF EUM
M
1
= (181 + 260 + 1524) mod 27 = 378 mod 27 = 0 = A
M
2
= (241 + 60 + 1324) mod 27 = 336 mod 27 = 12 = M
M
3
= (111 + 240 + 1024) mod 27 = 251 mod 27 = 8 = I
M = AMI GOC OND UCT ORZ (compruebe Ud. los dems trigramas)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 371
Es seguro el cifrador de Hill?
Si con el sistema de Hill se cifran bloques de 8 caracteres,
incluso en un cuerpo tan pequeo como n = 27 el espacio de
claves aumenta de forma espectacular, comparable con DES.
Si el mdulo de cifra es un primo p, entonces el nmero de
claves vlidas es cercano al mximo posible: p
x
donde x = d
2
,
con d el tamao de N-grama o de la matriz clave.
No obstante, el sistema no es seguro. Debido a su linealidad
ser muy fcil hacer un ataque con texto claro conocido segn
el mtodo de Gauss Jordan y encontrar as la matriz clave K.
Esto es debido a que aparecen los llamados vectores unitarios
en el criptograma o en el texto en claro, o bien los obtenemos
aplicando este mtodo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 372
Ataque al cifrado de Hill por Gauss Jordan
El mtodo consiste en escribir una matriz 2N-grmica con los elementos
del texto en claro y los elementos del criptograma. En esta matriz
realizamos operaciones lineales (multiplicar filas por un nmero y restar
filas entre s) con el objeto de obtener los vectores unitarios.
Por ejemplo podemos romper la matriz clave K teniendo:
M = ENU NLU GAR DEL AMA NCH ADE CUY ONO ...
C = WVX IDQ DDO ITQ JGO GJI YMG FVC UT ...
E N U W V X 4 13 21 23 22 24
N L U I D Q 13 11 21 8 3 17
G A R D D O 6 0 18 3 3 15
D E L I T Q 3 4 11 8 20 17
A M A J G O = 0 12 0 9 6 15
N C H G J I 13 2 7 6 9 8
A D E Y M G 0 3 4 25 12 6
C U Y F V C 2 21 25 5 22 2
O N O U T 15 13 15 21 14 20
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 373
Operaciones en la matriz de Gauss Jordan
Vamos a dejar en la primera columna un nmero uno en la fila
primera y todas las dems filas un cero. Luego multiplicamos el
vector (4 13 21 | 23 22 24) por el inv (4, 27) = 7. As obtenemos
7(4 13 21 | 23 22 24) mod 27 = (1 10 12 | 26 19 6). Si esto no se
puede hacer con la primera fila movemos los vectores. Hecho esto
vamos restando las filas respecto de esta primera como se indica:
a) 2 fila = 2 fila 131 fila mod 27
b) 3 fila = 3 fila 61 fila mod 27
c) 4 fila = 4 fila 31 fila mod 27
d) 5 fila ya tiene un 0
e) 6 fila = 6 fila 131 fila mod 27
f) 7 fila ya tiene un 0
g) 8 fila = 8 fila 21 fila mod 27
h) 9 fila = 9 fila 151 fila mod 27
4 13 21 23 22 24
13 11 21 8 3 17
6 0 18 3 3 15
3 4 11 8 20 17
0 12 0 9 6 15
13 2 7 6 9 8
0 3 4 25 12 6
2 21 25 5 22 2
15 13 15 21 14 20
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 374
Matriz clave de Hill criptoanalizada
Repetimos este procedimiento ahora para algn vector en cuya
segunda columna tenga un nmero con inverso en 27 y lo mismo
para la tercera columna, moviendo si es preciso los vectores.
Como la mitad izquierda de la matriz 2N era el texto el claro, la
parte derecha de la matriz con vectores unitarios corresponder a
la traspuesta de la clave.
1 0 0 2 5 7
0 1 0 3 5 8
0 0 1 4 6 9
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 3 4
K = 5 5 6
7 8 9
http://www.pro-technix.com/information/crypto/pages/vernam_base.html
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 377
Cuestiones y ejercicios (1 de 3)
LAS SIGUIENTES PREGUNTAS ESTN RELACIONADAS
CON ESTOS APUNTES, EL LIBRO ELECTRNICO DE
CRIPTOGRAFA CLSICA Y EL SOFTWARE DE PRCTICAS
CRIPTOCLSICOS QUE SE HA COMENTADO.
1. Qu significa cifrar por sustitucin y qu por transposicin?
2. Por qu que el mtodo esctala es un cifrado por permutacin?
3. Cul es la peor debilidad que tiene el sistema de cifra del Csar?
4. Ciframos el mensaje M = HOLA QUE TAL con un desplazamiento
de 6 caracteres, cul es el criptograma? Y si desplazamos 27?
5. Por qu no podemos cifrar en el cuerpo n = 27 con la funcin de
cifra C = (12M + 5) mod n? Qu condicin deber cumplirse?
6. Cmo podramos atacar un sistema de cifra tipo Csar? Y si la
cifra es de tipo afn como el de la pregunta anterior?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 378
Cuestiones y ejercicios (2 de 3)
7. Cifre el mensaje M = VAMOS A VERLO con un sistema afn
siendo el valor a = 5 y b = 2, usando slo operaciones modulares.
8. En un sistema de cifra de Vigenre la clave a usar puede ser CERO
o bien COMPADRE, cul de las dos usara y por qu?
9. Cifre segn Vigenre el mensaje M = UN VINO DE MESA con la
clave K = BACO sin usar la tabla, slo con operaciones modulares.
10. Por qu se dice que Vigenre es un cifrador polialfabtico?
11. Cmo podramos atacar un cifrado polialfabtico peridico?
12. Cifre con el mtodo de Vernam binario en mensaje M = VIDA y
clave K = TACOS suponiendo texto ASCII. Y si la clave es ahora
K = TACO? Cmo se comporta este cifrador si K es aleatoria?
13. Qu significa cifrar por homfonos? Qu es el cifrado de Beale?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 379
Cuestiones y ejercicios (3 de 3)
14. Nombre dos mquinas de cifrar que se usaron en la Segunda Guerra
Mundial y diga de forma sencilla cmo funcionaban.
15. Se cifra por permutaciones usando para ello una distribucin en
columnas con clave. Qu similitud tendr luego este sistema de
cifra con algunas operaciones hechas en el DES?
16. Cifre con Hill digrmico el mensaje mod 27 M = ADIOS AMIGO.
Qu matriz simblica puede usar: GATO, GOTA, MISA o MESA?
17. Cifre y descifre con la matriz trigrmica simblica PELIGROSO el
mensaje HOY ES UN HERMOSO DIA.
18. Si K puede ser tan grande, por qu no es segura la cifra de Hill?
19. Qu significan los vectores unitarios? Es fcil encontrarlos?
20. Cmo funciona el ataque de Gauss Jordan? Obtenga la matriz clave
del ejercicio 17 mediante Gauss Jordan.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 380
Prcticas del tema 9 (1/4)
Software CripClas:
http://www.criptored.upm.es/software/sw_m001c.htm
1. Con el algoritmo del Csar, b = 3, cifre, descifre y criptoanalice el mensaje
M = En el cifrado del Csar el criptoanlisis es muy elemental.
2. Con el algoritmo de cifra por multiplicacin (decimacin) con a = 5, cifre,
descifre y criptoanalice, segn estadsticas del lenguaje, el mensaje M = El
cifrado por multiplicacin exige la existencia del inverso en el cuerpo.
3. Con el algoritmo de cifra afn (a = 7, b = 10) cifre, descifre y criptoanalice,
segn estadsticas del lenguaje, el mensaje M = Si tenemos un texto de
unos cuantos caracteres, el ataque al criptograma es muy sencillo.
4. Con el algoritmo de Vigenre cuya clave es K = GOL, cifre, descifre y
criptoanalice el mensaje M = El jugador se adentr al rea y de un golpe
preciso introdujo el baln en la portera de aquel desgraciado portero. Era
el presagio de lo que iba a ser aquella fatdica tarde para Manolo, justo en
el da en que debutaba en aquel estadio.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 381
Prcticas del tema 9 (2/4)
5. Cifre y descifre en modo clave continua el mensaje M = Aqu se suma
carcter a carcter la cadena de entrada con la clave siendo K = La clave
ser un texto de longitud igual o mayor que el texto en claro.
6. Cifre con Vernam el mensaje M con la clave numrica K. M = Una cifra
muy interesante. K = 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0. Al copiar la
clave, respete los espacios en blanco.
7. Cifre con Vernam binario el mensaje M de 18 caracteres con la clave K de
26 caracteres. M = una cifra por bits. K = CIFRADOR BINARIO DE
VERNAM. Compruebe la cifra del los tres primeros caracteres.
8. Cifre con Playfair el mensaje M usando la clave K. M = Un cifrador
digrmico. K = JUEGO LIMPIO. Se eliminan K y W de la matriz. Observe
la matriz de cifra. Descifre el criptograma y observe el relleno.
9. Cifre con Hill digrmico mod 27 el mensaje M = UN CIFRADO DE HILL
con la clave k
11
= 7; k
12
= 4; k
21
= 13; k
22
= 17. Descifre el criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 382
Prcticas del tema 9 (3/4)
Software Hill:
http://www.criptored.upm.es/software/sw_m001i.htm
1. Calcule el determinante y la inversa para comprobar si las siguientes
matrices digrmicas son vlidas para cifrar en el cuerpo 27:
k
11
= 7; k
12
= 10; k
21
= 12; k
22
= 19.
k
11
= 8; k
12
= 5; k
21
= 2; k
22
= 8.
k
11
= 18; k
12
= 15; k
21
= 7; k
22
= 8.
2. Calcule el determinante y la inversa para comprobar si las siguientes
matrices trigrmicas son vlidas para cifrar en el cuerpo 27:
k
11
= 4; k
12
= 12; k
13
= 9; k
21
= 5; k
22
= 0; k
23
= 13; k
31
= 6; k
32
= 8; k
33
= 3.
k
11
= 3; k
12
= 12; k
13
= 9; k
21
= 5; k
22
= 0; k
23
= 13; k
31
= 6; k
32
= 8; k
33
= 3.
3. Calcule la inversa de la siguiente matriz pentagrmica en modulo 27:
k
11
= 3; k
12
= 2; k
13
= 1; k
14
= 0; k
15
= 2; k
21
= 5; k
22
= 5; k
23
= 3; k
24
= 7;
k
25
= 1; k
31
= 8; k
32
= 7; k
33
= 6; k
34
= 5; k
35
= 5; k
41
= 4; k
42
= 9; k
43
= 6;
k
44
= 8; k
45
= 3; k
51
= 3; k
52
= 9; k
53
= 8; k
54
= 7; k
55
= 3.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 9: Sistemas de Cifra Clsicos
Pgina 383
Prcticas del tema 9 (4/4)
4. Para la matriz del ejercicio anterior, calcule el determinante y la inversa al
trabajar en mdulo 37 y en mdulo 191.
5. Guarde la matriz clave que se indica con el nombre pract14libro.mtr. Abra
ahora el editor del programa y guarde como pract14libro.txt el siguiente
texto M = AHORA VAMOS A CIFRAR POR TRIGRAMAS.
k
11
= 1; k
12
= 1; k
13
= 1; k
21
= 3; k
22
= 5; k
23
= 7; k
31
= 2; k
32
= 1; k
33
= 2.
6. Descifre el criptograma anterior. Observe el relleno introducido.
7. Criptoanalice la matriz de cifra anterior mediante Gauss-Jordan, indicando
que desea crear un archivo de seguimiento con nombre pract14libroataque.
Una vez que haya encontrado la matriz clave de cifra, abra este archivo y
observe las operaciones que el programa ha tenido que hacer para ello.
8. Cree matrices clave y documentos para cifrar, descifrar y criptoanalizar en
mdulo 191 y observe las opciones que le entrega el programa.
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 35 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Curso de Seguridad Informtica y Criptografa JRA
v 4.1
Captulo 10
Introduccin a la Cifra Moderna
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 385
Los criptosistemas modernos, cuya cifra en bits est orientada a todos
los caracteres ASCII o ANSI, usan por lo general una operacin
algebraica en Z
n
, un cuerpo finito, sin que necesariamente este mdulo
deba corresponder con el nmero de elementos del alfabeto o cdigo
utilizado. Es ms, nunca coinciden: siempre ser mucho mayor el
cuerpo de trabajo que el alfabeto usado.
Su fortaleza se debe basar en la imposibilidad computacional de
descubrir una clave secreta nica, en tanto que el algoritmo de cifra es
(o al menos debera serlo) pblico.
En la siguiente direccin web, encontrar un amplio compendio de
sistemas de cifra y criptografa.
Un par de ideas bsicas
Conceptos elementales
http://en.wikipedia.org/wiki/Category:Cryptography
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 386
Clasificacin de los criptosistemas
MTODOS DE CIFRA MODERNA
MTODOS DE CIFRA MODERNA
CIFRADO EN FLUJO CIFRADO EN BLOQUE
A5; RC4
CLAVE SECRETA CLAVE PBLICA
DES; T-DES; CAST;
IDEA; AES; RC5 ...
EXPONENCIACIN SUMA/PRODUCTO
Cifrado propio de la
informacin en una
sesin en Internet o en
una red. Tambin se
usa en cifrado local.
Uso en intercambio
de clave y en firma
digital.
CE: intercambio clave y firma
digital. Mochilas: proteccin de
SW mediante dispositivo HW.
Telefona mvil,
Internet y WLAN.
y algunos
ejemplos...
RSA; ElGamal
Curvas Elpticas/Mochilas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 387
Usa el concepto de cifra propuesto por Vernam,
que cumple con las ideas de Shannon sobre
sistemas de cifra con secreto perfecto, esto es:
a) El espacio de las claves es igual o mayor que el
espacio de los mensajes.
b) Las claves deben ser equiprobables.
c) La secuencia de clave se usa una sola vez y luego
se destruye (sistema one-time pad).
Una duda: Ser posible satisfacer la condicin a)?
Introduccin al cifrado de flujo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 388
Espacio de Claves Espacio de Mensajes?
1) La secuencia de bits de la clave deber enviarse al
destinatario a travs de un canal que sabemos es
inseguro (recuerde que an no conoce el protocolo
de intercambio de clave de Diffie y Hellman).
2) Si la secuencia es infinita, desbordaramos la
capacidad del canal de comunicaciones.
Espacio de claves y del mensaje
Qu solucin damos
a este problema?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 389
La solucin est en generar una secuencia pseudoaleatoria
con un algoritmo determinstico a partir de una semilla de n
bits. Podremos generar as secuencias con perodos de 2
n
bits, un valor ciertamente muy alto puesto que n debe ser
del orden de las centenas. Esta semilla es la que se enviar
al receptor mediante un sistema de cifra de clave pblica y
un algoritmo de intercambio de clave que veremos en
prximos captulos y as no sobrecargamos el canal.
El concepto de semilla en un generador
Si por un canal supuestamente seguro enviamos esa clave
secreta tan larga ... por qu no enviamos directamente el
mensaje en claro y nos dejamos de historias?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 390
El mensaje en claro se leer bit a bit.
Se realizar una operacin de cifra, normalmente
la funcin XOR, con una secuencia cifrante de
bits S
i
que debe cumplir ciertas condiciones:
Tener un perodo muy alto (ya no infinito)
Tener propiedades pseudoaleatorias (ya no aleatorias)
XOR
Secuencia cifrante S
i
Mensaje M
Bits del Criptograma
XOR
Mensaje M
Secuencia cifrante S
i
C
C
Tcnica de cifra en flujo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 391
El mensaje se agrupa en bloques, por lo
general de 8 16 bytes (64 128 bits) antes
de aplicar el algoritmo de cifra a cada bloque
de forma independiente con la misma clave.
Introduccin a la cifra en bloque
Cifrado con Clave Secreta
Hay algunos algoritmos muy conocidos por su uso en
aplicaciones bancarias (DES), correo electrnico (IDEA,
CAST), comercio electrnico (Triple DES) y el nuevo
estndar (AES Rijndael).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 392
Si el bloque fuese muy pequeo, por ejemplo
uno o dos bytes, esto facilitara un ataque por
estadsticas del lenguaje. Se tratara de un
cifrado por monogramas o digramas muy dbil.
Qu tamao de bloque usar?
Pero si el bloque fuese muy grande, por
ejemplo cientos de bytes, el sistema sera
lento en el tratamiento del texto en claro y
no sera bueno su rendimiento.
Los valores indicados de 64 y 128 bits son un trmino
medio que satisface ambas condicionantes: es la tpica
situacin de compromiso que tanto vemos en ingeniera.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 393
a) Mala gestin de claves. Crece el nmero de claves
secretas en una proporcin igual a n
2
para un valor
n grande de usuarios lo que imposibilita usarlo .
b) Mala distribucin de claves. No existe posibilidad
de enviar, de forma segura y eficiente, una clave a
travs de un medio o canal inseguro .
c) No tiene firma digital. Aunque s ser posible
autenticar el mensaje mediante una marca, no es
posible firmar digitalmente el mensaje, al menos
en un sentido amplio y sencillo .
Tres debilidades en la cifra simtrica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 394
a) Mala gestin de claves
b) Mala distribucin de claves
c) No permite firma digital
Tiene algo de bueno la cifra
en bloque con clave secreta?
S: la velocidad de cifra es muy alta y por ello se usar
para realizar la funcin de cifra de la informacin. Adems,
con claves de slo unas centenas de bits obtendremos una
alta seguridad pues la no linealidad del algoritmo hace que
en la prctica el nico ataque factible sea por fuerza bruta.
Por qu usamos entonces clave secreta?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 395
Comienza a ser ampliamente conocido a travs de su
aplicacin en los sistemas de correo electrnico seguro
(PGP y PEM) permitiendo cifrar e incluir una firma digital
adjunta al documento o e-mail enviado y tambin en los
navegadores Web.
Cada usuario tendr dos claves, una secreta o privada y
otra pblica, inversas entre s dentro de un cuerpo.
Usan las funciones unidireccionales con trampa.
Cifrado asimtrico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 396
Son funciones matemticas de un solo sentido
(one-way functions) y que nos permiten usar la
funcin en sentido directo o de clculo fcil para
cifrar y descifrar (usuarios legtimos) y fuerza el
sentido inverso o de clculo difcil para aquellos
impostores, hackers, etc. que lo que desean es
atacar o criptoanalizar la cifra.
f (M) = C es siempre fcil.
f
-1
(C) = M es difcil salvo que se tenga la trampa.
Funciones unidireccionales con trampa
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 397
Clculo directo: producto de dos primos grandes pq = n
Clculo inverso: factorizacin de nmero grande n = pq
Problema de la factorizacin
Problema de la factorizacin
Problema del logaritmo discreto
Problema del logaritmo discreto
Clculo directo: exponenciacin discreta =
x
mod n
Clculo inverso: logaritmo discreto x = log
mod n
Funciones con trampa ms usadas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 398
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
Otras funciones con trampa
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 399
Claves: e
B
, n
B
, d
B
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Claves: e
A
, n
A
, d
A
Benito
Adela
C = E
eA
(N) mod n
A
e
B
, n
B
: pblicas
d
B
: privada
e
A
, n
A
: pblicas
d
A
: privada
ESTOS SERN NUESTROS PROTAGONISTAS
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.
Cifrado con clave pblica de destino
e
B
y d
B
son
inversas dentro
de un cuerpo n
B
e
A
y d
A
son
inversas dentro
de un cuerpo n
A
Origen Destino
A qu es mucho ms lgico y familiar usar estos nombres y no Alice y Bob?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 400
Cifrado:
Benito enva un valor N cifrado a Adela
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Benito Adela
C = E
eA
(N) mod n
A
Descifrado:
N = E
dA
[E
eA
(N)] mod n
A
E
dA
y E
eA
son inversos
Se obtiene confidencialidad del mensaje
Operacin de cifra con clave de destino
Claves pblicas
Clave privada
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 401
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.
Y si usamos la clave pblica de origen?
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) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 402
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.
Y si usamos la clave privada de origen?
Obviamente, el emisor nunca podr realizar la cifra del
mensaje M con la clave privada del receptor.
Veamos antes un ejemplo de
algoritmo que usa un par de
claves entre dos usuarios...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 403
PROTOCOLO: A enva a B un mensaje M
1 A pone el mensaje M en la caja, la cierra con su
llave azuly la enva a B.
2 B recibe la caja, la cierra con su llave roja y
enva a A la caja con las dos cerraduras.
3 A recibe la caja, quita su llave azul y devuelve
a B la caja slo con la cerradura de roja.
4 B recibe la caja, quita su cerradura roja y puede
ver el mensaje M que A puso en su interior.
El algoritmo del mensaje en la caja
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 404
Va 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 un poco el
algoritmo anterior, s
podremos asegurar
tanto la integridad del
mensaje como la
autenticidad de emisor.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 405
Claves: e
B
, n
B
, d
B
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Claves: e
A
, n
A
, d
A
Benito
Adela
C = E
dB
(N) mod n
B
e
B
, n
B
: pblicas
d
B
: privada
e
A
, n
A
: pblicas
d
A
: privada
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.
Cifrado con clave privada del origen
e
B
y d
B
son
inversas dentro
de un cuerpo n
B
e
A
y d
A
son
inversas dentro
de un cuerpo n
A
Origen Destino
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 406
Firma digital:
Benito firma un valor N que enva a Adela
Claves: e
B
, n
B
, d
B
Claves: e
A
, n
A
, d
A
Benito Adela
C = E
dB
(N) mod n
B
Comprobacin:
N = E
eB
[E
dB
(N)] mod n
B
E
dB
y E
eB
son inversos
Se comprueba la integridad del origen
Operacin de cifra con clave de origen
Clave privada
Claves pblicas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 407
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 (centenas de bits) del mensaje obtenido con una
funcin hash.
Observe que se hace hincapi en las centenas de bits dado que
estos sistemas son muy lentos comparados con los simtricos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 408
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: en
los asimtricos slo es necesario memorizar la frase o
palabra de paso para acceder a la clave privada.
Comparativa: la gestin de claves
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 409
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 miles
de centenas de bits. 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 1.024
Comparativa: el espacio de claves
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 410
Vida de una clave
Clave Secreta Clave Pblica
La duracin es muy La duracin de la clave
corta pues casi pblica, que la entrega
siempre se usa como y gestiona un tercero,
clave de una 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
Comparativa: la vida de las claves
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 411
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!
Vida de la clave y principio de caducidad
... puede ser muy peligroso.
Lo mismo ocurrir si usamos la cifra simtrica para proteger
algn archivo o archivos en nuestro computador.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 412
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.
El problema de la autenticacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 413
Autenticacin
Clave Secreta Clave Pblica
Se puede autenticar Al haber una clave
el mensaje pero no pblica y otra privada,
al emisor de forma se podr autenticar el
sencilla y eficiente. 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, en donde la tercera parte de confianza es slo presencial.
Comparativa: la autenticacin de emisor
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 414
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
Comparativa: la velocidad de cifra
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 415
Confidencialidad
Autenticacin parcial
Sin firma digital
Claves:
Longitud pequea
Vida corta (sesin)
Nmero elevado
Velocidad alta
Confidencialidad
Autenticacin total
Con firma digital
Claves:
Longitud grande
Vida larga
Nmero reducido
Velocidad baja
Resumen comparativo de estas cifras
Cifrado Simtrico Cifrado Asimtrico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 416
La criptografa simtrica o de clave secreta usa una nica clave
para cifrar en emisin y descifrar en destino.
La seguridad del sistema reside entonces en cun segura
sea dicha clave.
En la criptografa asimtrica cada usuario se crea un par de
claves llamadas pblica y privada, inversas entre s dentro de un
cuerpo finito, de forma que lo que hace una la otra lo deshace.
Para cifrar se usa, por ejemplo, la clave pblica de destino y
para descifrar el destinatario har uso de su clave privada.
La seguridad del sistema reside ahora en la dificultad
computacional de encontrar la clave privada a partir de la
clave pblica.
Seguridad en la cifra simtrica y asimtrica
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 417
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 de 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. Nombre y comente algunas debilidades de los sistemas de cifra en
bloque con clave secreta.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 10: Introduccin a la Cifra Moderna
Pgina 418
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 no?
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?
Captulo 11
Sistemas de Cifra en Flujo
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 51 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 420
Cifrador de flujo bsico
Recordando la propuesta de cifrador hecha por Vernam en 1917,
los cifradores de flujo (sistemas con clave secreta) usarn:
Un algoritmo de cifra basado en la funcin XOR.
Una secuencia cifrante binaria y pseudoaleatoria denominada
S y que se obtiene a partir una clave secreta K compartida por
emisor y receptor, y un algoritmo generador determinstico.
El mismo algoritmo para el descifrado debido el carcter
involutivo de la funcin XOR.
Clave K Clave K
Algoritmo
Determinstico
Algoritmo
Determinstico
secuencia cifrante
M M
S S
MENSAJE MENSAJE
C
Operaciones con bits
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 421
Caractersticas de la secuencia cifrante S
Condiciones para una clave binaria segura
Perodo:
La clave deber ser tanto o ms larga que el mensaje. En la
prctica se usar una semilla K de unos 120 a 250 bits en cada
extremo del sistema para generar perodos superiores a 10
35
.
Distribucin de bits:
La distribucin de bits de unos (1s) y ceros (0s) deber ser
uniforme para que represente a una secuencia pseudoaleatoria.
Para ello deber cumplir los postulados de 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
i
.
http://ee.usc.edu/faculty_staff/bios/golomb.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 422
Rachas de dgitos en una secuencia
Rachas de una secuencia S de perodo T = 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
Rachas de 0s
Racha de 00s
Rachas de 1s
El prximo
bit ser un 1
El bit anterior
era un 0
0 entre dos 1s
1 entre dos 0s
Racha de 1111s
Esta distribucin
tan particular se
comentar ms
adelante...
11 entre dos 0s
Racha de 000s
00 entre dos 1s
Racha de 11s
1111 entre dos 0s
000 entre dos 1s
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 423
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 mayor
nmero de rachas cortas que de rachas largas como se
observa 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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 424
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
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Si k = 1
S
i
1 1 1 0 1 0 1 1 0 0 1 0 0 0 1
A =
A=7; F=8
F = AC(1) = -1/15
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 425
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. Esta caracterstica ser
importante para que la clave sea considerada buena.
Es decir, para que una secuencia cifrante S podamos considerarla
segura y apropiada para una cifra, adems de cumplir con la
distribucin de rachas vista anteriormente, deber presentar una
autocorrelacin fuera de fase AC(k) constante.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 426
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 deber
ser superior al 50%.
Esta caracterstica se definir a partir de la denominada
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 427
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.
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
1
En la secuencia S
1
de 15 bits, hay 8 unos y 7
ceros. Luego s cumple con el postulado G1.
0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 S
2
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 428
Significado del postulado G1
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
Qu significa esto?
Si una secuencia S
i
como la indicada 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 en la secuencia hay una
mitad de valores 1 y otra mitad de valores 0.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 429
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, haba 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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 430
Significado del postulado G2
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 S
i
Qu significa esto?
Si una secuencia S
i
como la indicada cumple con G2, quiere
decir que la probabilidad de recibir un bit 1 o un bit 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 deber ser
igual de probable que la cadena 11. Lo mismo sucede con un 0
al comienzo, o bien un 00, 01, 10, 11, 000, 001, etc. Existir as
tambin una equiprobabilidad 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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 431
Tercer postulado de Golomb G3 (1/2)
Postulado G3:
La autocorrelacin AC(k) deber ser constante
para todo valor de desplazamiento de k bits.
1 0 0 1 1 1 0
Secuencia original S
i
0 0 1 1 1 0 1 AC(1) = (3-7)/7 = -4/7
0 1 1 1 0 1 0
k = 1
AC(2) = (3-7)/7 = -4/7 k = 2
k = 3
1 1 1 0 1 0 0
AC(3) = (3-7)/7 = -4/7
Desplazamiento de un bit a la izquierda
sigue
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 432
Tercer postulado de Golomb G3 (2/2)
1 0 0 1 1 1 0
Secuencia original
1 1 0 1 0 0 1 k = 4 AC(4) = (3-7)/7 = -4/7
1 0 1 0 0 1 1 k = 5 AC(5) = (3-7)/7 = -4/7
0 1 0 0 1 1 1 AC(6) = (3-7)/7 = -4/7 k = 6
1 0 0 1 1 1 0 k = 7 Secuencia original en fase
La secuencia S
i
= 1001110 de 7 bits cumple con G3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 433
Autocorrelacin no constante (1/2)
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
AC(1) = (4-4)/8 = 0
k = 1
AC(2) = (4-4)/8 = 0
1 1 0 1 0 0 0 1
k = 2
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 434
Autocorrelacin no constante (2/2)
0 1 1 1 0 1 0 0
S
i
Secuencia original
1 0 0 0 1 1 1 0
AC(5) = (2-6)/8 = -1/2
k = 5
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
Secuencia original en fase k = 8
La secuencia S
i
= 01110100 de 8 bits no cumple con G3
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 435
Significado del postulado G3
0 1 1 1 0 1 0 0
S
i
No cumple con G3
1 0 0 1 1 1 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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 436
Generador de congruencia lineal
x
i+1
= (ax
i
b)(mod n) ser la secuencia cifrante
Los valores a, b, n caracterizan al generador y se
utilizarn 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 desde i = 0 hasta i = n-1.
Tiene como debilidad que resulta relativamente fcil
atacar la secuencia, de forma similar al criptoanlisis
de los cifradores afines vistos en criptografa clsica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 437
Ejemplo generador de congruencia lineal
x
i+1
= (ax
i
b)(mod n)
x
1
= (510+1) mod 16 = 3 x
9
= (52+1) mod 16 = 11
x
2
= (53+1) mod 16 = 0 x
10
= (511+1) mod 16 = 8
x
3
= (50+1) mod 16 = 1 x
11
= (58+1) mod 16 = 9
x
4
= (51+1) mod 16 = 6 x
12
= (59+1) mod 16 = 14
x
5
= (56+1) mod 16 = 15 x
13
= (514+1) mod 16 = 7
x
6
= (515+1) mod 16 = 12 x
14
= (57+1) mod 16 = 4
x
7
= (512+1) mod 16 = 13 x
15
= (54+1) mod 16 = 5
x
8
= (513+1) mod 16 = 2 x
16
= (55+1) mod 16 = 10
Sea:
a = 5 b = 1
n = 16 x
0
= 10
Sea:
a = 5 b = 1
n = 16 x
0
= 10
S
i
= 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5
Pero...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 438
Algo falla en este tipo de 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
0
= 1?
Qu sucede si
a = 4 b = 1
n = 16 x
0
= 10?
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 439
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 440
Generador de secuencia cifrante con registros de desplazamiento
S
1
S
2
S
3
S
4
S
n
S
n-1
g[a(t-1)a(t-2) ...a(t-n+1)]a(t-n)
S
i
Bit que se pierde
Desplazamiento
Realimentacin
Conexiones de puertas
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
Registros de desplazamiento
Por claridad se mantendr la nomenclatura inglesa
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 441
Introduccin a los autmatas celulares
Los registros de desplazamiento son un caso especial de los
denominados autmatas celulares finitos unidimensionales.
Este autmata celular finito es un sistema dinmico con un
total de N clulas, dispuestas en un espacio unidimensional.
Cada clula tendr en cada instante un estado E y existir
una funcin de transicin f que, dependiendo de una
vecindad establecida entre las clulas, har que en cada
instante de tiempo dicho autmata evolucione.
En criptografa interesan los autmatas celulares que sean
reversibles, es decir, que permitan la evolucin hacia atrs.
http://www.criptored.upm.es/investigacion/tfc_m317a.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 442
Generadores NLFSR (1/2)
Un generador de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4
AND
XOR
NOT
OR
S
i
Sea la semilla: S
1
S
2
S
3
S
4
= 0111
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.
Operaciones
S
1
S
2
S
3
S
4
Primera
operacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 443
Generadores NLFSR (2/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
y luego S
5
S
6
S
7
... S
12
.
S
1
S
2
S
3
S
4
S
i
= 1110 1100 1010 0001; su perodo es mximo, T
mx
= 2
n
= 2
4
= 16.
Se conoce como secuencia de De Bruijn. El contenido de las celdas
pasar por todos los estados posibles: desde 0000 hasta 1111.
http://mathworld.wolfram.com/deBruijnSequence.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 444
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 445
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 446
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 447
Ejemplo LFSR con f(x) factorizable (1/2)
f(x) = x
4
+ x
2
+ 1
S
1
S
2
S
3
S
4
S
i
0 1 1 1
Registro Bit S
i
0111 1
0011 1
1001 1
1100 0
Primer bit:
resultado de
la operacin
S
1
= S
2
S
4
Sea la semilla:
S
1
S
2
S
3
S
4
= 0111
Registro Bit S
i
1110 0
1111 1
0111 1
semilla . . .
S
i
= 111001 T = 6
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 448
Ejemplo LFSR con f(x) factorizable (2/2)
f(x) = x
4
+ x
2
+ 1
S
1
S
2
S
3
S
4
S
i
1 1 0 1
Registro Bit S
i
1101 1
0110 0
1011 1
1101 1
Primer bit:
resultado de
la operacin
S
1
= S
2
S
4
Sea ahora la semilla:
S
1
S
2
S
3
S
4
= 1101
S
1
S
2
S
3
S
4
S
i
= 101
T = 3
semilla . . .
T es un perodo
secundario y en
en este caso es
incluso menor
que la semilla.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 449
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
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
S
i
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 450
Ejemplo de LFSR con f(x) irreducible
f(x) = x
4
+ x
3
+ x
2
+ x + 1
Registro Bit S
i
Registro
0011 1
0001 1
semilla . . .
S
i
= 100011 T = 5 siendo
T
mx
= 2
n
- 1 = 2
4
- 1 = 15
S
1
S
2
S
3
S
4
S
i
0 0 0
Sea la semilla:
S
1
S
2
S
3
S
4
= 0001
Bit S
i
1
0001 1
1000 0
1100 0
0110 0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 451
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 2. Ser adems
un generador del grupo.
S
i
T ya no depender de la semilla y ser
el valor mximo T
mx
= 2
n
- 1. Se van a
generar as las llamadas m-secuencias.
Habr (2
n
- 1)/n
polinomios primitivos
Habr (2
n
- 1)/n
polinomios primitivos
http://mathworld.wolfram.com/PrimitivePolynomial.html
Polinomios
Generacin polinomios
http://www.theory.csc.uvic.ca/~cos/gen/poly.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 452
Ejemplo de LFSR con f(x) primitivo
Generador f(x) primitivo de cuatro celdas (n = 4)
S
1
S
2
S
3
S
4
= 1001
Registro Bit S
i
1001 1
0100 0
0010 0
0001 1
S
1
S
2
S
3
S
4
S
i
T = 2
n
- 1
T = 2
4
- 1
T = 15
1110 0 1010 0
1111 1 1101 1
1 0 0 1
f(x) = x
4
+ x + 1
S
1
= S
1
S
4
S
i
= 100100011110101
0111 1 0110 0
1000 0 1011 1 0011 1
1100 0 0101 1 1001 T = 15
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 453
Secuencias de un LFSR con f(x) primitivo
Caractersticas
Tendr una secuencia mxima de 2
n
- 1 bits.
Cumplir con G1:
Hay 2n bits 1 y 2n-1 bits 0.
Cumplir con G2:
El vector binario de las celdas pasa por todos los
estados excepto la cadena de ceros que est prohibida.
Distribucin tpica de rachas de una m-secuencia.
Cumplir con G3:
Los aciertos (A) sern iguales a 2
n-1
- 1.
m-secuencia
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 454
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 455
Debilidad de un LFSR con f(x) primitivo
Como este tipo de 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 conocemos slo 210 = 20 bits en un sistema de 10
celdas con un perodo 2
10
-1 = 1.023, seremos capaces de encontrar
las conexiones de las celdas o valores de C
i
y generar la secuencia
completa S
i
. Esta debilidad es la que usa el ataque conocido como
algoritmo de Berlekamp-Massey.
http://planetmath.org/encyclopedia/BerlekampMasseyAlgorithm.html
Algoritmo
http://ihome.ust.hk/~trippen/Cryptography/BM/frameset.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 456
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
Primero se transmite
S
4
S
3
S
2
S
1
(semilla) y
luego bits S
5
S
6
S
7
S
8
.
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
C
1
C
2
C
3
C
4
=1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 457
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 b
1
b
2
b
3
b
4
b
5
b
6
b
7
b
8
= 11001000
son correlativos y como hay
cuatro celdas y primero se
transmite la semilla, entonces:
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
2
= 0
C
3
= 0 C
4
= 1
C
1
= 1
S
1
= 0 S
5
= 1
S
2
= 0 S
6
= 0
S
3
= 1 S
7
= 0
S
4
= 1 S
8
= 0
0 = C
1
0 C
2
1 C
3
0 C
4
0
0 = C
1
0 C
2
0 C
3
1 C
4
0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 458
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 459
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 460
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
S
i 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
LC = n
1
; T = 2
n1
-1
Generador primitivo con n
1
celdas
Generador primitivo con n
2
celdas
S
i
LC = n
2
T = 2
n2
-1
LC = n
1
n
2
T = mcm (2
n1
-1, 2
n2
-1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 461
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 muchos
esquemas en esta lnea: Beth-Piper, Gollmann, Massey-Rueppel, etc.,
que no sern tratados en este captulo.
Encontrar ataques algebraicos a cifradores de flujo en la siguiente Web.
http://www.cryptosystem.net/stream
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 462
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. Posteriormente se usa
en el navegador de Netscape desde 1999 y luego en otros
navegadores ms actuales. No es pblico.
SEAL:
Algoritmo propuesto por IBM en 1994.
http://www.argo.es/~jcea/artic/hispasec33.htm
http://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html
http://www.gemplus.com/smart/rd/publications/pdf/HG97chis.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 463
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.
Cada trama de conversacin entre A y B tiene 228 bits, de
los cuales 114 son en sentido A B y otros 114 en sentido
B A. El generador entregar los 228 bits pseudoaleatorios
para la cifra de cada trama.
Con cerca de 130 millones de usuarios en Europa y otros
100 millones de usuarios en el resto del mundo en 1999, el
sistema A5/1 sucumbi en diciembre de ese ao a un ataque
realizado por Alex Biryukov, Adi Shamir y David Wagner.
http://cryptome.org/a51-bsw.htm
http://www.criptored.upm.es/guiateoria/gt_m116a.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 464
Esquema del algoritmo de cifra A5/1
S
i
3 registros
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
f(x
2
) = x
22
+x
21
+1
C
1
14 19 1
9: bit de reloj
C
2
22
1
11: bit de reloj
C
3
23 8 1
11: bit de reloj
R
1
R
2
R
3
Una funcin
mayora entre
C
1
, C
2
y C
3
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
3
) = x
23
+x
22
+x
21
+x
8
+1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 465
Funcin mayora y ejemplo de secuencia
F (C
1
,C
2
,C
3
) = C
1
C
2
C
1
C
3
C
2
C
3
Si el bit de la celda del registro coincide con el resultado de F,
dicho registro estar en movimiento y se desplazar, en caso
contrario no desplazar.
Esta funcin mayora entre las celdas C
1
, C
2
y C
3
, permite que al
menos dos de los tres registros se desplacen en cada paso.
C
1
C
2
C
3
0 0 0 Desplazan todos
0 0 1 No desplaza R
3
0 1 0 No desplaza R
2
0 1 1 No desplaza R
1
C
1
C
2
C
3
1 0 0 No desplaza R
1
1 0 1 No desplaza R
2
1 1 0 No desplaza R
3
1 1 1 Desplazan todos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 466
Consideraciones sobre el perodo de A5/1
El perodo T vendr dado por el mnimo 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
Este valor demasiado bajo /sucumbe ante ataques distribuidos tal
como veremos cuando se estudien debilidades del algoritmo DES.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 467
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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 468
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 captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 469
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 aqu inversas?
2. Si tenemos una clave de 16 bits, cul es el perodo mximo que
podremos lograr en una secuencia cifrante lineal? 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 de 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) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 470
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, es decir 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 generador con LFSR, un polinomio
factorizable, uno irreducible o uno primitivo? Por qu?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 11: Sistemas de Cifra en Flujo
Pgina 471
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/1 es dbil? Cul fue el peor
error cometido por sus creadores?
Software de laboratorio de flujo: prximamente en pgina web de la asignatura.
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 119 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Curso de Seguridad Informtica y Criptografa JRA
v 4.1
Captulo 12
Cifrado Simtrico en Bloque
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 473
MENSAJE (N bits)
BLOQUE A BLOQUE B
FUNCIN f
N/2 N/2
k
i
X
i
A X
i
B X
i
FUNCIN f
k
i
X
i
A B
A X
i
B X
i
Puesto que Y X
i
X
i
= Y
Cifrado y descifrado genrico en bloque
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 474
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.
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.
Cifrado tipo Feistel
http://en.wikipedia.org/wiki/Feistel_network
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 475
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)
Un ejemplo bsico de cifrado tipo Feistel
Mensaje: M = STAR WARS, LA MISIN CONTINA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 476
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
Cifrado tipo Feistel en cuerpo n = 27
S
i
: +1 mod 27
P
i
:
3241
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) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 477
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
Cifradores de bloque ms conocidos
Skipjack 64 80 32
Rijndael 128 128 o ms flexible
E
http://www.quadibloc.com/crypto/intro.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 480
Algoritmo Bloque (bits) Clave (bits) Vueltas
Twofish 128 variable variable
Khufu 64 512 16, 24, 32
Khafre 64 128 ms vueltas
Gost 64 256 32
RC5 variable variable variable
SAFER 64 64 64 8
Akelarre variable variable variable
FEAL 64 64 32
Otros cifradores de bloque
De stos, los ms conocidos son Twofish -uno de los candidatos a
AES- y que lo encontraremos en ltimas versiones de PGP y RC5.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 481
Twofish: Propuesto por Bruce Schneir despus de Blowfish, de
tipo Feistel, diseo simple, sin claves dbiles y multiplataforma.
Khufu: algoritmo propuesto por Ralph Merkle con una clave
generada con un sistema de cajas S.
Khafre: algoritmo propuesto por Ralph Merkle en el que la
clave ya no depende de las cajas S.
Gost: algoritmo similar al DES con cajas S secretas propuesto
en la Unin Sovitica.
RC5: algoritmo propuesto por Ron Rivest; realiza operaciones
or exclusivo, suma modular y desplazamiento de bits.
SAFER 64: algoritmo propuesto por James Massey.
Akelarre: algoritmo espaol propuesto en 1996 por el CSIC,
Consejo Superior de Investigaciones Cientficas.
FEAL: algoritmo propuesto en Japn.
Caractersticas de estos algoritmos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 482
Algoritmo Kbytes/seg Algoritmo Kbytes/seg
DES 35 Triple DES 12
IDEA 53 FEAL (32 v) 91
Khufu (16 v) 221 Khufu (32 v) 115
RC5 (8 v) 127 RC5 (16 v) 65
SAFER (6 v) 81 SAFER (12 v) 41
Blowfish (12 v) 182 Blowfish (20 v) 110
Velocidad de cifra de algoritmos en un PC 486 a 33 MHz
Fuente: Criptografa Digital. Fundamentos y
Aplicaciones. Jos Pastor y Miguel Angel Sarasa,
Prensas Universitarias de Zaragoza (1998).
Dada la baja velocidad
del PC , estos valores
son slo indicativos
para una comparacin.
Algunas tasas de cifra comparativas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 483
Profundizaremos en estas diapositivas en los algoritmos
DES, Triple DES, IDEA y AES. Por qu?
Algoritmos DES, IDEA y AES
DES es un cifrador de Feistel, ha sido un estndar y en
aplicaciones bancarias se seguir usando durante algn tiempo.
DES es de muy fcil comprensin y usa cajas S al igual que
varios algoritmos ms modernos como el actual estndar AES.
Triple DES sigue siendo un estndar en e-commerce.
IDEA es un algoritmo seguro que hace uso de los conceptos de
inversos en un cuerpo finito, como todos los algoritmos de
cifra modernos, y se usa entre otros en la aplicacin PGP.
AES (Rijndael) es el nuevo estndar de cifra avanzada.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 484
Modos de cifra
Todos los algoritmos pueden usarse aplicando diversos
modos de cifra, entre ellos:
- ECB: Electronic CodeBook (libro electrnico de cdigos)
- CBC: Cipher Block Chaining (encadenamiento de bloques)
- CFB: Cipher FeedBack (realimentacin de bloques)
- OFB: Output FeedBack (realimentacin bloque de salida)
Analizaremos cada uno de ellos para el caso del DES,
aunque el estudio es extensible a todos los dems ya que en
estos modos el cifrador se considera una caja negra.
http://www.itl.nist.gov/fipspubs/fip81.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 485
DES (Data Encryption Standard) ha sido el estndar utilizado
mundialmente durante 25 aos, generalmente en la banca. Hoy
presenta signos de envejecimiento y ha sucumbido a los diversos
criptoanlisis que contra l se viene realizando hace ya aos.
FECHAS DE INTERS
1973: En EEUU la NBS National Bureaux of Standards llama a
concurso pblico para buscar un algoritmo criptogrfico estndar.
1974: La NSA National Security Agency declara desierto el
primer concurso, publica unas segundas especificaciones y elige
Lucifer, algoritmo original de IBM (aos 70) con variaciones.
1976: El DES se adopta como estndar y se autoriza para ser
utilizado en las comunicaciones no clasificadas del gobierno.
Data Encryption Standard DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 486
Especificaciones del concurso
El nivel de seguridad computacional debe ser alto.
El algoritmo debe ser fcil de entender y deber estar
especificado en todos sus detalles.
La seguridad del sistema no debe verse afectada por la
publicacin y divulgacin del algoritmo.
Debe estar disponible para cualquier usuario.
Deber poder usarse en diferentes aplicaciones.
Fabricacin con dispositivos electrnicos de bajo costo.
Se debe poder usar como validacin.
Debe ser exportable.
Especificaciones del algoritmo DES
No se cumplen en 1973 pero s en 1974, aunque ...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 487
La NSA, National Security Administration, impone una
limitacin en la longitud de la clave:
De los 128 bits de Lucifer, NSA
deja la clave en 64 bits. La clave
efectiva slo son 56 bits puesto
que al ser datos de 8 bits, no
ASCII, se conoce el bit de paridad.
Luego, el espacio de claves ser
2
56
= 7.2 10
16
, tan slo setenta y
dos mil billones de valores, un
valor pequeo en criptografa.
El papel de la NSA en el DES
K = 72.057.594.037.927.936
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 488
Reduccin del tamao de la clave?
Hay distintas versiones sobre esta
reduccin del espacio de claves: una
habla de la dificultad de disear
chips capaces de operar de forma
eficiente con una clave de 128 bits
en esos aos 70; la otra sobre una
poltica de seguridad interna para
proteger informacin sensible ante
ataques externos y ser capaces, eso
s, de practicar criptoanlisis en un
tiempo razonable.
Es muy posible que
ambas razones tengan
su justificacin tcnica
y poltica. Ud. puede
pensar lo que quiera
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 489
Bloque a cifrar: 64 bits
Clave: 8 bytes (con paridad, no caracteres ASCII)
Normas ANSI:
X3.92: Descripcin del algoritmo.
X3.108: Descripcin de los modos de operacin
(ECB, CBC, OFB).
Fcil implementacin en un circuito integrado.
Especificaciones tcnicas finales del DES
Veremos su descripcin y modos de operacin. En la pgina
que se indica encontrar las especificaciones del DES.
http://www.itl.nist.gov/fipspubs/fip46-2.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 490
+ Cifrador de bloque
+ Tipo Feistel
+ Longitud de clave de 56 bits
+
+
Realiza
Realiza 16 vueltas.
+
+
La cifra del b
La cifra del bloque central usa
tcnicas de sustituciones y
permutaciones.
+ Para poder realizar las sumas or
exclusivo, usar permutaciones
con expansin y compresin para
igualar el nmero de bits.
En el descifrado se aplican claves y
desplazamientos en sentido inverso
Visin general del DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 491
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
Tabla IP sobre bloque de texto
(no tiene inters criptogrfico)
El bit 1 se lleva a la posicin 40
El bit 1 se lleva a la posicin 40
Permutacin inicial del DES: tabla IP
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 492
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
L
0
= 58 50 42 34 26 18 10 02 60 52 44 36
28 20 12 04 62 54 46 38 30 22 14 06
64 56 48 40 32 24 16 08
R
0
= 57 49 41 33 25 17 09 01 59 51 43 35
27 19 11 03 61 53 45 37 29 21 13 05
63 55 47 39 31 23 15 07
Observe la distribucin correlativa que existe entre los
bits del bloque izquierdo L
0
y del bloque derecho R
0
de
texto. Este tipo de distribucin de los bits en tablas, a
simple vista caprichosa , ser muy comn en el DES.
Bloques izquierdo y derecho de texto
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 493
Tabla IP
-1
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
El bit 40 vuelve a la posicin 1
y todos los dems bits a su
posicin inicial antes de IP.
El bit 40 vuelve a la posicin 1
y todos los dems bits a su
posicin inicial antes de IP.
Permutacin final del DES: tabla IP
-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 494
Se permuta la mitad derecha R
i
aplicando expansin a 48 bits
La clave de 56 bits se desplaza,
permuta y se seleccionan los 48
bits de K
i
de cada vuelta.
La nueva mitad derecha R
i
y la
clave K
i
se suman XOR
Se reducen los 48 bits de salida
a 32 bits mediante las Cajas-S
Se permuta el resultado
El resultado se suma XOR con
la mitad izquierda L
i
EN CADA CICLO:
En la prxima
vuelta, la mitad
derecha anterior
pasa ntegra como
mitad izquierda. La
mitad derecha de la
nueva vuelta ser el
ltimo resultado or
exclusivo del ciclo.
Operaciones en cada ciclo del DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 495
Esquema de la
funcin de cifra
f en cada ciclo
En las cajas S
se consigue la
fortaleza del
algoritmo. Es
una funcin
unidireccional
y no lineal.
En las cajas S
se consigue la
fortaleza del
algoritmo. Es
una funcin
unidireccional
y no lineal.
Mdulo de cifra en DES
16 bits repetidos
Columnas 1 y
2 repetidas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 496
1 6 7 12 13 18 19 24 25 30 31 36 37 42 43 48
1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32
Permutacin con expansin a 48 bits (Tabla E)
k
i
(48 bits)
Operacin Or Exclusivo con la subclave k
i
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
Sustitucin con compresin a 32 bits (Cajas S)
Permutacin de Salida del ciclo (Tabla P)
De cada 6 bits de entrada se obtienen 4 bits de salida
No lineal y unidireccional. Hay cuatro soluciones de entrada para cada salida
Operacin de las cajas S en el DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 497
Valores de las cajas S
1
y S
2
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
1
F
I
L
A
S
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
2
F
I
L
A
S
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 498
Valores de las cajas S
3
y S
4
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
3
F
I
L
A
S
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
4
F
I
L
A
S
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 499
Valores de las cajas S
5
y S
6
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
5
F
I
L
A
S
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
6
F
I
L
A
S
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 500
Valores de las cajas S
7
y S
8
del DES
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
7
F
I
L
A
S
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0
1
2
3
C O L U M N A S
S
8
F
I
L
A
S
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 501
Ejemplo:
Sean los bits 7 al 12 los siguientes: 101100
Los bits correspondern entonces a la entrada de la caja S
2
Para seleccionar la fila tomamos los bits extremos: 10
2
= 2
10
= 2
Para seleccionar la columna tomamos los bits centrales: 0110
2
= 6
10
= 6
La caja S
2
indica una salida igual a 13
10
= 1101
2
explicacin
Entrada: 101100 (6 bits)
Salida: 1101 (4 bits)
Ejemplo de operacin de cajas S del DES
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 502
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
Se han eliminado los bits de paridad:
8, 16, 24, 32, 40, 48, 56, 64.
Tabla PC-1 (56 bits)
28 bits 28 bits
Clculo de subclaves en el DES (PC-1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 503
4 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
Tabla PC-2 (48 bits) k
1
, k
2
, ..., k
16
Se han eliminado los bits:
9, 18, 22, 25, 35, 38, 43, 54.
28 bits 28 bits
48 bits
48 bits
48 bits
Clculo de subclaves en el DES (PC-2)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 504
Vuelta i Bits Desp. Izda.
1 1
2 1
3 2
4 2
5 2
6 2
7 2
8 2
Vuelta i Bits Desp. Izda.
9 1
10 2
11 2
12 2
13 2
14 2
15 2
16 1
Se produce un desplazamiento total igual
a 28, todos los bits de cada bloque Ci y Di
28 bits 28 bits
Desplazamiento de subclaves en el DES
LF
1
, LF
2
, ..., LF
16
http://www.rsasecurity.com/rsalabs/node.asp?id=2231
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 522
Historia del IDEA
En 1990 Xuejia Lai y James Massey proponen el PES,
Proposed Encryption Standard.
En 1991 -debido a los avances de Biham y Shamir en el
criptoanlisis diferencial- los autores proponen el IPES,
Improved Proposed Encryption Standard.
En 1992 los autores proponen finalmente el algoritmo
IDEA, International Data Encryption Algorithm.
En 1999 el algoritmo IDEA, mucho ms seguro que el
DES y sus versiones, se comienza a usar ampliamente en
el sistema de correo electrnico seguro PGP.
International Data Encryption Algorithm IDEA
http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 523
Cifra bloques de 64 bits
en 8 vueltas
Hay una transformacin
final con 4 claves para
invertir operacin inicial
Divide la entrada M en
cuatro bloques de 16 bits
Se generan 52 subclaves
de 16 bits a partir de la
clave maestra de 128 bits
Usa 6 claves por vuelta
Todas sus operaciones
se realizan dentro de
un cuerpo finito
Estructura y esquema de IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 524
Operaciones bsicas
XOR
Suma mdulo 2
16
(mod 65.536)
Multiplicacin mdulo 2
16
+1
(
(65.537)
Es primo y se
asegura el inverso
multiplicativo
Operaciones matemticas en IDEA
Todas las operaciones se realizan con bloques de 16 bits y el
truco est en que los bloques cuyo valor sea 0 (16 bits) se
cambiarn por la constante 2
16
...de 17 bits . Simplemente
representa la salida con n bits, no teniendo en cuenta el bit de
desbordamiento. Un ejemplo con nmeros pequeos:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 525
Ejemplo dentro de un grupo n pequeo
Como 2
n
+ 1 debe ser primo, sea n = 2 ya que 2
2
= 4 y 2
2
+ 1 = 5
X Y X + Y X Y X Y
0 00 0 00 0 00 1 01 0 00
0 00 1 01 1 01 0 00 1 01
0 00 2 10 2 10 3 11 2 10
0 00 3 11 3 11 2 10 3 11
1 01 0 00 1 01 0 00 1 01
1 01 1 01 2 10 1 01 0 00
1 01 2 10 3 11 2 10 3 11
1 01 3 11 0 00 3 11 2 10
2 10 0 00 2 10 3 11 2 10
2 10 1 01 3 11 2 10 3 11
2 10 2 10 0 00 0 00 0 00
2 10 3 11 1 01 1 01 1 01
3 11 0 00 3 11 2 10 3 11
3 11 1 01 0 00 3 11 2 10
3 11 2 10 1 01 1 01 1 01
3 11 3 11 2 10 0 00 0 00
Operaciones: + mod 2
n
(mod 4), mod 2
n
+1 (mod 5), XOR (mod 2)
n = 2
dos bits
Veremos cmo
se opera con la
multiplicacin.
La suma y el or
exclusivo son
operaciones
similares.
Operaciones +, y en grupo pequeo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 526
X Y X + Y X Y X Y
0 00 0 00 0 00 1 01 0 00
0 00 1 01 1 01 0 00 1 01
0 00 2 10 2 10 3 11 2 10
0 00 3 11 3 11 2 10 3 11
1 01 0 00 1 01 0 00 1 01
1 01 1 01 2 10 1 01 0 00
1 01 2 10 3 11 2 10 3 11
1 01 3 11 0 00 3 11 2 10
2 10 0 00 2 10 3 11 2 10
2 10 1 01 3 11 2 10 3 11
2 10 2 10 0 00 0 00 0 00
2 10 3 11 1 01 1 01 1 01
3 11 0 00 3 11 2 10 3 11
3 11 1 01 0 00 3 11 2 10
3 11 2 10 1 01 1 01 1 01
3 11 3 11 2 10 0 00 0 00
Operaciones: + mod 2
n
(mod 4), mod 2
n
+1 (mod 5), XOR (mod 2)
Ejemplo de operacin en IDEA
Recuerde que 0
es igual a 2
n
= 4
por lo que:
00 = 2
2
x 2
2
= 16 mod 5
= 1
Recuerde que 0
es igual a 2
n
= 4
por lo que:
00 = 2
2
x 2
2
= 16 mod 5
= 1
01 = 2
2
x 1 = 4
= 4 mod 5
= 4 = 0
(por definicin)
01 = 2
2
x 1 = 4
= 4 mod 5
= 4 = 0
(por definicin) 02 = 2
2
x 2 = 8
= 8 mod 5
= 3
02 = 2
2
x 2 = 8
= 8 mod 5
= 3
03 = 2
2
x 3 = 12
= 12 mod 5
= 2
03 = 2
2
x 3 = 12
= 12 mod 5
= 2
Los dems clculos con los diferentes valores de X e Y son todos similares
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 527
Operaciones inversas
al comienzo y al final
del algoritmo. Esto
permite usar el mismo
algoritmo para cifrar
que para descifrar.
Bloque principal
MA
Operacin cifrado
Detalles del algoritmo IDEA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 528
Estas tres operaciones provocan confusin y no
cumplen las leyes distributiva ni asociativa.
La estructura que crea la
difusin es un bloque bsico
denominado Estructura MA
Multiplication / Addition.
Usa slo dos claves por cada
vuelta y sus entradas F
1
, F
2
as como sus salidas G
1
, G
2
estn conectadas por XOR.
Bloque principal de IDEA
http://www.cosic.esat.kuleuven.ac.be/publications/article-140.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 539
Cifrador en bloque de clave variable propuesto por Ron Rivest.
El cdigo es secreto industrial de RSA Data Security Inc.
Tamao del bloque de texto: 64 bits.
Con una clave con tamao variable (de 8 a 1.024 bits) forma una
tabla de 128 bytes (1.024 bits) que depende de la clave inicial.
No usa cajas S y es casi tres veces ms rpido que DES.
Se usa en SMIME con longitudes de clave de 40, 64 y 128 bits.
Los algoritmos RC2 y RC4 (este ltimo cifrador de flujo) se
incluyen en productos para la exportacin, como navegadores.
Operaciones primitivas de cifra: suma en mdulo 2
32
, operacin
or exclusivo, complemento de bits, operacin AND y rotacin
circular a la izquierda.
Realiza 18 vueltas conocidas como mixing y mashing.
Otros algoritmos: RC2
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 540
RC5 es un cifrador en bloque de tamao variable de Ron Rivest.
Cifra bloques de texto de 32, 64 128 bits.
Tamao de clave hasta 2.048 bits, en funcin nmero de vueltas.
Nmero de vueltas de 0 a 255.
Versiones especficas: RC5 w/r/b donde w es el tamao de la
palabra (16, 32 64 bits) -RC5 cifra bloques de dos palabras-, r
es el nmero de vueltas y b es el tamao en octetos de la clave K.
El valor propuesto por Rivest como mnimo es RC5 32/12/16.
Rutina expansin de clave: se expande K para llenar una tabla.
Rutinas de cifrado y descifrado: usa primitivas de suma mdulo
2
w
, or exclusivo y rotacin circular a la izquierda.
Caractersticas: muy rpido, arquitectura simple, bajos requisitos
de memoria y alta seguridad. Las rotaciones dependientes de los
datos le fortalecen ante el criptoanlisis diferencial.
Otros algoritmos: RC5
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 541
SAFER: Secure and Fast Encryption Routine (James Massey).
Cifra bloques de texto de 64 bits. Cada bloque de texto a cifrar se
divide en 8 bytes.
Tamao de clave: 64 128 bits.
Nmero de vueltas de 0 a 10; mnimo recomendable 6.
Operaciones de cifrado y descifrado distintas basadas en bytes,
que orientan su uso en aplicaciones de tarjetas inteligentes.
En cada vuelta hay operaciones or y sumas normales, potencias y
logaritmos discretos en p = 257, usando 45 como raz primitiva.
Al final del algoritmo hay tres niveles de operaciones lineales
conocidas como Pseudo Transformaciones de Hadamard, PTH,
cuyo objetivo es aumentar la difusin de los bits.
Existen versiones SAFER SK-64 y SK-128 ms seguras ante
claves dbiles que sus antecesoras.
Otros algoritmos: SAFER 64 y 128
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 542
Cifrador tipo Feistel de clave variable (Bruce Schneier).
Cifra bloques de texto de 64 bits.
Tamao de clave: de 32 hasta 448 bits. Se generan 18 subclaves
de 32 bits y cuatro cajas S de 8x32 bits, en total 4.168 bytes.
Nmero de vueltas: 16, en cada una de ellas se realiza una
permutacin funcin de la clave y una sustitucin que es funcin
de la clave y los datos.
Operaciones bsicas: or exclusivo y suma mdulo 2
32
.
Cajas S: en cada vuelta hay cuatro con 256 entradas cada una.
Caractersticas: compacto porque necesita slo 5 K de memoria,
es muy rpido (5 veces ms veloz que DES), es conceptualmente
simple y su fortaleza puede variarse segn longitud de la clave.
Usa una funcin F con las cuatro cajas S y operaciones bsicas
de suma y or exclusivo que provocan un efecto de avalancha.
Otros algoritmos: Blowfish
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 543
Cifrador Feistel propuesto por C. Adams y S. Tavares (Canad).
Cifra bloques de texto de 64 bits con claves de 40 hasta 128 bits
en incrementos de octetos.
Cifra en 16 vueltas.
Usa ocho cajas S de 8 bits de entrada y 32 bits de salida con unas
funciones no lineales ptimas (funciones bent), cuatro cajas en
procesos de cifra y las otras cuatro para la generacin de claves.
Cada caja es un array de 32 columnas y 256 filas. Los 8 bits de
entrada seleccionan una fila y los 32 bits de sta es la salida.
Operaciones bsicas: suma y resta mdulo 2
32
, or exclusivo y
rotaciones circulares hacia la izquierda.
Caractersticas: inmune a ataques por criptoanlisis diferencial y
lineal; algoritmo estndar de cifra en ltimas versiones de PGP.
Otros algoritmos: CAST 128
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 544
Ha sido desarrollado por la NSA, National Security Agency, est
contenido en los chip Clipper y Capstone y su implementacin
slo est permitida en hardware.
Cifra bloques de 64 bits con una clave de 80 bits.
Los usuarios depositan sus claves secretas en diversas agencias
de gobierno.
Usa 32 vueltas en cada bloque de cifra.
Los detalles del algoritmo no son pblicos.
Caractersticas: imposicin de los EEUU para comunicaciones
con la administracin, tiene una puerta trasera que puede dejar
en claro la cifra, nadie puede asegurar que el algoritmo tenga la
suficiente fortaleza pero los Estados Unidos piensa usarlo en su
DMS, Defense Messaging System. Ha sido duramente criticado.
Otros algoritmos: Skipjack
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 545
: El DES se adopta como estndar en 1976.
: El NIST certifica al DES en 1987 y luego en 1993.
: Durante esos aos se estandariza como algoritmo de cifra en
todo el mundo. Su uso principal lo encontramos en el cifrado de
la informacin intercambiada en transacciones de dinero entre
un cajero automtico y el banco respectivo.
: En 1997 NIST no certifica al DES y llama a un concurso
internacional para buscar un nuevo estndar mundial de cifra
denominado AES Advanced Encryption Standard.
: Precisamente entre 1997 y 1999 el DES se enfrenta a tres
ataques o desafos conocidos como DES Challenge que impulsa
y promociona la compaa RSA.
El DES deja de ser un estndar
http://www.nist.gov/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 546
e 29 enero 1997: DES Challenge I. Se rompe la clave en 96
das con 80.000 de ordenadores en Internet que evalan
7.000 millones de clave por segundo. Para encontrar la
clave se debe recorrer el 25% del espacio de claves .
e 13 enero 1998: DES Challenge II-1. Se rompe la clave en
39 das con un ataque tipo distribuido por distributed.net
que llega a evaluar 34.000 millones de claves por segundo
y debe recorrer el 88% del espacio de claves .
e 13 julio de 1998: DES Challenge II-2. Electronic Frontier
Foundation EFF crea el DES Cracker con una inversin
de US $ 200.000 y en 56 horas (2 das) rompe la clave
evaluando 90.000 millones de claves por segundo.
DES Challenge I y II
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 547
e 18 enero 1999: DES Challenge III. Se unen la mquina
DES Cracker y distributed.net con 100.000 ordenadores
conectados en Internet para romper la clave en 22 horas,
menos de 1 da, evaluando 245.000 millones de claves
por segundo tras recorrer el 22% del espacio de claves.
Se trata del ltimo desafo propuesto por RSA que pone en
evidencia la capacidad de ataques distribuidos a travs de los
tiempos muertos de procesador de mquinas conectadas a
Internet que, con un programa cliente, van resolviendo un
pequeo trozo del espacio de claves, comunicndose para ello
con un servidor. Recuerde, el DES no ha sido criptoanalizado,
se ha roto la cifra slo por el pequeo tamao de su clave.
DES Challenge III
http://www.rsasecurity.com/rsalabs/node.asp?id=2108
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 548
Magnitudes de tiempo y criptoanlisis
Longitud de la clave Tiempo necesario para romper la clave
40 bits 2 segundos
48 bits 9 minutos
56 bits 40 horas
64 bits 14 meses
72 bits 305 aos
80 bits 78.250 (2
16
) aos
96 bits 5.127.160.311 (2
32
) aos
112 bits 336.013.578.167.538 (2
48
) aos
128 bits 22.020.985.858.787.784.059 (2
64
) aos
Referencia de tiempo con nmeros grandes
Edad planeta 10.000.000.000 (10
10
= 2
34
) aos
Edad universo 100.000.000.000 (10
11
= 2
37
) aos
La tabla muestra el tiempo
medio de criptoanlisis
necesario para romper una
clave de cifra simtrica
mediante fuerza bruta, en
este caso usando la potencia
de clculo alcanzada en el
DES Challenge III en 1999,
unos 250.000 millones de
claves por segundo con la
mquina DES Cracker y
unos 100.000 computadores
a travs de Internet. Segn
la ley de Moore, en el 2006
esta potencia de clculo se
multiplicara por 20 o ms.
La seguridad de 128 bits de una cifra simtrica es
equivalente a la de 1.024 bits de cifra asimtrica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 549
AES: Advanced Encryption Standard
El DES, estndar desde 1976, pasa la certificacin de la NBS
National Bureaux of Standards en 1987 y en 1993.
En 1997 el NIST National Institute of Standards and Technology
(antigua NBS) no certifica al DES y llama a concurso pblico
para un nuevo algoritmo estndar, el AES.
En octubre del ao 2000 el NIST elige el algoritmo belga
Rijndael como nuevo estndar para cifrado del siglo XXI.
El nuevo estndar en cifra AES
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
http://www.criptored.upm.es/guiateoria/gt_m480a.htm
http://www.iaik.tu-graz.ac.at/research/krypto/AES/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 550
Rijndael: autores Vincent Rijmen & Joan Daemen
No es de tipo Feistel.
Implementado para trabajar en los procesadores de 8 bits
usados en tarjetas inteligentes y en CPUs de 32 bits.
Tamao de clave variable: 128, 192 y 256 bits (estndar) o
bien mltiplo de 4 bytes.
Tamao del bloque de texto: 128 bits o mltiplo de 4 bytes.
Operaciones modulares a nivel de byte (representacin en
forma de polinomios) y de palabra de 4 bytes: 32 bits.
Nmero de etapas flexible segn necesidades del usuario.
Usa un conjunto de Cajas S similares a las del DES.
Caractersticas del algoritmo AES
http://www.iaik.tu-graz.ac.at/research/krypto/AES/old/%7Erijmen/rijndael/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 551
Unidad bsica de tratamiento: el byte
Suma y multiplicacin. Son clculos en Campos de Galois
GF(2
8
) con 8 bits. Para la reduccin de exponente se usar
un polinomio primitivo p(x) = x
8
+ x
4
+ x
3
+ x + 1.
Producto por x. Esta operacin conocida como xtime(a) al
igual que en el caso anterior usa la reduccin de exponente.
Puede implementarse fcilmente con desplazamientos y
operaciones or exclusivo.
Operaciones con bytes en AES
Ejemplos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 552
Vamos a sumar los valores hexadecimales 57 y 83:
A = 57
16
= 0101 0111
2
B = 83
16
= 1000 0011
2
que expresados en polinomios dentro de GF(2
8
) sern:
A = 0101 0111
2
= x
6
+ x
4
+ x
2
+ x + 1
B = 1000 0011
2
= x
7
+ x + 1
Sumando: A+B = (x
6
+ x
4
+ x
2
+ x + 1) + (x
7
+ x + 1) mod 2
A+B = (x
7
+ x
6
+ x
4
+ x
2
+ 2x + 2) mod 2
A+B = x
7
+ x
6
+ x
4
+ x
2
= 1101 0100
2
= d4
16
Y lo mismo se obtiene con la suma Or exclusivo:
0101 0111 1000 0011 = 1101 0100
2
= d4
16
Ejemplo de suma en GF(2
8
)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 553
Vamos a multiplicar los valores hexadecimales 57 y 83:
A = 57
16
= 0101 0111
2
B = 83
16
= 1000 0011
2
que expresados en polinomios dentro de GF(2
8
) sern:
A = 0101 0111
2
= x
6
+ x
4
+ x
2
+ x + 1
B = 1000 0011
2
= x
7
+ x + 1
AB = (x
6
+ x
4
+ x
2
+ x + 1)(x
7
+ x + 1) mod 2
AB = x
13
+ x
11
+ x
9
+ x
8
+ 2x
7
+ x
6
+ x
5
+ x
4
+ x
3
+ 2x
2
+ 2x +1
Reduciendo mod 2
AB = x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1
Este resultado hay que reducirlo por p(x) = x
8
+ x
4
+ x
3
+ x + 1
Ejemplo de producto en GF(2
8
) (1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 554
Como el polinomio irreducible es p(x) = x
8
+ x
4
+ x
3
+ x + 1
(x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1) mod (x
8
+ x
4
+ x
3
+ x + 1)
Para dejar los valores dentro de GF(2
8
) vemos que un divisor ser x
5
+
x
3
puesto que x
5
x
8
= x
13
; x
5
x
4
= x
9
; x
5
x
3
= x
8
y x
3
x
8
= x
11
.
x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1 x
8
+ x
4
+ x
3
+ x + 1
x
5
+ x
3
x
13
+ x
9
+ x
8
+ x
6
+ x
5
multiplicando p(x) por x
5
x
11
+ x
4
+ x
3
+ 1 reduciendo mod 2
x
11
+ x
7
+ x
6
+ x
4
+ x
3
multiplicando p(x) por x
3
x
7
+ x
6
+ 1 reduciendo mod 2
Resultado: AB = x
7
+ x
6
+ 1 = 1100 0001
2
= c1
16
Ejemplo de producto en GF(2
8
) (2)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 555
x
8
= x
4
+ x
3
+ x + 1
Estn fuera del cuerpo de 8 bits
El mismo resultado pero de otra forma
AB = x
13
+ x
11
+ x
9
+ x
8
+ x
6
+ x
5
+ x
4
+ x
3
+ 1
x
13
= x
5
x
8
= x
5
(x
4
+ x
3
+ x + 1) = x
9
+ x
8
+ x
6
+ x
5
x
13
= x (x
4
+ x
3
+ x + 1) + (x
4
+ x
3
+ x + 1) + x
6
+ x
5
x
13
= (x
5
+ x
4
+ x
2
+ x) + (x
4
+ x
3
+ x + 1) + x
6
+ x
5
x
13
= x
6
+ x
3
+ x
2
+ 1
Es mucho ms complejo, pero repitiendo el mismo desarrollo
para x
11
, x
9
y x
8
, reduciendo en cada caso mod 2, obtenemos:
AB = x
7
+ x
6
+ 1 = 1100 0001 = c1
16
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 556
Hay tres transformaciones distintas llamadas capas en las que se
tratan los bits. Estas constan de:
Capa de Mezcla Lineal: en ella se busca la difusin de los bits.
Capa No Lineal: se trata de una zona similar a las cajas S del
DES.
Capa Clave: operaciones con una funcin or exclusivo de la
subclave y la informacin de esta etapa intermedia.
Las transformaciones realizadas en cada paso del algoritmo se
denominan estados. Estos estados se representa por una matriz de 4
filas y Nb = 4 columnas para el texto en claro y 4 filas y Nk = 4, 6 u
8 columnas para las claves.
Transformaciones o capas del AES
http://www.quadibloc.com/crypto/co040401.htm
En la siguiente pgina web encontrar una extensa explicacin de las
operaciones en el algoritmo Rijndael con interesantes ilustraciones.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 557
Esquema general del AES
Funciones en cifrado:
- AddRoundKey
- ByteSub
- ShiftRow
- MixColumns
Funciones en descifrado:
- InvAddRoundKey
- InvByteSub
- InvShiftRow
- InvMixColumns
Se realizar adems una
expansin de la clave K para
generar desde K0 hasta Kr.
http://www.criptored.upm.es/guiateoria/gt_m117i.htm
Figura y tablas tomadas de:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 558
Estados de entrada y claves del AES
a
0
a
4
a
8
a
12
a
1
a
5
a
9
a
13
a
2
a
6
a
10
a
14
a
3
a
7
a
11
a
15
k
0
k
4
k
8
k
12
k
1
k
5
k
9
k
13
k
2
k
6
k
10
k
14
k
3
k
7
k
11
k
15
k
0
k
4
k
8
k
12
k
16
k
20
k
1
k
5
k
9
k
13
k
17
k
21
k
2
k
6
k
10
k
14
k
18
k
22
k
3
k
7
k
11
k
15
k
19
k
23
k
0
k
4
k
8
k
12
k
16
k
20
k
24
k
28
k
1
k
5
k
9
k
13
k
17
k
21
k
25
k
29
k
2
k
6
k
10
k
14
k
18
k
22
k
26
k
30
k
3
k
7
k
11
k
15
k
19
k
23
k
27
k
31
Bloque de texto 16 bytes (128 bits)
Nb = 128/32 = 4
Clave de 16 bytes (128 bits)
Nk = 128/32 = 4 (10 rondas)
Clave de 24 bytes (192 bits)
Nk = 192/32 = 6 (12 rondas)
Clave de 32 bytes (256 bits)
Nk = 256/32 = 8 (16 rondas)
Estados
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 559
Combinaciones de estados
Combinaciones
posibles de
estados en AES
Longitud del
bloque
(Nb palabras)
Longitud de la
clave
(Nk palabras)
Nmero de
Rondas
(Nr)
AES 128 4 4 10
AES 192 4 6 12
AES 256 4 8 14
Para las funciones de cifrado y descifrado se usarn 4 transformaciones
orientadas a bytes:
1. Sustitucin de un byte mediante una tabla S-box.
2. Desplazamiento de columnas de un estado.
3. Mezcla de datos dentro de cada columna de estado.
4. Aade una clave de vuelta al estado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 560
Funcin ByteSub
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S-Box
Se trata de una funcin no lineal que se realiza a travs de una S-box.
La S-box se construye:
a) calculando el inverso en GF(2
8
), y
b) calculando la siguiente transformacin afn sobre GF(2):
b
i
= b
i
b
(i+4)mod8
b
(i+5)mod8
b
(i+6)mod8
b
(i+7)mod8
c
i
Donde 0 i < 8, b
i
es el isimo bit del byte y c
i
es el isimo bit del byte
c cuyo valor es {63}
16
o {011000011}
2
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 561
Tabla de inversos en mod 2
8
Lgicamente se
cumple que:
Si:
inv x = y
Entonces:
inv y = x
Por ejemplo:
inv c4 = da
inv da = c4
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 562
Representacin de la funcin ByteSub
b
0
b
1
b
2
b
3
b
4
b
5
b
6
b
7
1 0 0 0 1 1 1 1
1 1 0 0 0 1 1 1
1 1 1 0 0 0 1 1
1 1 1 1 0 0 0 1
1 1 1 1 1 0 0 0
0 1 1 1 1 1 0 0
0 0 1 1 1 1 1 0
0 0 0 1 1 1 1 1
b
0
b
1
b
2
b
3
b
4
b
5
b
6
b
7
1
1
0
0
0
1
1
0
= +
La transformacin afn anterior queda:
b
0
= b
0
b
4
b
5
b
6
b
7
c
0
b
4
= b
4
b
0
b
1
b
2
b
3
c
4
b
1
= b
1
b
5
b
6
b
7
b
0
c
1
b
5
= b
1
b
1
b
2
b
3
b
4
c
5
b
2
= b
2
b
5
b
7
b
0
b
1
c
2
b
6
= b
6
b
2
b
3
b
4
b
5
c
6
b
3
= b
3
b
7
b
0
b
1
b
2
c
3
b
7
= b
7
b
3
b
4
b
5
b
6
c
7
Representacin
matricial
Valor {63}
16
o
{011000011}
2
Es el inverso del
valor de entrada
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 563
Tabla ByteSub
Usando la siguiente
tabla, se llega a
igual resultado que
calculando el
inverso y luego
aplicando la
transformacin
matricial mostrada
en la diapositiva
anterior.
En la siguiente
diapositiva hay un
ejemplo para el
valor 5a mostrado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 564
Se pide calcular el ByteSub de 5a
Ejemplo de operacin ByteSub
5a = 01011010 = x
6
+ x
4
+ x
3
+ x + 1
inv (5A) = 22 = 00100010 (segn la tabla dada)
0
1
1
1
1
1
0
1
1 0 0 0 1 1 1 1
1 1 0 0 0 1 1 1
1 1 1 0 0 0 1 1
1 1 1 1 0 0 0 1
1 1 1 1 1 0 0 0
0 1 1 1 1 1 0 0
0 0 1 1 1 1 1 0
0 0 0 1 1 1 1 1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
1
0
=
+
Operando filas por columnas y sumando al resultado el valor
{011000011}
2
se obtiene: 1011 1110 = be.
Al mismo
valor se llega
si en la tabla
buscamos la
interseccin
entre la fila 5 y
la columna a:
el resultado es
el valor be.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 565
La funcin consiste en desplazar bloques de un byte hacia la
izquierda mdulo columna (en este caso 4) dentro de una fila.
As la fila 0 no desplaza, la fila 1 desplaza un byte, la fila 2
desplaza dos bytes y la fila 3 desplaza tres bytes como se muestra.
Funcin ShiftRow
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S
0,0
S
0,1
S
0,2
S
0,3
S
1,1
S
1,2
S
1,3
S
1,0
S
2,2
S
2,3
S
2,0
S
2,1
S
3,3
S
3,0
S
3,1
S
3,2
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 566
Opera sobre columnas que son consideradas como un polinomio
sobre GF(2
8
) multiplicando las columnas mdulo x
4
+ 1 por este
polinomio fijo, en donde los valores {} estn en hexadecimal, que
es primo relativo con x
4
+ 1 y por tanto asegura el inverso.
a(x) = {03}x
3
+ {01}x
2
+ {01}x + {02}
Por tanto, recuerde que {03} = x + 1, {02} = x, {01} = 1.
Funcin MixColumns
S
0,C
S
1,C
S
2,C
S
3,C
02 03 01 01
01 02 03 01
01 01 02 03
03 01 01 02
S
0,C
S
1,C
S
2,C
S
3,C
=
Representacin
matricial de la
funcin
MixColumns
Luego, las operaciones sobre columnas se expresan como:
Para
0 C < Nb
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 567
S
0,C
= ({02} S
0,C
) ({03} S
1,C
) S
2,C
S
3,C
S
1,C
= S
0,C
({02} S
1,C
) ({03} S
2,C
) S
3,C
S
2,C
= S
0,C
S
1,C
({02} S
2,C
) ({03} S
3,C
)
S
3,C
= ({03} S
0,C
) S
1,C
S
2,C
({02} S
3,C
)
Ejemplo de operacin MixColumns
e1 a8 63 0d
fb 18 f4 c8
96 5b 73 11
7c a0 e6 fd
Si suponemos
que el estado
intermedio es
el indicado:
El primer byte de estado S
0,0
quedar:
S
0,0
= {02}S
0,0
{03}S
1,0
S
2,0
S
3,0
S
0,0
= {02}e1 {03}fb 96 7c
{02}e1 = x(x
7
+ x
6
+ x
5
+ 1)
{02}e1 = x
8
+ x
7
+ x
6
+ x
{02}e1 = (x
8
+ x
7
+ x
6
+ x) mod x
4
+ 1 = d2
{03}fb = (x + 1) (x
7
+ x
6
+ x
5
+ x
4
+ x
3
+ x + 1)
{03}fb = x
8
+ x
3
+ x
2
+ 1
{03}fb = (x
8
+ x
3
+ x
2
+ 1) mod x
4
+ 1 = 1d
S
0,0
= d2 1d 96 7c
Luego: S
0,0
= 25
Los bytes hasta S
4,4
se
calculan de forma similar.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 568
Funcin AddRoundKey
S
0,0
S
0,1
S
0,2
S
0,3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
S
0,0
K
0
S
0,1
K
1
S
0,2
K
2
S
0,3
K
3
S
1,0
K
4
S
1,1
K
5
S
1,2
K
6
S
1,3
K
7
S
2,0
K
8
S
2,1
K
9
S
2,2
K
10
S
2,3
K
11
S
3,0
K
12
S
3,1
K
13
S
3,2
K
14
S
3,3
K
15
AddRoundKey
Se sumarn sumarn or
exclusivo el estado
intermedio con la clave de
cada ronda.
En la ronda 0 ser el or
exclusivo entre el texto de
entrada y la clave inicial; en
las rondas siguientes (p.e. 1
a 9) ser el or exclusivo de
las subclave de cada ronda
con la salida de la funcin
MixColumns y en la ltima
ronda (10) el or exclusivo
de la subclave de estado 10
y la salida de ShiftRows.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 569
AddRoundKey en la vuelta 0
Ronda Estado Inicio ByteSub ShifRows MixColums AddRoundKey
=
E
n
t
r
a
d
a
Si el bloque de entrada y la clave son de 128 bits, (Nb=4 y Nk =4) con valores
Entrada: 32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34
Clave: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c entonces
1
2b 28 ab 09
7e ae f7 cf
16 a6 88 3c
15 d2 15 4f
32 88 31 e0
43 5a 31 37
a8 8d a2 34
f6 30 98 07
19 a0 9a e9
3d f4 c6 f8
be 2b 2a 08
e3 e2 8d 48
El primer valor del estado siguiente
S
0,0
ser 32 XOR 2b
0011 0010
0010 1011
= 0001 1001 = 19
La vuelta 10 y el
criptograma final se
muestran en la
prxima diapositiva
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 570
AddRoundKey en la vuelta 10
Ronda Estado Inicio ByteSub ShifRows MixColums AddRoundKey
=
S
a
l
i
d
a
10
d0 c9 e1 b6
14 ee 3f 63
a8 89 c8 a6
f9 25 0c 0c
eb 59 8b 1b
40 2e a1 c3
1e 84 e7 d2
f2 38 13 42
e9 cb 3d af
09 31 32 2e
72 5f 94 b5
89 07 7d 2c
e9 cb 3d af
31 32 2e 09
b5 72 5f 94
7d 2c 89 07
39 02 dc 19
25 dc 11 6a
1d fb 97 32
84 09 85 0b
9 ...
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
Como se observa, en esta dcima y ltima vuelta
(para Nb = 4 y Nk = 4) slo se aplican las funciones
ByteSub, ShitfRows y AddRoundKey.
Ejemplo tomado del documento oficial del NIST:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 571
Expansin de la clave en AES
Bloque / Clave
Nk = 4
(128 bits)
Nk = 6
(192 bits)
Nk = 8
(256 bits)
Nb = 4
128 bits
Nr = 10
1.408 bits
Nr = 12
1.664 bits
Nr = 14
1.920 bits
Nb = 6
192 bits
Nr = 12
2.304 bits
Nr = 12
2.496 bits
Nr = 14
2.880 bits
Nb = 8
256 bits
Nr = 14
3.840 bits
Nr = 14
3.328 bits
Nr = 14
3.840 bits
Nmero de
bits de las
subclaves
para valores
estndar de
Nb y Nk.
- La expansin generar los bytes de las subclaves a partir de la clave K principal.
- Ser un array lineal W de palabras de 4 bytes y con longitud Nb(Nr+1).
W
0
W
1
W
2
W
3
W
4
W
5
W
6
W
6
W
7
W
8
W
9
W
10
W
11
W
12
W
13
...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 572
Expansin de la clave en funcin de Nk
- Las primeras Nk palabras se copiarn de la clave principal.
- Las restantes Nb(Nr + 1) - Nk palabras se generarn mediante un
algoritmo que ser diferente si Nk 6 o bien Nk > 6.
Si Nk 6
Si la posicin i dentro del array W(i) es mltiplo del valor Nk:
W(i) = W(i - Nk) xor [ByteSub (RotWord [W(i - 1)]) xor Rcon (i/Nk)]
Si la posicin i dentro del array W(i) no es mltiplo del valor Nk:
W(i) = W(i - Nk) xor W(i - 1)
Si Nk > 6
El valor de la variable i debe satisfacer la expresin i mod Nk = 4.
Las palabras de subclaves se calcularn:
W(i) = W(i - Nk) xor ByteSub [W(i - 1)]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 573
Funciones RotWord y Rcon
+ RotWord rota una posicin a la izquierda los bytes de la
palabra. Si la palabra de 4 bytes es (a, b, c, d) Rotword
devolver (b, c, d, a).
+ Rcon genera la constante Rcon(j) = [R(j), {00}, {00}, {00}] de
32 bits y donde R(j) es el elemento GF(2
8
) correspondiente al
valor x
j-1
. Su clculo se ver en el siguiente ejemplo.
2b 28 ab 09
7e ae f7 cf
16 a6 88 3c
15 d2 15 4f
K =
RotWord
7e ae f7 cf
15 d2 15 4f
2b 28 ab 09
16 a6 88 3c
K: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c
a
b
d
c
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 574
W(0) = 2b 7e 15 16
W(1) = 28 ae d2 a6
W(2) = ab f7 15 88
W(3) = 09 cf 4f 3c
Expansin W(4) para una clave de 128 bits
2b 28 ab 09
7e ae f7 cf
16 a6 88 3c
15 d2 15 4f
Sea K: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c (Nk = 4)
... pero
Resumen de los sistemas de clave secreta
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 582
Cuestiones y ejercicios (1 de 3)
1. Qu particularidad tiene el cifrado tipo Feistel?
2. Qu importante diferencia tiene el algoritmo Skipjack con respecto
a todos los dems? Razone si eso es bueno o malo en criptografa.
3. Cul es la razn principal de la debilidad del algoritmo DES?
4. Con cul de las dos versiones respecto a la reduccin de clave
aplicada al DES por la NSA se queda Ud.? Razone las dos
respuestas posibles.
5. Qu tamao de bloque de mensaje cifra el DES, con qu longitud
de clave y con cuntas vueltas?
6. Tiene algn inters criptogrfico la tabla de permutacin inicial IP
que se repite en sentido contrario al final en el DES? Por qu?
7. Qu distribucin especial observa en los dos bloques de texto a
cifrar L
0
y R
0
en DES? Qu separacin en bits hay entre ellos?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 583
Cuestiones y ejercicios (2 de 3)
8. Cmo se las arregla DES para realizar operaciones suma mdulo
dos con sub-bloques de texto de 32 bits y sub-claves de 56 bits?
9. Qu dos importantes funciones cumplen las cajas S en el DES?
10. En la caja S
3
del DES entra la secuencia de bits 101101, qu sale?
11. Si la clave DES en ASCII (no nmeros) es HOLAPACO, cules
sern la primera y segunda sub-claves de cifrado?
12. Por qu no debe usarse nunca el modo de cifra ECB?
13. Podemos usar el DES como un generador de secuencia cifrante?
14. Por qu decimos que el DES no es un grupo? Qu significa eso?
15. En qu consiste un ataque por encuentro a medio camino?
16. Por qu se usa en el triple DES un cifrado con slo dos claves tipo
EDE y no con tres como su nombre indica?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 584
Cuestiones y ejercicios (3 de 3)
17. Por qu en IDEA se usa una palabra de 16 bits y no de 32 bits? Se
podra usar una palabra de 8 bits 24 bits? Justifique su respuesta.
18. Encuentre los resultados de las tres operaciones bsicas para un
sistema simulado IDEA que trabaja con 4 bits.
19. Qu tamao de bloque cifra IDEA, con qu longitud de clave y con
cuntas vueltas?
20. Cmo se generan las sub-claves en IDEA?
21. Cules son las claves Z
9
y Z
10
en un sistema IDEA en el que la
clave maestra en ASCII es K = UnaClaveDePrueba.
22. Encuentre las claves de descifrado de las siguientes claves de cifra
en IDEA: k
12
= 3.256; k
13
= 34.517; k
14
= 45.592.
23. Sume y multiplique 31 y 18 en GF(2
8
) segn algoritmo Rijndael.
24. Invente Ud. mismo diversos ejercicios sobre el algoritmo AES.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 585
Prcticas del tema 12 (1/6)
Software safeDES:
http://www.criptored.upm.es/software/sw_m001j.htm
1. Con la clave ASCII K = 123Clave cifre el mensaje 8 bytes M = Hola Ana.
Usando el portapapeles, descifre el criptograma y observe si hay relleno.
Repita la cifra del mensaje usando ahora K = A9A83CFA8B16CF0D una
clave hexadecimal y compruebe nuevamente si hay relleno.
2. Con esas dos claves cifre el mensaje de 15 bytes M = No me respondes,
descfrelo y compruebe que ahora hay un relleno de un byte para formar
un segundo bloque de texto en hexadecimal de 64 bits.
3. Repita el apartado 2 para el mensaje M = Ya no te saludo ms Luca.
4. Cifre el mensaje M = No sale lo mismo, con K = 1111111111111111 en
hexadecimal y compruebe que al descifrar ya no puede usar el portapapeles
tomando el criptograma como texto ASCII.
5. Repita el descifrado copiando la entrada del criptograma en hexadecimal y
pegndolo en ese formato como entrada a descifrar. Saque conclusiones.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 586
Prcticas del tema 12 (2/6)
6. Con la clave ASCII K = BCBCBCBC cifre el mensaje M = Sale lo mismo.
Descfrelo con esa clave y con la clave K = BCCCCCCB. Explique y
justifique lo que ha sucedido.
7. Repita la cifra ahora con las claves hexadecimal K = 1111112222111111 y
K = 2222221111222222. Explique y justifique lo que ha sucedido.
8. Cifre el mensaje M = Cifra con clave dbil, con la clave K = .
Vuelva a cifrar el criptograma con la misma clave y compruebe que se
cumple la relacin E
k
[E
k
(M)] = M. No olvide copiar el texto cifrado en
hexadecimal para volver a cifrar. Justifique lo que ha pasado.
9. Repita la cifra del apartado 8 con las seis claves dbiles del DES, en este
caso representadas en hexadecimal.
10. Cifre el mensaje M = Ahora son claves semidbiles, con las seis parejas de
claves semidbiles E
k1
|E
k2
del DES en hexadecimal y compruebe que se
cumple la relacin E
k1
[E
k2
(M)] = M.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 587
Prcticas del tema 12 (3/6)
11. Cifre el mensaje M = Probaremos un ataque por fuerza bruta, con la clave
K = AAABBAAA. Abra una nueva ventana y descfrelo usando el
portapapeles y tomando como entrada el criptograma en hexadecimal. Con
ambos textos (claro y criptograma) en hexadecimal proceda a un ataque
monousuario con clave inicial AAABA000 y clave final AAABBDDD.
12. Qu puede decir con respecto al tiempo de criptoanlisis real y el tiempo
que se requerira para recorrer todo el espacio de claves dado?
13. Comente y justifique el nmero de claves vlidas encontradas.
14. Repita el ataque con clave inicial AAABB777 y final AAABFFFF.
Comente lo que ha sucedido con respecto al espacio de claves elegido.
15. Repita el ejemplo 11 usando un ataque de simulacin multiusuario con la
clave inicial AAABB000 y la clave final AAABBDDD. Elija el nmero de
procesos desde 1 hasta 10 y observe lo que sucede con el tiempo de ataque
a la clave. Justifique lo que ha visto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 588
Prcticas del tema 12 (4/6)
16. Repita el ejemplo anterior usando un ataque de simulacin multiusuario
con la misma clave inicial AAABB000 pero una clave final AAABBFFF.
17. Cifre el mensaje M = Ahora atacaremos claves en hexadecimal, con la
clave K = 1111222233334444. La clave inicial es 111122223327BF6F y la
clave final 11112222333B72EE. Proceda al ataque monousuario.
18. Con la calculadora de Windows en hexadecimal reste la clave inicial de la
clave final y encuentre luego su valor en decimal. Por qu no coincide
este valor con el nmero de claves distintas que indica el programa?
19. Si tiene entorno de red, realice este ataque multiusuario con un ordenador
trabajando como servidor (Inicio Ejecutar command Enter ipconfig) y los
dems como clientes. Elija un rango de claves 10 20 veces mayor.
20. Cunto tiempo tardara su computador en romper una clave real de DES?
Cuntos computadores trabajando en paralelo necesitaramos para romper
una clave DES en 24 horas usando este programa safeDES?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 589
Prcticas del tema 12 (5/6)
Software CryptoIDEA:
http://www.criptored.upm.es/software/sw_m001f.htm
1. Cree un archivo txt con el siguiente texto Una clave con letras C Cree
una clave K = CCCCCCCCCCCCCCCC de nombre ClaveTodasC. Cifre
el archivo y haga un seguimiento de las subclaves de cifra generadas. Por
qu aparecen bloques de 8 subclaves con valores iguales y cuatro al final?
2. Compruebe con la calculadora de Windows las subclaves Z
1
y Z
9
.
3. Cifre nuevamente ese archivo con una clave de nombre UnaClaveMejor y
valor K = EstaClaveEsBuena. Vuelva a hacer el seguimiento de subclaves,
observe lo que sucede y justifquelo.
4. Compruebe con la calculadora de Windows las subclaves Z
1
y Z
2
5. Con esta nueva clave cifre el archivo con texto De64bits y vea el archivo
cifrado con cuatro bloques de 16 bits. Cifre ahora el archivo con texto
mayor Ms de 64 bits y vuelva a ver la cifra. Saque conclusiones.
6. Descifre esta ltima cifra y observe las subclaves dc descifrado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 12: Cifrado Simtrico en Bloque
Pgina 590
Prcticas del tema 12 (6/6)
7. Con las herramientas del programa compruebe que las claves de descifrado
son las inversas multiplicativas, aditivas o del or exclusivo en funcin de la
zona del algoritmo donde se han usado las claves de cifrado, por ejemplo:
d
47
= k
5
d
48
= k
6
d
49
= inv (k
1
, 65537) multiplicativo
d
50
= inv (k
2
, 65536) aditivo (el complemento a n)
d
51
= inv (k
3
, 65536) aditivo (el complemento a n)
d
52
= inv (k
4
, 65537) multiplicativo
8. Qu sucede con las claves de cifrado y descifrado si la clave K tiene slo
cuatro caracteres ABCD?
9. Observe los bloques de cifrado de 16 bits, en funcin del tamao del
archivo de entrada. Si M 8 bytes hay 4 bloques, si 8 < M 16 bytes hay
8 bloques, etc.
Software de laboratorio del AES: prximamente en pgina web de la asignatura.
Captulo 13
Cifrado Asimtrico con Mochilas
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 30 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 592
El problema de la mochila
El problema matemtico de la mochila,
referido ahora a nmeros y no a los
elementos fsicos que puedan entrar en
ella, se plantea como sigue:
Dada la siguiente secuencia de m nmeros enteros
positivos S = {S
1
, S
2
, S
3
, ..., S
m-2
, S
m-1
, S
m
} y un valor
u objetivo T, se pide encontrar un subconjunto de S
S
S
= {S
a
, S
b
, ..., S
j
} que cumpla con ese objetivo T:
T = S
S
= S
a
+ S
b
+ ... + S
j
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 593
Solucin al problema de la mochila
Si los elementos de la mochila son nmeros grandes, no
estn ordenados y no siguen una distribucin supercreciente
-en este tipo de distribucin el elemento isimo S
i
de la
mochila es mayor que la suma de todos sus antecesores-, la
resolucin de este problema es de tipo no polinomial.
Se trata de encontrar los vectores V
i
de 0s y 1s de
forma que:
S
i
V
i
= T
i
Si se cumple esta relacin, la mochila tiene solucin.
En caso contrario, no existir solucin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 594
Un ejemplo del problema de la mochila
Tenemos la mochila S = {20, 5, 7, 36, 13, 2} con m = 6 y el
valor T = 35. Se pide encontrar una solucin, si es que sta
existe, en una nica vuelta. En este momento no importa
que los valores de la mochila no estn ordenados.
SOLUCIN: Sin hacer ningn clculo mental, podemos
recorrer todos los valores (se puede descartar el elemento S
4
pues es mayor que el objetivo T) de la mochila S, bien de
izquierda a derecha o al revs (da igual el sentido elegido) y
restaremos el elemento isimo si es menor que el objetivo T
en esa etapa del algoritmo, como se indica:
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 595
Solucin al ejemplo de la mochila
S = {S
1
, S
2
, S
3
, S
4
, S
5
, S
6
} = {20, 5, 7, 36, 13, 2} T = 35
S
1
= 20 Es menor que objetivo T = 35? S T = 35-20 = 15
S
2
= 5 Es menor que objetivo T = 15? S T = 15-5 = 10
S
3
= 7 Es menor que objetivo T = 10? S T = 10-7 = 3
S
4
= 36 Es menor que objetivo T = 3? No T = 3
S
5
= 13 Es menor que objetivo T = 3? No T = 3
S
6
= 2 Es menor que objetivo T = 3? S T = 3-2 = 1 0
Se ha recorrido toda la mochila y no se ha encontrado solucin.
En cambio s existe una solucin:
S
S
= {S
1
+S
5
+S
6
} = 20+13+2 = 35
V
i
= [1,0,0,0,1,1]
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 596
Puede haber soluciones mltiples?
Si para la misma mochila S = {20, 5, 7, 36, 13, 2} buscamos
ahora el valor T = 27, encontramos tres soluciones vlidas:
S
S1
= {S
1
+S
3
} = 20+7 S
S2
= {S
1
+S
2
+S
6
} = 20+5+2
S
S3
= {S
2
+S
3
+S
5
+S
6
} = 5+7+13+2
Esto sera inadmisible en un sistema de cifra puesto que el
resultado de una operacin de descifrado debe ser nica ya
que proviene de un nico mensaje. La solucin ser el uso
de las denominadas mochilas simples en que la solucin al
problema de la mochila, si existe, es nica.
$
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 597
Mochila simple o supercreciente
Una mochila es simple o
supercreciente si el elemento S
k
es mayor que la suma de los
elementos que le anteceden:
k-1
S
k
> S
j
j = 1
k-1
S
k
> S
j
j = 1
Por ejemplo, la mochila S = {2, 3, 7, 13, 28, 55, 110, 221}
con m = 8 elementos es supercreciente y la solucin para un
objetivo T = 148 es nica: V
i
= [S
2
+S
3
+S
5
+S
7
].
Para resolver cualquier valor T vlido para esta mochila,
sta se recorre de derecha a izquierda (desde el valor mayor
al menor) una sola vez con el algoritmo ya visto.
Compruebe que para T = 289, 196 y 353 los vectores son
V
1
= 00010101; V
2
= 01001110; V
3
= 10110011.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 598
Operacin de cifra con mochila simple
Se representa la informacin en binario y se pasan los bits
por la mochila. Los bits 1s incluyen en la suma el elemento
al que apuntan y los bits 0s no.
Con la mochila S = {2, 4, 10, 19, 40} de m = 5 elementos
cifraremos el mensaje M = ADIOS.
SOLUCIN: Usando cdigo ASCII/ANSI: A = 01000001;
D = 01000100; I = 01001001; O = 01001111; S = 01010011
M = 01000 00101 00010 00100 10010 10011 11010 10011
C = (4), (10+40), (19), (10), (2+19), (2+19+40), (2+4+19), (2+19+40)
C = 4, 50, 19, 10, 21, 61, 25, 61
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 599
Descifrado con mochila simple
C = 4, 50, 19, 10, 21, 61, 25, 61 S = {2, 4, 10, 19, 40}
La operacin de descifrado es elemental: pasamos por la
mochila los valores de C, encontramos el vector V
i
y por
ltimo agrupamos el resultado en grupos de 8 bits. En este
caso 4 V
i
= 01000, 50 V
i
= 00101, etc.
PROBLEMA: Es muy fcil cifrar y descifrar
pero tambin criptoanalizar el sistema de cifra
porque se usa una mochila simple.
Una posible solucin es usar mochilas de Merkle y Hellman.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 600
Mochila de Merkle y Hellman MH
En 1978 Ralph Merkle y Martin Hellman proponen un sistema
de cifra de clave pblica denominado Mochila con Trampa.
El algoritmo se basa en crear una mochila difcil a partir de una
mochila simple de forma que el cifrado se haga con la mochila
difcil y el descifrado con la mochila simple o fcil. Se puede
pasar fcilmente de la mochila simple a la difcil o viceversa
usando una trampa.
La trampa ser nuestra clave secreta.
La mochila difcil ser nuestra clave pblica.
http://www-fs.informatik.uni-tuebingen.de/~reinhard/krypto/English/4.5.3.e.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 601
Diseo mochila de Merkle y Hellman (1)
1. Se selecciona una mochila supercreciente de m elementos
S = {S
1
, S
2
, ..., S
m
}.
2. Se elige un entero (mdulo de
trabajo) mayor que la suma de
los elementos de la mochila.
ms fcil:
2S
m
m
> S
i
i = 1
mcd (,) = 1
Se asegura
el inverso
3. Se elige un entero primo
relativo con .
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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 602
Diseo mochila de Merkle y Hellman (2)
-1
= inv (,) 5. Se calcula el inverso de en el cuerpo .
Clave privada: ,
-1
Clave privada: ,
-1
Clave pblica: mochila S
Clave pblica: mochila S
DESCIFRADO:
M =
-1
C mod
Entonces obtenemos:
S M
Esto se interpreta como
encontrar los vectores que
cumplan con un valor de T.
CIFRADO:
C = S M
como S = S mod
C = S M mod
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 603
Cifrado mochila de Merkle y Hellman (1)
Se pide cifrar el mensaje codificado en ASCII M = Sol usando
la mochila simple y supercreciente S = {3, 5, 12, 21}.
1. Eleccin de : 2S
4
221 = 49
2. Eleccin de : mcd (, ) = 1 = 32
-1
= 23
3. Mochila S: S = S mod
S
1
= 32 3 mod 49 = 96 mod 49 = 47
S
2
= 32 5 mod 49 = 160 mod 49 = 13
S
3
= 32 12 mod 49 = 384 mod 49 = 41
S
4
= 32 21 mod 49 = 672 mod 49 = 35
Clave pblica: S = {47,13,41,35}
Clave pblica: S = {47,13,41,35}
Clave privada: = 49,
-1
= 23
Clave privada: = 49,
-1
= 23
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 604
Cifrado mochila de Merkle y Hellman (2)
Cifrado: M = Sol = 0101 0011 0110 1111 0110 1100
Clave pblica: S = {47,13,41,35}
Como m = 4, cifraremos bloques de 4 bits,
convirtiendo el mensaje a su equivalente
en binario del cdigo ASCII.
Clave pblica: S = {47,13,41,35}
Clave privada: = 49,
-1
= 23
Clave privada: = 49,
-1
= 23
C = (13+35), (41+35), (13+41), (47+13+41+35), (13+41), (47+13)
Observe que se repite el valor 54 puesto
que m = 4 sera una muy mala eleccin.
C = 48, 76, 54, 136, 54, 60
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 605
Descifrado mochila de Merkle y Hellman
Clave pblica: S = {47,13,41,35}
Clave pblica: S = {47,13,41,35}
Clave privada: = 49,
-1
= 23
Clave privada: = 49,
-1
= 23
Cifrado: M = Sol = 0101 0011 0110 1111 0110 1100
C = 48, 76, 54, 136, 54, 60
Descifrado:
2348 mod 49 = 1.104 mod 49 = 26 23136 mod 49 = 3.128 mod 49 = 41
2376 mod 49 = 1.748 mod 49 = 33 2354 mod 49 = 1.242 mod 49 = 17
2354 mod 49 = 1.242 mod 49 = 17 2360 mod 49 = 1.380 mod 49 = 8
Como S = {3,5,12,21}
M = 0101 0011 0110 1111 0110 1100 = Sol
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 606
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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 607
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] Sea = 13.515
Todos estos 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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 608
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:
Mochila simple: S = {39, 72, 216, 463, 1.001, 1.996}
Clave Privada: = 13.515
-1
= 4.018
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 609
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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 610
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 bien ste 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
... 0
Esta debilidad no hace recomendable el uso de mochilas
de M-H para el cifrado de la informacin ... /
http://www.behdad.org/download/Presentations/knapsack/knapsack.ppt
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 611
Criptoanlisis de Shamir y Zippel
Este ataque exige fuertes restricciones. Para una mochila
con 100 elementos, los autores suponen:
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 generamos la mochila fcil S.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 612
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 fuerte: 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 podra ser el ms pequeo de la
mochila fcil S.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 613
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 otra condicin fuerte: 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 de tipo supercreciente o fcil.
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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 614
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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 615
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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 616
Uso de los criptosistemas de mochilas
Existen varios algoritmos propuestos como sistemas de cifra
usando el problema de la mochila: el de Graham-Shamir,
Chor-Rivest, etc., pero su estudio aqu no tiene sentido.
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.
http://www.derf.net/knapsack/
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 617
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
M-H 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 M-H 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) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 618
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 M-H?
12. En el ejemplo de los apuntes, cuntas operaciones ha tenido que
hacer nuestro algoritmo para romper la clave privada?
13. Es posible que una mochila difcil provenga de ms de una mochila
fcil? Por qu?
14. Qu suceder en el caso anterior para mochilas equivalentes con
los valores del factor de multiplicacin w?
15. Usara un sistema de mochila para cifrar informacin en un entorno
como Internet? Y en una intranet para respuestas a un examen?
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 619
Prcticas del tema 13 (1/2)
Software mochilas:
http://www.criptored.upm.es/software/sw_m001b.htm
1. Cifre el mensaje M = ABCabc, usando una mochila de cuatro elementos de
creacin manual y valores S = {3, 5, 11, 23}, M = 47 y W = 23. Observe
la repeticin de valores y justifique lo que sucede.
2. Vuelva a cifrar ese mensaje pero con una mochila de cinco elementos de
creacin manual y valores S = {3, 5, 11, 23, 44}, M = 89 y W = 21. Qu
sucede ahora con el criptograma? Descifre el criptograma.
3. Ataque la mochila difcil, primero por criptoanlisis rpido y luego por
criptoanlisis exhaustivo. En ambos casos vea y analice los detalles.
4. Para el mensaje M = Una prueba, cree una mochila manual S = {28, 62,
126, 254, 510}, con M = 4051 y W = 4004. Ataque ahora la mochila por
criptoanlisis rpido y luego exhaustivo y finalmente analice los detalles.
5. Cree varias mochilas automticas con parmetros proporcionales a MH de
tamaos 6, 7 y 8. Active la opcin garantizar criptoanlisis y atquelas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Tema 13: Cifrado Asimtrico con Mochilas
Pgina 620
Prcticas del tema 13 (2/2)
6. Repita el ejercicio anterior y opcin garantizar criptoanlisis desactivada.
7. Para el mensaje M = Otra prueba, cree la mochila manual S = {122, 250,
506, 1018, 2042, 4090, 8186}, con = 59369 y = 59361. Realice un
ataque rpido y luego exhaustivo. Observe lo que sucede y explique lo
observado. Repita el ataque para la mochila fcil S = {1016, 1964, 4088,
8108, 16376, 32684, 65528, 130988, 262136, 524204}, con = 4186947 y
= 1393196. Comente lo observado.
8. Repita el ejemplo anterior pero S = {59, 123, 251, 507, 1019, 2043, 4091,
8187, 16379}, = 1044529 y = 1044193. Ataque ahora la mochila con
S = {115, 371, 883, 1907, 3955, 8051, 16243, 32627, 65395, 130931},
siendo = 4193897 y = 2562721. Qu ha sucedido en estos casos?
9. Cree una mochila automtica de MH de tamao 10 y la opcin garantizar
criptoanlisis activada. Proceda a atacarla y si pasados 45 segundos no
logra romperla, detenga el ataque y observe los detalles.
10. Cree una mochila MH de tamao 100 y observe las mochilas completas
Captulo 14
Cifrado Asimtrico Exponencial
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 89 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 622
Aqu ciframos nmeros, no mensajes
La operacin caracterstica de la cifra asimtrica es mediante un
cifrado exponencial. La operacin a realizar ser C = A
B
mod n, en
donde n es el cuerpo de cifra del orden de 1.024 bits, B es una clave
pblica 17 bits para el intercambio de clave y cerca de 1.024 bits de la
clave privada para firma digital. A ser siempre un nmero N (nunca
un mensaje M) y por lo general del orden de las centenas de bits.
Esto es as porque este tipo de cifra es muy lenta y sera muy costoso
en tiempo cifrar, por ejemplo, mensajes de cientos o miles de bytes.
Por lo tanto, cuando se cifre con la clave pblica de destino para
hacer un intercambio de clave, se tratar de un nmero N del orden de
los 128 bits (la clave de sesin), y cuando se cifre con la clave
privada de emisin para una firma digital, se tratar de un nmero N
de 160 bits, por ejemplo un hash SHA-1 sobre el mensaje M.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 623
Otros casos de cifra exponencial
La cifra con la clave privada de recepcin cuando desciframos
un nmero o dato que se nos ha enviado confidencialmente, o
bien la cifra con la clave pblica del emisor para comprobar
as su firma digital, sern casos de descifrado.
En el primero de ellos, puesto que se recibe un nmero muy
grande dentro del cuerpo de cifra con n bits y la clave privada
ser tambin de esa magnitud, en el caso de RSA se realizar
el descifrado usando el Teorema del Resto Chino.
Si deseamos cifrar mensajes Mcon estos algoritmos, se puede
hacer formando bloques de cifra, al igual que se hace con los
sistemas simtricos, pero recuerde que esto tiene sentido slo
para prcticas de laboratorio y nunca en sistemas reales.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 624
Cifrado exponencial con clave del receptor
Al cifrar el nmero N y en el descifrado del criptograma
C se usar una exponenciacin: E
e
(N) = C y E
d
(C) = N.
En la operacin de cifrado, el subndice e significar 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
(N) = N
eR
mod n
R
N = E
dR
(C) = C
dR
mod n
R
N deber 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) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 625
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
(N) = N
dE
mod n
E
N = E
eE
(C) = C
eE
mod n
E
N deber 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
se demuestra la integridad del mensaje mediante un hash.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 626
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.
Por el Teorema del Resto
Chino se tiene que:
N
ed
= N mod n
ssi N
ed
= N mod p
N
ed
= N mod q
Por el Teorema de Euler
se tiene que:
N
k(n)
mod n = 1
para todo N primo con n
Si ed = k(n) + 1
y ...
Luego, el sistema de cifra ser
vlido para cualquier valor de N
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 627
Operacin de descifrado exponencial
Al cifrar el nmero N con una clave pblica e (en este caso
para realizar un intercambio de clave, aunque es igual de
vlido con una clave d en caso de firma digital) tenemos:
Cifrado: C = N
e
mod n
Descifrado: C
d
mod n = (N
e
)
d
mod n = N
ed
mod n
C
d
mod n = N
k(n)+1
mod n = NN
k(n)
mod n
C
d
mod n = N1 mod n = N mod n
Por lo tanto, la operacin C
d
mod n recuperar el nmero N.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 628
Comprobacin de la recuperacin de N
Sea n = pq = 511 = 55 (n) = (5-1)(11-1) = 40
Sea el nmero N = 50 = 25
2
(debe ser un elemento de n = 55)
Se elige e = 3 d = inv[e, (n)] = inv (3, 40) = 27
ed mod (n) = 327 mod 40 = 81 mod 40 = 1
C = N
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 +-
N = C
d
mod n = {[(2)
3
mod 55 (5
2
)
3
mod 55] mod 55}
27
mod 55
N = [(2)
327
mod 55 (5
2
)
327
mod 55] mod 55
N = [2
2(n)+1
5
2(n)+1
5
2(n)+1
] mod 55
= 2 5 5 mod 55 = 50
Por el Teorema de Euler y del Resto Chino
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 629
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
http://www.cs.purdue.edu/homes/ninghui/courses/Fall04/lectures/diffie-hellman.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 630
Ejemplo de intercambio de clave de DH
Adela (A) y Benito (B) van a intercambiar una clave de
sesin dentro del cuerpo primo 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 K = 1.506
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 631
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 enviado A y el
valor
b
mod p que ha enviado B no podr descubrir
los valores de a, de b y ni menos
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.
http://en.wikipedia.org/wiki/Discrete_logarithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 632
Seguridad del intercambio de clave de DH
La seguridad del intercambio de clave de Diffie y Hellman radica
en la imposibilidad computacional a la que se enfrentar el
criptoanalista al tener que resolver el problema del logaritmo
discreto para encontrar la clave privada que se encuentra en el
exponente de la expresin
i
mod p = C.
Como p y sern pblicos, al capturar el valor C el atacante
deber resolver i = log
http://www.di-mgt.com.au/rsa_alg.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 639
Intercambio de clave RSA (B A)
Adela Benito
En el protocolo intercambiaremos una clave K
Sea K = DA9F (16 bits)
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
K = DA9F
16
= 55.967
10
C = K
eA
mod n
A
C = 55.967
25
mod 66.331 = 16.667
Benito enva a Adela C = 16.667
Cifra
2
16
< 66.331 < 2
17
Forzaremos cifrar un
bloque de 16 bits
En la prctica no habr que
forzar este tamao ya que la
cifra asimtrica se hace en
un cuerpo (ms de mil bits)
mucho mayor que el nmero
que se cifra (cientos de bits).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 640
Recuperacin de la clave K 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
Adela calcula:
C
dA
mod n
A
= 16.667
18.377
mod 66.331 = 55.967.
El intercambio de clave se ha realizado con
confidencialidad porque slo Adela ha podido
realizar ese clculo con su clave privada d
A
.
Tenamos que: K = DA9F
16
= 55.967
10
C = K
eA
mod n
A
C = 55.967
25
mod 66.331 = 16.667
Benito haba enviado a Adela C = 16.667
Benito Adela
Los primos que ha
usado Benito son
(97, 677) y los de
Adela (113, 587)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 641
Descifrado con nmeros grandes
Grupo n = 91 = 713; (n) = (713) = (7-1)(13-1) = 72 N = 48
Elegimos e = 5 pues mcd (5,72) = 1 d = inv(5,72) = 29
CIFRADO:
C = N
e
mod n = 48
5
mod 91 = 5245.803.968 mod 91 = 55
DESCIFRADO:
N = 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?
http://www.rsasecurity.com/rsalabs/node.asp?id=2964
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 647
Tamao de los parmetros en RSA
Toda la seguridad de RSA est basada en sus parmetros: los
primos p y q y los valores de sus claves pblica e y privada d.
El cuerpo de trabajo debe ser al menos de 1.024 bits con primos
p y q de al menos 500 bits y que difieran unos cuantos dgitos.
Aunque la clave pblica debe ser pequea para facilitar as las
operaciones, su valor no puede ser excesivamente bajo. Se usar
el nmero 4 de Fermat F
4
= 2
2
4
+ 1 = 2
16
+ 1 = 65.537.
Como ed mod (n) = 1, esto hace que la clave privada d sea un
nmero superior a los 1.000 bits, por lo general cerca de 1.024.
Habr que prestar tambin especial atencin en la generacin de
dichos primos y la posterior comprobacin de su primalidad.
http://www.criptored.upm.es/guiateoria/gt_m117f.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 648
El problema en la eleccin del valor de n
Si p y q son muy cercanos, puede ser fcil factorizar n
Si p q y suponemos que p > q, entonces (p-q)/2 es un
entero muy pequeo y por otra parte (p+q)/2 ser un
entero ligeramente superior a n.
Adems se cumplir que: n = (p+q)/4 - (p-q)/4. Esto
lo podemos escribir como n = x - y y = x - n
Elegimos enteros x > n hasta que (x - n) sea cuadrado
perfecto. En este caso x = (p+q)/2; y = (p-q)/2. Por lo
tanto rompemos el valor n: p = (x+y); q = (x-y).
`
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 649
Ejemplo de mala eleccin del valor de n
Sea p = 181; q = 251 n = 181251 = 45.431
Como 45.431 = 213,14 buscaremos valores enteros
de x mayores que 213 de forma que (x - 45.431) sea
un cuadrado perfecto +
1. x = 214 x 45.431 = 365 365 = 19,10
2. x = 215 x 45.431 = 794 794 = 28,17
3. x = 216 x 45.431 = 1.225 1.225 = 35
Entonces: p = x y = 216 35 = 181
q = x + y = 216 + 35 = 251
`
Para evitar otros problemas, es recomendable
usar los denominados primos seguros.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 650
Eleccin de los nmeros primos
Los valores primos deben elegirse apropiadamente:
Sistema RSA
a) p y q deben diferir en unos pocos dgitos.
Recuerde que la relacin bit/dgito es 3,3.
b) p y q no deben ser primos muy cercanos.
c) Longitud mnima de p y q: 500 bits.
d) Valores de (p-1) y (q-1) del Indicador de
Euler con factores primos grandes.
e) El mcd entre (p-1) y (q-1) debe ser pequeo.
Cmo?
Esto se cumple con los denominados primos seguros
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 651
Clculo de nmeros primos p y q seguros
Se elige r un primo grande de modo que: 2r + 1 = p
Se elige un r primo algo mayor que r de modo que: 2r + 1 = q
EJEMPLO: Sean r = 1.019 y r = 3.863
p = 21.019 + 1 = 2.039 (11 bits) Es primo `
q = 23.863 + 1 = 7.727 (13 bits) Es primo `
n = pq = 15.755.353
Luego: p-1 = 2.038; q-1 = 7.726
p-1 = 21.019; q-1 = 23.863 mcd (p-1, q-1) = 2
Los primos p y q cumplen la condicin de primos seguros
Nota: es posible que encuentre algn documento donde proponga elegir un valor r
primo y comprobar luego si p = 2r+1 y q = 2p+1 son primos. En este caso p y q
seguirn siendo primos seguros pero slo de forma independiente. Aqu ser muy
fcil atacar el valor n factorizndolo a travs de una ecuacin de segundo grado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 652
Par de primos seguros pero independientes
Elegimos r primo. Comprobamos primero que p = 2r+1 es primo y
luego que q = 2p+1 tambin es primo.
Los valores de p y q sern primos seguros pero en el sistema RSA
basado en n = pq no servirn como pareja segura dado que:
n = pq = [2r +1][2p +1] = [2r + 1][2(2r + 1) + 1] = [2r +1][4r + 3]
n = 8r
2
+ 10r + 3 8r
2
+ 10r + (3 - n) = 0
Luego: r = [- 10 100 - 32(3-n)]/16 = [- 10 4 + 32n]/16
r = [- 10 + 4 + 32n]/16
Conocido el valor de r podemos calcular p y q .
Ejemplo: r = 41, p = 2r+1 = 83 `, q = 2p+1 = 167 `, n = 13.861.
r = [- 10 + 4 + 3213.861]/16 = [- 10 + 666]/16 = 41.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 653
Claves privadas parejas en RSA
Una clave privada pareja CPP d
P
, permite descifrar el criptograma
C resultado de una cifra con la clave pblica e sin que d
P
sea el
inverso de la clave pblica e. En el sistema RSA habr como
mnimo una clave d
P
pareja de la clave privada d.
Esto se debe a que las claves inversas e y d lo sern en (n) y en
cambio la cifra se hace en el cuerpo n.
Ejemplo:
Si p = 13; q = 19; n = 247, (n) = 216 y elegimos e = 41, entonces
d = inv (41, 216) = 137, que es nico. Si ciframos con la clave
pblica el nmero N = 87 obtenemos C = 87
41
mod 247 = 159.
Luego sabemos que N = C
d
mod n = 159
137
mod 247 = 87
Pero tambin lo desciframos con d
P
= 29, 65, 101, 173, 209 y 245.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 654
Nmero de claves privadas parejas
Si = mcm [(p-1),(q-1)] y sea d
= e
-1
mod = inv (e, )
La clave pblica e tendr claves parejas d
i
de la forma:
d
i
= d
+ i 1 < d
i
< n
i = 0, 1, ... = (n - d
)/
En el ejemplo anterior tenemos que:
= mcm [(p-1),(q-1)] = mcm (12, 18) = 36
Luego: d
+ i = 29 + i36
Es decir d
i
= 29, 65, 101, 137, 173, 209, 245. Observe que
en aparece (137) la clave privada d y comprobamos que:
= (n - d
http://www.openssl.org
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 659
Claves parejas de la clave pblica en RSA
Al trabajar en un cuerpo finito y con iguales opciones de
cifra con la clave pblica e y la clave privada d, tenemos
que las ecuaciones vistas en las diapositivas anteriores son
vlidas en este entorno, cambiando d por e.
Tiene alguna importancia esto?
No es un problema puesto que todo el mundo conoce la
clave pblica y el sistema sigue siendo igual de seguro.
Se cumple que los valores de dichas claves parejas
son similares y equivalentes en ambos entornos, el
de las claves pblicas y el de las claves privadas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 660
Ejemplo de firma y claves parejas de e
Retomamos el primer ejemplo de claves privadas parejas con:
p = 13; q = 19; n = 247, (n) = 216, e = 41, d = 137
Si firmamos N = 24, obtenemos C = 24
137
mod 247 = 215
Luego sabemos que N = C
e
mod n = 215
41
mod 247 = 24
Como e
n
= [1 + mcd (e-1, p-1)][1 + mcd (e-1, q-1)]
Los nmeros no cifrables sern:
N = [q{inv (q, p)}N
p
+ p{inv (p, q)}N
q
] mod n
con: N
p
las soluciones de N
e
mod p = N
N
q
las soluciones de N
e
mod q = N
Esto ltimo debido al TRC puesto que N
e
mod n = N
En el ejemplo anterior se da el caso mnimo:
n
= [1 + mcd (10, 4)][1 + mcd (10, 6)] = (1+2)(1+2) = 9
N
11
mod 5 = N N
5
= {0, 1, 4} N
11
mod 7 = N N
7
= {0, 1, 6}
N = [7{inv (7, 5)}N
p
+ 5 {inv (5,7)}N
q
] mod 35
N = [73 N
p
+ 53 N
q
] mod 35 = [21{0, 1, 4} + 15{0, 1, 6}] mod 35
N = {(0, 21, 84) + (0, 15, 90)} mod 35 sumando todos los trminos...
N = {0, 15, 90, 21, 36, 111, 84, 99, 175} mod 35 ordenando...
N = {0, 1, 6, 14, 15, 20, 21, 29, 34}
Valores para un mnimo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 664
Ejemplo de nmeros 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 N
7
mod 13 = N N
p
= {0, 1, 3, 4, 9, 10, 12}
Soluciones de N
7
mod 17 = N N
q
= {0, 1, 16}
Los nmeros no cifrables sern:
N = [q{inv (q, p)}N
p
+ p{inv (p, q)}N
q
] mod n
N = [17{inv (17, 13)}N
p
+ 13{inv (13, 17)}N
q
] mod 221
N = [{1710}N
p
+ {134}N
q
] mod 221
N = [170N
p
+ 52N
q
] mod 221
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 665
Ejemplo de nmeros no cifrables (2)
Tenamos N
p
= {0, 1, 3, 4, 9, 10, 12}
N
q
= {0, 1, 16}
N = [170N
p
+ 52N
q
] mod 221 luego:
N = [170{0, 1, 3, 4, 9, 10, 12} + 52{0, 1, 16}] mod 221
N = [{0, 170, 510, 680, 1.530, 1.700, 2.040} +{0, 52, 832}] mod 221
N = [0+0, 0+52, 0+832, 170+0, 170+52, 170+832, ...] mod 221
N = [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
N = [0, 52, 169, 170, 1, 118, 68, 120, 16, 17, 69, 186, 204, 35, 152,
153, 205, 101, 51, 103, 220] ordenando...
N = [0, 1, 16, 17, 35, 51, 52, 68, 69, 101, 103, 118, 120, 152, 153,
169, 170, 186, 204, 205, 220] estos son los 21 mensajes de
221
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 666
Distribucin de nmeros no cifrables
Dado que N = {0, 1, 16, 17, 35, 51, 52, 68, 69, 101, 103, 118, 120,
152, 153, 169, 170, 186, 204, 205, 220}, observe que excepto el
valor 0, los valores de los extremos siempre sumarn el valor
del mdulo: 1+220 = 16+205 = 17+204 = 35+186 ... = 221 = n.
No obstante, esto no es una debilidad porque el siguiente valor
no cifrable posterior al 1 es aleatorio y tambin la distribucin
entre los dems. Es ms, en la mayora de las claves no se
aprecia una secuencia de valores muy clara, aunque s se
observa un comportamiento y distribucin bastante curiosos.
Si no fuera as, el sistema sera muy dbil porque podramos
conocer de antemano qu valores muy pequeos seran no
cifrables (adems del 0 y el 1) y con esa informacin poder
deducir si un valor x de centenas de bits (clave) es o no cifrable.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 667
Dos casos de nmeros no cifrables
Sean p = 409, q = 499
Con e = 31, d = 19.663
Total nmeros no cifrables: 49
0, 1, 1.636, 1.637, 23.313, 23.314,
24.949, 24.950, 26.586, 48.263,
49.899, 56.388, 58.024, 72.855,
74.491, 79.701, 81.337, 81.338,
82.973, 82.974, 96.168, 97.804,
97.805, 99.440, 99.441, 104.650,
104.651, 106.286, 106.287, 107.923,
121.117, 121.118, 122.753, 122.754,
124.390, 129.600, 131.236, 146.067,
147.703, 154.192, 155.828, 177.505,
179.141, 179.142, 180.777, 180.778,
202.454, 202.455, 204.090.
Sean p = 241, q = 251
Con e = 61, d = 26.281
Total nmeros no cifrables: 671
0, 1, 231, 250, 251, 364, 400, 482, 522,
604, 640, 733, 866, 1.004, 1.024,
1.287, 1.486, 1.506, 1.777, 1.870,
1.988, 2.009, 2.028, 2.227, 2.259,
2.260, 2.291, 2.510, ....
... 57.981, 58.200, 58.231, 58.232,
58.264, 58.463, 58.482, 58.503,
58.621, 58.714, 58.985, 59.005,
59.204, 59.467, 59.487, 59.625,
59.758, 59.851, 59.887, 59.969,
60.009, 60.091, 60.127, 60.240,
60.241, 60.260, 60.490.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 668
Cantidad mnima de nmeros no cifrables
Para que la cantidad de nmeros no cifrables sea la mnima 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 = 2r + 1 con r, 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, (2r +1)-1) mcd = 2 o bien r
Luego:
n
= {9, 3(r+1), 3(r+1), (r+1)(r+1)}
Hay que comprobar en diseo que no se den valores del mcd igual a
r o r pues tendramos un nmero muy alto de este tipo de mensajes.
Adems, observe que si e = p
n
= 3p y si e = q
n
= 3q.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 669
Cantidad mxima de nmeros 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 nmero 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 = 2 y 4), es decir e = 97 y 49.
Nunca podr usarse e = (n)/2 + 1 ya que la clave de descifrado ser
igual a 1 y por lo tanto no ser cifrable ningn nmero de n.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 670
NNC por mala eleccin de la clave e
Sea p = 101, q = 761, n = 76.861. Luego (n) = 100760 = 76.000
Algunos valores de e vlidos como clave pero relacionados con (n):
e = (n)/2 + 1 = 38.001 76.861 NNC (100 %)
e = (n)/4 + 1 = 19.001 76.861 NNC (100 %)
e = (n)/5 + 1 = 15.201 76.861 NNC (100 %)
e = (n)/8 + 1 = 9.501 38.481 NNC (50 % aprox.)
e = (n)/10 + 1 = 7.601 76.861 NNC (100 %)
e = (n)/16 + 1 = 4.751 9.741 NNC (12,5 % aprox.)
e = (n)/19 + 1 = 4.001 4.141 NNC (5 % aprox.)
e = (n)/20 + 1 = 3.801 76.861 NNC (100 %)
e = (n)/50 + 1 = 1.521 15.981 NNC (20 % aprox.)
e = (n)/100 + 1 = 761 15.981 NNC (20 % aprox.)
e = (n)/1.000 + 1 = 77 385 NNC (0,5 % aprox.)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 671
Confidencialidad en intercambio de clave
A diferencia del nmero de claves privadas parejas, por lo general
un nmero relativamente bajo y distribucin generalmente en torno
a 2
n
bits, la cantidad de nmeros no cifrables es mucho mayor y en
ciertos casos puede llegar a ser todo el cuerpo de cifra.
No obstante en este nuevo escenario debemos ser menos paranoicos:
la utilizacin actual de este tipo de cifra con clave pblica de destino
est en el intercambio de una clave de sesin de corta duracin, por
lo que la confidencialidad de dicha clave no est en compromiso en
tanto es computacionalmente imposible un ataque por fuerza bruta a
ella durante el corto tiempo de validez de la misma.
El nico problema es que sera fcilmente detectable pues si la cifra
de K
e
mod n se enva en claro, el resultado ser un nmero K de 128
bits en un cuerpo de cifra de 1.024 bits... habr centenas de ceros .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 672
Firmas digitales no cifrables
Hay algn problema con la firma digital no cifrable?
- Si la cantidad de nmeros no cifrables con la clave pblica (tema
confidencialidad) es alto, tambin lo ser en igual proporcin el de
nmeros no cifrables con la clave privada (tema autenticidad).
- En este caso, significa que el hash de la firma del mensaje dentro del
cuerpo de cifra n ira en claro. Aunque el hash sea de 128 bits (MD5)
160 bits (SHA1) y se cifre con la clave privada del emisor y luego
se reduzca al cuerpo de cifra de 1.024 bits, la cifra ir en claro por lo
que se podra apreciar claramente al tener esa cifra tener slo una
centena de bits significativos... y muchos ceros a la izquierda.
- Como mucho esto puede dar pistas al criptoanalista en cuanto a que
la clave del emisor podra no ser ptima y, por lo tanto, animarle a
intentar otros tipos de ataques por la cifra de otros nmeros en claro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 673
Ataque al secreto de N por cifrado cclico
Un nuevo problema: se puede encontrar el nmero en claro N
sin necesidad de conocer d, la clave privada del receptor.
Como C = N
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, ...) con C
0
= C
Si en el cifrado isimo se encuentra el criptograma C inicial,
entonces es obvio que el cifrado anterior (i-1) ser el nmero
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 lo suficientemente altos.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 674
Ejemplo de ataque por cifrado cclico
Sea p = 13, q = 19, n = 247, (n) = 216, e = 29 (d = 149, no conocido)
El nmero a cifrar ser M = 123 C = 123
29
mod 247 = 119
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 en este paso an no lo sabemos
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) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 675
Ataque por cifrado cclico y primos seguros
Sea p = 11 y q = 23, aunque esto no sea recomendable. Luego n = 253,
(n) = 220, y si e = 17, la clave privada es d = 134, no conocida.
Sea el nmero confidencial N = 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
Para n = 253, hemos tenido que recorrer un
espacio mucho mayor dentro de un cuerpo
de cifra muy similar al anterior (n = 247).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 676
La paradoja del cumpleaos
El prximo ataque a la clave privada estar basado en este problema.
Pregunta: 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 estn de cumpleaos en la misma fecha?
Solucin: Se escribe en la pizarra los 365 das del ao y las personas
entran al aula de uno en uno, borrando el da de su cumpleaos de la
pizarra. Para alcanzar esa confianza del 50%, basta que entren slo 23
personas al aula. Este es un valor muy bajo, en principio inimaginable y
de all el nombre de paradoja, aunque matemticamente no lo sea.
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. De
esta manera, 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 ser
igual a p
C
= (1- p
NC
) = 0,507, que es mayor que 0,5.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 677
Ataque a la clave por paradoja cumpleaos
Algoritmo propuesto por Merkle y Hellman en 1981:
El atacante elige dos nmeros aleatorios distintos i, j dentro del
cuerpo de cifra n. Lo interesante es que elige, adems, un mensaje o
nmero N cualquiera.
Para i = i+1 y para j = j+1 calcula N
i
mod n y N
j
mod n.
Cuando encuentra una coincidencia de igual resultado de cifra para
una pareja (i, j), ser capaz de encontrar d.
Un ejemplo para resolver en siguientes diapositivas: sea p = 7; q = 13,
n = 91, e = 11, d = 59. El atacante slo conoce n = 91 y e = 11. Partir
con el nmero N = 20 y elegir los valores i = 10 y j = 50.
Puede encontrar varios tipos de ataques a RSA en la siguiente pgina:
http://crypto.stanford.edu/~dabo/papers/RSA-survey.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 678
Ejemplo de ataque paradoja cumpleaos
i C
i
j C
i
i = 10 C
10
= 20
10
mod 91 = 43 j = 50 C
50
= 20
50
mod 91 = 36
i = 11 C
11
= 20
11
mod 91 = 41 j = 51 C
51
= 20
51
mod 91 = 83
i = 12 C
12
= 20
12
mod 91 = 1 j = 52 C
52
= 20
52
mod 91 = 22
i = 13 C
13
= 20
13
mod 91 = 20 j = 53 C
53
= 20
53
mod 91 = 76
i = 14 C
14
= 20
14
mod 91 = 36 j = 54 C
54
= 20
54
mod 91 = 64
i = 15 C
15
= 20
15
mod 91 = 83 j = 55 C
55
= 20
55
mod 91 = 6
i = 16 C
16
= 20
16
mod 91 = 22 j = 56 C
56
= 20
56
mod 91 = 29
i = 17 C
17
= 20
17
mod 91 = 76 j = 57 C
57
= 20
57
mod 91 = 34
Hay una colisin en el paso quinto al coincidir el valor C = 36 en contador i
que ya haba aparecido en contador j. Observe los valores repetidos.
Con los valores de i, j y el desplazamiento observado en uno de ellos cuando se
detecta la colisin (i = 14), se establece un conjunto de ecuaciones y, si el ataque
prospera, obtenemos la clave privada, una clave privada pareja, o bien un valor
de clave privada particular que slo sirve para descifrar el nmero elegido (aqu
el 20) y no un nmero genrico. En este caso se hablar de un falso positivo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 679
Resultado del ataque paradoja cumpleaos
La primera coincidencia se encuentra para i = 14; j = 50. As, el atacante
conociendo la clave pblica e = 11, calcula:
w = (14-50) / mcd (11, |14-50|) = -36 / mcd (11, 36) = - 36.
Entonces debern existir valores s, t de forma que se cumpla lo siguiente:
ws + et = 1 -36s + 11t = 1
Las posibles soluciones a la ecuacin son: ws mod e = 1; et mod w = 1
-36s = 1 mod 11 s = inv (-36, 11) = inv (8, 11) = 7
11t = 1 mod 36 t = inv (11, 36) = 23
El valor t = 23 ser una clave privada pareja de d = 59. Compruebe que se
verifica ws + et = 1 y que las claves parejas son 11, 23, 35, 47, 71 y 83.
Nota: como este algoritmo parte con valores aleatorios de los contadores i, j (i
deber ser el menor posible y j la mitad del cuerpo de cifra) y del nmero N (en el
ejemplo 20) no siempre prospera el ataque, es decir ser no determinista. En ese
caso, es posible que cambiando el valor de N s se logre el objetivo buscado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 680
Ataque que entrega alguna clave pareja
Normalmente el ataque rompe la clave privada o una clave
privada pareja; sin embargo, se darn situaciones especiales.
Sea p = 11, q = 31, e = 13. Entonces d = 277 y las claves
privadas parejas son: 7, 37, 67, 97, 127, 157, 187, 217, 247,
307, 337.
Observe la diferencia constante igual a (n)/10 = 30.
Se realiza el ataque con el software genRSA tomando valores
de N desde 2 hasta 50, partiendo el contador i en 3 y j en n/2.
Para N = 2 encuentra d = 157; para N = 3 encuentra d = 97;
para N = 4 encuentra d = 127; para N = 5 encuentra d = 127;
para N = 6 encuentra d = 97; ... etc.
Para N = 32 encuentra d = 13, una solucin falsa.
Para d = 13 el programa realiza 2 iteraciones, para d = 127
realiza 3, para d = 157 realiza 4 y para d = 97 realiza 14.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 681
Ataque que entrega la clave privada
En funcin de los parmetros de la clave, a veces se encuentra
para muchos valores de N casi siempre la clave privada d.
Sea p = 191, q = 211, e = 31. Entonces d = 12.871 y hay 9
claves privadas parejas.
Se realiza el ataque con el software genRSA tomando valores
de N desde 2 hasta 50, partiendo el contador i en 3 y j en n/2.
Para casi todos los valores de N encuentra la clave privada d.
Para N = 7, 39, 49 encuentra d = 1.951, para N = 14 encuentra
d = 13.668 y para N = 23 encuentra d = 18.191, todas falsas.
Sea ahora p = 241, q = 251, e = 11. Entonces d = 49.091 y hay
9 claves privadas parejas.
Aunque aqu casi siempre encuentra el valor d = 19.091 como
clave privada pareja vlida, si usamos N = 36 el programa nos
da como solucin el valor d = 0, obviamente un falso positivo.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 682
Podra darse un ataque distribuido?
El ataque basado en la paradoja del cumpleaos no sera factible
realizarlo en un solo PC por la alta complejidad computacional.
... pero bien podra pensarse en un algoritmo distribuido, de forma
que un computador hiciera las veces de servidor y todos los dems
(... tal vez varios cientos de miles) actuaran como clientes.
El servidor tendra como funcin distribuir trozos de cifra entre
los clientes en diferentes intervalos de valores i, j como los del
ejemplo anterior y, adems, recibir los resultados de los clientes
para detectar colisiones. Esta ltima funcin ser la ms crtica.
Supuestamente este ataque llevara un tiempo menor que el de
factorizar el valor de n, para as encontrar la clave privada.
Si bien no est demostrado la factibilidad real en tiempo de
cmputo de esta opcin, el hecho de que un certificado digital, y
por ende la clave privada, tenga una validez de un ao podra ser
un motivo de preocupacin ... siempre sin caer en paranoias .
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 683
La otra historia del algoritmo RSA
Rivest, Shamir y Adleman son los autores de RSA pero un algoritmo
de cifra asimtrico basado en la dificultad de factorizar nmeros
grandes como funcin unidireccional fue descubierto mucho antes...
En el ao 1969 el Government Communications Headquarters
(GCHQ) 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 su contenido 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 del
algoritmo RSA.
http://livinginternet.com/i/is_crypt_pkc_inv.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 684
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.
+ Se cifrar C = M
e
mod p y se descifrar M = C
d
mod p.
Dado que el sistema carece de firma digital en el sentido amplio al ser de
clave secreta, estar slo orientado a la cifra de mensajes o nmeros para la
confidencialidad. No puede competir en velocidad con la cifra simtrica.
http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=1055817
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 685
Adela cifrar un mensaje M que desea enviar a Bernardo:
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.
Ejemplo de cifrado Pohlig y Hellman
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) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 686
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) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 687
Algoritmo de cifra asimtrica de ElGamal
Taher ElGamal propone en 1985 un algoritmo de cifra
que hace uso del problema del logaritmo discreto PLD.
Se elige un grupo multiplicativo Z
p
*, donde p es un primo grande
Del grupo p se elige una raz , generador del grupo
Cada usuario elige un nmero aleatorio dentro de p
El valor ser la clave privada
Cada usuario calcula
mod p
Los valores (
http://web.usna.navy.mil/~wdj/book/node48.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 688
Operacin de cifra con ElGamal
Operacin Cifrado: A cifra un nmero N 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 N(
b
)
mod p
A enva a B el par: C = [
mod p, N(
b
)
mod p]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 689
Operacin de descifrado con ElGamal
Operacin Descifrado: B descifra el criptograma C que enva A
El usuario B recibe C = [
mod p, N(
b
)
mod p].
B toma el valor
mod p y calcula (
)
b
mod p.
B descifra el criptograma C haciendo la siguiente divisin:
[N(
b
)
mod p ] / [(
)
b
mod p] ... porque (
b
)
= (
)
b
El paso anterior es posible hacerlo porque existir el
inverso de (
)
b
en el grupo p al ser p un primo. Luego:
[N(
b
)
{inv (
)
b
, p}] mod p = N
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 690
Ejemplo de cifrado con ElGamal
Adela (A) enviar a Benito (B) el nmero N = 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
N(
b
)
v
mod p = 103 mod 13 = 4
Y enva a (B): (
) mod p, N(
b
)
v
mod p = [9, 4]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 691
Ejemplo de descifrado con ElGamal
DESCIFRADO
La clave privada de Benito (B) es b = 5
Benito recibe: [(
) mod p, N(
b
)
v
mod p] = [9, 4]
Benito calcula:
(
)
b
mod p = 9
5
mod 13 = 3
[N(
b
)
v
] inv[(
)
b
, p] = 4 inv (3, 13) = 4 9
N = 4 9 mod 13 = 10 (se recupera el valor)
Recuerde que debe ser una raz de p. Como ya hemos
visto, si no es una raz, aunque s puede hacerse la cifra,
se facilitara el ataque al problema del logaritmo discreto.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 692
Consideraciones sobre el bloque de cifra
Si queremos cifrar mensajes en vez de nmeros y ese
mensaje fuese mayor que el mdulo de trabajo del
sistema (n = pq para RSA y p para ElGamal)...
cmo se generaran los bloques del mensaje a cifrar?
El mensaje M puede transformarse en
nmeros y stos se dividen en bloques
de g-1 dgitos, siendo g el nmero de
dgitos del mdulo de trabajo: el valor
n = np para RSA y p para ElGamal.
Ya se ha dicho que la prctica esto no ocurrir puesto
que el cuerpo de cifra es como mnimo de 1.024 bits y
el mensaje a cifrar tendr slo una centena de bits.
Ejemplo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 693
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) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 694
Fortaleza de la cifra exponencial
El problema del Logaritmo Discreto PLD ser similar al de la
Factorizacin de Nmeros Grandes PFNG ya que ambos van
a suponer un tiempo de ejecucin de tipo no polinomial.
Recuerde que el nmero de pasos para resolver el PFNG era
de e
{ln(n)ln[ln(n)]}
.
Si suponemos un sistema que consuma 1 seg por paso:
n = 60 dgitos 2,710
11
pasos
n = 100 dgitos 2,310
15
pasos
n = 200 dgitos 1,210
23
pasos
3 das
74 aos
3,810
9
aos
El PLD es matemticamente similar pues el nmero de pasos
ser ahora aproximadamente igual a e
{ln(p)ln[ln(p)]}
.
http://en.wikipedia.org/wiki/Discrete_logarithm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 14: Cifrado Asimtrico Exponencial
Pgina 695
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 de difcil solucin en el tiempo.
Firma digital completa: autentican al mensaje y al emisor.
`
... pero
Es necesario contar con mecanismos de certificacin
para asegurar la veracidad de las claves pblicas.
Son sistemas de cifra muy lentos.
s
u
s
a
d
o
s
a
c
t
u
a
l
m
e
n
t
e
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 718
Funcin resumen MD5
Esta funcin ya est obsoleta desde mediados de 2005. No obstante, es
interesante su estudio dada la sencillez del algoritmo y su generalidad.
Algoritmo bsico de Message Digest 5
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. Al terminar, el algoritmo entrega un resumen que corresponde
a los ltimos 128 bits de estas operaciones.
http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 719
Etapas de MD5
Bloques funcionales 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 para ello.
c) Inicializar el vector ABCD de claves con un valor que no
es secreto.
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.
http://www.faqs.org/rfcs/rfc1321.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 720
Esquema de la funcin MD5
MENSAJE
1000... K
Mensaje de K bits
Relleno de 1 a 448 bits
K mod 2
64
(64 bits)
L512 bits = N 32 bits
N palabras de 32 bits
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
Y
q
H
MD5
Y
1
Y
2
ABCD
H
MD5
H
MD5
Y
L-1
H
MD5
RESUMEN
de 128 bits
Primer resumen
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 721
Bloque principal de MD5
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
A
B
C
D
A
+
+
+
+
Vector
inicial
Nuevo Vector ABCD
de 128 bits para el
prximo bloque...
Qu hacen las funciones F y FF...?
B
C
D
SUMA MDULO 2
32
+
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 722
Esquema funciones F, G, H, I en MD5
a b c d
funcin no lineal
Vector inicial ABCD
b c d
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
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) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 723
Algoritmo de las funciones en MD5
a b c d
Desplazamiento del registro
funcin no lineal
+
+
+
<<< s
j
+
M
j
t
j
+
Suma
mod 2
32
b c a d
32 bits
32 bits
s
j
bits a la
izquierda
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.
El algoritmo realiza
416 = 64 vueltas
para cada uno de los
bloques de 512 bits
Situacin luego del desplazamiento
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 724
Funciones no lineales en MD5
a b c d
Vector de 128 bits
Funciones no lineales
en cada vuelta
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) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 725
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) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 726
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, M
j
, t
j
, s)
GG(a, b, c, d, M
1
, F61E2562, 5)
GG(d, a, b, c, M
6
, C040B340, 9)
GG(c, d, a, b, M
11
, 265E5A51, 14)
GG(b, c, d, a, M
0
, E9B6C7AA, 20)
GG(a, b, c, d, M
5
, D62F105D, 5)
GG(d, a, b, c, M
10
, 02441453, 9)
GG(c, d, a, b, M
15
, D8A1E681, 14)
GG(b, c, d, a, M
4
, E7D3FBC8, 20)
GG(a, b, c, d, M
9
, 21E1CDE6, 5)
GG(d, a, b, c, M
14
, C33707D6, 9)
GG(c, d, a, b, M
3
, F4D50D87, 14)
GG(b, c, d, a, M
8
, 455A14ED, 20)
GG(a, b, c, d, M
13
, A9E3E905, 5)
GG(d, a, b, c, M
2
, FCEFA3F8, 9)
GG(c, d, a, b, M
7
, 676F02D9, 14)
GG(b, c, d, a, M
12
, 8D2A4C8A, 20)
S
e
g
u
n
d
a
v
u
e
l
t
a
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 727
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, M
j
, t
j
, s)
II(a, b, c, d, M
0
, F4292244, 6)
II(d, a, b, c, M
7
, 411AFF97, 10)
II(c, d, a, b, M
14
, AB9423A7, 15)
II(b, c, d, a, M
5
, FC93A039, 21)
II(a, b, c, d, M
12
, 655B59C3, 6)
II(d, a, b, c, M
3
, 8F0CCC92, 10)
II(c, d, a, b, M
10
, FFEFF47D, 15)
II(b, c, d, a, M
1
, 85845DD1, 21)
II(a, b, c, d, M
8
, 6FA87E4F, 6)
II(d, a, b, c, M
15
, FE2CE6E0, 10)
II(c, d, a, b, M
6
, A3014314, 15)
II(b, c, d, a, M
13
, 4E0811A1, 21)
II(a, b, c, d, M
4
, F7537E82, 6)
II(d, a, b, c, M
11
, BD3AF235, 10)
II(c, d, a, b, M
2
, 2AD7D2BB, 15)
II(b, c, d, a, M
9
, EB86D391, 21)
C
u
a
r
t
a
v
u
e
l
t
a
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 728
Funcin resumen SHA-1
Algoritmo:
Es muy similar a MD5. Tambin trata bloques de 512 bits de
mensaje con un total de 80 vueltas, pero en este caso el vector
inicial tiene una palabra ms de 32 bits (E) por lo que el
resumen ser de 160 bits.
Un resumen de 128 bits (MD5) tiene una complejidad algortmica
de tan slo 2
64
, un valor en la actualidad muy comprometido...
'
En cambio la funcin SHA-1, Secure Hash Algorithm, entregar un
resumen de 160 bits; con una complejidad algortmica de 2
80
.
&
http://www.faqs.org/rfcs/rfc3174.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 729
Despus de esta ltima operacin, se
produce el desplazamiento del
registro hacia la derecha
Funcin
no lineal
+
+
+
<<< 30
W
t
K
t
Vector inicial ABCDE
Registro de 160 bits
32 bits
32 bits
A
16
= 67452301
B
16
= EFCDAB89
C
16
= 98BADCFE
D
16
= 10325476
E
16
= C3D2E1F0
A
16
= 67452301
B
16
= EFCDAB89
C
16
= 98BADCFE
D
16
= 10325476
E
16
= C3D2E1F0
a b c d e c d b
+
<<< 5
Bloques del texto a partir
del bloque de 16 palabras
Una constante en cada
una de las cuatro vueltas
Suma
mod 2
32
+
Esquema del resumen SHA-1
Vase la prxima diapositiva...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 730
Vueltas funciones F, G, H, I en SHA-1
a b c d e
Desplazamiento del registro
Se repite el proceso con la
funcin F para las restantes 15
palabras de 32 bits del bloque
actual hasta llegar a 20. En
vueltas 2, 3 y 4 se repite el
proceso con funciones G, H e I.
F (b, c, d) vueltas t = 0 a 19
(b AND c) OR ((NOT b) AND d)
G (b, c, d) vueltas t = 20 a 39
b XOR c XOR d
H (b, c, d) vueltas t = 40 a 59
(b AND c) OR (b AND d) OR
(c AND d)
I (b, c, d) vueltas t = 60 a 79
b XOR c XOR d
F (b, c, d) vueltas t = 0 a 19
(b AND c) OR ((NOT b) AND d)
G (b, c, d) vueltas t = 20 a 39
b XOR c XOR d
H (b, c, d) vueltas t = 40 a 59
(b AND c) OR (b AND d) OR
(c AND d)
I (b, c, d) vueltas t = 60 a 79
b XOR c XOR d
e b c d a
Tenemos 420 = 80 pasos por cada bloque de 512 bits.
Pero ... cmo es posible repetir 80 veces un bloque que slo
cuenta con 16 bloques de texto de 32 bits cada uno?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 731
Las 80 vueltas en SHA-1
Vector de 160 bits
a b c d e
Cada bloque de 16 palabras del mensaje (M
0
... M
15
) se
expandir en 80 palabras (W
0
... W
79
) segn el algoritmo:
W
t
= M
t
(para t = 0, ..., 15)
W
t
= (W
t-3
W
t-8
W
t-14
W
t-16
) <<<1 (para t = 16, ..., 79)
y adems: K
t
= 5A827999 para t = 0, ..., 19
K
t
= 6ED9EBA1 para t = 20, ..., 39
K
t
= 8F1BBCDC para t = 40, ..., 59
K
t
= CA62C1D6 para t = 60, ..., 79
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 732
Algoritmo y desplazamiento en SHA-1
Vector de 160 bits
a b c d e
El algoritmo para cada bloque de 512 bits ser:
Para t = 0 hasta 79 hacer:
TEMP = (a <<<5) + f
t
(b,c,d) + e + W
t
+ K
t
a = e
e = d
d = c
c = b <<<30
b = a
a = TEMP
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 733
Comparativa entre MD5 y SHA-1
SHA-1 genera una salida de 160 bits de longitud mientras
que MD5 genera slo 128 bits.
La dificultad de generar un mensaje que tenga un resumen
dado es del orden de 2
128
operaciones para MD5 y 2
160
para
SHA-1.
La dificultad de generar dos mensajes aleatorios distintos y
que tengan el mismo resumen (ataques basados en paradoja
del cumpleaos) es del orden de 2
64
operaciones para MD5 y
2
80
para SHA-1.
Esta diferencia de 16 bits a favor de SHA-1 lo convierte en
ms seguro y resistente a ataques por fuerza bruta que el
algoritmo MD5. Aunque es ms lento que MD5, SHA-1 es
hoy el estndar como funcin hash.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 734
SHA-1 realiza un mayor nmero de pasos que MD5: 80
frente a los 64 que realiza MD5.
SHA-1 debe procesar 160 bits de buffer en comparacin
con los 128 bits de MD5.
Por estos motivos la ejecucin del algoritmo SHA-1 es
ms lenta que la de MD5 usando un mismo hardware.
Por ejemplo, un programa realizado en C entregaba en
un Pentium a 266 MHz (no importa que esta velocidad
sea tan baja) una tasa del orden de 20 Mbits/seg para
SHA-1 y para MD5 esta tasa llegaba a los 60 Mbits/seg.
Ambos algoritmos procesan bloques de 512 bits y emplean 4
funciones primitivas para generar el resumen del mensaje, pero...
Pasos y tasas de cifra en MD5 y SHA-1
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 735
Ms diferencias entre MD5 y SHA-1
La longitud mxima del mensaje para SHA-1 debe ser
menor de 2
64
bits, mientras que MD5 no tiene limitaciones
de longitud.
MD5 emplea 64 constantes (una por cada paso), mientras
que SHA-1 slo emplea 4 (una para cada 20 pasos).
MD5 se basa en la arquitectura little-endian, mientras que
SHA-1 se basa en la arquitectura big-endian. Por ello el
vector ABCD inicial en MD5 y SHA-1 son iguales:
A = 01234567 (MD5) 67452301 (SHA-1)
B = 89ABCDEF (MD5) EFCDAB89 (SHA-1)
C = FEDCBA98 (MD5) 98BADCFE (SHA-1)
D = 76543210 (MD5) 10325476 (SHA-1)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 736
Arquitecturas little-endian y big-endian
Arquitectura little-endian:
Esta es la arquitectura empleada en procesadores Intel de la
familia 80xxx y Pentium.
Para almacenar una palabra en memoria, el byte menos
significativo de los que forman dicha palabra se guarda en la
posicin ms baja de la memoria.
Arquitectura big-endian:
Empleada por otras arquitecturas como SUN.
Para almacenar una palabra en memoria, el byte ms
significativo de los que forman dicha palabra se guarda en la
posicin ms baja de memoria.
http://www.algoritmia.net/articles.php?id=57
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 737
Ejemplo little-endian versus big-endian
Supongamos que queremos almacenar en memoria la siguiente
palabra de 32 bits (4 bytes) representada en hexadecimal:
76543210
10 32 54 76
Si consideramos que las posiciones de memoria ms bajas se
encuentran a la izquierda y las ms altas a la derecha:
67 45 23 01 En formato little-endian se representa:
01 23 45 67 En formato big-endian se representa:
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 738
ltimos ataques a las funciones hash
Ya a finales del ao 2004 cientficos chinos de la Shandong University
presentan trabajos en los que se analizan las debilidades reales de las
funciones hash como MD5 y SHA-1 ante colisiones.
Aunque no est claro que este tipo de ataques pudiese derivar en
acciones de fraude, como sera suplantar un hash por otro igual y que en
recepcin se aceptase como vlido si bien este ltimo proviene de un
mensaje distinto, es un claro motivo de preocupacin actual.
El problema de estas vulnerabilidades estriba en que muchos servidores
Web presentan un certificado digital X.509 firmado en el mejor de los
casos a partir de una funcin hash SHA-1 y, lo que es peor an, todava
hay algunos que usan un hash MD5.... este ltimo mucho menos seguro
que el primero.
http://www.criptored.upm.es/guiateoria/gt_m238a.htm
http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 739
Funciones hash para la autenticacin
Las funciones hash vistas (MD5, SHA-1, etc.) pueden usarse
adems para autenticar a dos usuarios.
Como carecen de una clave privada no pueden usarse de
forma directa para estos propsitos. No obstante, existen
algoritmos que permiten aadirles esta funcin.
Entre ellos est HMAC, una funcin que usando los hash
vistos y una clave secreta, autentica a dos usuarios mediante
sistemas de clave secreta. Las funciones MAC, Message
Authentication Code, y HMAC se tratarn en el prximo
captulo dedicado a la autenticacin y firma digital.
HMAC se usa en plataformas IP seguras como por ejemplo en
Secure Socket Layer, SSL.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 740
Cuestiones y ejercicios
1. Qu propiedades debe tener una funcin hash para que su uso en
criptografa sea de inters? Vale cualquier funcin reductora?
2. Por qu prospera un ataque basado en la paradoja del cumpleaos
con un tiempo significativamente menor que un ataque elemental?
3. Se va a aplicar la funcin MD5 a un mensaje de longitud 250 bytes.
Cmo se rellena y cmo queda el ltimo bloque?
4. Por qu razn decimos que la funcin SHA-1 es actualmente un
estndar ms seguro que la funcin MD5? Es seguro hoy SHA-1?
5. Cmo puede la funcin SHA-1 hacer 80 vueltas con bloques de 32
bits partiendo de un bloque de texto o mensaje de slo 512 bits?
6. Qu funcin hash es ms rpida, MD5 o SHA-1? Por qu?
7. Si en un mensaje cambiamos un bit, en cunto debera cambiar su
hash aproximadamente con respecto a su resumen anterior?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 741
Prcticas del tema 15 (1/3)
Software CriptoRes:
http://www.criptored.upm.es/software/sw_m001h.htm
1. Usando el botn de generacin de resumen, encuentre el hash MD5 del
mensaje M = Hola. Para el mismo mensaje, repita el resumen para SHA-1.
2. Busque en su computador el archivo SegInfCrip_v40.zip, encuentre el hash
MD5 y el hash SHA-1. Repita un par de veces la operacin de resumen y
compare las velocidad de clculo de cada funcin.
3. Obtenga la funcin hash MD5 de M = Prueba 122 del hash. Abra otra
ventana y encuentre ahora el hash de M = Prueba 123 del hash. Observe
que los mensajes difieren slo en un bit (2 = 0011 0010; 3 = 0011 0011).
4. Abra la calculadora de Windows dos veces y copie el hexadecimal de cada
hash en cada una, cambie luego a binario. Haga un XOR entre los dos
valores y compruebe que con cambiar slo un bit del mensaje, el hash
cambia ms de la mitad de bits. Recuerde que estas calculadoras trabajan
con 64 bits. Asegrese que ambos valores tengan el mismo nmero de bits.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 742
Prcticas del tema 15 (2/3)
5. Para el mensaje M = 123, encuentre el hash MD5 a travs del botn de
seguimiento. Abra la pestaa del seguimiento del algoritmo y observe que
se ha operado con un solo bloque.
6. Active la opcin A Nivel de Pasos y vuelva a calcular el hash. Observe los
valores 313233 (hexadecimal de 123) y luego el valor 80 que significa un
relleno (1 seguido de ceros). Al final ver un bloque de 64 bits (ltimas dos
palabras) cuyo valor es 18. Con la calculadora de Windows compruebe que
ese valor en decimal corresponde a 24, los 3 bytes del mensaje.
7. Observe ahora el relleno y el nmero de bits para el hash MD5 del mensaje
M = En este caso tenemos 232 bits. Compruebe este valor.
8. Si el mensaje tiene exactamente 512 bits, siempre se incluye un bloque con
relleno. Comprubelo con el mensaje de 64 bytes M = Y en este caso habr
siempre un bloque extra como ya se ha dicho. Recuerde: h = 68 y o = 6F.
Observe que a nivel de pasos no se ve relleno (se muestra slo el primer
bloque) y que a nivel de bloques muestra el procesamiento de dos bloques.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 15: Funciones Hash en Criptografa
Pgina 743
Prcticas del tema 15 (3/3)
9. Para el mensaje M = 123, encuentre ahora el hash SHA-1 a travs del
botn de seguimiento. Abra la pestaa del seguimiento del algoritmo y
observe que se ha operado con un solo bloque. Observe el vector ABCDE.
10. Active la opcin A Nivel de Pasos y vuelva a calcular el hash. Compare la
representacin del valor 123 en hexadecimal (313233) con el resultado de
MD5, notacin little-endian versus big-endian.
11. Observe que en SHA-1 no se reservan los ltimos 64 bits para indicar el
tamao del archivo.
12. SHA-1 no acepta mensajes de tamao mayores que 2
64 bits
. Aunque pudiera
parecer una limitacin, a cuntos bytes correspondera este valor?
13. Compruebe grficamente la paradoja del cumpleaos pinchando en el
icono con figura de tarta. Primero indique 5 iteraciones y acepte las
opciones por defecto de un seguimiento preciso de cada cumpleaos. A
continuacin introduzca otros nmeros, juegue un poco con las opciones
del programa y observe que el valor medio de intentos es cercano a 23.
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 63 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Curso de Seguridad Informtica y Criptografa JRA
v 4.1
Captulo 16
Autenticacin y Firma Digital
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 745
Interesa confidencialidad o integridad?
Si bien en ciertos escenarios es muy importante
mantener el secreto de la informacin, siempre que
sta lo requiera, en muchos casos tiene quizs ms
trascendencia el poder certificar la autenticidad
entre cliente y servidor como ocurre en Internet.
Confidencialidad
Para lograrla se cifra el mensaje M, nmero N o
clave K obteniendo un criptograma.
Integridad
Para lograrla se firma un hash del mensaje h(M),
aadiendo una marca al mensaje o criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 746
Algunos problemas de integridad
a) Autenticidad del emisor
Cmo comprueba Benito (B) que el mensaje recibido del emisor
que dice ser Adela (A) es efectivamente de esa persona?
b) Integridad del mensaje
Cmo comprueba Benito (B) que el mensaje recibido del emisor
Adela (A) es el autntico y no un mensaje falso?
c) Actualidad del mensaje
Cmo comprueba Benito (B) que el mensaje recibido del emisor
Adela (A) es actual, no un mensaje de fecha anterior reenviado?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 747
Ms problemas de integridad
d) No repudio del emisor
Cmo comprueba Benito (B) que el mensaje enviado por el emisor
Adela (A) -y que niega haberlo enviado- efectivamente ha llegado?
e) No repudio del receptor
Cmo comprueba Benito (B) que el mensaje enviado al receptor
Adela (A) -y que niega haberlo recibido- efectivamente se envi?
d) Usurpacin de identidad del emisor/receptor
Cmo comprueba Benito (B) que Adela (A), Carmen (C) u otros
usuarios estn enviando mensajes firmados como Benito (B)?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 748
Primer escenario de integridad
Escenario de desconfianza
1 Solucin. Uso de una
tercera parte de confianza
activa. Un juez tendr una
clave K
A
con la que se
comunica con A y una
clave K
B
con la que se
comunica con B.
Si A enva un mensaje M a B:
A cifra M con la clave K
A
E
KA
(M) y lo enva al juez.
Este comprueba la integridad
de A, lo descifra y enva a B,
cifrado con K
B
, el mensaje M,
la identidad de A y la firma
E
KA
(M): E
KB
{M, A, E
KA
(M)}.
Ambos confan en el juez y
ante cualquier duda ste puede
comprobar la identidad de A
ante B descifrando E
KA
(M).
Se usar criptografa simtrica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 749
Segundo escenario de integridad
Escenario de desconfianza
2 Solucin. Uso de una
tercera parte de confianza
no siempre activa. Esta
parte slo acta cuando se
produce un conflicto entre
los interlocutores, quienes
se autentican a travs de
ella que les certifica.
En este caso la
figura del juez se
conoce como una
Autoridad de
Certificacin
Habr una aceptacin del
sistema de autenticacin, tanto
por convencimiento propio de
los usuarios como por su
confianza en los algoritmos.
Se usar criptografa asimtrica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 750
Funciones y esquemas de autenticacin
Autenticacin mediante el cifrado de mensajes con
criptografa simtrica
La cifra de datos podra servir como autenticacin.
Autenticacin con MAC Message Authentication Code o
checksum
Una funcin pblica y una clave secreta producen un valor
de longitud fija que es vlida como autenticador.
Autenticacin mediante funciones hash
Una funcin pblica reduce el mensaje a una longitud de
valor hash que sirve como autenticador de integridad.
Autenticacin mediante firma digital del mensaje con
criptografa asimtrica
Una funcin pblica y un par de claves, pblica y privada
inversas en un cuerpo, permiten la autenticacin completa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 751
Autenticacin con sistemas simtricos
Si la clave de un sistema simtrico es segura, es decir no
est en entredicho, podemos afirmar que, adems de la
confidencialidad que nos entrega dicha cifra, se
comprueban tambin simultneamente la integridad del
mensaje y autenticidad del emisor, en tanto que slo el
usuario emisor (en quien se confa por el modelo, tipo de
cifra y en su clave pblica) puede generar ese mensaje.
Con los sistemas de cifra simtricos no podremos
realizar una autenticacin fcil y completa: emisor y
mensaje. Veremos un procedimiento algo complejo de
autenticacin con cifra simtrica como es el caso de
Kerberos y un esquema de firma digital.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 752
Los problemas de la autenticacin simtrica
El intercambio de claves de forma segura ya hemos visto que
se logra eficientemente slo a travs de sistemas asimtricos.
Las herramientas ms usuales para autenticacin sern los
cdigos de autenticacin de mensajes MACs y el sistema
Kerberos con cifras simtricas. Kerberos tambin permite el
intercambio seguro de una clave de sesin aunque es ms
complejo y pesado que el algoritmo de Diffie y Hellman.
No obstante, subyacen los problemas caractersticos de
un criptosistema: cmo asegurar que la clave simtrica
entre emisor y receptor es segura? o lo que es lo mismo,
cmo intercambiar claves de forma segura?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 753
Autenticacin con MAC o checksum
Los dos extremos de la comunicacin A y B comparten
una nica clave secreta que no est en entredicho.
El MAC o checksum ser una funcin que se aplica al
mensaje M junto a una clave secreta K de la forma C
K
(M).
A enva el mensaje en claro y el Message Authentication
Code (MAC) o Checksum C
K
(M) a B.
Integridad: el receptor B puede estar seguro de que nadie
ha modificado el mensaje durante la transmisin pues el
valor C
K
(M) en destino coincide con el enviado por A.
Autenticacin: como solamente el emisor A y el receptor B
comparten la clave secreta K, se asegura la autenticacin
de ambos usuarios. Por lo tanto, la condicin a cumplir es
que la clave K debe ser nica y segura.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 754
Se inserta un cdigo al final del mensaje M transmitido en
claro, consistente en la cifra con la clave secreta de los ltimos
bytes del texto, por ejemplo 64 bits de DES o bien usando
Triple DES.
En destino, con el mismo algoritmo y la clave secreta, se realiza
la cifra y se comparan estos ltimos bloques.
Como la cifra es CBC, encadenamiento de bloques cifrados,
esos bytes cifrados dependen de todo el mensaje por lo que
cualquier modificacin ser detectada al no coincidir los
resultados del cifrado de M en emisin y recepcin.
Message Authentication Code con DES
http://www.faqs.org/rfcs/rfc3537.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 755
M
1
M
2
M
n
... E (K,M)
M
1
M
2
M
n
... Am
K
E (K,M) = Am M
R
M
R
: espacio de marcas de autenticacin
Cifrado del ltimo bloque en modo CBC
Mensaje M
Cules son las
debilidades de
este modelo?
La Marca Am son 16, 32 64 bits.
Es un tamao muy pequeo y podra
dar lugar a colisiones: mensajes
distintos con iguales MACs.
Esquema de autenticacin MAC con DES
emisor
receptor
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 756
Las funciones hash vistas (MD5, SHA-1, etc.) no han sido
diseadas para la autenticacin al carecer de clave secreta.
No obstante, son interesantes puesto que su velocidad es mayor
que muchos cifradores de bloque, su cdigo fuente es abierto y
sus propiedades y funcionamiento son muy conocidos.
La RFC 2104 propone el uso de una autenticacin en entornos
seguros como SSL mediante una operacin MAC en la que
intervenga una funcin hash: su nombre es HMAC.
HMAC usa entonces una funcin hash (MD5, SHA-1, etc.)
como una caja negra, una clave K en lo posible mayor que el
tamao del hash en bits, una funcin xor y operaciones de
relleno de bits, tal como se muestra en el siguiente esquema.
Autenticacin con funciones hash HMAC
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 757
Esquema de HMAC
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
Parmetros del esquema
en la siguiente diapositiva...
b bits
Y
i
bloques del mensaje
H(S
i
||M)
n bits
n bits
http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 758
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 n, 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 ]}
Parmetros, valores tpicos y salida HMAC
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 759
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).
Operaciones y seguridad de HMAC
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) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 760
Utilizacin de un KDC (Key Distribution Centre) o Distribuidor de
Claves de Confianza, que comparte una clave 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.
Entre los esquemas propuestos estn el de Needham-Schroeder y el de
Denning-Sacco. Uno de los ms conocidos y populares ser Kerberos.
Autenticacin con cifra simtrica y un KDC
http://www.isi.edu/gost/publications/kerberos-neuman-tso.html
http://www.lsv.ens-cachan.fr/spore/nssk.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 761
Propuesta de Needham y Schroeder (1978)
Qu sucede si no se
realizan los pasos 4 y 5?
Un intruso C podra capturar
el mensaje en el paso 3 y
repetirlo, interfiriendo as
las operaciones de B.
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
)]
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 o B)
f (N2) es una funcin
conocida por A y B.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 762
Algo ms improbable es que un intruso C 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 C 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).
Ms debilidades de la propuesta N-S
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 763
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
)]
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
Denning
Tickets
Solucin al problema del timestamp
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 764
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.
Autenticacin en un sentido
Se garantiza as que slo el receptor puede leer el mensaje
y autentica adems al emisor. Es vulnerable a repeticiones.
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]
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 765
Perro de tres cabezas y cola de serpiente segn mitologa
griega, guardin de la entrada del Templo de Hades.
Tres componentes guardarn esa puerta: Autenticacin,
Contabilidad y Auditora. Las dos ltimas cabezas del
proyecto nunca han sido implementadas.
Autenticacin con Kerberos
Kerberos fue un proyecto
desarrollado en 1988 por el
Massachusetts Institute of
Technology MIT, siendo su
objetivo la implementacin de
un servicio de autenticacin.
http://web.mit.edu/kerberos/www/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 766
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.
Caractersticas y fases de Kerberos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 767
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.
Elementos del dilogo de autenticacin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 768
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.
El ticket en la credencial de Kerberos
[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) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 769
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,
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.
[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
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 770
Ejemplo de autenticacin con Kerberos (1)
Se autenticar el usuario A ante el usuario B teniendo
como tercera parte de confianza al centro 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) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 771
Ejemplo de autenticacin con Kerberos (2)
Paso 3. A descifra con su clave k
A
el valor m:
D
kA
[E
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
[E
kB
[K
S
, L, ID(A)]] = K
S
, L, ID(A)
Ahora que tiene K
S
descifra el valor a:
D
KS
[E
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) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 772
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
[E
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
.
La importancia del valor de T
A
es que permitir ms autenticaciones
dentro del perodo de validez L sin que sea necesario la intervencin
de la tercera parte de confianza KDC.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 773
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.
http://www.mug.org.ar/Infraestructura/ArticInfraestructura/300.aspx
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 774
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, como ya hemos visto en un captulo anterior.
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) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 775
Son condiciones mucho ms fuertes
que las de una firma manuscrita...
Son condiciones mucho ms fuertes
que las de una firma manuscrita...
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
pues protege ante
la falsificacin
de los mensajes
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 776
Firmas digitales simtricas
9 Su usar una nica clave secreta. Luego, persiste el
problema de comunicar la clave entre los comunicantes.
9 Normalmente usarn la funcin XOR para realizar la
transformacin.
9 Podremos firmar mediante cifra en flujo y en bloque.
9 Son muy rpidas por el tipo de cifra o bien por el uso de
bloques ms pequeos que en otros tipos de firma.
9 Algoritmos de firma: Rabin, Lamport-Diffie, Desmedt,
Matyas-Meyer basada en el DES ...
http://www.deas.harvard.edu/ourfaculty/profile/Michael_Rabin
http://research.microsoft.com/users/lamport/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 777
Firma digital de Desmedt
Propuesta por Yvo G. Desmedt en 1985.
Se basa en el cifrado de Vernam.
Elementos: parmetro q en bits, un mensaje Mde longitud n
bits y una clave H de nq bits:
H = {[h
1
(1)
, ..., h
1
(q)
], ..., [h
n
(1)
, ..., h
n
(q)
]}
i se cumplir que [h
i
(1)
, ..., h
i
(q)
] (0, ..., 0)
i = n
Algoritmo: r
j
= m
i
h
i
(j)
= m
1
h
1
(j)
... m
n
h
n
(j)
i = 1 (con j = 1, ..., q)
Verificacin de la firma: con el mensaje recibido se realiza el
mismo proceso del firmado hecho en emisin y se comprueba
que se obtiene una firma idntica.
http://www.cs.fsu.edu/~desmedt/
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 778
Ejemplo de Firma digital de Desmedt
Sea: mensaje M = 11011 de n = 5 bits, el parmetro q de
3 bits y la clave aleatoria H = (111, 100, 110, 001, 111).
r
1
= 11 11 01 10 11 = 1
r
2
= 11 10 01 10 11 = 0
r
3
= 11 10 00 11 11 = 1
Firma Desmedt: 101
Como el receptor tiene esa clave H, que realiza la misma
operacin en destino y compara ambas firmas.
9 Como son sistemas sin uso actual, slo se muestra aqu este sencillo
esquema. El lector interesado encontrar una amplia informacin en
el libro de Criptografa Digital de Jos Pastor y Miguel Angel
Sarasa que se menciona en el captulo 21 de este libro electrnico.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 779
Autenticacin con sistemas asimtricos
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.
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
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 780
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.
Adela
$
Benito
Firma digital RSA de A hacia B
http://www.enstimac.fr/Perl/perl5.6.1/site_perl/5.6.1/Crypt/RSA.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 781
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 1.024 bits.
Por lo tanto el resumen que se firma es menor que el cuerpo
de cifra o, lo que es lo mismo, el nmero que se cifra ser
parte del conjunto de restos de ese grupo.
Valores y tamaos tpicos de firmas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 782
Adela Benito
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
Claves Adela
n
A
= 66.331
e
A
= 25, d
A
= 18.377
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)
Firma
Nota: los primos
que usa Benito
son (97, 677) y
Adela (113, 587)
2
16
< 65.669 < 2
17
Forzaremos firmar
bloques de 16 bits
Ejemplo de firma digital RSA (B A)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 783
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
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.
Recuerde: El hecho de que h(M) = h(M) no implica que M = M.
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 a Adela el par (M, r) = (M, 24.622)
Adela Benito
Comprobacin la firma RSA por A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 784
Al trabajar en un grupo multiplicativo, se da el siguiente escenario:
Si se conoce la firma de dos mensajes M
1
y M
2
, se puede firmar un tercer
mensaje M
3
producto de los dos anteriores sin necesidad de conocer la
clave privada del firmante.
Sean las claves del firmante e, d y n = pq. Luego:
r
M1
= M
1
d
mod n y r
M2
= M
2
d
mod n Si ahora M
3
= M
1
M
2
:
r
M3
= (M
1
M
2
)
d
mod n = M
1
d
M
2
d
mod n = r
M1
r
M2
mod n
Posible vulnerabilidad de la firma RSA
Comentario: si la firma se realiza sobre un texto es prcticamente imposible
que el producto de dos textos d un nuevo texto con sentido. No obstante,
sabemos que este tipo de firmas asimtricas se realizan sobre un nmero
resultado de un hash por lo que podra darse una situacin as, aunque por
el tamao del hash sera bastante poco probable este tipo de colisin.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 785
Sean las claves n = 15.833 = 71223, e = 17, d = 7.313.
Sea M
1
= 8.643 y M
2
= 10.014 (ambos elementos de n)
Firma de M
1
: r
M1
= 8.643
7.313
mod 15.833 = 840
Firma de M
2
: r
M2
= 10.014
7.313
mod 15.833 = 5.049
Sea M
3
= M
1
M
2
= 8.64310.014 mod 15.833 = 7.824
Firma de M
3
: r
M3
= 7.824
7.313
mod 15.833 = 13.749
... y r
M1
r
M2
= 8405.049 mod 15.833 = 13.749
Ejemplo de firma RSA con colisin
Y. Desmedt, W. de Jonge y D. Chaum presentan en el ao 1986 una
variante de la firma RSA que evita este problema de la multiplicatividad.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 786
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
Firma digital ElGamal de A hacia B
http://www.math.clemson.edu/faculty/Gao/crypto_mod/node5.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 787
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 (esto debe cumplirse) entonces:
b
mod p = 3.631
b = 20, h = 31
2
16
< 79.903 < 2
17
Forzaremos firmar
bloques de 16 bits
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
Ejemplo de firma ElGamal (B A)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 789
Adela Benito
Claves Benito
p
B
= 79.903 = 10
b
mod p = 3.631
b = 20, h = 31
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
Adela recibe de Benito el par (r, s) = (11.755, 68.539)
h(M) = A69B = 42.651
Comprobacin de firma ElGamal por A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 790
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
Si se elige = 11, para el exponente 39.951 se obtiene un 1 por lo
que no es raz.
Compruebe que en este caso no nos servir para la firma digital
porque ser imposible comprobarla mediante k =
M
mod p.
Benito
Importancia de en la firma de ElGamal
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 791
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.
Estndares de firma digital
http://www.itl.nist.gov/fipspubs/fip186.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 792
Parmetros pblicos de la firma:
Un nmero primo p (512 bits < p < 1024 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 un entero que verifica:
q
mod p = 1 As, para todo t:
t
=
t (mod q)
mod p
y eso qu es?
Digital Signature Standard DSS
Eleccin de parmetros: primero se busca el primo p, luego un
primo q que sea divisor de (p-1) y luego un valor g en p, de
forma que si = g
(p-1)/q
mod q 1, ste ser el generador...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 793
Elegir un nmero primo 2
159
bits < q 2
160
bits.
Elegir 0 t 8 y encontrar un nmero primo p que est en
2
511+64t
p 2
512+64t
y que adems q divida a (p-1).
Elegir un generador de orden q de la siguiente forma:
Elegir g, un elemento de p, de forma que se cumpla
la condicin = g
(p-1)/q
mod p 1. Recuerde que esta
raz no ser la misma que la conocida hasta ahora.
Elegir como clave privada un valor aleatorio x dentro del
cuerpo del primo q.
Calcular la clave pblica y =
x
mod p.
Hacer pblico los parmetros q, p, , y.
La eleccin de los parmetros en DSS
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 794
Valores pblicos de A: primos p, q y el generador
Clave secreta de la firma: x (1 x q) aleatorio
Clave pblica de la firma: y =
x
mod p
Para encontrar y firmar un mensaje 1 M p, A ya ha
elegido un valor aleatorio 1 k q
Luego el firmante A calcula:
r = (
k
mod p) mod q
s = [(M + xr) inv (k,q)] mod q
La firma digital de A sobre M ser el par (r, s)
Generacin de firma DSS (A B)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 795
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:
r = (
u
y
v
mod p) mod q
Si se cumple, B acepta la firma como vlida.
La firma DSS tendr un
tamao menor que q al
reducirse (r, s) a dicho
mdulo, siendo q << p.
Comprobacin de firma DSS por B
Observe que la comprobacin
de la firma se hace sobre r, un
valor en el que no interviene el
valor del mensaje M y que,
adems, la firma se hace ahora
sobre valores de q y no de p.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 796
Adela
Benito
Hola Adela, soy Benito y firmo con DSS.
Sea h(M) = 30 (un elemento de q
B
)
Claves Benito
p
B
= 223; q
B
= 37; = 17
y =
x
mod p = 30
x = 25; k = 12
Como se firmar
sobre valores de q
B
,
los mensajes a firmar
sern 0 h(M) 36.
Firma
1) inv (k, q) = inv (12, 37) = 34
2) r = (
k
mod p) mod q = (17
12
mod 223) mod 37 = 171 mod 37 = 23
3) s = [h(M)+xr][inv (k,q)] mod q = [30+2523]34 mod 37 = 35
4) La firma digital de h(M) = 30 ser: (r, s) = (23, 35)
5) Benito transmite a Adela el bloque: (M, r, s) = (M, 23, 35)
Ejemplo de firma DSS (B A)
Compruebe que son
correctos p, q. Y que
g = 19 genera = 17.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 797
Adela Benito
Comprobacin de la firma
1) w = inv (s, q) = inv (35, 37) = 18
2) u = h(M)w mod q = 3018 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 de ElGamal.
Claves Benito
p
B
= 223; q
B
= 37; = 17
y =
x
mod p = 30
x = 25; k = 12
Adela recibe el bloque:
(M, r, s) = (M, 23, 35)
I
g
u
a
l
d
a
d
?
Comprobacin de la firma DSS por A
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 798
Podramos pensar que al bajar el nmero de bits de 1.024 en la firma de
ElGamal a slo 160 (el valor de q) en la firma DSS la seguridad de
dicha firma est comprometida.
No obstante, la firma DSS tiene la misma fortaleza que la de ElGamal
ya que q es un subgrupo de p. Eso quiere decir que para resolver el
problema del logaritmo discreto en q, habr que hacerlo
obligatoriamente en p.
Para evitar diversos ataques tanto en la firma ElGamal como en DSS,
deber firmarse siempre una funcin hash.
DSS requiere el uso del hash h(M) sobre M con SHA-1.
Importante: recuerde que se firma un hash SHA-1 de 160 bits en un
cuerpo q tambin de 160 bits, aunque p sea de 1.024 bits.
Seguridad de los 160 bits de q
http://lists.gnupg.org/pipermail/gnupg-users/2000-August/006286.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 799
No todos los valores h(M) podrn firmarse con DSS.
Para comprobar la firma en recepcin se calcula el valor
w = inv (s, q), donde s = [h(M)+br][inv (k,q)] mod q.
Luego, debe existir dicho inverso.
Si s = 0 no existe el inverso. Luego esta condicin deber
comprobarse en emisin antes de proceder a la firma.
No obstante, la probabilidad de que se d esta situacin en
el cuerpo q de 160 bits ser de uno en 2
160
.
As mismo, en emisin deber verificarse que r 0. En
ambos casos se elegir un nuevo valor de h.
Mensajes que no tienen firma DSS
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 800
Adela
Benito
Hola Adela, vamos a ver qu pasa ahora.
Sea ahora h(M) = 17 (un elemento de q
B
)
Claves Benito
p
B
= 223; q
B
= 37; = 17
y =
x
mod p = 30
x = 25; k = 12
Firma
1) inv (k, q) = inv (12, 37) = 34
2) r = (
x
mod p) mod q = (17
12
mod 223) mod 37 = 171 mod 37 = 23
3) s = [h(M)+br][inv (k,q)] mod q = [17+2523]34 mod 37 = 0
4) La firma digital de h(M) = 17 sera: (r, s) = (23, 0) ... /
Ejemplo de mensaje sin firma por s = 0
Como es obvio si h(M) = 17 + Kq
B
, es decir 17, 54, 91, 128, 165, 202 ...
caemos en un cuerpo de equivalencia en mod q
B
y se repite esta situacin.
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 801
SIMTRICAS
Claves: una clave secreta para
ambos comunicantes.
Cifrado: en bloque y en flujo.
Tasas de cifra: MB/seg.
Fiabilidad: baja; necesario un
intercambio previo de clave.
Vida de la clave: efmera, one-
time pad, segundos, minutos.
Algoritmos: Rabin, Desmedt,
Matyas-Meyer, Lamport-Diffie.
Firmas simtricas versus asimtricas
ASIMTRICAS
Claves: comunicantes con
claves secreta y pblica.
Cifrado: slo bloque.
Tasas de cifra: KB/seg.
Fiabilidad: alta; no necesita
intercambio previo de clave.
Vida de la clave: duradera, se
repite, meses, un ao.
Algoritmos: RSA, ElGamal,
DSS, Rabin, curvas elpticas.
Los sistemas de firma digital actuales son con clave pblica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 802
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) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 803
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.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 804
Prcticas del tema 16 (1/3)
Software ExpoCrip:
http://www.criptored.upm.es/software/sw_m001l.htm
1. FIRMA RSA. Con la clave p = 3, q = 11, e = 3, compruebe que la firma de
mensajes numricos dentro del cuerpo {0, 1, ..., 32} son todos valores
distintos y que no puede haber firmas iguales para mensajes distintos.
2. Observe lo que pasa al firmar los mensajes 0, 1, 10, 11, 12, 21, 22, 23, 32.
3. Qu sucede con estos mensajes si ahora se elige la clave e = 13?
4. Con esta ltima clave firme el mensaje numrico N = 13.
5. Compruebe que la firma es correcta. Cmo comprueba esto el programa?
6. Cambie el mensaje numrico a N = 35, vuelva a firmar y a comprobar la
firma. Por qu sucede esto ahora? Qu pasa ahora si N = 2?
7. Con esta ltima clave firme el mensaje hexadecimal N = 1F.
8. Con esta clave firme el mensaje M = Hola; compruebe la firma . Con la
ayuda del programa, vea cmo se generan los bloques para la firma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 805
Prcticas del tema 16 (2/3)
9. Para la clave p = 37, q = 53; e = 25, firme el mensaje M = Por este trabajo
le pagaremos 1.000,00 Euros. Compruebe la firma.
10. Modifique el texto en claro y cambie 1.000,00 por 9.000,00. Vuelva ahora
a comprobar la firma y comente qu ha sucedido y porqu.
11. FIRMA ELGAMAL. Con la clave p = 19, = 10, x = 7, k = 5, compruebe
que las firmas de todos los valores de cuerpo {0, 1, ..., 18} son valores
distintos y no puede haber firmas iguales para mensajes distintos.
12. Qu sucede si supone un generador = 4? Qu hace el programa?
13. Se observa el mismo problema de mensajes no firmables que en RSA?
Existe algo que le llame la atencin? Si no, vea la siguiente pregunta.
14. Genere claves de firma para p = 11, p = 13, p = 17, p = 23, p = 29, p = 37;
y compruebe que la firma del mensaje 0 y p-1 siempre es el mismo valor y
que precisamente no aparece entre los restos de firma el valor p-1.
15. Con una de esas claves firme M = Esta es otra firma. Compruebe la firma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 16: Autenticacin y Firma Digital
Pgina 806
Prcticas del tema 16 (3/3)
16. Para p = 472287102421, = 33, x = 31023, k = 40981, firme y compruebe
estos mensajes: N
10
= 2001, N
16
= FD9C5, M
ASCII
= Hola, qu tal?
17. FIRMA DSS. Para la clave DSS p = 19, q = 3, g = 13, x = 2, k = 2, firme
todos los valores de cuerpo q {0, 1, 2} y compruebe que los valores de las
firmas estn siempre en el cuerpo de q. Son todas distintas?
18. Qu tipo de generador usa el programa? Es un generador de p o de q?
19. Repita el ejercicio anterior para p = 23, q = 11, g = 17, x = 5, k = 9.
20. Para la clave DSS p = 53, q = 13, g = 31, x = 8, k = 6, firme los primeros 7
mensajes numricos N = {0, 1, ..., 6}. Para cada una de ellos observe el
seguimiento de la comprobacin y compruebe manualmente al menos una.
21. Con esta clave firme el mensaje M = A. Puede comprobar la firma?
Repita para M = AB, M = ABC. Repita para esos valores en hexadecimal.
22. Si p = 124540019, q = 17389, g = 110217528, ( = 10083255), k = 9557, y
x = 12496, compruebe que la firma de M = 5246: (r, s) = (34, 13049).
Valores A. Menezes: http://www.cacr.math.uwaterloo.ca/hac/about/chap11.pdf.
Captulo 17
Certificados Digitales y Estndar PKCS
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 21 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 808
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.
Una de las certificaciones ms usadas y un estndar en
la actualidad en infraestructuras de clave pblica PKIs
(Public-Key Infrastructure) es X.509.
http://www.ietf.org/html.charters/pkix-charter.html
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 809
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 de la AC.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 810
Formato del certificado digital X.509
Funcin hash que se cifra con
la clave privada de la AC
Versin
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
Firma de la AC
Identificador del algoritmo
Perodo de validez
Clave pblica que se firma
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 811
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) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 812
Autoridades de Certificacin
A B
certificado de 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
& &
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 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) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 813
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) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 814
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) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 815
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.
Si el certificado digital X.509 de un servidor no pertenece a una AC reconocida o
instalada en su programa cliente, aparecer una pantalla similar a la que se muestra.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 816
Certificado de email X.509 de Verisign (1)
Paso 1
Acceda a la web segura indicada abajo y seleccione navegador.
Introduzca su nombre, direccin de correo y password.
Indique que desea un certificado de prueba gratis por 60 das.
Seleccione el nivel de seguridad que desea para el acceso a su clave
privada; es recomendable elegir el valor alto.
Pulse el botn aceptar.
Paso 2
Observar el mensaje You should receive an e-mail from the Digital ID
Center within the hour at the e-mail address you entered in the
enrollment form. It will contain instructions for installing the Digital ID
y en menos de 10 minutos recibir un email para seguir los pasos 3 y 4.
Pasos 3 y 4 en prxima diapositiva.
https://digitalid.verisign.com/client/enroll.htm
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 817
Certificado de email X.509 de Verisign (2)
Paso 3
Use el Personal Identification Number (PIN) que le envan por correo
que ser parecido a ste 5cd472bd311f89eb25f2511ce5e86b31 y pguelo
en la pgina de VeriSign's secure Digital ID Center que se indica:
https://digitalid.verisign.com/enrollment/mspickup.htm
Pulse el botn de Submit para instalar el certificado en su computador.
Paso 4
El Digital ID
SM
ha sido generado con xito y con los siguientes datos:
Organization = VeriSign, Inc.
Organizational Unit = VeriSign Trust Network
Organizational Unit = www.verisign.com/repository/RPA Incorp. by
Ref.,LIAB.LTD98
Organizational Unit = Persona Not Validated
Organizational Unit = Digital ID Class 1 Microsoft
Common Name = Jorge Ramio
Email Address = jramio@eui.upm.e
sPulsamos el botn Instalar
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 818
Certificado X.509 en Outlook Express
Abra Outlook Express.
Seleccione Herramientas
- Opciones - Seguridad.
Puede seleccionar que
todos sus mensajes
salientes vayan cifrados.
Puede seleccionar que
todos sus mensajes
salientes vayan firmados
digitalmente.
Para mayor informacin
vaya a Opciones
Avanzadas.
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 819
Opciones Avanzadas del certificado X.509
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 820
Caractersticas del certificado X.509 (1)
Si pulsamos en Ids. Digitales, podemos observar nuestro certificado.
Doble clic en nombre
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 821
Caractersticas del certificado X.509 (2)
Observe en la clave pblica RSA el valor e = 010001
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 822
Estndar PKCS
PKCS: Public-Key Cryptography Standards, son un conjunto de
especificaciones tcnicas desarrolladas por Netscape, RSA y otros
desarrolladores de informtica cuyo objeto es uniformizar las tcnicas
y protocolos de la criptografa pblica.
Publicacin de la primera versin 1.0 se hace en el ao 1991.
PKCS forma parte de distintos estndares de hecho como ANSI PKIX,
X9, SET, S/MIME y SSL.
A la fecha existen 14 documentos con ttulos genricos que van desde
PKCS #1 a PKCS #15.
El de mayor trascendencia podra ser PKCS #11 llamado CRYPTOKI.
Mantendremos los ttulos originales en su versin en ingls de RSA
Security Inc. Public-Key Cryptography Standards PCKS.
http://www.rsasecurity.com/rsalabs/pkcs/
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 823
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
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 824
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) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 825
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 firmas 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 captulo
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 826
Cuestiones y ejercicios
1. Qu es lo que certifica o autentica 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?
Jorge Rami Aguirre Madrid (Espaa) 2001
Captulo 17: Certificados Digitales y Estndar PKCS
Pgina 827
Prcticas del tema 17
1. Acceda a un gran almacn de su pas que permita realizar compras seguras
por Internet. Si no conoce una direccin Web use, por ejemplo, la pgina
http:www.elcorteingles.com en Espaa, ponga algn artculo en el carrito
de la compra y comience el proceso necesario para efectuar el pago, sin
concluirlo, para abrir una sesin SSL. Observe que al pasar el ratn sobre
el candado cerrado de su navegador, aparece SSL 128 bits. Qu significa?
2. Haga doble clic en ese candado y observe todas las caractersticas del
certificado de ese servidor web.
3. Abra la pestaa de la clave pblica RSA y observe los ltimos 6 dgitos en
hexadecimal 010001. Copie este valor en la calculadora de Windows y
luego convirtalo a decimal. Compruebe que este valor es el mismo para
otros servidores seguros. Le dice algo este valor?
4. En las propiedades u opciones de su navegador, abra los certificados de
distintas Autoridades de Certificacin y observe sus caractersticas.
Captulo 18
Aplicaciones de Correo Seguro
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 97 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 829
El correo electrnico seguro
En sistemas abiertos como en el caso de Internet, el correo
seguro se logra a travs de la plataforma S/MIME acrnimo
de Secure Multipurpose Internet Mail Extensions.
A comienzos de los aos 90 hacen su aparicin dos sistemas
o aplicaciones 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 de e-mail seguro en entornos cerrados.
Por lo tanto veremos slo algunos aspectos genricos de PEM
y analizaremos ms en profundidad PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 830
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.
http://www.ietf.org/rfc/rfc1421.txt
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 831
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 832
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 833
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 834
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.
http://www.philzimmermann.com/ES/background/index.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 835
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, una de las ltimas.
La filosofa de las nuevas versiones es exactamente la misma...
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 836
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 que se indica.
Esta aplicacin le servir para aprender rpidamente los
comandos y prestaciones de esta versin de PGP, muy similar
a las actuales. PGP 2.6.3i ocupa menos que un disquete de 1,4
MB, aunque todas sus operaciones son en modo comando.
http://www.criptored.upm.es/software/sw_m001g.htm
http://www.criptored.upm.es/software.htm#freeware
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 837
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 y
para recuperar clave privada asimtricas y cifrado local.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 838
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 839
Caractersticas del cifrado local
Esta operacin sirve para mantener los archivos
protegidos, por ejemplo en el disco duro.
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.
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 840
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. Con esa clave, PGP cifra el documento con el
algoritmo IDEA y le pone como extensin .pgp.
4. Como una opcin, permite luego hacer un borrado
fsico del archivo en claro.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 841
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.
Recuerde que a igual contrasea (frase de paso), tendremos igual hash.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 842
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 de este curso.
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 843
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, en hexadecimal 10001.
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 844
Anillos de claves asimtricas
Con las claves pblica y privada generadas y otras
claves pblicas que el usuario 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 importadas.
Anillo de claves privadas: archivo secring.pgp
en el que se guarda la o las claves privadas del
usuario propietario (ms de una identidad).
Nota: estos anillos cambiarn su extensin en
las nuevas versiones por pkr.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 845
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 846
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 847
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 848
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 podremos
enviar correo cifrado y/o firmado. Pero ... cmo
se gestionan las claves en PGP?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 849
Gestin del anillo de claves pblicas
?
?
?
A1 Nivel A
B1 B2 B3 Nivel B
D1
Nivel D
X Y
X es firmado por Y
Propietario del anillo
C2 C4 C5 C3 Nivel C C1
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
?
La clave est firmada por un
usuario o Autoridad que no
est en anillo de claves de A1
Ms...
A1 cree en legitimidad de clave
A1 no cree que la clave sea legtima
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 850
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 851
Problema en estos escenarios de confianza
La gestin de claves en PGP
se basa en la confianza mutua
y es adecuada solamente para
entornos privados o intranet.
En un sistema abierto como es Internet y aplicaciones
como el comercio electrnico, esta situacin y otras
ms que pueden darse en este sistema de gestin de
claves por 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.
Los amigos de
tus amigos sern
mis amigos?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 852
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 853
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
El documento se comprime
antes con el algoritmo ZIP
Necesitamos una
clave de sesin...
Por compatibilidad de
sistemas clientes de
correo, se le aade
armadura (Base 64)
antes de transmitirlo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 854
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 y el hash MD5 entregue la clave de descifrado.
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 855
Descifrado con la clave privada de destino
Se busca en el anillo de
claves privadas del receptor
Mensaje
cifrado
Clave de
sesin
cifrada
Clave privada
destino cifrada
CONTRASEA
Clave privada
descifrada
Clave
de
sesin
Mensaje en
claro
Se le quita finalmente la armadura y se descomprime
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 856
Firma digital RSA
Mensaje en
claro
Bloque de
firma
digital
Mensaje en
claro
Clave privada
cifrada IDEA
CONTRASEA
Clave privada
descifrada
Se va a firmar un mensaje en claro
Necesitamos nuestra
clave privada...
Si se desea se puede
enviar tambin cifrado
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 857
Comprobacin de la firma digital RSA
Clave pblica
del emisor
Bloque de
firma digital
Mensaje en
claro recibido
Se calcula en destino la funcin hash del mensaje y comparamos
IGUALES ?
Firma
correcta
Firma
incorrecta
H(M)
enviado
H(M)
calculado
S
No
Se busca la clave pblica del
emisor para descifrar la firma
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 858
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
ZIP
E(e
B
)
R64
Orden de las operaciones
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 859
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 a partir de la versin 8.0 (diciembre
2002) con PGP Corporation se ha liberado otra vez el cdigo.
Ha vuelto otra vez la cordura? Aqu puede haber varias opiniones....
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 860
Algoritmos en nuevas versiones de PGP
Generacin de claves
RSA: 1.024 - 4.096 bits
Diffie y Hellman: 1.024 - 4.096 bits
Firma digital
DSS Digital Signature Standard: 1.024 bits
Cifrado
AES, CAST, IDEA, TripleDES, Twofish
Resumen
SHA-1 (160 bits) y MD5 (128 bits)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 861
Algunas versiones de PGP en Windows
Desde la versin 5.0 hasta las actuales (versiones 8.0 y siguientes) los
esquemas de cifrado local, cifra asimtrica 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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 862
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 863
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 864
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 865
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.
En versiones anteriores haba que mover el ratn
para obtener una semilla; hoy se hace con datos
aleatorios propios de cada computador.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 866
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 867
Opciones de atajos de PGP 6.5.1
La opcin de usar
teclas para atajos es
poco interesante pero
puede activarse si se
desea.
Tal vez se podra
haber ahorrado esta
ventana.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 868
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 869
Opciones de ACs de PGP 6.5.1
Tambin
VeriSign OnSite
y Entrust
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 870
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
permite 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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 871
El programa PGPtray de acceso directo
Lamentablemente PGPnet no se
incluye en nuevas versiones freeware
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 872
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 873
Generacin de claves con PGPkeys 6.5.1
Esta es la primera pantalla que aparece una vez instalado PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 874
Nombre del usuario y su correo
No es necesario que
la direccin de
correo sea la real.
No obstante, sirve
para los que se
quieran comunicar
con nosotros sepan
que esa clave es real
y pertenece a esa
direccin de email.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 875
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 876
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.
http://www.imc.org/smime-pgpmime.html
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 914
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 915
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 916
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) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 917
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?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 918
Prcticas del tema 18 (1/7)
Software PGP 8.0:
http://www.criptored.upm.es/software.htm#freeware
1. Si no tiene instalado PGP, descrguelo e instlelo. Acepte por defecto
todas las opciones, reiniciando su computador y observe que en este caso
le fuerza a crear un par de claves asimtricas: cree una cualquiera. Si tiene
instalada una versin anterior a la sta, instlela indicando que tiene claves
y que desea conservarlas en esta nueva versin.
2. Pinche en el icono PGPtray (candado) que aparece en la barra de tareas y
observe en PGPkeys que estn sus claves y la nueva, si la ha creado.
3. Abra la carpeta Archivos de programa\PGP Corporation\ y observe los
documentos pdf en la carpeta Documentation. Si puede, imprmalos.
4. Desde PGPkey - Keys - New Key cree la siguientes clave:
Nombre: Juan Prez email: juanito@empresa.com
Passphrase: Esta es la clave de Juanito
5. Observe la clave generada en PGPkeys.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 919
Prcticas del tema 18 (2/7)
6. Repita el ejercicio anterior entrando ahora en modo Expert, generado una
clave DH/DSS de 1024 bits y duracin un ao para el usuario Jos Ramos;
y una clave RSA de 1024 y duracin seis meses para el usuario Ana Vlez.
Observe las nuevas claves y sus caractersticas: Key Properties.
7. Abra la opcin View de PGPkeys, active todas las casillas y obsrvelas.
8. Active como usuario por defecto a Jos Ramos: botn derecho del ratn y
Set by Default. Hecho esto, sobre las claves de Juan Prez y Ana Vlez
pulse el botn derecho y firme esas claves: sign. Observe las propiedades
de esas claves despus de esta firma.
9. Con la opcin PGPkeys - Keys - Add - Photo, incluya una fotografa a
cada una de estas tres claves. Observe que le pide la clave privada de cada
uno, sin necesidad que sea el usuario por defecto. Vea las propiedades.
10. Con PGPkeys - Keys - Export, exporte la clave pblica de Jos Ramos.
Observe el fichero creado. Repita el ejercicio exportando ahora adems la
clave privada y observe el fichero creado.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 920
Prcticas del tema 18 (3/7)
11. Copie al portapapeles todo el bloque siguiente y dentro de PGPkeys pegue
su contenido (Crtl V) para importar la clave pblica que supuestamente le
ha llegado en un correo electrnico o se la ha entregado en mano Patricia:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP 8.0 - not licensed for commercial use: www.pgp.com
mQGiBEF+iZsRBADV5uEp8xSuM/9s8Yo35ajTivI0sFoGr0X7o0iCGIL3MXMqbLUQ
t/4gFH2joQQT7FxzCUuLwItFGVbWN6sE/1Pl0WJ24ItTBoS9jkvPJ4GTZSrAZqzj
dWgv16VAyKvEMZ/8vjetd/YRcx5KORdbMkZFsn+YEBt+amGEG7bPl+UA3QCg//b/
PSn1CgNxfP/MdTHb0IhmspcD/j7G7pA/GAJ1aZi4Xsp4QH2dJhSBBDxdaoRDVuQe
CADER2DFgC1KcPHkh1QnNWRNyAL3JLriy884mCSMTC0nF7MBq7bQCng6P6WdfZAP
lYAwrmNTIJTJLOISnxPuI++vM+Awqv/zPNkvYog5F12j//0Cm51sQ8rBB5MMppDK
wc8jA/0WD31Pt3wT0CPBdlzsywB+S1eXvYriMcK5yezKQElasaXyBtMPOTcfagXC
J/bwYQ/JFZGuAtXcR9YVoUKKPZToibV1Forj4O8g7kOCgFM7hKe+PuwRSFTkrcXK
usm0tci+O0c8Wkmkdhtmc4BigRALPk7wfObtjmWhzrTXQWDxl7QcUGF0cmljaWEg
PHBhdHR5QGVtcHJlc2EuY29tPokAWAQQEQIAGAUCQX6JmwgLCQgHAwIBCgIZAQUb
AwAAAAAKCRBTdLP9mT9CeipHAJ0dBgLluHQ5R2MzZ2K26sEdZ0NcaQCgmPr6GKTU
5vSeNunxGUZJXDMWeUO5AQ0EQX6JnhAEAOcINMith6D/dqoqLPyE7Dm9U8wV5I5R
jQ8vX+5kRr5nenKs0DZHZD88Q/ciGy/6IZapSrUU8Ob72wVJtsitLjr/9IrZFfaY
1M/ry4n57dKbSlUtIuoAMUduyaC2LXIHjA8aHcjkf1HzI5ZyN2VX47kBEvPCFK0X
90C6wlCsUMmzAAICBAC0+F5Iqf1Wcuix0tkzpxb85cRHqVkjKoV7vtOvx1wW7NLu
nAytWolWkmpmGknrxTM2XdHUJBDvi4KYwxOwMJCuxkAzpNWiOaGzjfiSZWcXK0T4
oiBs8OL2y9gdpFGvdIzZdc2m09iYJs7hGU5uGOFTyp7YJUsI35zUn0fO/o7vdIkA
TAQYEQIADAUCQX6JngUbDAAAAAAKCRBTdLP9mT9Ces1tAKDhyokWrHR4DmyWxaJS
9cMs9AssfACdEfDYQ/hJa5PVfUPQfk6yDjDg0IY=
=d8QC
-----END PGP PUBLIC KEY BLOCK-----
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 921
Prcticas del tema 18 (4/7)
12. Observe las propiedades de la clave importada. Se puede definir a Patricia
como usuario por defecto?
13. Vamos a crear una clave cualquiera para un usuario de nombre Alicia. Una
vez creada, exporte la clave pblica y privada. Hecho esto borre la clave de
Alicia en PGPkeys con tecla suprimir o bien Edit - Delete.
14. Con PGPkeys - Keys - Import, importe la clave de Alicia desde el archivo
creado en el paso anterior, observe el mensaje y comprubelo desde las
propiedades de la misma. Modifique la confianza en dicha clave.
15. Con el usuario Ana Vlez por defecto, firme las claves de los otros
usuarios creados con distintos noveles de confianza. Observe luego las
propiedades de las claves firmadas por Ana Vlez.
16. Revoque la clave de uno de los usuarios creados y observe las propiedades.
17. Con el botn derecho del ratn sobre documento de este libro electrnico
CriptoClasica.doc, cifre de forma convencional o cifrado local con la clave
K = Clave de cifra convencional. Abra el archivo con WordPad.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 922
Prcticas del tema 18 (5/7)
18. Observe el tamao del fichero cifrado y comprelo con el original.
19. Vuelva a cifrar de forma convencional el documento CriptoClasica.doc
con la misma clave, pero aada ahora la opcin Text Output. Abra el
archivo con WordPad y vuelva a comprara el tamao de los ficheros.
20. Cree un documento cualquiera con Word, Excel, etc. sencillo y cfrelo de
forma local con la clave K = Borrado de verdad, con las opciones Text
Output y Wipe. El archivo original ha sido destruido.
21. Recupere el archivo cifrado haciendo doble clic en l.
22. Para saber con qu algoritmo hemos cifrado, con qu profundidad se ha
realizado el borrado fsico y otras propiedades de PGP, desde el icono del
candado abra la pestaa Options y observe todas estas opciones.
23. Cifre nuevamente el documento CriptoClasica.doc de forma convencional
con la opcin Self Decrypting Archive. Observe el icono y el tamao del
fichero. Si puede hacerlo, descfrelo en un computador que no tenga
instalada ninguna versin de PGP.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 923
Prcticas del tema 18 (6/7)
24. Ponga por defecto al usuario Jos Ramos y desde el icono PGPtray abra el
portapapeles (Clipboard Edit), escriba un texto de algunas lneas y cpielo
al portapapeles (Copy to Clipboard). Luego cfrelo (Clipboard Encrypt)
para Ana Vlez, arrastrando su nombre a la ventana. Abra el portapapeles
(Clipboard Edit) y observe que el contenido est en Base 64. Si no sabe
qu significa esto, vaya al anexo de estos apuntes.
25. Descifre su contenido (Clipboard Decrypt & Verify). Observe que puede
copiar ese texto en claro y guardarlo en un achivo.
26. Repita la cifra anterior activando ahora en la cifra el modo Secure Viewer.
Puede guardar ahora el texto en claro?
27. Repita el ejercicio anterior pero ahora Jos Ramos slo firmar el texto.
Hecho esto, abra el portapapeles y observe su contenido. Compruebe que
la firma es vlida con la opcin (Clipboard Decrypt & Verify).
28. Repita el ejercicio anterior activando ahora la opcin de cifrar y firmar
(Clipboard Encrypt & Sign) . Descifre el criptograma.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 18: Aplicaciones de Correo Seguro
Pgina 924
Prcticas del tema 18 (7/7)
29. Si tiene un cliente de correo que tenga los plugins de PGP, enve y reciba
correo cifrado y firmado, bien a s mismo o con otro usuario.
30. Cree cinco claves de cualquier tipo con nombres Gerente, Consejero1,
Consejero2, Consejero3 y Consejero4. Cree ahora una clave de nombre
Empresa. Hecho esto, divida esta ltima clave (Share Split), defina como
umbral para recuperar la clave 5 y arrastre a la ventana a los cinco usuarios
antes creados, entregando a Gerente 3 partes y a cada Consejero 1 parte.
Observe que en este escenario siempre deber firmar Gerente.
31. Con Empresa como usuario por defecto, firme CriptoClasica.doc y observe
cmo se van solicitando las partes de la clave. Compruebe luego la firma.
32. Si tiene acceso a Internet, compruebe cmo funcionan los servidores de
clave, las listas de revocacin de certificados, etc.
33. Para terminar, en modo Expert cree algunas claves de tamaos extraos
como 1893 bits, 2871 bits, 4017 bits, ... y observe los tiempos que tarda
PGP en crearlas. Qu opina de la seguridad de esas claves RSA?
Captulo 19
Protocolos y Esquemas Criptogrficos
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 73 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 926
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?
http://www.criptored.upm.es/guiateoria/gt_m023c.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 927
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- con una clave, password o
passphrase y no pueda ser suplantado por un tercero?
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 928
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 los firmantes 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 a un
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 929
Ejemplos de protocolos criptogrficos (3)
5.- El problema del juego de pker mental o por telfono
Cmo permitir que dos o ms 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 < n partes sea posible reconstruirlo y,
en cambio, con k-1 partes imposible su reconstruccin?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 930
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 y mesas estn autenticados, y se pueda comprobar
que el voto se contabiliza de adecuadamente en el cmputo?
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 931
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 por ello desvelar el dinero
que tiene el 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 ordinario certificado?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 932
El 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 de Adela, sta sencillamente incluye una firma digital suya en
el sobre que le permita a Benito comprobar su autenticidad.
http://www.di.ens.fr/~pointche/Documents/Papers/2003_joc.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 933
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 coeficiente de ceguera k de forma que se
cumpla mcd (k, n
B
) = 1, calcula k
-1
= inv (k, n
B
) y luego
enmascara su mensaje mediante la siguiente operacin:
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
, es decir la firma
de B del documento M, una firma ciega sobre M.
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 934
Ejemplo de algoritmo de firma ciega
Adela (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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 935
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 936
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 937
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 938
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 939
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 de matemticas.
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 940
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 941
Conclusin del algoritmo de TI de Rabin
A enva a B cualquiera de estos cuatro valores:15, 50, 41, 76.
Si B recibe el nmero 15 (el valor que haba enviado a A) 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 B recibe cualquiera de los otros dos valores enviados por A
(50 41) valores que llamaremos y, podr factorizar n usando
la expresin mcd (x+y, n) con x, precisamente el valor elegido
por B 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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 942
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 943
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 944
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 ...
B
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
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 945
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 946
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 947
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 948
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 949
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 950
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 951
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 952
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.
http://zoo.cs.yale.edu/classes/cs467/2005f/course/lectures/ln20.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 953
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 954
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 955
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 956
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 al azar 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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 957
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 958
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 959
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 960
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 961
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 962
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? pisa Enter eligiendo la opcin S.
Ser para m
ese e-mail?
Para evitar estas situaciones podemos
usar el protocolo del correo certificado
El correo electrnico certificado
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 963
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 964
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 965
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 966
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 967
El protocolo del pquer mental (1)
Se trata de encontrar un protocolo que permita el juego del
pquer a travs de una red de computadores. Debe asegurarse el
juego limpio, sin trampas. Aunque el nmero de jugadores debera
ser 4, veremos un ejemplo slo para dos jugadores. La condicin
necesaria es que el sistema de cifra sea conmutativo, es decir que
permita D
KB
{E
KA
[E
KB
(x)]} = E
KA
(x). Un sistema podra ser Poligh
y Hellman con un nico cuerpo p de cifra o Vigenre numrico.
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
).
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 968
El protocolo del pquer mental (2)
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.
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.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 969
Protocolo de pquer mental con 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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 970
Protocolo de pquer mental con 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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 971
Protocolo de pquer mental con 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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 972
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 973
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 974
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 975
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 976
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 977
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 978
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 979
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 980
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, Universidad Autnoma de Barcelona, Espaa, 1999
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 981
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 982
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 983
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 984
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) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 985
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.
MCV y MCL deben ser rganos independientes
http://vototelematico.diatel.upm.es/
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 993
Cuestiones y ejercicios (1 de 4)
1. Qu diferencia hay entre un protocolo de red como por ejemplo
TCP/IP con un protocolo criptogrfico?
2. En una transferencia inconsciente de Rabin, A y B se intercambian
lo siguiente. A enva a B el nmero compuesto n = 55, B elige el
valor x = 9 y enva x
2
mod n a A. Qu valores de los 4 que puede
devolver A a B permiten a este ltimo factorizar el cuerpo n?
3. Qu sucede si en el ejemplo anterior B elige x = 10?
4. En el ejemplo anterior, estn bien elegidos por A los valores de p y
q? Qu valores usara si p y q fuesen nmeros mayores que 10?
5. Presente una solucin al problema del lanzamiento de la moneda a
travs del esquema de transferencia inconsciente de Rabin.
6. Calcule todos los valores de x
2
mod 13. Sea a = 2, 3, 4, 5, 6. Cules
son restos cuadrticos de Blum en el cuerpo n = 13?, por qu?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 994
Cuestiones y ejercicios (2 de 4)
7. Para los restos cuadrticos encontrados en el ejercicio anterior, se
cumple la paridad en el valor de x? Qu significa esto?
8. Cules de los siguientes siete nmeros compuestos son enteros de
Blum: 69, 143, 161, 189, 319, 713, 1.333? Justifquelo?
9. Encuentre todos los restos de y, z para el entero de Blum n = 33.
10. En un protocolo con enteros de Blum, A trabaja en n = 77 y elige el
valor x = 15. Calcula y = x
2
mod n y luego z = y
2
mod n. Enva el
valor z a B. Cul es el escenario del protocolo y cmo trabaja?
11. Qu sucede si en el esquema anterior de Blum el usuario B conoce
el valor de los primos p y q? Funciona as el protocolo?
12. En el algoritmo de firma de contratos con claves asimtricas y una
clave simtrica, cmo puede comprobar el usuario B que A est
usando en cada vuelta una clave privada distinta y no hace trampa?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 995
Cuestiones y ejercicios (3 de 4)
13. Cmo se entiende el compromiso de firma de A y B en el esquema
de firma de contratos de Even?
14. En el esquema anterior de Even qu relacin tiene el compromiso
bit a bit con el trmino correcto del protocolo? Por qu estn A y
B obligados a terminar el protocolo hasta el ltimo bit?
15. Se desea que el usuario B le firme de forma ciega al usuario A el
mensaje M = 100. Si n
B
= 253, e
B
= 19 y el usuario A elige k = 25,
realice y compruebe el protocolo de firma ciega.
16. Para qu podra servir un protocolo como el de firma ciega?
17. Por qu decimos que el actual acuse de recibo de los clientes de
correo electrnico no corresponde a uno verdadero?
18. En el algoritmo de correo con acuse de recibo, compruebe que B
obtiene la clave de descifrado del mensaje haciendo KI
Ai
KD
Ai
.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 996
Cuestiones y ejercicios (4 de 4)
19. Generalice el pker mental con cifra simtrica para 4 jugadores.
20. Qu diferencia hay en cuanto a la eleccin de cartas de una mano
entre el esquema de pker mental con cifra simtrica y el esquema
con cifra asimtrica? Es esto un inconveniente o no?
21. En el esquema de Quisquater y Guillou de conocimiento nulo, si
Mortadelo y Filemn repiten el protocolo 20 veces, cul es la
probabilidad de que el primero engae al segundo?
22. Usando el software Simulacin de Fortaleza de Cifrados, repita el
ejercicio de TCN de Koyama con n = 465.256.980.233 y e = 4.171.
B elige el valor m = 131, el mensaje M es el mismo y se recibe:
X
1
= 394.106.275.745; X
2
= 342.981.204.125; X
3
= 49.911.481.740;
X
4
= 366.983.136.296; X
5
= 56.903.681.682; X
6
= 246.374.030.904;
X
7
= 254.152.395.874. Qu valor tiene la clave privada d?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 19: Protocolos y Esquemas Criptogrficos
Pgina 997
Prcticas del tema 19
Software Fortaleza:
http://www.criptored.upm.es/software/sw_m001e.htm
1. Usando el software que se indica, compruebe los valores de los ejercicios
presentados y resueltos en este captulo.
2. Resuelva los ejercicios que se han propuesto en la seccin anterior de este
captulo. Invntese luego algunos ejemplos con nmeros grandes.
3. Usando este software, compruebe que es posible realizar el protocolo del
pquer mental mediante el algoritmo de Poligh-Hellman.
Software CripClas:
http://www.criptored.upm.es/software/sw_m001c.htm
1. Usando el software CripClas compruebe que el sistema de Vigenre sirve
para realizar el protocolo del pquer mental.
Nota: en este ao 2006 ya estar disponible un software de prcticas
especfico para la resolucin de algunos protocolos criptogrficos.
Captulo 20
Introduccin a la Cifra con Curvas
Elpticas
Seguridad Informtica y Criptografa
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 30 diapositivas
Dr. Josep Mara Miret Biosca
Universidad de Lleida
v 4.1
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 999
Nota de agradecimiento del editor
Este tema ha sido entregado para su inclusin en el libro electrnico
por parte de mi colega y amigo Josep Mara Miret Biosca, Dr. en
Matemticas y experto en curvas elpticas e hiperelpticas. Josep es
profesor de la Universidad de Lleida, en Catalunya, Espaa.
Si bien la cifra con curvas elpticas est experimentando ltimamente
un gran desarrollo, recuerde que lo que aqu se muestra es tan slo una
breve introduccin al tema, con ciertas modificaciones con respecto a
la documentacin de la versin 4.0 del libro.
Si est interesado en esta lnea de investigacin, podr encontrar
mucha informacin en Internet en estos enlaces en espaol e ingls.
http://www.matematica.udl.es/cas/professor.html?id=23
http://www.google.es/search?hl=es&q=criptografia+curvas+el%C3%ADpticas&meta=
http://www.google.es/search?hl=es&q=elliptic+curve+cryptography&meta=
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1000
Introduccin
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1001
Curvas elpticas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1002
Conjunto de puntos en una curva elptica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1003
Suma de puntos en una curva elptica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1004
Expresiones analticas del punto suma
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1005
Mltiplos de un punto de una curva
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1006
Curvas elpticas sobre cuerpos finitos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1007
Una curva sobre un cuerpo finito F
p
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1008
Criptosistemas con curvas elpticas
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1009
Criptosistema ElGamal elptico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1010
Cifrado ElGamal elptico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1011
Descifrado ElGamal elptico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1012
Ejemplo de cifrado con ElGamal elptico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1013
Ejemplo de descifrado con ElGamal elptico
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1014
ElGamal elptico vs ElGamal multiplicativo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1015
Tamaos de clave
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1016
Dificultad del PLDE
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1017
Firma digital con curvas elpticas: ECDSA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1018
Verificacin de firma con ECDSA
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1019
Ejemplo generacin de firma ElGamal
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1020
Ejemplo verificacin de firma ElGamal
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1021
Curvas criptogrficamente tiles
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1022
ECC challenges
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1023
ECC challenges por resolver
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1024
Notaciones usadas en los ECC challenges
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1025
Software libre para usar curvas elpticas
Fin del captulo
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1026
Cuestiones y ejercicios (1 de 2)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 20: Introduccin a la Cifra con Curvas Elpticas
Pgina 1027
Cuestiones y ejercicios (2 de 2)
Material Docente de
Libre Distribucin
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 78 diapositivas
Dr. Jorge Rami Aguirre
Universidad Politcnica de Madrid
Seguridad Informtica y Criptografa
Curso de Seguridad Informtica y Criptografa JRA
v 4.1
Captulo 21: Bibliografa, Enlaces,
Tablas, Software y Documentos
Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el uso,
reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales, respetando los
crditos del autor. Queda por tanto prohibida su venta, excepto la versin 3.1 a travs del Departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1029
Bibliografa recomendada en castellano (1)
Pastor, Jos; Sarasa, Miguel Angel
CRIPTOGRAFA DIGITAL. FUNDAMENTOS Y APLICACIONES
Prensas Universitarias de Zaragoza
Ao 1998 (597 pginas)
Extenso y completo texto sobre tcnicas criptogrficas modernas, con una
buena cantidad de ejemplos y profusin de tablas con datos de inters.
Destacan los captulos de cifra con clave secreta, en donde se estudian
ms de una docena de criptosistemas, los de clave pblica y su aplicacin
en firmas digitales y un captulo dedicado a protocolos criptogrficos. En
particular, estn muy bien tratados los apndices con temas matemticos
as como los algoritmos de factorizacin y del logaritmo discreto, algo no
muy comn y que se agradece. Para el buen seguimiento es necesario
contar con una buena base matemtica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1030
Bibliografa recomendada en castellano (2)
Fster, Amparo; De la Gua, Dolores; Hernndez, Luis; Montoya, Fausto;
Muoz, Jaime
TCNICAS CRIPTOGRFICAS DE PROTECCIN DE DATOS.
TERCERA EDICIN
Editorial Ra-Ma
Ao 2004 (416 pginas)
Detallado y actualizado resumen de las tcnicas de cifra modernas,
profundizando en los sistemas de clave secreta con cifra en flujo y en
bloque, de clave pblica y sus aplicaciones en redes. De especial inters
resulta el captulo dedicado a protocolos criptogrficos y sus apndices en
donde explica los mtodos matemticos usados en criptografa y nociones
sobre complejidad computacional. La edicin incluye adems una
interesante coleccin de problemas y sus soluciones en un CD ROM.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1031
Bibliografa recomendada en castellano (3)
Caballero, Pino
INTRODUCCIN A LA CRIPTOGRAFA. SEGUNDA EDICIN
Editorial Ra-Ma, Textos Universitarios, Madrid
Ao 2002 (160 pginas)
Es ste un libro de introduccin a las tcnicas criptogrficas que presenta
estos temas bajo una orientacin matemtica clara y precisa. Corresponde
a una actualizacin de la primera edicin de 1996 en la que trata los temas
de criptografa terica, criptografa de clave secreta y pblica, problemas
de autenticacin y accesos y algunas aplicaciones criptogrficas. Para un
buen seguimiento de la lectura y aprovechamiento de los temas tratados en
l, en algunos apartados es recomendable contar con una cierta base de
conocimientos en matemticas a nivel universitario.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1032
Bibliografa recomendada en castellano (4)
Carracedo Gallardo, Justo
SEGURIDAD EN REDES TELEMTICAS
Editorial McGraw - Hill
Ao 2004 (540 pginas)
Con 11 captulos que van desde aspectos bsicos de la seguridad y los
fundamentos tericos de criptografa hasta las aplicaciones seguras en
redes, sus herramientas de proteccin y autenticacin, terminando con
conceptos avanzados y muy actuales sobre servicios de anonimato para la
sociedad de la informacin, este libro hace un amplio y claro barrido de la
seguridad en las redes telemticas. Dedicado al estudio de los problemas y
las soluciones presentes en la securizacin de las comunicaciones, est
dirigido tanto a estudiantes universitarios como a profesionales egresados
de facultades y escuelas de ingeniera que requieren estar al da.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1033
Bibliografa recomendada en castellano (5)
Alvarez Maran, Gonzalo; Prez Garca, Pedro Pablo
SEGURIDAD INFORMTICA PARA EMPRESAS Y
PARTICULARES
Editorial McGraw - Hill
Ao 2004 (440 pginas)
Entre otros temas, el libro trata de la proteccin del anonimato y de la
privacidad en Internet, proteccin de la confidencialidad de la informacin
mediante el cifrado con EFS y SSL, proteccin de la disponibilidad de la
informacin mediante sistemas tolerantes a fallos, estrategias de
recuperacin de sistemas y copias de seguridad, planes de contingencia,
utilizacin de las firmas electrnicas y los certificados digitales, eleccin
adecuada de cortafuegos, creacin de una red privada virtual, protecciones
ante el malware, sistemas de deteccin y prevencin de intrusiones, etc.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1034
Bibliografa recomendada en castellano (6)
Stallings, William
FUNDAMENTOS DE SEGURIDAD EN REDES. APLICACIONES Y
ESTNDARES
Prentice-Hall Inc.
Ao 2003 (456 pginas)
Corresponde a la traduccin del ingls al espaol del libro que se comenta
ms adelante. Manteniendo la misma filosofa que su edicin en ingls, en
este caso contiene 225 pginas menos. Presenta temas de cifra simtrica y
asimtrica, algoritmos, firmas, hash, autenticacin y seguridad en redes.
Est ms centrada en la seguridad en Internet, profundizando en temas
como correo seguro, protocolos de redes, IP seguro, seguridad en Web,
intrusiones, cortafuegos, etc. Un excelente libro para el estudiante, si bien
para el profesor es recomendable el original en ingls.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1035
Bibliografa recomendada en castellano (7)
Singh, Simon (traduccin de Jos Ignacio Moraza)
LOS CDIGOS SECRETOS
Editorial Debate S.A.
Ao 2000 (382 pginas)
Interesante libro de Simon Singh editado en 1999, en el que se hace un
repaso extenso de la criptografa denominada clsica, mquinas y
artilugios de cifra, mquina Enigma, etc., desde una perspectiva un tanto
novelesca que, sin desmerecer en absoluto la calidad tcnica del mismo, lo
convierte en un excelente libro de amena lectura. Encontrar en l una
presentacin de los sistemas de cifra asimtrica, la historia inmersa en la
bsqueda de la criptografa de clave pblica y el intercambio de clave,
para terminar con PGP y un captulo dedicado a la criptografa cuntica.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1036
Bibliografa recomendada en castellano (8)
Morant Ramn, J.L.; Ribagorda Garnacho, A.; Sancho Rodrguez J.
SEGURIDAD Y PROTECCIN DE LA INFORMACIN
Coleccin de Informtica, Editorial Centro de Estudios Ramn Areces,
S.A., Madrid
Ao 1994 (388 pginas)
Libro que trata, adems de los temas genricos de la criptografa clsica y
moderna, aspectos de seguridad en sistemas operativos, en bases de datos
y en redes de computadores. Buen texto descriptivo que profundiza en
ciertos aspectos matemticos y hace un buen estudio de la gestin de
claves. Tiene adems como caracterstica ser el primer libro con formato
universitario sobre criptografa y seguridad informtica en Espaa, y
seguramente de lengua espaola. No existen nuevas versiones que seran
no obstante muy bien recibidas.
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1037
Bibliografa recomendada en ingls (1)
Menezes, Alfred; Oorsschof, Paul; Vanstone, Scott
HANDBOOK OF APPLIED CRYPTOGRAPHY
CRC Press Inc. http://www.cacr.math.uwaterloo.ca/hac/
Ao 1997 (780 pginas)
Interesante y completo libro dedicado al estudio de los algoritmos con una
visin matemtica de alto nivel. Sus captulos estn orientados a bases
matemticas para la criptografa, sistemas de claves secretas y pblicas,
cifradores de flujo y de bloque, hash, autenticacin, firma digital y gestin
de claves. Obra imprescindible para el estudiante universitario que desea
profundizar en el anlisis de los algoritmos, si bien el seguimiento del
mismo puede resultar algo complejo por el nivel matemtico comentado.
Junto al de William Stallings, es probablemente el mejor libro de
criptografa en la actualidad. Le recomiendo que descargue el libro gratis
desde la pgina web de su autor que ver ms arriba.
http://www.lpsi.eui.upm.es/SInformatica/SInformatica.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1046
Enlaces a pginas Web en captulos (1)
Captulo 3. Introduccin a la Seguridad Informtica
VIRUSPROT http://www.virusprot.com/Opiniones2002.html
KERCKHOFFS http://en.wikipedia.org/wiki/Kerckhoffs%27_law
BACKUP http://www.criptored.upm.es/guiateoria/gt_m001l.htm
HACKERS http://www.umanizales.edu.co/encuentrohackers/tiposh.htm
Captulo 4. Calidad de Informacin y Programas Malignos
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1047
Enlaces a pginas Web en captulos (2)
Captulo 4. Calidad de Informacin y Programas Malignos (continuacin)
PHISING http://en.wikipedia.org/wiki/Phising
MAGERIT http://www.csi.map.es/csi/pg5m20.htm
EULER http://es.wikipedia.org/wiki/Euler
GALOIS http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Galois.html
O(n) http://www.mm.informatik.tu-darmstadt.de/courses/2002ws/ics/lectures/v14.pdf
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1052
Enlaces a pginas Web en captulos (7)
Captulo 8. Teora de la Complejidad Algortmica (continuacin)
PROBLEMAS NP http://www.csc.liv.ac.uk/~ped/teachadmin/COMP202/annotated_np.html
Captulo 9. Sistemas de Cifra Clsicos
VERNAM http://www.pro-technix.com/information/crypto/pages/vernam_base.html
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1053
Enlaces a pginas Web en captulos (8)
Captulo 10. Introduccin a la Cifra Moderna
POLINOMIOS http://mathworld.wolfram.com/PrimitivePolynomial.html
RC4 http://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html
SEAL http://www.gemplus.com/smart/rd/publications/pdf/HG97chis.pdf
FEISTEL http://en.wikipedia.org/wiki/Feistel_network
IDEA http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
M-H http://www-fs.informatik.uni-tuebingen.de/~reinhard/krypto/English/4.5.3.e.html
D-H http://www.cs.purdue.edu/homes/ninghui/courses/Fall04/lectures/diffie-hellman.pdf
RSA http://www.di-mgt.com.au/rsa_alg.html
POHLIG-HELLMAN http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=1055817
ELGAMAL http://web.usna.navy.mil/~wdj/book/node48.html
MD5 http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html
AUTENTICACIN http://www.mug.org.ar/Infraestructura/ArticInfraestructura/300.aspx
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1060
Enlaces a pginas Web en captulos (15)
Captulo 16. Autenticacin y Firma Digital (continuacin)
RSA http://www.enstimac.fr/Perl/perl5.6.1/site_perl/5.6.1/Crypt/RSA.html
http://www.criptored.upm.es/software/sw_m001k.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1083
Enunciados de prcticas en la versin 3.0
Entropa de la Informacin
Caractersticas del Lenguaje
Clculos en Matemtica Discreta
Cifrado por Desplazamiento Puro
Cifrado por Decimacin Pura
Cifrado por Decimacin y Despl.
Cifrado de Vigenre
Cifrado de Beaufort
Cifrado de Clave Continua
Cifrado de Vernam
Cifrado por Filas
Cifrado por Columnas
Cifrado de Playfair
Cifrado de Hill Digrmico
Cifrado de Hill N-grmico
DES Modo ECB
Debilidades y Ataques a DES
IDEA Modo ECB
Funcin hash MD5
Funcin hash SHA-1
Mochila de Merkle-Hellman
Intercambio de Clave de DH
Generacin de Claves RSA
Cifrado RSA con ExpoCrip
Cifrado RSA con gen RSA
Firma Digital RSA
Cifrado ElGamal
Firma Digital ElGamal
Firma Digital DSS
PGP Versin 2.6.3i
Creacin de Claves y Cifrado
Convencional con PGP 8.0
Gestin de Claves y Cifrado
Hbrido con PGP 8.0
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1084
Nuevas prcticas en prxima versin
Cifra por Homfonos
Cifra y seguimiento del AES
Secuencias Cifrantes
Cifra por Flujo
Ataques por Fuerza Bruta y Paradoja
del Cumpleaos en Funciones Hash
Cifrado con Curvas Elpticas
Gestin Avanzadas de Claves con
PGP 8.0
Seguimiento Certificados X.509
Certificado X.509 en Cliente
Anlisis de la densidad y tipos de
claves RSA
Ataques a RSA basado en la
paradoja del cumpleaos
Simulacin del Entorno Kerberos
Protocolo de Transferencia
Inconsciente de Rabin
Pquer Mental con Criptografa
Simtrica
Pquer Mental con Criptografa
Asimtrica
Simulacin Secure Socket Layer
Esteganografa con Stools
Cifrado con Criptografa Visual
Intercambio de Clave Cuntico
A lo largo del ao 2006, y en una nueva versin de este cuaderno
de prcticas, se espera incluir algunos de los ttulos que se indican
ms abajo, junto al correspondiente software para poder realizarlas.
http://www.criptored.upm.es/paginas/software.htm#propio
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1085
genRSA: generacin de claves y cifra RSA
Autor: D. Juan Carlos Prez Garca. Fecha: Febrero de 2004.
Software basado en la librera pblica Cryptlib que permite realizar los clculos
correspondientes a la generacin del par de claves asimtricas RSA, partiendo
de dos primos con igual nmero de bits o ligeramente distintos. Generacin
manual o automtica. Para valores de p y q desde 16 -valor mnimo- hasta 32
bits, stos pueden ser decimales o hexadecimales; para valores mayores hasta
una clave de 2048 bits, los datos de la clave debern ser hexadecimales.
Generacin de claves RSA manual y automtica hasta 2048 bits.
Test de primalidad de Miller-Rabin y Fermat.
Obtencin de claves parejas y clculo de mensajes no cifrables.
Cifrado y descifrado de texto y nmeros.
Descifrado de nmeros con el TRC.
Ataque al mdulo por factorizacin de primos cercanos.
Ataque al mensaje secreto por cifrado cclico.
Ataque a la clave privada por paradoja del cumpleaos.
http://www.criptored.upm.es/software/sw_m001d.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1086
ExpoCrip: cifra y firma exponencial
Autor: Da. Olga Mariana Gonzlez Ming. Fecha: Febrero de 2004.
Software para prcticas de cifrado exponencial de nmeros decimales, valores
hexadecimales y texto ASCII, realizado con libreras propias y eficiente para
operaciones de hasta centenas de bits. Incluye herramientas propias para el
trabajo con nmeros primos y ayuda contextual.
Generacin manual de claves RSA.
Cifrado y descifrado RSA de texto y nmeros.
Obtencin de claves parejas y clculo de mensajes no cifrables.
Ataque al mdulo por factorizacin con mtodo Pollard Rho.
Ataque al mensaje secreto por cifrado cclico.
Ataque a la clave privada por paradoja del cumpleaos.
Firma digital RSA.
Generacin manual de claves ElGamal.
Cifrado y descifrado ElGamal de texto y nmeros.
Firma digital ElGamal y firma digital DSS.
http://www.criptored.upm.es/software/sw_m001l.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1087
safeDES: cifra y ataque al DES
Autor: D. Miguel ngel Jimnez Muoz. Fecha: Enero de 2003.
Software de cifrado, descifrado y ataques por fuerza bruta de forma similar a los
desarrollados por RSA Challengue al algoritmo Data Encryption Standard DES.
Operaciones con archivos o bien texto claro por teclado. Los textos y las claves
pueden introducirse en formato ANSI o hexadecimal. Si bien el algoritmo
implementa slo el modo Libro Electrnico de Cdigos ECB, es posible
comprobar los ataques de los que fue objeto en modo CBC con el simple uso la
calculadora cientfica de Windows. Los mdulos de ataque permiten delimitar
un espacio de claves subconjunto del espacio real. La aplicacin cuenta una
amplia ayuda contextual que permite el mejor seguimiento de las prcticas con
este software.
Cifrado y descifrado modo ECB.
Ataque tipo monousuario.
Ataque tipo simulacin multiusuario.
Ataque tipo multiusuario: aplicacin cliente.
Ataque tipo multiusuario: aplicacin servidor.
http://www.criptored.upm.es/software/sw_m001j.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1088
CriptoRES: funciones hash MD5 y SHA-1
Autor: D. Jos Azaa Alonso. Fecha: Enero de 2001.
Software para el estudio y seguimiento de las funciones hash ms conocidas
usadas en la compresin del documento para la firma digital y tambin en otras
aplicaciones de autenticacin como los certificados digitales.
Tanto para MD5 como para SHA-1, la aplicacin obtiene los resmenes de
documentos de archivos o texto introducido por teclado.
Permite hacer un seguimiento del algoritmo de resumen, a nivel de bloques
mostrando todas las operaciones en hexadecimal o bien siguiendo los pasos de
las operaciones en bajo nivel. Como en este ltimo caso la informacin
mostrada est en bits, por su gran extensin muestra slo el primer bloque de
resumen que es precisamente donde se incluyen los rellenos para congruencia
con el tamao del bloque de 512 bits.
Incluye una representacin grfica de la ecuacin matemtica del problema del
ataque por la paradoja del cumpleaos.
Ayuda en formato Windows estndar y contextual mediante la tecla F1.
http://www.criptored.upm.es/software/sw_m001h.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1089
Hill: cifra y criptoanlisis
Autor: Da M Carmen Cogolludo Alcarazo. Fecha: Marzo de 2001.
Aplicacin para prcticas de laboratorio con el cifrador poligrmico de Hill.
Permite cifrar y descifrar archivos txt con una matriz clave de tamao 2x2 hasta
10x10 dentro de los siguientes cuerpos: alfabeto castellano con letras en
maysculas (mod 27), alfabeto incluyendo adems los dgitos (mod 37) y por
ltimo un subconjunto de caracteres ASCII imprimibles (mod 191). En este
ltimo caso, la salida puede guardarse como un archivo en formato base 64.
Las matrices clave pueden guardarse como un archivo.
Permite adems realizar ataques por criptoanlisis segn el mtodo de Gauss-
Jordan. Una vez criptoanalizada la matriz clave, entrega un seguimiento de las
ecuaciones que han permitido romper el sistema.
El programa incluye una herramienta para el clculo del determinante de una
matriz, la matriz inversa y el nmero de matrices vlidas dentro de un cuerpo.
Ayuda en formato Windows estndar y contextual mediante la tecla F1.
http://www.criptored.upm.es/software/sw_m001i.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1090
CriptoClsicos: cifra y criptoanlisis
Autor: D. Luis Miguel Motrel Berjano. Fecha: Marzo de 1999.
Aplicacin para prcticas de sistemas de cifra clsicos que incluye algoritmos
de cifra monoalfabtica por sustitucin y por transposicin, cifra polialfabtica
con los cifradores de Vigenre, de Beaufort y de clave continua.
Permite, adems de cifrar y descifrar, realizar ataques por criptoanlisis a los
sistemas anteriores mediante el uso de tcnicas de estadsticas del lenguaje.
Incluye adems el cifrador de Vernam, el cifrador de Playfair, el cifrador de Hill
digrmico y cifrado por transposiciones.
Todas las operaciones de cifra pueden realizarse con los alfabetos castellano
mdulo 27 (letras maysculas), castellano mdulo 37 (letras y dgitos) e ingls
mdulo 26 y mdulo 36.
Incluye un apartado con herramientas caractersticas de trabajo dentro de un
cuerpo finito y estadsticas bsicas del lenguaje. Las operaciones estn
limitadas a cuerpos menores que 65.536.
Ayuda en formato Windows estndar y contextual mediante la tecla F1.
http://www.criptored.upm.es/software/sw_m001c.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1091
CryptoIDEA: cifra y seguimiento de IDEA
Autor: Da. Esther Snchez Mellado. Fecha: Septiembre de 1999.
Software de prcticas realizado en Delphi que permite cifrar y descifrar con el
algoritmo IDEA as como realizar un seguimiento del proceso y la generacin
de claves directas e inversas de cifra.
Muestra adems los ficheros en nmeros enteros y en binario.
Incluye un sistema de gestin de bases de datos tipo Paradox 5.0 para el
mantenimiento (creacin, modificacin, borrado, etc.) de claves.
La generacin de claves se hace a partir de un texto o clave ASCII.
Incluye un apartado de herramientas para clculos tpicos dentro de un cuerpo,
en especial mod 65.536 y mod 65.537, valores usados en IDEA. Adems el
clculo del mximo comn divisor, inversos y conversiones de carcter a ASCII,
de entero a binario y de binario a entero.
Ayuda en formato Windows estndar y contextual mediante la tecla F1.
http://www.criptored.upm.es/software/sw_m001f.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1092
Fortaleza: operaciones en cuerpo de cifra
Autor: Da. Cristina Chrcoles Larriba. Fecha: Febrero de 1999.
Software de prcticas realizado en Visual Basic que permite realizar y simular
las operaciones dentro de un cuerpo ms caractersticas en sistemas de cifra
exponencial como son RSA y ElGamal: operaciones bsicas de suma, resta,
multiplicacin y divisin, con o sin mdulo, raz, mximo comn divisor, clculo
de inversos, potencia y primalidad.
Usa una librera de nmeros grandes: decenas hasta centenas de dgitos.
Incluye un mdulo de factorizacin de nmeros compuestos por dos primos
mediante los mtodos de Pollard Rho, Dixon y Fraccciones Continuas. Adems
se muestra una lista de primos para poder trabajar con ellos, un conjunto de
ejemplos y una tabla de primos titnicos.
Incluye un mdulo de clculo del logaritmo discreto mediante los mtodos de
Bsqueda Exhaustiva, Paso Gigante - Paso Enano y Pohlig - Hellman. Adems
presenta un conjunto de ejemplos.
Ayuda en formato Windows estndar y contextual mediante la tecla F1.
http://www.criptored.upm.es/software/sw_m001e.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1093
Tutorial PGP 2.63i: cuaderno en html
Autor: D. David Lin Zayas. Fecha: Julio de 1999.
Curso en html para un correcto aprendizaje del programa PGP en su versin
2.6.3i. El software presenta una explicacin de los algoritmos usados por PGP
con figuras, la generacin y gestin de claves, cifra, firma, etc. Incluye adems
diversos ejemplos y enlaces a pginas Web de inters.
Introduccin a la criptografa.
Comenzando con PGP.
Generacin de claves
Envo y recepcin de correo electrnico.
Otras funciones de PGP.
Manejo de claves.
Distribucin de claves.
Revocacin de claves.
Instalar y configurar PGP.
Enlaces.
http://www.criptored.upm.es/software/sw_m001g.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1094
LECC: libro electrnico de cifra clsica
Autor: Da. Ana Mara Camacho Hernndez. Fecha: Junio de 1998.
Libro electrnico realizado con ToolBook que hace un repaso a los temas
principales de la criptografa clsica, incluyendo fotografas de mquinas de
cifrar as como de los algoritmos ms caractersticos para la realizacin de
prcticas sencillas en un entorno Windows. Cuenta con cinco secciones:
Seccin 0: Historia de la criptografa. Principios de las tcnicas criptogrficas.
Presentacin de los algoritmos esctala, de Polybios y del Csar.
Seccin 1: Mquinas de cifrar. Rueda de Jefferson, discos de Alberti y
Wheatstone, cifrador de Vernam, mquinas Enigma, M-325 y Hagelin.
Seccin 2: Cifrados por sustitucin. Monoalfabtica, polialfabtica, cifra de
Vigenre, de Beaufort, por homofonas, de Beale, de Playfair y de Hill.
Seccin 3: Cifrados por transposicin. Cifra por grupos, series, columnas y filas.
Seccin 4: Algoritmos. Estn implementados en la misma aplicacin todos los
algoritmos de cifrado y descifrado por sustitucin y transposicin para poder
ejercitarse con ejemplos de textos introducidos por teclado.
http://www.criptored.upm.es/software/sw_m001a.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1095
MH: cifra y criptoanlisis de mochilas
Autor: D. Juan Carlos Rodrguez Castellano. Fecha: Julio de 1997.
Software para prcticas de cifrado y descifrado del sistema de cifra con mochila
de Merkle - Hellman realizado en Delphi.
Se ha incluido una librera para trabajar con nmeros grandes: decenas o
centenas de dgitos, y herramientas bsicas de trabajo dentro de un cuerpo.
Permite el diseo de mochilas del tamao y datos que desee el usuario, con
tamao recomendable M-H o bien mochilas con un tamao proporcional al
modelo recomendado por Merkle y Hellman.
Una vez creada una mochila, el programa incluye la opcin de criptoanlisis de
la misma segn el mtodo de Shamir y Zippel, indicando luego de romper la
mochila clave los valores analizados hasta lograr su objetivo
Ayuda en formato Windows estndar y contextual mediante la tecla F1.
http://www.criptored.upm.es/software/sw_m001b.htm
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1096
Otro software que se usa en la asignatura
Adems del software propio desarrollado dentro del proyecto Criptolab
antes comentado, en las prcticas de la asignatura se usa el siguiente
software de libre distribucin y enlaces a Internet para la realizacin de
algunas prcticas:
Generacin de claves RSA con OpenSSL
http://www.slproweb.com/products/Win32OpenSSL.html
Correo electrnico y cifrado: PGP versin 8.0 Windows
http://www.criptored.upm.es/paginas/software.htm#freeware
Esteganografa: Pgina de herramientas Steganos Security
http://www.stegoarchive.com/
Criptografa visual: pgina Web del Dr.Stinson
http://www.cacr.math.uwaterloo.ca/~dstinson/visual.html
Criptografa cuntica: pgina de Dartmouth College
http://www.cs.dartmouth.edu/~jford/crypto.html
n
d
e
l
a
o
f
e
r
t
a
a
m
e
d
i
a
d
o
s
d
e
2
0
0
4
Otros pases que no
aparecen en este
cuadro presentan una
oferta docente muy
muy baja o casi nula.
Aunque estos datos
son una estimacin,
los valores se basan
en un informe del
autor y la posterior
observacin de la
oferta universitaria
en dichos pases.
La oferta docente en Iberoamrica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1099
Irvine, Chin y Frincke en su artculo Integrating Security into the
Curriculum, Revista IEEE, diciembre de 1998, comentaban que: La
Seguridad Informtica podra ser el objetivo principal de un curriculum que
debera investigar los fundamentos y enfoques tcnicos de la seguridad con
una profundidad considerable.
El autor de este libro viene insistiendo desde el ao 2000 en la necesidad de
una formacin amplia en seguridad informtica en nuestras universidades.
Si bien puede ser utpico un ttulo de Ingeniero en Seguridad Informtica,
gran parte del temario que propongo a continuacin se imparte en varios
cursos de Mster en Espaa y en algunos pases de Latinoamrica. Y en
2005 algunas universidades espaolas ya comienza a pensar en ello .
En mi ponencia Introduccin de las enseanzas de seguridad informtica en
los planes de estudio de las ingenieras del siglo XXI, Congreso JENUI,
Palma de Mallorca, Espaa, julio de 2001, comentaba: Se detecta una
necesidad en el mercado de nuevos perfiles de ingenieros en seguridad pero
no existe respuesta adecuada de la universidad.
Una Ingeniera en Seguridad Informtica?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1100
Fundamentos y Temas Avanzados de la Aritmtica Modular (6 cr.)
Principios y operaciones con cuerpos finitos.
Algoritmos de clculos en cuerpos finitos: inversos, races, etc.
Clculos en Campos de Galois GF.
Factorizacin y clculos con polinomios en GF.
Uso de curvas elpticas en criptografa.
Fundamentos de la Seguridad Informtica (4,5 cr.)
Conceptos bsicos de la seguridad informtica.
Historia de la criptografa, sistemas de cifra clsicos.
Teora de la informacin en seguridad y criptografa.
Complejidad de los algoritmos en seguridad y criptografa.
Gestin de la Seguridad Informtica (6 cr.)
Polticas de seguridad informtica, normativas y estndares.
Planes de contingencia y de recuperacin ante desastres.
Esquemas de proteccin fsica de los datos y copias de seguridad.
Crditos propuestos para un Mster (1/4)
1 crdito docente corresponde a 10 horas de clase de teora o de prcticas
A
v
a
n
c
e
p
o
r
a
o
s
o
c
u
r
s
o
s
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1101
Legislacin en Seguridad Informtica (4,5 cr.)
Leyes de proteccin de datos.
Leyes de firma digital, comercio electrnico, etc.
Legislacin de mbito internacional.
Delito informtico.
Criptografa (6 cr.)
Cifrado simtrico y asimtrico.
Algoritmos de autenticacin y funciones hash.
Algoritmos de firma digital.
Algoritmos y esquemas de certificados digitales.
Correo electrnico seguro y esquemas hbridos.
Comparativa y fortaleza de los algoritmos de cifra.
Seguridad en Sistemas Operativos, Lenguajes y Bases de Datos (9 cr.)
Sistemas operativos seguros, libro naranja.
Seguridad en entornos Windows, Linux, Unix, Solaris.
Programacin y rutinas de seguridad en C++ y Java.
Seguridad en SGBD y bases de datos distribuidas.
Crditos propuestos para un Mster (2/4)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1102
Seguridad en Redes (12 cr.)
Protocolos de seguridad en Internet e Intranet.
Plataformas y pasarelas seguras: SHTTP, SSL, TLS, IPSec.
Instalacin y gestin de un servidor Web y de correo seguros.
Autenticacin en redes: Kerberos, SSH, X.509.
Instalacin y gestin de Autoridades de Certificacin.
Proteccin con cortafuegos, deteccin de intrusos, DoS.
Redes privadas virtuales VPN, tneles.
Redes inalmbricas: protocolos, estndares, vulnerabilidades.
Gestin y fortificacin de la mquina.
Herramientas de control y auditora de la mquina.
Hacking tico: test de penetracin.
Virus Informticos (4,5 cr.)
Clasificacin, caractersticas y tipos de virus.
Medidas de alerta, proteccin y eliminacin.
Anlisis de algoritmos malignos, hoax, spam, gusanos y troyanos.
Seguimiento y caracterizacin de un virus en lenguaje de bajo nivel.
Crditos propuestos para un Mster (3/4)
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1103
Negocio y Comercio Electrnico (4,5 cr.)
Normas del mercado de e-commerce, e-business.
Aspectos comerciales del inicio de actividades.
Seguimiento de las transacciones en la red.
Norma SET y otros estndares.
Caracterizacin de tipos de comercio electrnico.
Aspectos tcnicos del e-government.
Auditora, Peritaje y Forensia Informtica (7,5 cr.)
Tcnicas de auditora.
Auditora de sistemas y seguridad.
Auditora jurdica.
Peritaje y tcnicas forenses en seguridad informtica.
Temas Avanzados en Criptografa y Seguridad Informtica (4,5 cr.)
Protocolos criptogrficos: e-voting, e-gaming, conocimiento cero, ...
Cifra avanzada: esteganografa, autmatas celulares, criptografa cuntica, ...
Autenticacin avanzada: biometra, smartcards, notarios electrnicos, ...
Tecnologa de tarjetas inteligentes: interconexin, funcionalidades, ...
Proteccin del copyright, marcas de agua, sellos de tiempo, ... etc.
Con cerca de
350 horas de
teora...
y otras 350
horas de
prcticas.
Una formacin tcnica con 11
asignaturas y unas 700 horas
Crditos propuestos para un Mster (4/4)
Todos estos temas deberan
ser del conocimiento de un
Responsable o Director de
Seguridad Informtica
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1104
Cuestiones y ejercicios (1 de 2)
1. En un texto cifrado por sustitucin afn, se tiene como criptograma
C = PCERC QBCSK AQBGR LGFJQ KCXK LCECN RKZHL
KKXGF LCAFB. Qu es lo primero que hacemos? Ataque el
criptograma con el software de la asignatura. Qu puede concluir?
2. Con el cifrador de Vernam y cdigo Baudot ciframos M = SOL con
la clave K = MAR. Qu se obtiene como criptograma?
3. Observando el cdigo ASCII/ANSI de nivel bajo en binario, Por
qu es desaconsejable cifrar con mochilas de tamao 4 u 8?
4. La clave DES escrita en cdigo ASCII es K = HOLAhola. Cul
sera en este caso la clave de 56 bits? Qu puede decir de esto?
5. Observando la tabla de primos del 1 al 1.000 y de 1.001 al 2.000,
podramos concluir que en una ventana igual (2.001 al 3.000; 3.001
al 4.000, etc.) cada vez hay ms nmeros primos? Por qu?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1105
Cuestiones y ejercicios (2 de 2)
6. Por qu en mdulo 37 existen ms inversos que en mdulo 27?
7. Codifique en base 64 el texto de 10 caracteres M = Qu tal!
8. Qu mensaje hay en M = v01lb nNham Ugb2N 1bHRv Pw= =
que est codificado en base 64? Por qu el relleno es igual a dos?
9. En cunto aumenta el tamao cuando convertimos ASCII/ANSI a
cdigo base 64? Es eso significativo en PGP? Por qu s o no?
10. En qu zona podemos decir que el cdigo ASCII y el ANSI son
iguales?
11. Se codificar igual en ASCII que en ANSI el mensaje M
1
= Voy
a entrar? Y si ahora el mensaje es M
2
= Pasa, est abierto Qu
consecuencias puede tener esto en un programa?
12. Un mensaje codificado en ANSI hexadecimal es 43 72 69 70 74 6F
67 72 61 66 ED 61, cul es el texto en castellano?
Jorge Rami Aguirre Madrid (Espaa) 2006
Captulo 21: Bibliografa, Enlaces, Tablas, Software y Documentos
Pgina 1106
Palabras finales del autor
Estimado/a amigo/a: si estas diapositivas le han servido para
su formacin en seguridad o bien las ha podido usar para dar
formacin a terceros, puedo decir misin cumplida .
Como seguro comprender, la tarea de actualizar cada ao un
libro electrnico como ste, precisamente en un rea como la
seguridad informtica, de un desarrollo vertiginoso, resulta
muy pesada... y ya van seis ediciones.
Por este motivo y dado que, adems de la coordinacin de la
la Red Temtica Iberoamericana de Criptografa y Seguridad
de la Informacin CriptoRed, posiblemente deber trabajar en
proyectos relacionados con la Seguridad de la Sociedad de la
Informacin, es muy posible que a partir de hoy las versiones
de este libro tengan una mayor vigencia y su actualizacin se
plantee cada dos o ms aos.
Fin del captulo y del libro
CRIPTOSISTEMAS CLSICOS 1
Estimados amigos y amigas:
Este captulo dedicado a las tcnicas de la criptografa clsica, corresponde al tercero del libro de ttulo Aplicaciones
Criptogrficas, en su segunda edicin de junio de 1999, ISBN 83-87238-57-2, publicado por el departamento de
Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de Madrid, Espaa.
Puesto que estas tcnicas y artilugios no dejan de ser un mero entretenimiento cultural en cuanto a su importancia en
la criptografa actual, en posteriores ediciones electrnicas de este libro se ha incluido slo una pequea resea al
respecto, dndole la importancia que se merecen los sistemas actuales de cifra simtrica y asimtrica, autenticacin,
firma digital, protocolos, etc. No obstante, y dado que muchas personas me lo han solicitado, lo incluyo tambin en
esta versin 4.0 del libro electrnico, de forma que al lector le sea ms fcil estudiar y familiarizarse con estas tcnicas
de criptoanlisis ancestrales ;-) ... y que, sin embargo, son muy didcticas y permiten consolidar muchos conceptos.
Las referencias que encontrar en este documento a captulos anteriores sobre Teora de la Informacin y Matemtica
Discreta, as como tablas, puede verlas en el libro electrnico: http://www.criptored.upm.es/guiateoria/gt_m001a.htm.
MUY IMPORTANTE: este formato NO est optimizado para ninguna impresora. Por tanto, antes de imprimirlo
ajuste el formato de este documento a su impresora para que las figuras, tablas y matrices se impriman correctamente.
Madrid, 1 de marzo de 2005
El autor
Lo que conduce y arrastra al mundo
no son las mquinas sino las ideas.
Victor Hugo (1802 - 1885)
CRIPTOSISTEMAS CLSICOS
Antes de comenzar este captulo, permtame una breve aclaracin. Como habr podido comprobar por el
contenido si es que lo ha ledo claro- al apartado de la criptografa clsica le he dedicado un buen
nmero de pginas, casi la cuarta parte del libro. Si esto es mera historia cultura dira alguien y con toda
razn- por qu dedicarle tantas pginas en un libro con un perfil universitario y carcter tcnico? Buena
pregunta, pero tengo para ello una buena respuesta. Los temas de Teora de la Informacin y Matemtica
Discreta vistos en un captulo anterior pueden entenderse mucho mejor aplicando estos conceptos a
criptosistemas reales. Por otra parte, los sistemas que hemos denominado clsicos son especialmente
sencillos y didcticos, lo que los convierte en idneos para fortalecer aquellos conceptos. Adems, si este
libro cae en manos de un lector o lectora que no tenga este perfil universitario, le ser de gran ayuda y
seguramente pasar un rato divertido. No hay mucha bibliografa sobre estos temas.
Ahora bien, si no desea inmiscuirse en la historia de la criptografa, puede obviar su lectura No obstante,
siempre es bueno adquirir una cierta cultura sobre un tema tan apasionante como ste y que, por una u
otra razn, puede estar de moda. As, en cualquier tertulia podr hacer el comentario oportuno y
ocurrente ante sus amigos/as y quedar muy bien. Por lo tanto, aunque sea a vuelo de pjaro, le
recomiendo su lectura. Adems del libro electrnico ya comentado, en la asignatura de Seguridad
Informtica de la EUIUPM se ha desarrollado diverso software de prcticas con diversos algoritmos,
entre ellos stos clsicos, entre otros, permitiendo al usuario comprobar en su ordenador las tcnicas de
cifra, descifrado y, lo que es ms interesante, el criptoanlisis de muchos de ellos. Puede encontrarlos
junto a otros programas en: http://www.criptored.upm.es/paginas/software.htm#propio.
2 CRIPTOSISTEMAS CLSICOS
1.1. INTRODUCCIN
Qu entendemos por criptosistemas clsicos? En un captulo anterior
comentbamos que los sistemas de cifra podan clasificarse de varias formas, siendo la
ms aceptada aquella que toma en cuenta la caracterstica del secreto de la clave,
dando lugar a criptosistemas de clave secreta y criptosistemas de clave pblica.
Precisamente en ello nos centraremos tanto en ste como en los siguientes captulos
del libro. Ahora bien, la criptologa tal y como hoy en da se concibe, una tcnica de
enmascaramiento de la informacin estrechamente unida al mundo de la informtica,
las redes de ordenadores y las autopistas de la informacin, poco tiene que ver con
aquella asociada a fascinantes mquinas de cifrar, que adquirieron gran fama tras su
uso en la Segunda Guerra Mundial y ms an, remontndonos a siglos pasados, con
los mtodos, tcnicas y artilugios utilizados por emperadores, gobernantes, militares y
en general diversas civilizaciones para mantener sus secretos a buen recaudo.
En aquellos tiempos, el mundo de la criptologa estaba vinculado directamente
con el poder fctico, ligado a secretos de estado, asuntos militares, de espionaje y
diplomticos, en todo caso siempre seguido de una aureola de misterio y que incluso
salta a la literatura de ficcin en el cuento "El escarabajo de oro" de Edgar Allan Poe,
publicado en 1843 en "Dollar Newspaper". Se trata de un relato de aventuras cuyo eje
principal gira en torno al criptoanlisis de un conjunto de caracteres extraos que
aparecen en un pergamino cifrado y cuyo texto esconde el lugar exacto donde se
encuentra enterrado el valioso tesoro de un pirata de nombre Kidd. El sistema de cifra
es uno de los ms simples, el denominado monoalfabtico por sustitucin con alfabeto
mixto, de forma que nuestro protagonista William Legrand no tiene ms que aplicar las
estadsticas del lenguaje, alguna que otra suposicin sobre formacin de palabras y
una pizca de intuicin para hacer corresponder los signos del enigmtico criptograma
con letras del alfabeto y as descriptar el mencionado pergamino. Le recomiendo su
lectura.
A comienzos del siglo XX el uso de la criptografa en las transmisiones de
mensajes cobra una importancia inusitada por los tiempos que corran (Primera y
Segunda Guerras Mundiales), originando esto un gran auge tanto de las tcnicas como
de las mquinas de cifrar. El 17 de enero de 1917 William Montgomery, criptoanalista
de la seccin diplomtica de la famosa Habitacin 40 del Almirantazgo de la Marina
Britnica en Londres, intercepta un telegrama lleno de cdigos que el Ministro de
Relaciones Exteriores alemn Arthur Zimmermann enva a su embajador en los
Estados Unidos. Tras romper los cdigos, descubren atnitos que entre otras cosas el
mensaje anunciaba la guerra con los Estados Unidos. Con ello los Estados Unidos
entran en la confrontacin mundial y ayudan a los aliados a ganar la guerra. Segn
palabras de David Khan, autor de la obra ms completa sobre historia de la
criptografa
1
, "Nunca un nico criptoanlisis ha tenido tan enormes consecuencias". De
hecho, el descubrimiento de este secreto cambi el rumbo de la historia. Y no es el
nico caso.
1
Khan, David, "The Codebreakers. The Story of Secret Writing", Macmillan Publishing Company, New
York, 1967, pp. 266 ss. y 282 ss.
CRIPTOSISTEMAS CLSICOS 3
Otro ejemplo histrico lo tenemos en plena Segunda Guerra Mundial. El 7 de
diciembre de 1941, la radio de la estacin naval de Bainbridge Island, cerca de Seattle,
intercepta un mensaje de solamente 9 minutos desde Tokyo a la Embajada Japonesa
en los Estados Unidos. El radiotelegrama estaba cifrado con una mquina que los
norteamericanos llamaron Purple, cuyo cdigo fue roto por William Friedman, quizs el
criptlogo ms importante de la historia, y un grupo de criptoanalistas. Si bien es cierto
que ello no pudo evitar el ataque de los japoneses a Pearl Harbor, el esfuerzo realizado
por todos en la destruccin de tales cdigos jug luego un papel fundamental y marc
la derrota del pueblo nipn as como el fin de la guerra.
En resumen, si se repasa la historia de la primera mitad del siglo XX y en
especial todo lo relativo a la informacin secreta que se transmita por radio en forma
cifrada y que, tras ser interceptada por el enemigo, era criptoanalizada en verdaderas
empresas rompedoras de cdigos, no resulta nada extrao las afirmaciones hechas por
polticos de la poca en cuanto a que el uso de las tcnicas criptogrficas cambi el
curso de los acontecimientos, desequilibrando la balanza hacia un sentido. El lector
interesado en este apasionante tema histrico, encontrar en el libro de David Khan
"The Codebrackers" -verdadero tratado sobre la historia de la criptologa clsica- una
lectura amena y llena de ancdotas sobre las aplicaciones de la criptografa desde sus
albores hasta la dcada de los sesenta. A partir de esta poca, sern los ordenadores y
la informtica quienes toman el relevo del protagonismo en los sistemas de cifra.
Decamos en un captulo anterior que dos hechos significativos marcan un punto
de inflexin en el mundo de la criptografa. El primero de ellos, los estudios que en el
ao 1948 realiza Claude Shannon sobre teora de la informacin y criptologa: desde
ese momento, la criptologa deja de ser considerada como un mero arte rodeado de un
cierto aire de misterio y en algunos casos excepticismo, para ser tratada como una
rama ms de las matemticas. Hoy tambin tienen un papel fundamental la informtica
y las ciencias de la ingeniera. El segundo hecho es la publicacin en el ao 1976 de un
artculo por parte de Whitfield Diffie y Martin Hellman en el que proponen una nueva
filosofa de cifra, dando lugar a los criptosistemas de clave pblica.
Segn lo anterior, podramos afirmar entonces que la criptografa clsica abarca
desde tiempos inmemoriales, como veremos a continuacin, hasta los aos de la
posguerra, es decir, hasta la mitad del siglo XX. El adjetivo de clsica, en
contraposicin al de criptosistemas modernos, se debe tanto a las tcnicas utilizadas en
las primeras, bsicamente operaciones de sustitucin y transposicin de caracteres,
con o sin clave pero siempre unido al concepto de clave secreta, como al uso de
mquinas dedicadas a la cifra. En el caso de los sistemas modernos, stos hacen uso,
adems de lo anterior, de algunas propiedades matemticas como, por ejemplo, la
dificultad del clculo del logaritmo discreto o el problema de la factorizacin de grandes
nmeros, como vimos en el captulo anterior, unido esto a la representacin binaria de
la informacin. No obstante, muchos sistemas modernos y que en la actualidad se
siguen utilizando, como los algoritmos de clave secreta DES e IDEA, se basan en
conceptos que podramos denominar clsicos como son los de transposicin y
sustitucin con una clave privada, si bien en estos sistemas la operacin se realiza
sobre una cadena de bits y no sobre caracteres.
4 CRIPTOSISTEMAS CLSICOS
Muchos de los criptosistemas clsicos, en particular aquellos que transforman el
mensaje en claro aplicando tcnicas de sustitucin y transposicin, basan su seguridad
principalmente en el secreto de la transformacin o algoritmo de cifra. Es sta tambin
una diferencia fundamental con respecto a los sistemas modernos, en los que el
algoritmo se hace pblico puesto que la fortaleza del sistema reside en la imposibilidad
computacional de romper una clave secreta. Observe que el hacer pblico el algoritmo
de cifra permite al criptlogo evaluar la calidad del software desarrollado, en tanto ser
estudiado por la comunidad cientfica intentando buscar un defecto, una puerta falsa,
una rutina innecesaria, una codificacin no depurada, etc.
De todos los sistemas clsicos, cuya diversidad es enorme como puede
comprobar el lector del libro de Khan, en este captulo slo analizaremos algunos; los
ms conocidos y que, de alguna forma, nos servirn como apoyo para profundizar y
aplicar algunos conceptos que sobre criptosistemas, seguridad informtica, teora de la
informacin, de los nmeros y de la complejidad de los algoritmos han sido estudiados
en los captulos anteriores.
1.1.1. Un poco de historia
La esctala
Ya en siglo V antes de J.C. los lacedemonios, un antiguo pueblo griego, usaban
el mtodo de la esctala para cifrar sus mensajes. El sistema consista en una cinta que
se enrollaba en un bastn y sobre el cual se escriba el mensaje en forma longitudinal
como se muestra en la Figura 1.1.
A S I C I F R A B
A N C O N L A E S
C I T A L A
Figura 1.1. Cifrado mediante sistema de esctala.
Una vez escrito el mensaje, la cinta se desenrollaba y era entregada al
mensajero; si ste era interceptado por cualquier enemigo, lo nico que se consegua
era un conjunto de caracteres o letras distribuidas al parecer de forma aleatoria en
dicha cinta. Incluso si el enemigo intentaba enrollar la cinta en un bastn con dimetro
diferente, el resultado obtenido era un conjunto de letras escritas una a continuacin de
otra sin sentido alguno. Por ejemplo, en el caso de la figura 1.1, la cinta llevar el
mensaje M = ASI CIFRABAN CON LA ESCITALA si bien en ella slo podr leerse el
criptograma C = AACSNIICTCOAINLFLARAAEBS. Para enmascarar completamente la
escritura, es obvio que la cinta en cuestin debe tener caracteres en todo su contorno.
Como es de esperar, la clave del sistema resida precisamente en el dimetro de aquel
CRIPTOSISTEMAS CLSICOS 5
bastn, de forma que solamente el receptor autorizado tena una copia exacta del
mismo bastn en el que enrollaba el mensaje recibido y, por tanto, poda leer el texto en
claro. En este sistema no existe modificacin alguna del mensaje; es decir, ste va en
claro desde el transmisor hacia el receptor, por lo que como veremos ms adelante se
tratar de un cifrador por transposicin.
De esta forma se lograba el objetivo de la confidencialidad, en tanto que la
integridad estaba en entredicho y dependa de lo aguerrido y fiel que fuese nuestro
mensajero. Si la cinta era robada y se cambiaban los caracteres, podra llegar al
receptor un mensaje sin sentido y, lo que es peor, con un duplicado del bastn original
poda enviarse un mensaje con sentido completamente distinto al encomendado al
mensajero. Haga un viaje mental al pasado e imagnese lo que significara en aquellos
tiempos que el destinatario recibiera el mensaje falso M
F
= RENDICIN TOTAL en vez
del verdadero mensaje M
V
= ATACAMOS MAANA, ambos de 14 caracteres. Sin duda
a ms de alguno este desliz le costara su preciada cabeza.
Para terminar, un apunte curioso y de cultura general. De estos tiempos tan
remotos se debe la famosa frase de ostentar el "bastn de mando" tan popular entre
nuestros queridos polticos y en particular alcaldes- y que, como es de suponer, en
aquella poca no se soltaba por ningn motivo puesto que en l resida la seguridad del
sistema de informacin y la vida poltica de este pueblo de la antigua Grecia.
El cifrador de Polybios
A mediados del siglo II antes de J.C., encontramos el cifrador por sustitucin de
caracteres ms antiguo que se conoce. Atribuido al historiador griego Polybios, el
sistema de cifra consista en hacer corresponder a cada letra del alfabeto un par de
letras que indicaban la fila y la columna en la cual aquella se encontraba, en un
recuadro de 5 x 5 = 25 caracteres, transmitindose por tanto en este caso el mensaje
como un criptograma. En la Figura 1.2 se muestra una tabla de cifrar de Polybios
adaptada al ingls, con un alfabeto de cifrado consistente en el conjunto de letras A, B,
C, D y E aunque algunos autores representan el alfabeto de cifrado como los nmeros
1, 2, 3, 4 y 5.
A B C D E 1 2 3 4 5
A A B C D E 1 A B C D E
B F G H IJ K 2 F G H IJ K
C L M N O P 3 L M N O P
D Q R S T U 4 Q R S T U
E V W X Y Z 5 V W X Y Z
Figura 1.2. Tablas de cifrar de Polybios.
Acorde con este mtodo, la letra A se cifrar como AA, la H como BC, etc. Esto
significa que aplicamos una sustitucin al alfabeto {A, B, C, .., X, Y, Z} de 26 letras
convirtindolo en un alfabeto de cifrado {AA, AB, AC, ..., EC, ED, EE} de 25 caracteres,
si bien slo existen 5 smbolos diferentes {A, B, C, D, E}. Este tipo de tabla o matriz de
cifrado ser muy parecida a la que en el siglo XIX se utilizar en el criptosistema
6 CRIPTOSISTEMAS CLSICOS
conocido como cifrador de Playfair y que ser tratado ms adelante en el apartado de
cifradores poligrmicos, salvo que en este ltimo la operacin de cifra no se realiza por
monogramas como en el de Polybios sino por digramas, conjunto de dos caracteres del
texto en claro.
Ejemplo 1.1: Usando la Tabla del cifrador de Polybios, cifre el mensaje:
M = QUE BUENA IDEA LA DEL GRIEGO.
Solucin: C = DADEAE ABDEAECCAA BDADAEAA CAAA ADAECA
BBDBBDAEBBCD.
Aunque resulte elemental, se deja como ejercicio para el lector encontrar el
criptograma cuando se utiliza la tabla de Polybios con representacin numrica. El
criptograma que se obtiene con este cifrador tiene una extensin de caracteres igual al
doble de la del texto en claro, caracterstica que no puede considerarse precisamente
como una virtud de este mtodo de cifra. En realidad no fue tan buena la idea.
El cifrador del Csar
Unos cincuenta aos despus del cifrador de Polybios, en el siglo I antes de
J.C., aparece un cifrador bsico conocido con el nombre genrico de cifrador del Csar
en honor al emperador Julio Csar y en el que ya se aplica una transformacin al texto
en claro de tipo monoalfabtica. Como se ver en un apartado posterior, el cifrador del
Csar aplica un desplazamiento constante de tres caracteres al texto en claro, de forma
que el alfabeto de cifrado es el mismo que el alfabeto del texto en claro pero
desplazado 3 espacios hacia la derecha mdulo n, con n el nmero de letras del
mismo. En la Figura 1.3. se muestra el alfabeto y por tanto la transformacin que utiliza
este cifrador por sustitucin de caracteres para el alfabeto castellano de 27 letras.
M
i
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
C
i
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Figura 1.3. Alfabeto de cifrado del Csar para lenguaje castellano.
Ejemplo 1.2: Con el cifrador del Csar segn el alfabeto mostrado en la Figura 1.3,
cifre los siguiente mensajes:
M
1
= VINI, VIDI, VINCI. (Frase clebre de Csar: llegu, vi, venc).
M
2
= AL CSAR LO QUE ES DEL CSAR.
Solucin: Aplicando a cada carcter M
i
su equivalente C
i
de la tabla de la Figura
1.3, se obtienen los siguientes criptogramas:
C
1
= YLPL, YLGL, YLPFL.
C
2
= D FHVDU R TXH HV GH FHVDU.
A partir del ejemplo anterior, es fcil apreciar ciertas debilidades en este cifrador
como, por ejemplo, la repeticin de la cadena de caracteres YL en el criptograma
primero y FHVDU en el segundo que entregan demasiadas pistas a un posible
criptoanalista. Estos y otros puntos dbiles del cifrador del Csar que por ahora no
saltan a la vista sern analizados y comentados ms adelante.
CRIPTOSISTEMAS CLSICOS 7
El cifrador de Alberti
En el siglo XVI Leon Battista Alberti presenta un manuscrito en el que describe
un disco cifrador con el que es posible cifrar textos sin que exista una correspondencia
nica entre el alfabeto del mensaje y el alfabeto de cifrado como en los casos
analizados anteriormente. Con este sistema, cada letra del texto en claro poda ser
cifrada con un carcter distinto dependiendo esto de una clave secreta. Se dice
entonces que tales cifradores usan ms de un alfabeto por lo que se denominan
cifradores polialfabticos, a diferencia de los anteriores denominados monoalfabticos.
Como se aprecia en la Figura 1.4, el disco de Alberti presenta en su crculo
exterior los 20 caracteres del latn, esto es, los mismos del alfabeto castellano excepto
las letras H, J, , K, U, W e Y, y se incluyen los nmeros 1, 2, 3 y 4 para cdigos
especiales. Por su parte, en el disco interior aparecen todos los caracteres del latn
adems del signo & y las letras H, K e Y. Al ser 24 los caracteres representados en
cada disco, es posible definir hasta 24 sustituciones diferentes; es decir, dependiendo
de la posicin del disco interior la cantidad mxima de alfabetos de cifrado es igual a 24.
Luego, para cifrar un mensaje, una vez establecida la correspondencia entre caracteres
de ambos discos o, lo que es lo mismo, el alfabeto de cifrado, se repasa letra a letra el
texto en claro del disco exterior y se sustituye cada una de ellas por la letra
correspondiente del disco interior.
Figura 1.4. Disco cifrador de Alberti.
La innovacin que supone este sistema consiste en que el alfabeto de
sustitucin puede ser cambiado durante el proceso de cifrado, por ejemplo cada k
caracteres, simplemente girando el disco interior y por tanto utilizando otro alfabeto de
sustitucin.
8 CRIPTOSISTEMAS CLSICOS
Ejemplo 1.3: Cifre con el disco de Alberti de la Figura 1.4, siendo su posicin inicial la
de coincidencia entre el nmero 1 del disco exterior y el signo & del disco
interior, el siguiente mensaje:
M = EL DISCO DE ALBERTI ES EL PRIMER CIFRADOR
POLIALFABTICO CONOCIDO.
Solucin: Desplazamos el disco interior dos espacios en el sentido de las agujas del
reloj y leemos el carcter cifrado en el disco interior bajo el carcter
correspondiente del texto en claro del disco exterior, obtenindose:
C = VA EOSMP EV HARVXFO VS VA BXOIVX MOLXHEPX
BPAOHALHRVFOMP MPYPMOEP.
1.1.2. CIFRADORES DEL SIGLO XIX
En el siglo XIX comienzan a desarrollarse diversos sistemas de cifra con las
caractersticas polialfabticas propuestas por Alberti, entre los que destacan el de
discos concntricos de Wheatstone en 1860 y el de cilindros de Bazeries en 1891.
El cifrador de Wheatstone
El criptgrafo de Wheatstone mostrado en la Figura 1.5. -segn un invento de
Decius Wadsworth desarrollado en 1817- sigue, bsicamente, el mismo algoritmo de
cifra que el de Alberti. Ahora bien, en este caso se utiliza el alfabeto ingls de 26
caracteres ms el espacio en blanco para el texto en claro, representado de forma
ordenada en el disco exterior, en tanto que el disco interior contiene solamente los 26
caracteres del lenguaje distribuidos aleatoriamente. Las agujas estn engranadas de
forma que cuando la externa gira 27 posiciones, la interna lo hace 26.
Figura 1.5. Mquina de cifrar de Wheatstone.
El mtodo de cifra consiste en hacer girar la aguja externa en el sentido de las
manecillas del reloj hasta hacer coincidir cada letra del texto en claro con la letra del
disco externo y apuntar el carcter correspondiente que aparece en el crculo interior,
incluso para el espacio en blanco. Observe que por la relacin de giro de las agujas,
stas se van separando una posicin o letra por cada vuelta, de forma que el alfabeto
de cifrado ser diferente cuando se cumpla cualquiera de estas tres condiciones:
CRIPTOSISTEMAS CLSICOS 9
a) Que se termine una palabra del texto en claro y por tanto demos un giro completo
de la aguja mayor al buscar el espacio en blanco.
b) Que aparezcan letras repetidas y tengamos que dar toda una vuelta completa al
buscar la segunda. No obstante, segn los autores, en este caso es posible
tambin omitir cifrar la letra repetida o bien cifrar ambas como una nica letra
poco usual, por ejemplo la letra Q.
c) Que las letras de una palabra no vengan en orden alfabtico. Es decir, si ciframos
la palabra CELOS no alcanzamos a dar la vuelta completa al disco exterior, en
tanto que la palabra MUJER implica dos vueltas y HOMBRE significa tres. No
trate de encontrar ningn mensaje subliminal en estas tres palabras y sus
vueltas.
La importancia de este cifrador est en que cada una de las palabras del
mensaje influye en la forma en que se cifran las siguientes, una propiedad muy
interesante y que precisamente utilizarn los cifradores modernos, sencillamente
definiendo el concepto de palabra como bloque de bits para la cifra y aplicando lo que
se denomina cifrado con encadenamiento.
Ejemplo 1.4: Con la mquina de cifrar de Wheatstone y suponiendo la posicin inicial
indicada en la Figura 1.5, cifre los siguientes mensajes:
M
1
= CHICA FELIZ.
M
2
= CHICO FELIZ.
Solucin: C
1
= TUNZT T NNWIA.
C
2
= TUNZW L UUPCZ.
Como se observa en el ejemplo anterior, ambos criptogramas presentan los
cuatro primeros caracteres iguales pues en el texto en claro de M
1
y M
2
tambin son
iguales (CHIC). No obstante, la diferencia en el quinto carcter de los textos M
1
y M
2
,
hace que los criptogramas resultantes a partir de ese punto sean completamente
diferentes, comprobndose as la afirmacin de que cada palabra influye en el cifrado
de la siguiente.
Observe, adems, que la primera letra C del texto en claro en ambos casos se
cifra como T, en tanto que la segunda vez que aparece se cifra como Z, precisamente
un espacio hacia delante en el disco interior. Esto es debido al giro completo que se
produce en la operacin de cifra luego de cifrar los caracteres C, H e I. Por otra parte,
los caracteres repetidos TTNN en C
1
y UU en C
2
se deben a una revolucin completa
del disco interior producida por dos caracteres contiguos en el texto en claro y que
estn separados 26 espacios como es el caso de los digramas "A " y "FE". Por ltimo,
aprciese que una misma palabra repetida en el texto en claro se cifrar cada vez con
un alfabeto distinto por la rotacin completa producida por la bsqueda del espacio en
blanco.
Por ejemplo el mensaje M = TORA TORA, palabra secreta usada como clave
por los japoneses en el ataque a Pearl Harbor y cuyo significado es tigre, se cifrar
como C = XWQT Z KQBG.
10 CRIPTOSISTEMAS CLSICOS
El cifrador de Bazeries
El cifrador de tienne Bazeries, criptlogo francs nacido a finales del siglo XIX,
est basado en el cifrador de ruedas de Jefferson, inventado unos 100 aos antes por
Thomas Jefferson reconocido como el padre de la criptografa americana. El criptgrafo
mostrado en la Figura 1.6 consta de 20 discos, cada uno de ellos con 25 letras en su
circunferencia, de forma que la clave se establece sobre la generatriz del cilindro,
determinndose 25 alfabetos diferentes. Su funcionamiento es el siguiente: para cifrar
el mensaje, primero se divide ste en bloques de 20 letras, procediendo luego a su
colocacin en forma longitudinal en la lnea del visor. El criptograma que se enva
puede ser cualquiera de las 25 lneas, tambin llamadas generatrices del cilindro. Por
ejemplo, si se elige la generatriz de distancia +2 en la Figura 1.6, el mensaje M = JE
SUIS INDECHIFFRABLE del visor se cifrara como C = LOVS PQUU
TPUKEJHHCFDA.
Figura 1.6. Mquina de cifrar de Bazeries.
Se puede elegir la misma distancia a la generatriz en la cual se lee el
criptograma para todo el bloque o bien cambiar sta en cada bloque o elemento del
bloque, de forma que el nmero de combinaciones o alfabetos distintos en vez de ser
solamente 25 podra crecer hasta el factorial de 25, un valor verdaderamente alto. Uno
de estos posibles alfabetos podra ser elegir una secuencia de distancias, una vez
introducido el mensaje en el visor, igual a -1,-2,-2,-1,1,2,2,1,-1,-2,-2,-1,1,2,2,1,-1,-2,-2,-
1. Es decir, una vez se tenga el mensaje en claro en el visor, se enva como primer
carcter del criptograma el que, en la misma columna, est desplazado una posicin
hacia atrs en el anillo; como segundo el que est desplazado dos posiciones atrs, el
tercero tambin dos posiciones atrs, el cuarto una posicin atrs, el quinto una
posicin hacia delante, el sexto dos adelante, etc., de manera que el criptograma forma
una especie de zig-zag en torno al texto en claro, sin transmitir ningn carcter de ste
puesto que la posicin 0 no se encuentra en la secuencia indicada. Como es fcil
observar, dicha secuencia sera la clave del sistema y, en este caso, su valor mximo
sera igual todas las posible permutaciones es decir 25! = 1,55x10
25
, un valor muy
grande aunque el sistema de cifra sera engorroso y poco prctico.
La operacin de descifrado consiste en poner los caracteres del criptograma en
el visor y buscar en alguna de las lneas el mensaje en claro o seguir el proceso inverso
al comentado anteriormente. Como los bloques de criptograma tienen longitud de veinte
caracteres, es prcticamente imposible que exista ms de una solucin con sentido.
CRIPTOSISTEMAS CLSICOS 11
Ejemplo 1.5: Considerando una representacin del cifrador de Bazeries como la que
se indica a continuacin, cifre el mensaje mostrado en el visor de la
generatriz 11 del disco: M = INTENTA ROMPER LA CIFRA.
a) Con una distancia constante de +3 espacios.
b) Con la secuencia S de distancia de cifrado indicada:
S = 0,1,2,1,0,-1,-2,-1,0,1,2,1,0,-1,-2,-1,0,1,2,1.
Fila Disco 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
....
7 V A M W W U I O P S S A H K L V C D U Q
8 M O J F J K L M A C H Y E D X Z G Q I U
9 D B W Q D S B D Q T F D S F D X E W Q G
10 A W K Y H M P E S H U K P U O E S J K D
11 I N T E N T A R O M P E R L A C I F R A
12 R G I S X F W G B A N L F M J H A A S H
13 U I D V C R I I Z D D C Z A K I M B L X
14 K L B O T Z H Y L V C O N D W A L M V Z
15 W H S K L P O U I E E P D N C G Q E O B
......
Solucin: a) C = KLBOTZHYLVCONDWALMVZ.
b) Segn la secuencia indicada, tomamos caracteres consecutivos de las
lneas 11,12,13,12,11,10,9,10,11,12,13,12,11,10,9,10,11,12,13,12 que
se encuentran subrayados. C = IGDSNMBEOADLRUDEIALH.
Todos los sistemas comentados y muchsimos otros que se desarrollaron
paralelamente en Europa, Amrica y Asia, han sido criptoanalizados incluso sin contar
con la ayuda de equipos informticos. No obstante, la discusin de su criptoanlisis
est fuera del objetivo de este libro, por lo que al lector interesado en tales temas
histricos se le remite nuevamente al libro de Khan y a las publicaciones que se
indican.
2
1.1.3. Mquinas de cifrar en el siglo XX
Ya entrado el siglo XX, aproximadamente unos 20 aos antes de que estalle la
Segunda Guerra Mundial, se desarrollan diversas mquinas de cifrar con rotores o
ruedas que permiten un cifrado polialfabtico, dando lugar a un importante nmero de
claves secretas que, para aquel entonces, dificultaba in extremis el criptoanlisis. Este
desarrollo a nivel industrial de los criptosistemas resulta lgico pues en aquellos aos
previos a dicha confrontacin mundial, estaba todava muy fresco en la memoria de
todos, y en especial de gobernantes y militares, los efectos de la Primera Guerra
Mundial, por lo que las medidas de seguridad ante el miedo al espionaje adquiran una
importancia vital. Recuerde el famoso telegrama de Zimmermann comentado al
comienzo del captulo.
2
Deavours, Cipher; Khan, David; Kruh, Louis; Mellen, Greg; Winkel, Brian, "Cryptology: Machines,
History & Methods", Artech House, 1989. Bauer, F.L., Decrypted Secrets. Methods and Maxims of
Cryptology, Springer, 1991.
12 CRIPTOSISTEMAS CLSICOS
De estas mquinas, cuyo papel principal fue su utilizacin para enviar mensajes
cifrados precisamente en la Segunda Guerra Mundial, destacan tanto por sus
caractersticas como por el halo de misterio que las rodeaba dos de ellas: la mquina
Enigma y la de Hagelin. Encontrar fotografas y esquemas muy interesantes sobre
stas y otras mquinas de cifrar en el libro de Khan, en la referencia anterior y en el
software del Libro Electrnico de Criptografa Clsica en Toolbook que puede descargar
gratuitamente desde http://www.criptored.upm.es/software/sw_m001a.htm.
La mquina Enigma
Inventada por el ingeniero alemn Arthur Scherbius en el ao 1923, la mquina
Enigma consiste en un banco de rotores montados sobre un eje, en cuyos permetros
haba 26 contactos elctricos, uno por cada letra del alfabeto ingls. En realidad el
precursor de este tipo de mquinas con rotores fue Edward Hugh Hebern que algunos
aos antes inventa y comercializa los denominados cifradores de cdigos elctricos.
Esta mquina debe su fama a la amplia utilizacin durante la Segunda Guerra Mundial,
en especial por parte del ejrcito alemn. El imperio japons tambin cifra sus
mensajes con una mquina similar denominada Purple. Estos cdigos, por muy difciles
que puedan parecer, fueron rotos por los criptoanalistas de la poca.
Los rotores se desplazan como un odmetro. Es decir, al cifrar un carcter el
primer rotor avanza una posicin y slo cuando ste ha realizado una rotacin
completa, el segundo se desplaza un carcter, y as sucesivamente. Estos volvern a
su posicin inicial, tras un perodo igual a n
t
. Por ejemplo, en un sistema con 4 rotores,
se utilizan de 26
4
= 456.976 alfabetos. Si aumentamos los rotores a 5, esta cantidad
asciende a 11.881.376. La operacin de cifra para estas mquinas sigue la siguiente
congruencia:
E
i
(M) = (f
i
(M - p
i
)mod 26 + p
i
) mod 26 1.1
En la ecuacin anterior, p
i
es la posicin en la que se encuentra el rotor isimo y
f
i
la correspondencia de los caracteres de la cara anterior y posterior de este rotor. Por
lo tanto, el carcter isimo M
i
del mensaje M = m
1
m
2
m
3
... se cifrar como:
E
ki
(M
i
) = F
t
.....
F
1
(M) 1.2
La mquina Hagelin
La mquina Hagelin fue inventada por el criptlogo sueco Boris Hagelin, quien
adquiri en 1927 la fbrica de mquinas de cifrar de Arvid G. Damm, otro inventor
sueco que no tuvo la suerte de sacar un producto competitivo en el mercado. Entre los
aos veinte y los treinta, Hagelin disea diversas mquinas (B-21, B-211, C-36, C-48,
etc.) en las que a travs de ruedas con piones realiza una cifra similar a la utilizada por
el sistema de Beaufort que veremos ms adelante.
La particularidad de estas mquinas que a la postre hizo millonario a Hagelin,
probablemente ante la desesperacin de Damm, estaba en una periodicidad muy alta
puesto que el nmero de dientes de las diferentes ruedas eran primos entre s. Para
CRIPTOSISTEMAS CLSICOS 13
seis ruedas estos valores eran 26, 25, 23, 21, 19 y 17, de forma que el perodo era igual
a su producto, un valor que supera los 100 millones. La ecuacin matemtica que
representa al cifrado de Hagelin es:
E
ki
(M
j
) = (k
i
- M
j
) mod 26 1.3
1.2. ALFABETOS Y CARACTERSTICAS DEL LENGUAJE
1.2.1. Alfabetos de cifrado
En la mayora de los cifradores clsicos se utiliza como alfabeto de cifrado el
mismo alfabeto del texto en claro. Para poder aplicar las operaciones de transformacin
se asocia a cada letra del alfabeto un nmero de forma que a la letra A le corresponde
el 0, a la letra B el 1, etc. De esta manera, si nos centramos en el castellano, podramos
definir en principio cinco tipos de alfabetos:
Alfabeto 1: Letras maysculas: aritmtica mdulo 27.
Alfabeto 2: Letras maysculas con nmeros 0-9: aritmtica mdulo 37.
Alfabeto 3: Letras maysculas y minsculas: aritmtica mdulo 59.
Alfabeto 4: Letras maysculas, minsculas y nmeros: aritmtica mdulo 69.
Alfabeto 5: Todos los caracteres imprimibles ASCII: aritmtica mdulo 224.
En los cuatro primeros casos no se tiene en cuenta el carcter del espacio en
blanco (valor ASCII 32) puesto que ello entregara en muchos cifradores clsicos una
inapreciable pista al hipottico criptoanalista. Tenga en cuenta que para un texto en
castellano en el que el alfabeto considerado sea el de 27 letras ms el espacio en
blanco, este ltimo presenta una frecuencia de ocurrencia de casi un 20%, siguindole
muy por detrs las letra E y A, con valores en el orden del 10%. No obstante, si
eliminamos este carcter y ciframos los mensajes solamente con las 27 letras del
alfabeto, la letra E presenta una frecuencia de aproximadamente un 13%, la letra A se
alza por encima del 10% y los dems caracteres siguen una distribucin caracterstica
que ser tratada en el apartado siguiente.
En cuanto al quinto alfabeto, hay 224 caracteres imprimibles, desde el valor 32 al
255, contando claro est con el espacio en blanco, o bien 223 sin ste. Si utilizamos
como alfabeto de cifrado el cdigo ASCII deberemos tener especial cuidado con los
caracteres no imprimibles, caracteres especiales como los de salto de lnea, fin de
archivo, etc., que luego podran no ser recuperables. Es decir, la operacin de cifrado y
descifrado debe considerar estas condiciones de forma que slo se transmitan los
caracteres que pueden imprimirse y no incluir caracteres extraos en el criptograma.
Evidentemente esto slo tiene sentido en este tipo de cifradores orientados a
caracteres en donde para nada se habla de bits. La cifra moderna es digital y, por tanto,
este problema no existe. Es ms, tambin podrn traernos de cabeza los cdigos
distintos que usan los sistemas operativos DOS y Windows para caracteres especiales
como, por ejemplo, las minsculas acentuadas o la letra , en tanto el primero utiliza la
tabla de cdigos ANSI/ASCII y el segundo la tabla ANSI/OEM (vase el Anexo en el
libro electrnico http://www.criptored.upm.es/guiateoria/gt_m001a.htm.
14 CRIPTOSISTEMAS CLSICOS
La Figura 1.7 muestra la correspondencia del alfabeto de texto en claro con
nmeros para el alfabeto 1 y el alfabeto 2. Diremos entonces que las operaciones de
transformacin se realizan en mdulo 27 y 37, respectivamente.
10 20 30
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
A
1
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
A
2
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 1 2 3 4 5 6 7 8 9 0
Figura 1.7. Correspondencia numrica de alfabetos.
Establecer una correspondencia numrica de los caracteres del alfabeto nos
permitir realizar operaciones matemticas de desplazamiento (adicin) y decimacin
(multiplicacin) (*) a los caracteres del texto en claro, de forma que aplicaremos todas
las propiedades de la aritmtica de los enteros estudiadas en el captulo segundo. Por
ejemplo, siguiendo la tabla de correspondencia del alfabeto A
1
y recordando los
conceptos de congruencia, las siguientes operaciones nos entregarn como texto final
el mensaje TARZAN, el personaje literario creado en 1912 por E. Rice Borroughs.
(*) Nota de la publicacin en 1 de marzo de 2005: aunque la palabra decimacin
no existe, se utilizar aqu para indicar cmo se recorre un mdulo dando saltos, en
donde el tamao de ese salto corresponde al valor indicado como decimacin.
X - E = 24 - 4 = 20 = T
4
A = 4
0 = 0 = A
H + L = 7+11 = 18 = R
8
K= 8
10 = 80
80 - 2
27 = 26 = Z
J + R = 9 + 18 = 27
27 - 1
27 = 0 = A
T + T = 20 + 20 = 40
40 - 1
27 = 13 = N
Luego, cualquier operacin tanto de desplazamiento como de decimacin, ser
representada en el mismo anillo. Para que estas transformaciones puedan ser
aplicadas en criptografa, como ya hemos comentado en el captulo dedicado a la
aritmtica modular, deber cumplirse que exista el inverso. En el caso de la suma
siempre existe el inverso, no as para la multiplicacin en donde deber cumplirse la
condicin de que la constante de multiplicacin y el mdulo de trabajo sean primos
entre s.
NOTA: En aras de una mayor sencillez, en lo que sigue del captulo y en tanto no
se especifique lo contrario, se supondr siempre que el alfabeto utilizado es el
castellano con letras maysculas, es decir 27 letras, con lo que las operaciones se
realizarn en mdulo 27.
1.2.2. Estadsticas del lenguaje
Comentbamos en el captulo segundo que el lenguaje castellano presenta una
gran redundancia. Esto significa que en algunos criptosistemas (bsicamente los de
tipo clsico orientados al cifrado de caracteres) podremos aplicar esta caracterstica
para criptoanalizar textos cifrados. De hecho, lo primero que se plantea todo
criptoanalista es suponer que el cifrado es de tipo bsico y, por lo tanto, puede
CRIPTOSISTEMAS CLSICOS 15
intentarse el ataque a partir de las estadsticas del lenguaje. Como veremos en el
prximo apartado, en lo que concierne a los cifradores clsicos stos se dividen en
monoalfabticos y polialfabticos, en tanto se utilice un nico alfabeto para cifrar o ms
de uno. En tales casos, el anlisis de las frecuencias relativas de aparicin de los
caracteres en el criptograma nos indicar si se trata de uno u otro tipo de cifra.
Aunque los sistemas clsicos estn en desuso, no por ello deben ser pasados
por alto por el criptoanalista. En realidad sera bastante poco agradable perder horas de
esfuerzo en la intencin de romper una cifra, suponiendo de antemano que el
criptosistema en cuestin empleado es de los denominados modernos, para luego caer
en la cuenta que aquel complicado enigma se trataba simplemente de un cifrado
elemental, que puede romperse fcilmente con herramientas bsicas. No quedaramos
muy bien ante nuestros superiores. Por lo tanto, la primera accin que realizar todo
criptoanalista ser la de contabilizar los caracteres que aparecen en el criptograma para
obtener informacin sobre el tipo de cifra, monoalfabtico o polialfabtico, e intentar
aplicar las tcnicas que describiremos ms adelante para romper dicha cifra. Si esto no
entrega los resultados esperados, buscar otros caminos, yendo como es lgico
siempre desde la dificultad menor a la mayor.
En la tabla del anexo ya comentado se incluyen las frecuencias relativas de
monogramas en el lenguaje castellano mdulo 27, esto es considerando slo las letras
maysculas. Estos datos nos permiten formar tres grupos de frecuencias relativas: uno
de alta frecuencia, otro de frecuencia media y un tercero de frecuencia baja, como se
muestra en la Figura 1.8.
E 13,11 C 4,85 Y 0,79
A 10,60 L 4,42 Q 0,74
S 8,47 U 4,34 H 0,60
O 8,23 M 3,11 Z 0,26
I 7,16 P 2,71 J 0,25
N 7,14 G 1,40 X 0,15
R 6,95 B 1,16 W 0,12
D 5,87 F 1,13 K 0,11
T 5,40 V 0,82 0,10
Frecuencia Alta Frecuencia Media Frecuencia Baja
Valores de frecuencia relativa expresadas en tanto por ciento
Figura 1.8. Clasificacin de frecuencias de caracteres del lenguaje mdulo 27.
En la figura anterior, hemos considerado como Frecuencia Alta un valor mayor
que el 5 por ciento y Frecuencia Baja un valor similar o menor que un 1 por ciento.
Observe que mezclando las letras de alta frecuencia podemos formar la palabra
ESTIRANDO. Ms adelante volveremos a considerar estos nueve caracteres cuando
se aborden las tcnicas de criptoanlisis.
Dependiendo del tipo de texto analizado, aparecern ligeras diferencias, si bien
podemos concluir que los valores se mantienen en el rango indicado. Esto quiere decir
que es posible considerar, por ejemplo, la letra L con ms peso que la D, incluir en la
zona de alta frecuencia la letra C en vez de la letra T, etc. Pinsese en algn
documento que contenga informacin sobre produccin y comercializacin de un
16 CRIPTOSISTEMAS CLSICOS
determinado bien; es posible que la letra K tenga una contribucin mayor por el hecho
de que aparezca muchas veces la palabra kilo; lo mismo en un informe mdico de
radiologa, donde la letra X puede tener un mayor peso que el aqu indicado. No
obstante, el estudio estadstico de la frecuencia de caracteres tendr su utilidad slo en
el criptoanlisis de sistemas clsicos por sustitucin, en donde supondremos que los
mensajes a cifrar se tratar siempre de textos comunes. Es ms, en la mayora de los
casos supondremos que tales mensajes contienen solamente caracteres alfabticos y
no del tipo alfanumricos.
La redundancia del lenguaje no slo nos dice que existen letras ms frecuentes
que otras. Tambin nos indica la existencia de digramas comunes, trigramas,
poligramas y en general palabras de mayor uso que otras. En la tabla del anexo, se
recogen los valores de digramas para un texto en castellano sobre seguridad
informtica, con ms de 40.000 caracteres, el mismo utilizado para la obtencin de la
tabla de monogramas. En dicha tabla aparecen algunos digramas no existentes en
castellano como, por ejemplo, CY, KE y KU. La razn es que el texto utilizado es un
documento de 41095 caracteres que habla sobre seguridad informtica y virus por lo
que aparecen de forma reiterada palabras como secrecy, hackers y backup.
Observando la tabla de digramas, encontramos que los tres digramas con mayor
frecuencia relativa en castellano son DE (1084), ES (1010) y EN (901), con cerca del
2,5 por ciento. Asimismo, existirn digramas con frecuencia nula como sera el caso de
QA, KK, L, WZ, etc., pues no forman parte de palabra alguna ni son trmino e inicio
de dos palabras contiguas. No ser ste el caso, por ejemplo, de un digrama como NF
pues puede ser final e inicio de palabras contiguas en un mensaje como, por ejemplo,
rocnflaco, mastnfurioso, o atraccinfatal.
Ejemplo 1.6: Para el siguiente texto clsico:
a) Encuentre las frecuencias relativas de monogramas.
b) Encuentre los 9 monogramas de mayor frecuencia.
c) Encuentre la frecuencia relativa de digramas.
d) Encuentre los tres digramas ms frecuentes.
"En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha
mucho tiempo que viva un hidalgo de los de lanza en astillero, adarga
antigua, rocn flaco y galgo corredor. Una olla de algo ms vaca que
carnero, salpicn las ms noches, duelos y quebrantos los sbados,
lentejas los viernes, algn palomino de aadidura los domingos,
consuman las tres partes de su hacienda. El resto de ella concluan sayo
de velarte, calzas de velludo para las fiestas, con sus pantuflos de lo
mismo, y los das de entre semana se honraba con su vellor ms fino.
Tena en su casa una ama que pasaba de los cuarenta, y una sobrina
que no llegaba a los veinte, y un mozo de campo y plaza, que as
ensillaba el rocn como tomaba la podadera. Frisaba la edad de nuestro
hidalgo con los cincuenta aos; era de complexin recia, seco de carnes,
enjuto de rostro, gran madrugador y amigo de la caza. Quieren decir que
tena el sobrenombre de Quijada, o Quesada".
Solucin: Se han contabilizado 730 caracteres.
a) Las frecuencias relativas de monogramas mdulo 27 en % para este
trozo de texto son:
CRIPTOSISTEMAS CLSICOS 17
A 14,38 J 0,41 R 5,75
B 1,64 K 0,00 S 7,53
C 4,38 L 6,99 T 2,88
D 5,75 M 3,15 U 4,93
E 11,37 N 7,53 V 1,10
F 0,68 0,00 W 0,00
G 1,92 O 9,73 X 0,14
H 1,10 P 1,51 Y 1,23
I 3,70 Q 1,51 Z 0,68
b) Los nueve monogramas ms frecuentes en el texto son:
A, D, E, L, N, O, R, S, U.
c) Los valores absolutos de frecuencia de digramas en el texto se
muestran en la siguiente tabla:
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
A 5 6 7 13 6 1 0 0 0 0 0 13 5 9 0 3 1 5 10 14 0 2 0 0 0 2 2
B 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0
C 7 0 0 0 0 0 0 3 4 0 0 1 0 3 0 11 0 0 0 0 0 3 0 0 0 0 0
D 10 0 0 1 22 0 0 0 1 0 0 0 0 0 0 5 0 0 1 0 0 2 0 0 0 0 0
E 3 1 9 3 2 0 1 1 1 1 0 14 2 18 0 0 1 1 8 11 1 0 3 0 1 1 0
F 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
G 5 0 0 0 0 0 0 0 0 0 0 0 0 1 0 6 0 0 1 0 0 1 0 0 0 0 0
H 3 0 0 0 1 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0
I 1 0 1 3 6 0 2 0 0 1 0 2 0 7 0 0 0 0 1 2 0 0 1 0 0 0 0
J 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
K 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
L 14 0 0 0 4 0 5 0 0 0 0 7 0 0 0 13 1 0 2 1 0 3 0 0 0 0 1
M 6 2 0 0 1 0 0 0 4 0 0 0 0 0 0 3 3 0 0 3 0 1 0 0 0 0 0
N 8 0 4 2 3 1 1 1 0 1 0 4 2 0 0 8 1 0 2 6 8 2 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
O 2 2 5 9 0 0 1 2 0 0 0 2 9 7 0 0 1 3 5 16 3 0 0 0 0 3 1
P 5 0 0 0 0 0 0 0 1 0 0 2 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0
Q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0
R 7 0 0 2 10 0 1 0 2 0 0 0 2 3 0 8 0 1 1 0 2 2 0 0 0 1 0
S 7 1 4 8 6 2 0 0 1 0 0 3 2 1 0 2 2 0 0 1 6 5 3 0 0 1 0
T 3 0 0 0 6 0 0 0 3 0 0 0 0 0 0 4 0 0 4 0 0 1 0 0 0 0 0
U 3 0 2 1 11 1 2 1 3 0 0 0 1 6 0 0 0 0 1 1 1 0 1 0 0 1 0
V 2 0 0 0 4 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
X 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Y 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 2 1 1 0 0 0 2 0 0 0 0 0
Z 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
d) Los tres digramas ms frecuentes del texto son DE con 22 apariciones,
EN con 18 y OS que aparece 16 veces.
En el ejemplo anterior, a pesar de que el texto no tiene la longitud que sera
recomendable para obtener unos resultados que sean fieles a la realidad de la ratio y
redundancia del lenguaje, s deja entrever una tendencia marcada del mayor peso de
algunas letras y conjunto de letras. De las 9 letras de mayor peso en este texto, 7
corresponden a la clasificacin de Alta Frecuencia que habamos hecho.
En cuanto a los digramas, existe una mayor dispersin como es natural porque
el texto analizado es muy corto. No obstante, para este texto con 726 digramas, dos de
los tres digramas ms comunes del texto, DE con un 3,0 % y EN con el 2,5 %, son
18 CRIPTOSISTEMAS CLSICOS
tambin los ms frecuentes en el lenguaje castellano con valores de frecuencia muy
similares.
1.3. CLASIFICACIN DE LOS CRIPTOSISTEMAS
CLSICOS
El cifrado o cifra es una tcnica para ocultar un mensaje y evitar que sea legible
si ste es interceptado por una persona no autorizada. Por lo tanto, el objetivo bsico es
mantener seguros unos datos dentro de un entorno como puede ser una lnea de
transmisin o un sistema de almacenamiento que ya hemos visto es inseguro. Como
proteccin utilizaremos mtodos o algoritmos para cifrar la informacin. En una primera
aproximacin, en este caso bajo el punto de vista histrico, clasificaremos estos
mtodos de cifra como Criptosistemas Clsicos y Criptosistemas Modernos.
TRANSPOSICIN SUSTITUCIN
GRUPOS
Esctala
SERIES
COLUMNAS/FILA
MONOALFABTICA POLIALFABTICA
MONOGRMICA POLIGRMICA
ALFABETO ESTNDAR
Cifrador del Csar
TRANSFORMACIN
Cifrador sustitucin afn
ALFABETO MIXTO
DIGRMICA
Cifrador de Playfair
N-GRMICA
Cifrador de Hill
PERIDICA NO PERIDICA
Cifrador de Vernam
ALFABETOS PROGRESIVOS
Mquina Enigma
ALFABETOS LINEALES
ALFABETO ESTNDAR
Cifrador de Vigenre
ALFABETO MIXTO
MTODOS DE CIFRA CLSICOS
Figura 1.9. Clasificacin de los mtodos clsicos de cifra y algunos ejemplos.
Los mtodos clsicos son aquellos en los que, adems de las mquinas
dedicadas para cifrar como las estudiadas en el apartado 1.1, se usan por separado
CRIPTOSISTEMAS CLSICOS 19
tcnicas de sustitucin y transposicin aplicadas a los caracteres del texto en claro. Las
tcnicas criptogrficas utilizadas en este caso son en su totalidad orientadas a sistemas
de clave secreta, generalmente manteniendo tambin en secreto el algoritmo, incluso
en el caso en que el cifrador cuente con una clave secreta. La operacin de cifra se
realiza sobre caracteres alfanumricos, por lo general alfabticos, y en ese mismo
formato se transmiten o almacenan.
La Figura 1.9 muestra una clasificacin de los sistemas de cifra clsicos, en
donde se incluyen algunos cifradores tpicos a modo de ejemplo. Estos sistemas de
cifra se clasificarn, bsicamente, en aquellos que utilizan tcnicas de sustitucin y
aquellos que utilizan tcnicas de transposicin sobre los caracteres de un texto en
claro, ambas tcnicas propuestas por Shannon para lograr la confusin y difusin,
respectivamente.
NOTA: En lo que sigue del texto, para todos los ejemplos supondremos que el
texto cifrado viene agrupado en una cantidad fija de caracteres y que tanto los
espacios en blanco como los signos de puntuacin no sern tomados en cuenta
en el proceso de cifra. La agrupacin por defecto de los elementos del
criptograma ser de cinco caracteres.
Los cifradores por transposicin utilizan la tcnica de permutacin de forma que
los caracteres del texto se reordenan mediante un algoritmo especfico. Un caso
representativo de esta transformacin -que ser analizado ms detenidamente en un
apartado prximo- sera transmitir el mensaje en bloques de cinco caracteres pero
reordenados (permutados) stos de forma que su posicin en el criptograma sea, por
ejemplo, 43521; es decir, el cuarto carcter del bloque en claro se transmite primero, a
continuacin el tercero, despus el quinto, luego el segundo y, por ltimo, el primero.
Esta operacin se repetir en cada bloque de 5 caracteres del mensaje. Por lo tanto, la
transposicin implica que los caracteres del criptograma sern exactamente los mismos
que los del texto en claro.
Ejemplo 1.7: Cifre mediante transposicin de bloques de cinco caracteres el siguiente
mensaje, usando la permutacin 43521.
M = AL GRITO DE VIVA ZAPATA SE ARM UNA GORDA.
Solucin: Siguiendo la permutacin indicada, se obtiene:
M = ALGRI TODEV IVAZA PATAS EARMO UNAGO RDAXX
C = RGILA EDVOT ZAAVI ATSAP MROAE GAONU XAXDA
Los cifradores por sustitucin utilizan la tcnica de modificacin de cada carcter
del texto en claro por otro correspondiente al alfabeto de cifrado. Si el alfabeto de
cifrado es el mismo que el del mensaje o bien nico, hablamos entonces de cifradores
monoalfabticos; es decir, existe un nico alfabeto en la operacin de transformacin
del mensaje en criptograma. Por el contrario, si en dicha operacin intervienen ms de
un alfabeto, se dice que el cifrador es polialfabtico.
Cmo es posible utilizar ms de un alfabeto en la operacin de cifrado? La
respuesta es muy sencilla y la abordaremos a continuacin. En el cifrador del Csar,
por ejemplo, la letra A del texto en claro se cifraba siempre como la letra D; es por tanto
20 CRIPTOSISTEMAS CLSICOS
un cifrador monoalfabtico. A continuacin desarrollaremos un algoritmo sencillo para
usar ms de un alfabeto. Suponga que deseamos disear un algoritmo de cifrado
similar al del Csar, de forma que a los caracteres impares aplicamos un
desplazamiento de 15 espacios a la derecha del alfabeto y a los caracteres pares 10
espacios tambin a la derecha segn el ejemplo 1.8.
Ejemplo 1.8: Utilizando el algoritmo propuesto en el prrafo anterior, se pide cifrar el
mensaje M = DISFRUTAN VACACIONES EN EL MES DE AGOSTO.
Solucin: Se cifrar de la siguiente forma: los caracteres en posiciones impares
subrayados (dsrtn...aot) se desplazan 15 lugares y los caracteres en
posiciones pares (ifuav...gso) se desplazan 10 lugares. Usando entonces
las congruencias m
i
+15 mod 27 para los primeros y m
i
+10 mod 27 para
los segundos, se obtiene:
C = RRHOG EIKBF OMOMW YBH BZVS CROP DCIY.
En el criptograma anterior ha dejado de existir una correspondencia nica entre
los caracteres del texto en claro y los de un alfabeto de cifrado: la letra A se cifra como
el carcter K o como el carcter O, dependiendo se encuentre en el texto en una
posicin par o impar, respectivamente. Otro tanto ocurre para las letras I, S, E, y O. Por
otra parte, el criptograma comienza con el digrama RR que corresponde a dos letras
distintas del texto en claro.
Al aplicar dos desplazamientos diferentes, hemos utilizado dos alfabetos de
cifrado distintos, de ah que algunas letras segn su posicin se cifren como dos letras
distintas. En la Figura 1.10 se muestran los dos alfabetos utilizados en el ejemplo; A
1
para los caracteres impares y A
2
para los pares.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Mi 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
A1 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
A2 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
Figura 1.10. Alfabetos utilizados en el ejemplo.
Esta forma de cifrar dar lugar, entre otros, al cifrador de Vigenre que veremos
ms adelante. Si este fuera el caso, la clave utilizada habra sido K = OK, puesto que el
equivalente numrico de la letra O es 15 y el de la letra K es igual a 10, los valores de
desplazamiento utilizados para caracteres impares y pares, respectivamente. Observe
que al sumarse la clave al texto y como el equivalente de la letra A es igual a cero, se
cumplen las congruencias A+O = O y A+K = K, los dos valores con los que comienzan
los alfabetos en cuestin.
La sustitucin polialfabtica puede ser peridica como en el caso del ejemplo
anterior cuyo perodo es dos (el tamao de la clave) o bien no peridica, cuando la
clave en cuestin es tan larga como el mensaje.
Tanto en el caso monoalfabtico como en el polialfabtico, se realiza la
transformacin E
K
(M) sobre cada uno de los caracteres del texto en claro de forma
CRIPTOSISTEMAS CLSICOS 21
independiente; es decir, la operacin se realiza carcter a carcter o lo que es lo mismo
a travs de monogramas. Tambin es posible cifrar un texto en claro utilizando bloques
de ms de un carcter. En este caso se hablar de cifradores digrmicos que cifran el
texto cada dos caracteres, trigrmicos en bloques de tres caracteres y, en general,
poligrmicos. Al hablar de alfabetos mixtos, nos referiremos al uso de alfabetos que
contienen caracteres distintos al propio del lenguaje, por ejemplo mediante el uso de
smbolos. La Figura 1.11 muestra un posible alfabeto de cifrado mixto.
Mi 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
Ci < > ( ) & % / $ T D A C U E N ?
@ # [
]
Figura 1.11. Ejemplo de alfabeto de cifrado mixto.
1.4. CIFRADORES POR SUSTITUCIN MONOGRMICA
MONOALFABETO
1.4.1. Cifradores por sustitucin
Un cifrador por sustitucin es aquel que sustituye cada carcter del texto en
claro por otro carcter en el texto cifrado o criptograma. Esta es la forma de aplicar el
principio de confusin propuesto por Shannon en cuanto que oculta el texto en claro a
cualquier intruso mediante sustituciones, excepto para el destinatario, que conoce el
algoritmo y la clave que le permite descifrar el criptograma para recuperar el mensaje.
Los cifradores por sustitucin se pueden clasificar en tres grupos; a saber, sustitucin
monogrmica monoalfabeto, sustitucin monogrmica polialfabeto y sustitucin
poligrmica.
En los cifradores por sustitucin monogrmica monoalfabeto, el cifrado se realiza
mediante un algoritmo que hace corresponder una letra del texto en claro a una nica
letra del criptograma, es decir, cifra monogramas. De ah su denominacin de cifrador
monogrmico. En cuanto al trmino monoalfabeto, quiere decir que se utiliza un nico
alfabeto de cifrado, el mismo que el del texto en claro o uno mixto, pero distribuido bien
de forma aleatoria o bien a travs de una transformacin matemtica. Luego, si a la
letra M del texto en claro le corresponde la letra V o el smbolo # del alfabeto de cifrado,
se cifrar siempre igual pues existe una nica equivalencia o, lo que es lo mismo, un
nico alfabeto de cifrado.
Por su parte, en los cifradores por sustitucin monogrmica polialfabeto, la
operacin de cifra tambin se realiza carcter a carcter, es decir por monogramas. No
obstante, como ya hemos mencionado en apartados anteriores, a travs de una clave,
algoritmo o mecanismo, se obtienen varios alfabetos de cifrado de forma que una
misma letra puede cifrarse con caracteres distintos, dependiendo de su posicin dentro
del texto en claro.
Por ltimo, los cifradores por sustitucin poligrmica tratan el mensaje en
bloques de dos o ms caracteres sobre los que se aplica la transformacin del
criptosistema en cuestin, sustituyendo ngramas del mensaje por ngramas de texto
22 CRIPTOSISTEMAS CLSICOS
cifrado.
1.4.2. El cifrador del Csar
Tal vez el cifrador monoalfabtico por sustitucin ms famoso es el denominado
Cifrador del Csar, uno de los cifradores ms antiguos, atribuido al emperador romano
Julio Csar. Se trata de un criptosistema en el que se aplica un desplazamiento
constante igual de b caracteres sobre el texto en claro, obtenindose as el criptograma
buscado. Este tipo de cifradores, llamados genricamente cifradores monoalfabticos
por desplazamiento puro o adicin, toman en el caso del cifrador del Csar un valor de
desplazamiento b igual a 3. Por lo tanto, este cifrador del Csar tendr el alfabeto de
cifrado ya representado en la Figura 1.3 con su equivalente numrico, es decir:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Mi 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
Ci D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Figura 1.12. Equivalente numrico del alfabeto de cifrado del Csar.
Ejemplo 1.9: Con la tabla del cifrador del Csar de la Figura 1.12, cifre el mensaje:
M = CSAR EL EMPERADOR HA SIDO ASESINADO.
Solucin: Aplicando a cada carcter M
i
su equivalente C
i
, se obtiene:
C = FHVDU HHOS HUDGR UKDVL GRDVH VLPDG R.
Este sistema de cifra sencillo, apropiado e incluso bastante ingenioso para la
poca, presenta un nivel de seguridad muy dbil; de hecho su distancia de unicidad es
muy baja. En el apartado siguiente encontraremos este valor y se demostrar que el
criptoanlisis de este cifrador es verdaderamente elemental, un pasatiempo.
Cifrador del Csar con clave
Para aumentar la seguridad o, lo que es lo mismo, la distancia de unicidad de
este cifrador, podemos incluir en el alfabeto de cifrado una clave de la siguiente forma:
la clave K consiste en una palabra o frase que se escribe a partir de una posicin p
0
del
alfabeto en claro. Si la clave es K = ESTOY ABURRIDO y la posicin inicial p
0
= 3
tenemos:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Mi 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
Clave E S T O Y A B U R I D
Los caracteres repetidos de la clave no se escriben. Una vez escrita sta en la
posicin indicada, se aaden las dems letras del alfabeto en orden y de forma
modular, para obtener as el alfabeto de cifrado, como se observa.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Mi 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
W X Z E S T O Y A B U R I D C F G H J K L M N P Q V
CRIPTOSISTEMAS CLSICOS 23
Figura 1.13. Ejemplo de alfabeto de cifrador del Csar con clave.
En este tipo de cifrado se deja de cumplir la condicin de desplazamiento
constante, caracterstica en el sistema del Csar primario.
Ejemplo 1.10: Con el cifrador del Csar con clave cifre el siguiente mensaje usando
como clave K = POBRE CHUCHO SIBERIANO con p
0
= 2.
M = A PERRO FLACO TODO SON PULGAS.
Solucin: El alfabeto de cifrado resultante ser:
M
i
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
C
i
Y Z P O B R E C H U S I A N D F G J K L M Q T V W X
Luego, C = YGBKK FRIYP FMFOF LFNG IEYL.
Como es de esperar, al tener un mayor nmero de combinaciones de alfabetos,
existe una mayor incertidumbre respecto de la clave. La distancia de unicidad de este
cifrador ser mayor y, por consiguiente, el sistema presentar una mayor fortaleza.
Cifradores tipo Csar con alfabetos mixtos
En este tipo de cifrado se aplica tambin una relacin nica entre un elemento
del alfabeto en claro y un elemento del alfabeto de cifrado, salvo que este ltimo puede
contener otros caracteres o smbolos que no pertenezcan al alfabeto del mensaje.
M
i
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
C
i
[ { }
#
@ % & ( ) = > < 0 1 2 3 4 5 ]
Figura 1.14. Cifrador del Csar con alfabeto mixto.
Ejemplo 1.11: Cifre con el alfabeto mixto de la Figura 1.14 el siguiente mensaje:
M = EN EL ESCARABAJO DE ORO APARECEN SIGNOS DISTINTOS A
LOS DEL TEXTO EN CLARO.
Solucin: Siguiendo el alfabeto de cifra indicado se obtiene el criptograma:
C = }%}
#
} <[>[ [
%(<{
<0
%0 (<[
#
( <{}
#
0
}40(} %{
#
[> (.
Uno de los casos ms interesantes de este tipo de cifradores con alfabetos
distintos desde el punto de vista histrico lo encontramos en los grabados realizados en
1794 en una lpida del cementerio de Trinity, un distrito de Nueva York. El mensaje
consista en un conjunto de smbolos como se indica a continuacin.
Figura 1.15. Criptograma de la lpida del cementerio de Trinity.
Slo 100 aos despus, en 1896, se logra descriptar este enigma aplicando
nociones bsicas de estadstica y redundancia del lenguaje. Esto indica que, por lo
24 CRIPTOSISTEMAS CLSICOS
menos para aquella poca, el criptosistema empleado aunque hoy en da muy inocente,
cumpli con creces el principio de/ la caducidad de la informacin. La resolucin del
criptograma, de gran dificultad debido al pequeo tamao del mismo, sigue la siguiente
clave de asignacin de figuras geomtricas a los caracteres:
A B C K L M T U V
D E F N O P W X Y
G H I/J Q R S Z
Figura 1.16. Clave para la solucin del criptograma de Trinity.
Siguiendo entonces las claves de la Figura 1.16, encontramos que el mensaje
del criptograma en cuestin es M = REMEMBER DEATH. La dificultad para llegar a
este resultado es obvia pues se cuenta con un criptograma demasiado pequeo. En su
contra est el hecho de que, precisamente la letra E, la ms significativa del ingls,
aparece cuatro veces y que el texto que se ha cifrado tiene mucho que ver con el
epitafio que alguna mente inquieta y algo retorcida pondra en su tumba.
Un sistema muy similar al indicado en la Figura 1.16, denominado Freemasons,
es utilizado por las logias de la masonera. El lector interesado en este tipo de cifrados
histricos puede consultar el libro Cryptology: Machines, History & Methods, cuya
referencia ya ha sido indicada en este captulo.
Este tipo de cifrado, -precisamente el utilizado por Edgar Allan Poe en su famoso
cuento El escarabajo de oro- no por ser ms espectacular en la presentacin del
criptograma es ms seguro que el del Csar con clave: en el fondo, son exactamente lo
mismo. Como veremos en el prximo apartado de criptoanlisis, con unas cuantas
decenas de caracteres de criptograma, romper este tipo de cifra puede ser algo
realmente fcil.
1.4.3. Criptoanlisis del cifrado del Csar
Comentbamos en el apartado anterior que la distancia de unicidad del cifrador
del Csar con clave ser mayor que en el caso sin clave y, por consiguiente, tambin
su seguridad. No obstante, al producirse en ambos casos una sustitucin fija de cada
carcter del alfabeto en claro por un nico carcter del alfabeto de cifrado, el
criptograma podr romperse fcilmente aplicando tcnicas de estadstica del lenguaje,
siempre y cuando contemos con una cantidad suficiente de texto cifrado. En un captulo
anterior vimos que la distancia de unicidad vena dada por la relacin entre la entropa
de la clave H(K) y la redundancia del lenguaje D. Volveremos a encontrar este valor
para cifradores del tipo Csar.
Ejemplo 1.12: Encuentre la distancia de unicidad de un cifrador del Csar.
Solucin: Si n = 27, existirn slo 26 posibles combinaciones de alfabetos, por lo
tanto H(K) = log
2
26 = 4,70. Como la redundancia D era igual a 3,4
CRIPTOSISTEMAS CLSICOS 25
entonces se tiene que N = H(K)/D
4,70/3,4
D
b
= E
27 - b
1.4
De lo visto anteriormente, es fcil deducir que un sistema de cifra por sustitucin
monoalfabtica como el del Csar presenta un nivel de seguridad mnimo en tanto que
para romperlo nos ha bastado con un lpiz, papel y un poco de paciencia para
confeccionar el cuadro anterior, nada del otro mundo como puede ver. Esta debilidad se
debe a que el nmero de desplazamientos posibles es muy pequeo al contar slo con
los 26 valores que corresponden a los caracteres del alfabeto; esto es, se cumple que 1
26, pues un desplazamiento igual a cero o bien mltiplo de veintisiete sera igual
que transmitir en claro.
En el caso en que el cifrador del Csar tenga una clave, el ataque anterior no
proporciona ninguna solucin porque el desplazamiento deja de ser constante y, por lo
tanto, es imposible establecer una relacin matemtica nica y directa entre el alfabeto
en claro y el alfabeto de cifrado. El nico camino que nos queda consiste en llevar las
estadsticas del lenguaje al criptograma, observando por ejemplo la frecuencia relativa
de aparicin de los caracteres en el texto cifrado. Al contrario del mtodo anterior, vlido
solamente para desplazamientos puros sin clave, este tipo de ataque estadstico ser
vlido tanto para los cifrados de tipo monoalfabtico con clave como para aquellos que
no la tienen. Ahora bien, en la gran mayora de los casos ser necesario contar con una
cantidad de criptograma bastante mayor que la del ejemplo anterior y, cmo no, una
pizca de intuicin y un poco de suerte.
Ejemplo 1.13: Calcule la distancia de unicidad de un cifrador del Csar con clave.
Solucin: Si el alfabeto tiene n caracteres, existirn n! combinaciones posibles de n
elementos, luego N = H(K)/D = (log
2
n!)/D. Utilizando la aproximacin de
Sterling, log
2
n!
nlog
2
(n/e), la distancia de unicidad ser N
nlog
2
(n/e)/D.
Para n = 27 se tiene: N
27log
2
(27/e)/3,4
27,4 caracteres.
Para el cifrador del Csar, al establecerse en la operacin de cifrado una
correspondencia directa entre los caracteres del texto en claro y del alfabeto de cifrado,
se mantiene la misma relacin de frecuencia relativa caracterstica del lenguaje. Por lo
tanto, es muy probable que la letra C
i
del texto cifrado con mayor frecuencia relativa se
corresponda con la letra M
i
de mayor frecuencia relativa del lenguaje. Esto es, si la letra
W es la de mayor frecuencia en el criptograma, podemos suponer con muy buenas
expectativas de xito que sea la letra E del texto en claro y que, por lo tanto, el
desplazamiento aplicado haya sido igual a 19, la distancia que separa ambas letras en
el alfabeto. Como ya hemos comentado, estas suposiciones slo tendrn cierta validez
si la cantidad de texto cifrado es grande y por tanto se cumplen las propiedades
estadsticas del lenguaje. En el fondo se est realizando una comparacin de la
CRIPTOSISTEMAS CLSICOS 27
distribucin de frecuencias de todos los elementos del criptograma con la caracterstica
del lenguaje, con el objeto de encontrar ese desplazamiento constante.
Otra forma de atacar un cifrado por desplazamiento puro con o sin clave es
buscar digramas, trigramas, ngramas o poligramas y en general palabras
caractersticas del lenguaje, para asociar un conjunto de caracteres del criptograma con
otro conjunto de caracteres del texto en claro. Obviamente este criptoanlisis es
tambin vlido para atacar cifrados con alfabetos mixtos como se observa en el
siguiente ejemplo.
Ejemplo 1.14: Descripte el siguiente criptograma cifrado con un alfabeto mixto:
C =
>]
34
3 44]>} >{:
{4
>
)
0]{)4 03401 4}034
344] 0
1>].
Solucin: Encontramos las siguientes frecuencias relativas en los caracteres:
4 = 14 0 = 9 3 = 8 > = 6 ] = 6
= 4 { = 3
= 3
= 3 1 = 3
= 2 ) = 2 : = 2 } = 2 ( = 1
2 = 1 = 1 Total : 70 caracteres.
Suponiendo que los caracteres 4 y 0, de mayor frecuencia relativa en el
criptograma, se corresponden con las letras E y A del alfabeto, se obtiene
el siguiente criptograma parcial:
M
1
=
>]
3E
3 EE]>} >{:
{E
>
3EE] A
1>].
Si por alguna pista sospechamos que ]A2A1E:A sea LACABEZA,
tenemos otros 4 caracteres y el criptograma sera en una segunda
aproximacin:
M
2
=
>L
3E
3 EE]>} >{:
{E
>
3EEL A
B>L.
Ya tenemos entonces 6 caracteres con posible equivalencia:
0 = A; 1 = B; 2 = C; 4 = E; ] = L y : = Z.
Del alfabeto anterior podramos suponer que 3 = D. Si adems pensamos
que la cadena ELA
_ _ _ _ _ _ _ :
M
3
=
OL
A RDE
D EEL>} >{Z
E R
DEEL ARBOL.
Si ABE}ADE
= S y el siguiente
criptograma:
M
4
= SOL
E R
$ & @ # :
M= SOLTAR DESDE EL OJO IZQUIERDO DE LA CABEZA DE
MUERTO UNA LNEA DE ABEJA DESDE EL RBOL.
28 CRIPTOSISTEMAS CLSICOS
La tcnica de criptoanlisis del ejemplo anterior es precisamente la usada por
Allan Poe en su cuento "El escarabajo de oro". El texto corresponde a una parte de ese
enigmtico mensaje con un alfabeto de cifrado ligeramente distinto.
Como conclusin podemos afirmar que, incluso incluyendo una clave en la cifra,
por complicada y larga que sta sea, estos criptosistemas monoalfabticos son muy
vulnerables a los ataques de un criptoanalista. Si adems se cuenta con la ayuda de un
simple ordenador, el ataque y posterior solucin a estos criptogramas se convierte en la
prctica en un divertido juego.
1.4.4. Cifradores genricos por sustitucin
Ya hemos comentado en el apartado anterior qu se entiende por un cifrador
monoalfabtico por sustitucin, por lo menos para el caso del cifrador del Csar en el
que la sustitucin de los caracteres se obtiene por medio de un desplazamiento
constante en el alfabeto.
A continuacin analizaremos los cifradores monoalfabticos genricos, tambin
conocidos como cifradores de transformaciones afines. En este caso la operacin de
sustitucin de los caracteres del alfabeto puede obtenerse de forma matemtica
aplicando la siguiente expresin de equivalencia:
C
i
= (a
M
i
+ b) mod n 1.5
en donde a se conoce como la constante de decimacin, b constante de
desplazamiento y n es el orden del grupo. Observe que de acuerdo con la ecuacin
(1.5) la relacin matemtica del cifrador del Csar ser: C
i
= (M
i
+ 3) mod n.
Puede utilizarse cualquier valor de a y b en la ecuacin anterior? La respuesta
es no. En primer lugar, es obvio que a no puede ser igual a cero pues no existira una
equivalencia de alfabetos por lo que deber cumplirse que a
n) = (32-1
n) = (-8+1
27) = 19 caracteres
hacia la derecha.
CRIPTOSISTEMAS CLSICOS 29
De esta manera, diremos que cuando la constante de decimacin a es igual a la
unidad, el cifrador genrico de sustitucin se transforma en uno de desplazamiento
puro; cuando la constante de desplazamiento b es igual a cero hablamos de cifradores
por decimacin pura y cuando se cumple que la constante a es mayor que la unidad y b
es distinto de cero, la cifra es por sustitucin afn.
Cifradores por desplazamiento puro
Corresponden a los denominados cifradores tipo Csar ya vistos en el apartado
anterior por lo que no vamos a repetir lo all comentado. Las operaciones de cifra y
descifrado sern:
C
i
= (M
i
+ b) mod n 1.6
M
i
= (C
i
- b) mod n 1.7
M
i
= (C
i
+ n - b) mod n 1.8
Las ecuaciones (1.7) y (1.8) son equivalentes en el cuerpo n.
Ejemplo 1.15: a) Con n = 27 y un desplazamiento b = 15, cifre el mensaje M = SALVE
CSAR utilizando la ecuacin (1.6). b) Descifre el criptograma mediante
la ecuacin (1.7).
Solucin: a) C
i
= (m
i
+ 15) mod 27
C
01
= (S+15) mod 27 = (19+15) mod 27 = 34 mod 27 = 07 = H
C
02
= (A+15) mod 27 = (00+15) mod 27 = 15 mod 27 = 15 = O
C
03
= (L+15) mod 27 = (11+15) mod 27 = 26 mod 27 = 26 = X
C
04
= (V+15) mod 27 = (21+15) mod 27 = 36 mod 27 = 09 = J
C
05
= (E+15) mod 27 = (04+15) mod 27 = 19 mod 27 = 19 = S
C
06
= (C+15) mod 27 = (02+15) mod 27 = 17 mod 27 = 17 = Q
C
07
= (E+15) mod 27 = (04+15) mod 27 = 19 mod 27 = 19 = S
C
08
= (S+15) mod 27 = (19+15) mod 27 = 34 mod 27 = 07 = H
C
09
= (A+15) mod 27 = (00+15) mod 27 = 15 mod 27 = 15 = O
C
10
= (R+15) mod 27 = (18+15) mod 27 = 33 mod 27 = 06 = G
El criptograma ser: C = HOXJS QSHOG.
b) M
i
= (c
i
+ 27 - 15) mod 27 = (c
i
+ 12) mod 27
M
01
= (H+12) mod 27 = (07+12) mod 27 = 19 mod 27 = 19 = S
M
02
= (O+12) mod 27 = (15+12) mod 27 = 27 mod 27 = 00 = A
M
03
= (X+12) mod 27 = (26+12) mod 27 = 38 mod 27 = 11 = L
M
04
= (J+12) mod 27 = (09+12) mod 27 = 21 mod 27 = 21 = V
M
05
= (S+12) mod 27 = (19+12) mod 27 = 31 mod 27 = 04 = E
M
06
= (Q+12) mod 27 = (17+12) mod 27 = 29 mod 27 = 02 = C
M
07
= (S+12) mod 27 = (19+12) mod 27 = 31 mod 27 = 04 = E
M
08
= (H+12) mod 27 = (07+12) mod 27 = 19 mod 27 = 19 = S
M
09
= (O+12) mod 27 = (15+12) mod 27 = 27 mod 27 = 00 = A
M
10
= (G+12) mod 27 = (06+12) mod 27 = 18 mod 27 = 18 = R
El mensaje descifrado es: M = SALVE CSAR.
30 CRIPTOSISTEMAS CLSICOS
Cifradores por decimacin pura
Ya hemos visto que si la constante de decimacin es igual a la unidad, el cifrador
se transforma en uno de desplazamiento puro como el del Csar. Si adems la
constante de desplazamiento es cero, entonces se transmite en claro lo que no tiene
sentido criptogrfico. Por el contrario, si la constante de decimacin es mayor que la
unidad y la constante de desplazamiento es cero, nos encontramos con un cifrador por
decimacin pura. En este caso las ecuaciones de cifra y descifrado sern:
C
i
= a
M
i
mod n 1.9
M
i
= a
- 1
C
i
mod n 1.10
donde a
- 1
ser el inverso del factor de decimacin en el cuerpo n; es decir inv (a,n).
Ejemplo 1.16: a) Encuentre el alfabeto de cifrado para la transformacin monoalfabtica
por decimacin C
i
= 20
M
i
mod 27.
b) Cifre con este alfabeto el siguiente mensaje M = DILE A LAURA QUE
LA QUIERO.
Solucin: a) 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
M
i
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
C
i
A T N G Z S M F Y R L E X Q K D W P J C V O I B U H
C
0
= 20
A mod 27 = 20
0 mod 27 = 0 = A
C
1
= 20
B mod 27 = 20
1 mod 27 = 20 = T
C
2
= 20
C mod 27 = 20
M
i
+ b) mod n 1.11
M
i
= a
-1
(C
i
- b) mod n 1.12
La ecuacin de descifrado tambin podemos escribirla como sigue:
M
i
= a
-1
(C
i
+ n - b) mod n 1.13
Ejemplo 1.18: Encuentre el alfabeto de cifrado monoalfabtico para la siguiente relacin
de transformacin C
i
= (4
M
i
+ 5) mod 27.
Solucin:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
M
i
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
C
i
F J N Q U Y C G K R V Z D H L O S W A E I M P T X B
C
0
= (4
A + 5) mod 27 = (4
0 + 5) mod 27 = 5 = F
C
1
= (4
B + 5) mod 27 = (4
1 + 5) mod 27 = 9 = J
C
2
= (4
C + 5) mod 27 = (4
2 + 5) mod 27 = 13 = N, etc.
Del ejemplo anterior, observe que el desplazamiento indica dnde comienza la
secuencia del alfabeto de cifrado y la decimacin los saltos que va dando en el alfabeto
original para recorrerlo en su totalidad. Qu suceder si aplicamos una relacin de
trasformacin monoalfabtica que no cumpla con las condiciones anteriores? El
siguiente ejemplo nos aclarar esta situacin..
Ejemplo 1.19: Encuentre el alfabeto de cifrado monoalfabtico para la siguiente relacin
de transformacin C
i
= (3
M
i
+ 2) mod 27.
Solucin: Aplicando la ecuacin (1.5) se obtiene:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
M
i
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
C
i
C F I L Q T W Z C F I L Q T W Z C F I L Q T W Z
Qu sucede en este caso? Con los valores anteriores, no es vlida la relacin
de transformacin de alfabetos pues mcd (3,27)
M
i
+ 8) mod 27, cifre el siguiente mensaje.
M = DBALE ARROZ A LA ZORRA EL ABAD.
Solucin:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
M
i
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
C
i
I N R W B G L P U Z E J S X C H M Q V A F K O T Y D
Luego, C = WINIJ BIQQC DIJID CQQIB JINIW.
Al igual que en el cifrador del Csar, podemos incluir una clave secreta para
aumentar la seguridad del sistema. Primero aplicamos la relacin de transformacin
para encontrar un alfabeto de cifrado, luego escribimos la clave a partir de una posicin
p
0
y finalmente se desplazan los caracteres restantes del alfabeto de cifrado encontrado
a partir de la posicin final de la clave como se muestra en el siguiente ejemplo.
Ejemplo 1.21: Aplicando la transformacin C
i
= (7
M
i
+ 2) mod 27 conjuntamente con la
clave K = REFRANERO ESPAOL posicionada en p
0
= 5, se pide cifrar el
mensaje M = NO HAY MAL QUE POR BIEN NO VENGA.
Solucin: Aplicando la transformacin (7
M
i
+ 2) mod 27, obtenemos el siguiente
alfabeto de cifrado:
M
i
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
C
i
C J P W D K Q X E L R Y F M S Z G N T A H U B I O V
A continuacin escribimos la clave en p
0
= 5:
_ _ _ _ _ R E F A N O S P L _ _ _ _ _ _ _ _ _ _ _ _
Completando ahora el alfabeto de cifrado desde la posicin final de la
clave, se obtiene:
M
i
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
C
i
H U B I V R E F A N O S P L C J W D K Q X Y M Z G T
Luego, C = CFHG PHSWX VJCDU AVC YVEH.
La transformacin anterior sigue manteniendo una relacin monoalfabtica,
independientemente de cmo se distribuyan los caracteres; es ms, el alfabeto de
cifrado no tiene por qu seguir una lgica ni mucho menos una relacin matemtica
como parece deducirse por lo visto; basta con que exista una relacin de uno a uno
entre alfabeto claro y alfabeto de cifrado. Lo nico que logramos con ello es cambiar la
relacin de correspondencia de caracteres y, en ltima instancia, ponerle las cosas algo
ms difciles a nuestro enemigo criptoanalista, desgraciadamente slo un poquito.
Puesto que estos cifradores monoalfabticos genricos poco se diferencian de
los vistos en los apartados anteriores, tendrn la misma fragilidad ante un hipottico
ataque de un criptoanalista.
1.4.5. Criptoanlisis de cifrados monoalfabticos por sustitucin
El criptoanlisis de los cifradores monoalfabticos genricos por sustitucin, esto
es aquellos en los que se cumple la relacin afn (a
M
i
+ b) mod n
asociamos, segn la frecuencia relativa de aparicin de caracteres en el criptograma,
valores de posicin de dichos caracteres con los del alfabeto en claro. A continuacin
haremos un ensayo con diferentes relaciones de congruencia, a partir de unas
supuestas correspondencias entre caracteres del criptograma con los caracteres del
texto en claro, para ver cmo funciona este mtodo de ataque.
Si sospechamos que la letra ms frecuente en un criptograma cualquiera, por
ejemplo la letra M = 12, se corresponde con la letra ms frecuente en el lenguaje
castellano, es decir la letra E = 4, establecemos la primera relacin de equivalencia:
a
4 + b = 12 mod 27
Siguiendo con la caracterstica de los monogramas en castellano, pensamos
ahora que existe una relacin directa entre el segundo carcter ms frecuente del
criptograma, por ejemplo la letra G = 6, con la segunda letra ms frecuente del
lenguaje, A = 0. Esto nos da una segunda ecuacin:
a
0 + b = 6 mod 27
Deducimos que b = 6. Si reemplazamos este valor en la primera ecuacin:
a
4 + 6 = 12 mod 27
4 = 6 mod 27
a = 6
inv(4,27) mod 27
a = 6
7 mod 27
a = 15
Este resultado no nos sirve pues si a = 15 entonces mcd (a,n) = 3 y esto no
puede dar lugar a un alfabeto de cifrado pues no genera el CCR(27). A un resultado
similar habramos llegado si, por ejemplo, manteniendo la relacin de la primera
ecuacin hubisemos supuesto una correspondencia entre la letra R = 18 del
criptograma y la letra C = 2 del texto en claro. Le dejo esto como ejercicio.
Para no aburrirle con esto, vamos a suponer ahora que las correspondencias
vlidas observadas entre caracteres del criptograma y texto en claro son las siguientes:
M = 12 del criptograma se corresponde con E = 4 del texto en claro.
T = 20 del criptograma se corresponde con R = 18 del texto en claro.
Establecemos as el siguiente sistema de ecuaciones:
a
4 + b = 12 mod 27
a
18 + b = 20 mod 27
Restando la primera de la segunda se tiene:
a
14 = 8 mod 27
a = 8
[inv(14,27)] mod 27 = 8
2 mod 27 = 16
34 CRIPTOSISTEMAS CLSICOS
Sustituyendo a = 16 en una de las ecuaciones, obtenemos b = 2. Como ahora
mcd (16,27) = 1, entonces el sistema de ecuaciones encontrado podra entregar una
solucin vlida. En este caso la transformacin de cifrado aplicada podra ser:
C
i
= (16
M
i
+ 2) mod 27
Si esta congruencia no nos entrega un texto en claro con sentido, tendremos
que buscar otras correspondencias entre caracteres del criptograma y del alfabeto,
segn su distribucin de frecuencias, y volver a plantear el sistema de ecuaciones hasta
encontrar la transformacin que d lugar al mensaje esperado. Observe que, aunque
las relaciones de congruencia sean vlidas, no por ello dicha transformacin dar lugar
a una solucin vlida en el espacio de los mensajes.
Ejemplo 1.22: Descripte el siguiente criptograma obtenido mediante una transformacin
monoalfabtica por decimacin y desplazamiento sin clave: C = NAQF
EKNDP NCIVU FPUAN EJUIP FCNER NFRF UNPLN AFPFQ TFPEI
JRTE FPKI KTAPF LIKI AIPU RCUJI PCIVU CUNER IRLNP TJIAF
NEOI CFLNC NLUFA TEF.
Solucin: Los caracteres de mayor frecuencia del criptograma anterior son: F = 14,
N = 13 e I = 12. Esto nos hace sospechar que se correspondan con las
letras A, E y O del alfabeto en claro.
Puesto n = 27 = 3
3
entonces
(27) = 3
3-1
(3-1) = 18. Haremos slo dos
intentos para mostrar cmo funciona este mtodo de ataque:
1 Aproximacin (que nos lleva a una solucin falsa):
Texto claro: E(4)
Criptograma: F(5)
Texto claro: A(0)
Criptograma: N(13)
Texto claro: O(15)
Criptograma: I(8)
Luego: (a
4 + b) = 5 mod 27
(a
0 + b) = 13 mod 27
b = 13
(a
15 + b) = 8 mod 27
Restando la primera ecuacin a la tercera: a
11 = 3 mod 27.
Luego, a = (3
inv(11,27))mod 27 = 3
5 mod 27 = 15
a = 15.
La solucin E(M) = (15M
i
+ 13) se descarta pues mcd (15,27)
1.
2 Aproximacin (que nos lleva ahora s a una solucin verdadera):
Texto claro: E(4)
Criptograma: N(13)
Texto claro: A(0)
Criptograma: F(5)
Texto claro: O(15)
Criptograma: I(8)
Luego: (a
4 + b) = 13 mod 27
(a
0 + b) = 5 mod 27
b = 5
(a
15 + b) = 8 mod 27
Restando la primera ecuacin a la tercera: a
11 = 22 mod 27.
Luego a = (22
inv(11,27))mod 27 = 22
5 mod 27
a = 2.
Esto da lugar a E(M) = (2M
i
+ 5) mod 27, cuyo alfabeto es:
M
i
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
C
i
F H J L N O Q S U W Y A C E G I K M P R T V X Z B D
Luego el criptograma se descripta como:
M = EL GRAN PEZ SE MOVA SILENCIOSAMENTE A TRAVS DE
LAS AGUAS NOCTURNAS, PROPULSADO POR LOS RTMICOS
CRIPTOSISTEMAS CLSICOS 35
MOVIMIENTOS DE SU COLA EN FORMA DE MEDIA LUNA.
(Primer prrafo del libro "Tiburn", de P. Benchley).
En el caso en que se utilice una clave, el mtodo anterior falla porque deja de
existir una relacin matemtica directa y constante entre el alfabeto en claro y el
alfabeto de cifrado. La nica solucin de ataque, siempre y cuando se conozca o
sospeche que se trata de un cifrado monoalfabtico, consistir en buscar digramas,
trigramas, y en general formacin de palabras caractersticas del lenguaje repetidos en
el criptograma, evidentemente con caracteres diferentes, y de esta forma obtener el
alfabeto de cifrado como ya ha sido comentado en prrafos anteriores. Nos
encontramos pues con una tarea ms tediosa que la anterior pero, no obstante,
relativamente sencilla para este tipo de cifradores.
Qu sucede con la distancia de unicidad en estos criptosistemas genricos? Si
analizamos las distintas posibilidades de alfabetos de cifrado, observamos que las
posibles transformaciones estn ligadas directamente con el factor de decimacin. Esto
es, la constante de desplazamiento puede tener cualquier valor puesto que asegura
una operacin inversa; sin embargo, la constante de decimacin debe cumplir la
condicin de ser primo con el mdulo. Esto va a indicar que las combinaciones de
alfabetos de cifrado sern n
(n))/D = log
2
(27
10
28
alfabetos diferentes, un valor
considerable no cabe duda y que nos entrega una distancia de unicidad igual a 28
caracteres como vimos en el Ejemplo 1.13.
Como hemos comprobado, cualquier cifrador por sustitucin monoalfabeto, bien
sea por decimacin, por desplazamiento o genrico con ambas transformaciones,
incluso cuando utilizamos una clave, es muy poco seguro y su ataque en muchos casos
se convierte en un paseo para el hipottico criptoanalista. El principal problema de
estos cifradores est en que el texto cifrado es un fiel reflejo del lenguaje,
manifestndose en aqul las caractersticas de redundancia del lenguaje. La primera
solucin que se nos puede ocurrir, que no la ptima por cierto, para evitar que en el
criptograma se vea reflejada la redundancia del lenguaje es la utilizacin de homfonos,
lo que da lugar a este tipo de cifradores que veremos a continuacin.
1.5. CIFRADORES POR HOMFONOS
36 CRIPTOSISTEMAS CLSICOS
1.5.1. Cifradores por homfonos de primer orden
Qu entendemos por homfonos? La definicin del vocablo puede encontrarse
en cualquier diccionario: "palabras de igual pronunciacin o sonido y distinto significado"
como por ejemplo hola y ola. En criptografa entenderemos por homfonos a las
distintas representaciones que damos al mismo carcter sin seguir ninguna relacin o
funcin determinada. Por ejemplo, si establecemos una relacin entre los 27 caracteres
del alfabeto con los 100 primeros nmeros del 00 al 99, podramos asociar a la letra A
los siguientes nmeros: 3, 16, 19, 24, 56, 71, 73, 88, 97. Luego, el receptor autorizado
al conocer esta correspondencia simplemente reemplaza dichos nmeros por la letra A
para descifrar el mensaje.
Esto da lugar a los denonimados cifradores por homfonos, cuya caracterstica
principal es la de suavizar la distribucin de frecuencias tpica del lenguaje, de forma
que el criptoanalista no pueda emplear las tcnicas estadsticas vistas en los apartados
anteriores. La tcnica consiste entonces en asignar un mayor nmero de homfonos a
los caracteres ms frecuentes del lenguaje y un menor nmero a aquellos menos
frecuentes, con el objeto de que la distribucin de estos valores se asemeje lo ms
posible a una distribucin normal.
Observe que en tanto un carcter del texto en claro se cifrar con ms de un
carcter o smbolo del alfabeto de cifrado, no estamos ya en presencia de un
criptosistema monoalfabtico. Adems, el algoritmo de cifra no tiene porqu seguir una
funcin determinada de asignacin de homfonos durante el proceso. Por lo tanto, en
este tipo de cifrados hacemos corresponder cada uno de los caracteres del alfabeto del
texto en claro con un conjunto de elementos f(a) que denominamos homfonos y que
pueden ser cualquier tipo de signos, figuras o nmeros. Luego, si el mensaje M est
compuesto por los elementos {M
1
, M
2
, ..., M
m
}, entonces se tiene que {C
1
, C
2
, ..., C
m
}
ser el conjunto de elementos del criptograma en donde cada C
i
se toma al azar a partir
de un conjunto de homfonos para f(M
i
). Esto quiere decir que un mensaje M con una
cadena de caracteres M
1
M
2
M
3
...M
m
se cifrar como se indica:
M = M
1
M
2
M
3
...M
m
C = f (M
1
) f (M
2
) f (M
3
)... f (M
m
)
Por ejemplo, si se asignan los homfonos que se muestran en la Figura 1.18,
podramos cifrar el mensaje M = BJAME LA JAULA JAIME como se indica:
A
03 19 36 83 91
B
23 62
E
07 25 28 62 70 88 89 97
I
13 55 70
J
43
L
18 53 60
M
10 33 71 80
U
06
M = B A J A M E L A J A U L A J A I M E
C = 62 36 43 03 71 25 18 91 43 19 06 53 83 43 83 55 10 97.
Figura 1.18. Asignacin de homfonos para la cifra que se indica.
CRIPTOSISTEMAS CLSICOS 37
No obstante, cualquier criptograma que respete la asignacin antes indicada es
tambin vlido, pues el receptor autorizado conocer dicha tabla de homfonos y podr
descifrar el criptograma. Es decir, para el ejemplo anterior, tambin es vlida entre otras
la siguiente transformacin C = 2303439133 0718 3643030660 834336131070.
El cifrador homofnico ms importante de la historia de la criptografa es el
atribuido al aventurero Thomas Jefferson Beale, quien en 1821 deja tres mensajes
cifrados, llamados respectivamente B
1
, B
2
y B
3
, en el que supuestamente entrega todas
las pistas para descubrir un fabuloso tesoro por l enterrado en Virginia, Estados
Unidos. La tcnica aplicada por Beale para formar el conjunto de homfonos del cifrado
B
2
no deja de ser sorprendente: asigna nmeros a los caracteres del alfabeto segn la
posicin de la palabra en cuestin que comienza con dicha letra dentro del texto de la
Declaracin de la Independencia de los Estados Unidos, cuyas 107 primeras palabras
se muestran en la Figura 1.19. Lo siento, tendr que traducirlo Ud. mismo.
When, in the course of human events, it becomes necessary (01-10)
for one people to dissolve the political bands which have (11-20)
connected them with another, and to assume among the Powers (21-30)
of the earth the separate and equal station to wich (31-40)
the Laws of Nature and of Nature's God entitle them, (41-50)
a decent respect to the opinions on mankind requires that (51-60)
they should declare the causes wich impel them to the (61-70)
separation. We hold these truths to be self-evident; that (71-80)
all men are created equal, that they are endowed by (81-90)
their Creator with certain unalienable rights; that among these are (91-100)
Life, Liberty, and the pursuit of Happiness. (101-107)
Figura 1.19. Comienzo de la Declaracin de Independencia de los Estados Unidos.
Por ejemplo, siguiendo el texto de la Declaracin de la Independencia de los
Estados Unidos mostrado en la figura anterior, se obtienen los homfonos de valor
menor que 100 para las letras A, B, C, D y E que se recogen en la Figura 1.20.
A
24 25 27 28 36 45 51 81 83 88 98
B
9 18 77 90
C
4 21 65 84 92 94
D
15 52 63
E
7 33 37 49 79 85 89
Figura 1.20. Algunos homfonos del cifrado B
2
de Beale.
As, el cifrado B
2
que especificaba el valor del tesoro y cmo haba sido
enterrado, comenzaba de la siguiente forma: "I have deposited..." y terminaba con el
siguiente mensaje: "Paper Number One describes the exact locality of the vault, so that
no difficulty will be hand in finding it" (su traduccin es elemental). Esto trajo de cabeza
a criptoanalistas aficionados cuya mayor ilusin era encontrar dicho tesoro. Tras
diversos estudios ms serios por parte del Laboratorio de Criptografa George Fabyan
en Riverbank Illinois, se llega a la conclusin de que B
1
sigue el mismo principio de
cifrado que B
2
pero, por muchos intentos que se hacen, no se llega a descriptarlo.
38 CRIPTOSISTEMAS CLSICOS
Ultimamente, James J. Gillogly y Louis Kruh, exponen en 1980 y 1982,
respectivamente, en sendos artculos de la revista Cryptologia
3
, las anomalas
encontradas en el primer criptograma de Beale, llegando a la conclusin de que se trata
de una gran broma, posiblemente llevada a cabo por James B. Ward, vecino de
Campbell County en Virginia, a quien supuestamente haban llegado los criptogramas
de mano de Robert Morris, el tabernero a quien Beale habra confiado su secreto al
abandonar el pueblo... algo enrevesado, lo reconozco, pero que no deja de ser curioso.
El problema de la generacin de homfonos a partir de un texto est en que,
salvo que ste tenga una extensin muy grande, no se consiguen homfonos para
algunas letras pocas frecuentes como inicios de palabras, como sera el caso de las
letras K, y W para el castellano. La nica solucin consistira en dejar unos nmeros
al final del cuerpo de homfonos para estos caracteres poco frecuentes.
Ejemplo 1.24: Construya una tabla de homfonos con las 99 primeras palabras del libro
"Cien aos de soledad" de Gabriel Garca Mrquez y luego cifre el
siguiente mensaje: M = UNA GRAN NOVELA.
Solucin: El texto indicado es el siguiente:
"Muchos aos despus, frente al pelotn de fusilamiento, el coronel 10
Aureliano Buenda haba de recordar aquella tarde remota en que 20
su padre lo llev a conocer el hielo. Macondo era 30
entonces una aldea de veinte casas de barro caabrava construidas 40
a la orilla de un ro de aguas difanas que 50
se precipitaban por un lecho de piedras pulidas, blancas y 60
enormes como huevos prehistricos. El mundo era tan reciente, que 70
muchas cosas carecan de nombre, y para mencionarlas haba que 80
sealarlas con el dedo. Todos los aos, por el mes 90
de marzo, una familia de gitanos desarrapados plantaba su ..." 99
Los caracteres con homfonos sern en este caso:
A 2 5 11 16 25 33 41 48 87
B 12 38 59
C 10 26 36 39 40 62 72 73 82
D 3 7 14 34 37 44 47 49 56 74 84 91 95 97
E 9 19 27 30 31 61 65 67 83 89
F 4 8 94
G 96
H 13 28 63 79
L 23 24 42 55 86
M 1 29 66 71 78 90 92
N 75
O 43
P 6 22 52 53 57 58 64 77 88 98
Q 20 50 70 80
R 15 18 46 69
S 21 51 81 99
3
Deavours Cipher, Kahn David, Kruh Louis, Mellen Greg, Winkel Brian, "Cryptology: Machines,
History & Methods", Artech House, 1989, pp. 491-505.
CRIPTOSISTEMAS CLSICOS 39
T 17 68 85
U 32 45 54 93
V 35
Y 60 76
Uno de los tantos criptogramas podra ser:
C = 327511 96463375 754335305548.
Como puede apreciar, en el ejemplo anterior no se ha podido encontrar
homfonos para todo el alfabeto por lo que no podramos cifrar, por ejemplo, el
mensaje M = Una obra magistral.
Adems de lo anterior, si bien el mtodo utilizado por Beale para la generacin
de homfonos entrega un cifrado que es difcil romper, cumple slo parcialmente con el
principio bsico de estos cifradores, cual es la destruccin de la distribucin
caracterstica de los caracteres a travs de una distribucin plana de los mismos en el
criptograma. Esto es, si en un determinado lenguaje (castellano por ejemplo en mdulo
27) las letras P, U, R y A presentan unos valores aproximados de frecuencia relativa
iguales a 3, 4, 7 y 11 por ciento, respectivamente, entonces sobre 100 nmeros o
signos elegidos como homfonos, asignaramos 3 homfonos a la letra P, 4 a la letra U,
7 a la R y 11 a la letra A. En el mtodo propuesto por Beale, no se consigue esta
distribucin de homfonos.
De los ejemplos anteriores, ninguno de los dos textos tomados como referencia
para los homfonos -la Declaracin de la Independencia de los Estados Unidos en el
primero y el libro de Garca Mrquez en el segundo- cumplen con esto. Entre otras
diferencias notables, en ambos casos la letra A est por encima de la letra E, lo que no
se corresponde ni con el lenguaje ingls ni el castellano. La nica ventaja que tiene
elegir estos textos como generadores de homfonos est en la sencillez del algoritmo
de asignacin y he aqu, precisamente, su gran debilidad puesto que el criptoanalista
puede llegar a descubrir toda la clave por intuicin a partir de un pequeo trozo por
todos conocidos. Por ejemplo, est claro que el texto "En un lugar de La Mancha ..." es
una malsima eleccin puesto que es una pista excelente para un probable
criptoanalista. Un sistema de homfonos con una mayor seguridad sera, por ejemplo,
asignar nmeros de tres dgitos a las letras del alfabeto, obteniendo dichos nmeros a
partir de una pgina en particular de una Gua de Telfonos; si es de otro pas y antigua
mejor an. Dicha posicin o pgina sera la clave secreta del criptosistema en cuestin.
1.5.2. Cifradores por homfonos de orden mayor
A mayor cantidad de texto cifrado existe una mayor facilidad para abordar el
criptoanlisis. La razn es que una nica clave descifra el criptograma C en un texto
con sentido en el espacio de los mensajes M. Esto se ve agravado si la clave est
asociada con algn documento o texto ampliamente conocido como ya se ha
comentado.
El mtodo de cifrado con homfonos de mayor orden intenta solucionar este
problema. La idea es que un mismo criptograma pueda ser descifrado o, mejor an,
descriptado con claves diferentes y produzcan en cada caso un mensaje con sentido en
40 CRIPTOSISTEMAS CLSICOS
el espacio M con igual probabilidad. Recuerde que este tipo de soluciones eran
consideradas como falsas segn el modelo de cifrador aleatorio de Hellman visto en un
captulo anterior.
Cifrador homofnico de segundo orden
En este cifrador se realiza la asignacin de homfonos mediante una cuadrcula
de forma que dicho valor representa a una letra si se lee a travs de las filas y otra letra
distinta si la lectura se hace a travs de las columnas. As, enviamos el mensaje
verdadero y uno falso, ambos cifrados con el valor de dicha cuadrcula, de forma que el
criptoanalista en el mejor de los casos podr contar con dos mensajes, sin saber cul
de ellos es el verdadero. El algoritmo es el siguiente:
a) Los nmeros 1 al n
2
se distribuyen de forman aleatoria en una matriz K de orden
n x n, cuyas filas y columnas corresponden a los caracteres del alfabeto.
b) Para cada carcter a del alfabeto, la fila de la matriz K define un conjunto de
homfonos f
F
(a) y la columna define otro conjunto de homfonos f
C
(a).
c) Para proceder al cifrado, se escriben los dos mensajes, uno debajo del otro, el
verdadero que llamaremos M y uno falso que denominaremos X. El homfono
que se enva como elemento del criptograma es el valor que aparece en la
matriz K, en la interseccin entre la fila del carcter en claro verdadero y la
columna del carcter del mensaje falso.
d) Con esto, el criptograma se forma mediante el valor de las siguientes
intersecciones f
F
(M
1
)f
C
(X
1
), f
F
(M
2
)f
C
(X
2
), ..., f
F
(M
m
)f
C
(X
m
), en donde f
F
es la
funcin lectura en filas y f
C
la lectura en columnas.
En la Figura 1.21 se muestra parte de una hipottica tabla de asignacin de
homfonos para un cifrador con estas caractersticas.
A B C D E F G H I J ...
A 60 47 13 37 5 91 33 19 92 80
B 39 8 53 72 9 89 57 93 38 54
C 73 1 21 94 65 10 82 58 36 18
D 12 48 2 84 20 59 3 11 55 99
E 40 88 97 26 52 71 79 35 64 56
F 14 95 66 22 83 78 16 41 34 27
G 96 85 15 69 25 51 42 76 17 23
H 4 61 28 46 100 24 98 70 67 90
I 74 29 77 86 50 62 6 43 44 32
J 7 49 68 30 45 75 63 87 31 81
...
Figura 1.21. Posible asignacin de homfonos para un cifrador de segundo orden.
Luego, al cifrar el mensaje M = CEDIDA con el mensaje falso X = FIJADA con la
tabla anterior se obtiene C = 10 64 99 74 84 60. Observe que en estos cifrados el
tamao del texto en claro debe ser el mismo que el del texto falso.
CRIPTOSISTEMAS CLSICOS 41
1.5.3. Criptoanlisis de los cifrados por homfonos
Los criptosistemas con homfonos pueden llegar a ser extremadamente difciles
de romper, especialmente si la asignacin de tales valores no sigue una lgica como en
los ejemplos anteriores, en que stos eran obtenidos a partir de un texto muy conocido.
Con una gran cantidad de texto cifrado es posible encontrar algunas cadenas de
nmeros o smbolos que se repiten y, por tanto, se pueden forman digramas, trigramas
y en el mejor de los casos palabras y frases completas. Si todo va bien, con un poquitn
de suerte podremos obtener en algunos casos la tabla de homfonos.
Para los cifradores por homfonos de segundo orden, una tcnica que puede
dar algn fruto, tambin en funcin de que se cuente con una gran cantidad de texto
cifrado, consiste en asociar los nmeros repetidos a pares de letras de alta frecuencia,
ir rellenando la matriz y, a su vez, buscar digramas, trigramas, palabras, etc., con el
objeto de obtener la matriz de cifrado. Anlogamente, lo mismo puede decirse para
cifradores de mayor orden. No profundizaremos en este tipo de criptoanlisis en este
libro pues es menester contar con un texto cifrado muy grande y no tiene sentido
ocupar pginas en ello. El lector interesado en las tcnicas para romper estos cifradores
puede consultar las referencias anteriores como Deavours, Khan y otros.
Ejemplo 1.25: Haciendo uso de nuestras habilidades y fuentes de informacin que no
vamos a desvelar en este momento, hemos encontrado el siguiente trozo
de una tabla de homfonos, relacionada con el criptograma de 43
elementos que se indica. Encuentre los mensajes que han dado lugar al
criptograma que se indica.
C = 699 289 492 124 005 693 404 017 126 559 710 590 700
258 046 124 200 705 159 200 545 581 545 644 503 388
590 219 150 041 480 727 086 346 468 603 444 013 668
077 590 100 301.
Parte de la Tabla de Homfonos (ordenada numricamente)
1
er
carcter (Fila) 2 carcter (Columna).
005 013 017 041 046 077 086 100 124
EL RE EA ED DL TC AV ES AA
126 150 159 200 219 258 289 301 346
AP TO UR SE AT OE EO SA NU
388 404 444 468 480 492 503 545 559
TA VL EV UE GO LV SI AN PE
581 590 603 644 668 693 699 700 705
LU RA ML EC OA ZE PN TP YZ
710 727
ON IY
Solucin: Leyendo los primeros caracteres de los homfonos del criptograma, es
decir filas, tenemos:
699=PN
P 289=EO
E 492=LV
L 124=AA
A 005=EL
E
693=ZE
Z 404=VL
V 017=EA
E 126=AP
A 559=PE
P
710=ON
O 590=RA
R 700=TP
T 258=OE
O 046=DL
D
124=AA
A 200=SE
S 705=YZ
Y 159=UR
U 200=SE
S
42 CRIPTOSISTEMAS CLSICOS
545=AN
A 581=LU
L 545=AN
A 644=EC
E 503=SI
S
388=TA
T 590=RA
R 219=AT
A 150=TO
T 041=ED
E
480=GO
G 727=IY
I 086=AV
A 346=NU
N 468=UE
U
603=ML
M 444=EV
E 013=RE
R 668=OA
O 077=TC
T
590=RA
R 100=ES
E 301=SA
S
De esta forma se obtiene el mensaje por filas:
M
Fila
= PELEZ, VE A POR TODAS Y USA LA ESTRATEGIA NMERO
TRES.
Leyendo los segundos caracteres de los homfonos del criptograma,
tenemos:
699=PN
N 289=EO
O 492=LV
V 124=AA
A 005=EL
L
693=ZE
E 404=VL
L 017=EA
A 126=AP
P 559=PE
E
710=ON
N 590=RA
A 700=TP
P 258=OE
E 046=DL
L
124=AA
A 200=SE
E 705=YZ
Z 159=UR
R 200=SE
E
545=AN
N 581=LU
U 545=AN
N 644=EC
C 503=SI
I
388=TA
A 590=RA
A 219=AT
T 150=TO
O 041=ED
D
480=GO
O 727=IY
Y 086=AV
V 346=NU
U 468=UE
E
603=ML
L 444=EV
V 013=RE
E 668=OA
A 077=TC
C
590=RA
A 100=ES
S 301=SA
A
Ahora se obtiene el mensaje por columna:
M
columna
= NO VALE LA PENA PELEZ, RENUNCIA A TODO Y VUELVE
A CASA.
En el ejemplo anterior, incluso conociendo de qu va el affaire de nuestro
querido amigo Pelez, no seremos capaces de dilucidar cul de los dos
mensajes que hemos criptoanalizado ser verdadero y cul falso, salvo que
conozcamos la clave de lectura en la tabla. Por lo tanto, nuestro esfuerzo en
romper la tabla de homfonos nos ha llevado a un callejn sin salida: tener
mucho texto con sentido pero asociado a una gran incertidumbre sobre la
informacin que contiene y la veracidad del mismo. En otras palabras y aunque
parezca un sarcasmo, despus de rompernos la cabeza, no tenemos nada.
1.6. CIFRADORES POR SUSTITUCIN MONOGRMICA
POLIALFABETO
Los criptosistemas monoalfabticos por sustitucin y los de transposicin o
permutacin presentan una gran debilidad al poder romperse en muchos casos los
criptogramas aplicando unas tcnicas sencillas de estadsticas del lenguaje. Esta
debilidad est asociada directamente al hecho de que en el primero de ellos la
sustitucin se realizaba siempre con un nico carcter del alfabeto de cifrado y, en el
segundo, a que las letras del criptograma sern exactamente las mismas que las del
texto en claro y slo se han roto algunas adyacencias de caracteres. Ambos escenarios
entregan una ayuda inapreciable al hipottico criptoanalista. Para solucionar estos
problemas, aparecen los cifradores por sustitucin polialfabticos que, como su nombre
lo indica, usan ms de un alfabeto para cifrar. En el fondo, hacen uso de la
caracterstica ya apuntada por Alberti y que hemos comentado al comienzo de este
captulo en el apartado 1.1.1.
CRIPTOSISTEMAS CLSICOS 43
Los algoritmos de sustitucin polialfabtica tienen por objeto producir una
distribucin plana de la frecuencia relativa de los caracteres en el criptograma, de una
manera similar a la tcnica de los homfonos. Para ello utilizan sustituciones mltiples
de forma que en un texto largo se combinan las altas frecuencias de algunos caracteres
con otros de menor frecuencia. En otras palabras, si por ejemplo la letra A, de alta
frecuencia en el lenguaje castellano, se cifra algunas veces como la letra O y otras
veces como la letra J (una de alta frecuencia y la otra de baja) y lo mismo ocurre para la
letra W, de baja frecuencia en el lenguaje, el efecto final es suavizar la mencionada
distribucin de frecuencia de todos los caracteres del criptograma.
La tcnica anterior consiste en aplicar dos o ms alfabetos de cifrado de forma
que cada uno de ellos sirva para cifrar los caracteres del texto en claro, dependiendo de
la posicin relativa de stos en dicho texto. Por ejemplo, si utilizamos un alfabeto A
1
para cifrar los caracteres de las posiciones impares del mensaje y otro alfabeto A
2
para
los caracteres en posiciones pares, entonces en un texto lo suficientemente extenso se
tendr que, aproximadamente, slo en la mitad de las ocasiones las letras repetidas del
texto en claro se repiten como un mismo elemento c
i
en el criptograma, logrndose por
tanto el efecto de enmascaramiento de la distribucin de frecuencia de los monogramas
caracterstica del lenguaje.
1.6.1. Cifradores polialfabticos peridicos
Los sistemas por sustitucin polialfabtica tienen, por lo general, un perodo que
vendr dado por la longitud de la clave de cifrado. La nica excepcin la encontramos
en los denominados cifradores polialfabticos de clave continua, siendo un ejemplo
caracterstico el cifrador de Vernam a estudiar en el apartado 1.6.8 y que, como su
nombre lo indica, posee una clave tanto o ms larga que el texto en claro por lo que
sern cifradores no peridicos.
Luego, si dependiendo de la longitud de la clave tenemos d alfabetos de cifrado,
habr una periodicidad en los elementos del criptograma indicada por la siguiente
cadena:
C = C
1
... C
d
C
d+1
... C
2d
C
2d+1
... C
3d
... 1.14
O lo que es lo mismo, si f: A
d, entonces
tendremos que el mensaje M = M
1
...M
d
M
d+1
...M
2d
..., se cifrar repitiendo la secuencia
f
1
...f
d
cada d caracteres. Por lo tanto, podemos concluir que:
E
K
(M) = f
1
(M
1
)... f
d
(M
d
)f
1
(M
d+1
)...f
d
(M
2d
)f
1
(M
2d+1
)... 1.15
1.6.2. Cifrador de Vigenre
El cifrador polialfabtico ms conocido es el sistema de Vigenre, as
denominado en honor al criptlogo francs Blaise de Vigenre (1523-1596). El sistema
utiliza el mismo mtodo que el cifrador del Csar, esto es una sustitucin monogrmica
44 CRIPTOSISTEMAS CLSICOS
por desplazamiento de k caracteres en el texto, con la diferencia de que dicho
desplazamiento viene indicado por el valor numrico asociado a uno de los caracteres
de una clave que se escribe cclicamente bajo el mensaje como se indica a
continuacin:
TEXTO: E N U N L U G A R D E L A M A N C H A D E C U Y O N O M B R E ...
CLAVE: C E R V A N T E S C E R V A N T E S C E R V A N T E S C E R V ...
Segn lo anterior, la clave utilizada ser CERVANTES y tendr una periodicidad
igual a 9, pues son los caracteres que forman esta palabra. Luego, al primer carcter
del texto en claro (E) se le aplica un desplazamiento equivalente al primer carcter de la
clave (C), dando lugar a E + C = (4 + 2) mod 27 = 6 = G; el segundo carcter (N) se
cifra sumndolo con el segundo carcter de la clave (E), N + E = (13 + 4) mod 27 = 17
= Q, etc. El resultado final ser el criptograma: C = GQMIL HZEKF ICVMN GGZCH
VXULI. Tmese ahora un merecido descanso y compruebe este resultado.
Ejemplo 1.26: Aplicando relaciones de congruencia como las indicadas en el prrafo
anterior, cifre el siguiente mensaje segn el mtodo de Vigenre.
M = DESASTRE NUCLEAR EN MURUROA. Clave K = SOS.
Solucin: D E S A S T R E N U C L E A R E N M U R U R O A
S O S S O S S O S S O S S O S S O S S O S S O S
D+S = (3+19) mod27 = 22
W
E+O = (4+15) mod27 = 19
O
S+S = (19+19) mod27 = 11
K
A+S = (0+19) mod27 = 19
W
S+O = (19+15) mod27 = 7
B
T+S = (20+19) mod27 = 12
E
R+S = (18+19) mod27 = 10
N
E+O = (4+15) mod27 = 19
G
N+S = (13+19) mod27 = 5
N
U+S = (21+19) mod27 = 13
K
C+O = (2+15) mod27 = 17
D
L+S = (11+19) mod27 = 3
S
Luego, se obtiene el siguiente criptograma:
C = VSLSH MKSFN QDWOK WBENG NKDS.
Observe que letras repetidas del texto en claro se cifran de forma distinta,
dependiendo de su posicin relativa respecto a la clave. Es el caso de la letra E que se
cifra dos veces como S al coincidir con la letra O de la clave y dos veces como W
cuando la letra de la clave es S. Algo similar ocurre con las letras A, N y R y no as con
la U que se cifra tres veces como N. Por otra parte, una letra repetida del criptograma
puede provenir de caracteres distintos del texto en claro. Es el caso de la letra D que
proviene de los caracteres L y O del mensaje. Las observaciones anteriores pueden
generalizarse teniendo en cuenta el nmero de alfabetos utilizados en funcin de la
clave. En nuestro ejemplo, si bien la clave SOS implica una periodicidad igual a tres,
solamente utilizamos dos alfabetos, el correspondiente a la letra S y el de la letra O.
CLAVE T E X T O E N C L A R O
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
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
CRIPTOSISTEMAS CLSICOS 45
A 0 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
B 1 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 A
C 2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D 3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E 4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F 5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G 6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H 7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I 8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J 9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K 10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L 11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M 12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N 13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
O 15 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P 16 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q 17 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R 18 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S 19 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T 20 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U 21 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V 22 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W 23 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X 24 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
X 25 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z 26 Z 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
Figura 1.22. Tabla de cifrar de Vigenre.
El algoritmo de Vigenre utiliza permutaciones para cifrar los caracteres
del texto en claro con una clave. Si extendemos el nmero de permutaciones hasta su
lmite superior, en nuestro caso 27, se obtiene la denominada Tabla de Vigenre que se
muestra en la Figura 1.22.
Para cifrar un texto utilizando la Tabla de Vigenre se procede de la siguiente manera:
nos posicionamos en el carcter del texto en claro a cifrar en la primera fila de la tabla y
buscamos la letra de la clave en cuestin en la primera columna de la tabla. El
elemento C
i
del criptograma ser la letra de la retcula de interseccin entre fila y
columna. Por ejemplo la letra M cifrada con la clave O nos dar el criptograma A.
Compruebe que al mismo resultado se llega si se cifra el texto en claro O con la clave
M. La primera fila, la de la clave A, corresponde a la del texto en claro pues es lo que se
obtiene al aplicar un desplazamiento igual a cero.
Ejemplo 1.27: Utilizando la Tabla de Vigenre y la clave K = WINDOWS, cifre el
siguiente mensaje: M = MARIPURI, APAGA ESE ORDENADOR.
Solucin: M A R I P U R I A P A G A E S E O R D E N A D O R
W I N D O W S W I N D O W S W I N D O W S W I N D
Buscando en la tabla, obtenemos el criptograma:
C = IIELE QKEIC DUWWO MBURA FWLBU.
En el ejemplo anterior la clave tena longitud 7 aunque slo hemos hecho uso de
6 alfabetos de cifrado, los de las letras no repetidas de la clave W, I, N, D, O, S.
46 CRIPTOSISTEMAS CLSICOS
Puesto que la clave est formada por un conjunto de d caracteres, K = k
1
...k
d
, en
donde k
i
(i = 1,...d) entrega la cantidad de desplazamiento del alfabeto isimo, la funcin
de transformacin de Vigenre para cifrar vendr dada por:
C
i
= E
ki
(M
i
) = (M
i
+ k
i
) mod n 1.16
Para realizar la operacin de descifrado con la tabla se procede de manera
inversa. En la fila del carcter isimo de la clave, nos posicionamos en la retcula de la
letra del criptograma; hecho esto, subimos por esta columna hasta la fila primera del
texto en claro y leemos el carcter. Por ejemplo, si el elemento C
i
es la letra G y el
elemento k
i
es la letra , el resultado ser el texto en claro S.
Ejemplo 1.28: En la sala de mandos se recibe el siguiente criptograma que se sabe ha
sido cifrado mediante Vigenre con la clave TORA. Se pide descifrarlo.
C = RODAF DLOIG UEGOR TTQRR JSRRE VRRUD J.
Solucin: Aplicando el mtodo comentado, obtenemos el inquietante mensaje:
M = YAMAMOTO ORDENA ATACAR PEARL HARBOR.
De acuerdo con la operacin de cifra indicada en la ecuacin (1.16), la funcin
de descifrado de Vigenre deber utilizar el inverso del desplazamiento aplicado, dando
lugar a la expresin:
M
i
= D
ki
(C
i
) = (C
i
- k
i
) mod n 1.17
Por ejemplo, para el primer elemento del criptograma del ejemplo anterior (R),
con letra de clave (T) obtenemos: (R-T) mod 27 = (18-20) mod 27 = -2 mod 27 = 25 =
Y. Contine Ud. con el resto del criptograma.
1.6.3. Cifrador autoclave
Es una variante del algoritmo de Vigenre, conocido tambin como Segundo
Cifrado de Vigenre, cuya caracterstica radica en que se cifra el mensaje con una
clave que consiste en el mismo mensaje al que se le aade al comienzo una clave
denominada primaria. Luego, la secuencia de clave ser tan larga como el propio
mensaje. Por ejemplo, si utilizando la clave K = MARKETING deseamos cifrar el
mensaje M = YA ES PRIMAVERA EN EL CORTE INGLS, usando la Tabla de
Vigenre obtenemos el siguiente criptograma:
M = Y A E S P R I M A V E R A E N E L C O R T E I N G L E S
K = M A R K E T I N G Y A E S P R I M A V E R A E N E L C O
C = K A V C T L P Y G T E V S T E M W C K V L E M Z K V G H
La operacin de descifrado, conociendo la clave MARKETING es igual que en
Vigenre. Esto es, siguiendo la ecuacin (1.17), desciframos los nueve primeros
caracteres como se indica:
K - M
Y
A - A
(0 - 0) mod 27 = 0
A
V - R
E
CRIPTOSISTEMAS CLSICOS 47
C - K
(2 - 10) mod 27 = 19
S
T - E
(20 - 4) mod 27 = 16
P
L - T
R
P - I
(16 - 8) mod 27 = 8
I
Y - N
M
G - G
(6 - 6) mod 27 = 0
A
Con este mtodo seremos capaces de descifrar slo los primeros 9 caracteres
del criptograma KAVCTLPYG correspondientes a la clave primaria MARKETING. Para
continuar descifrando, hacemos uso de los 9 caracteres ya descifrados (YAESPRIMA)
que, segn el mtodo, irn a continuacin de dicha clave. Por lo tanto, desciframos
ahora el criptograma TEVSTEMWC con la clave YAESPRIMA y as sucesivamente
hasta obtener el mensaje original que se lo dejo como ejercicio. Aunque impresione
ms que otras tcnicas de cifra, el secreto de este criptosistema reside nicamente en
el de la clave. Conocida sta, el criptoanlisis es elemental.
Ejemplo 1.29: Si la clave usada en un cifrador autoclave es PIZZA, descifre el siguiente
criptograma.
C = SWMCE HHGDI OLXCV OMSGC WXQVO MSGKX TSQDT MEFL
Solucin: Bloque 1: SWMCE Clave: PIZZA
M
1
= DONDE
Bloque 2: HHGDI Clave: DONDE
M
2
= ESTAE
Bloque 3: OLXCV Clave: ESTAE
M
3
= LSECR
Bloque 4: OMSGC Clave: LSECR
M
4
= ETOEL
Bloque 5: WXQVO Clave: ETOEL
M
5
= SECRE
Bloque 6: MSGKX Clave: SECRE
M
6
= TOEST
Bloque 7: TSQDT Clave: TOEST
M
7
= AENLA
Bloque 8: MEFL Clave: AENL
M
8
= MASA
Luego, incluyendo los signos de puntuacin, este sabroso mensaje es:
M = DNDE EST EL SECRETO? EL SECRETO EST EN LA MASA.
(He incluido los signos)
1.6.4. Cifrador de Beaufort
En 1710, Giovanni Sestri, basado en el mtodo de cifra de Vigenre, propone un
algoritmo simtrico que sirve tanto para cifrar como para descifrar. El invento del
cifrador en cuestin finalmente se le atribuye al ingls Sir Francis Beaufort, amigo de
Sestri, y recibe precisamente el nombre de cifrador de Beaufort. Eso s que es un
amigo. La sustitucin empleada en este cifrador sigue la siguiente expresin:
C
i
= E
ki
(M
i
) = (k
i
- M
i
) mod n 1.18
La Figura 1.23 recoge todos los valores de la Tabla de Beaufort para el lenguaje
castellano.
CLAVE TEXTO EN CLARO
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
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
48 CRIPTOSISTEMAS CLSICOS
A 0 A Z Y X W V U T S R Q P O N M L K J I H G F E D C B
B 1 B A Z Y X W V U T S R Q P O N M L K J I H G F E D C
C 2 C B A Z Y X W V U T S R Q P O N M L K J I H G F E D
D 3 D C B A Z Y X W V U T S R Q P O N M L K J I H G F E
E 4 E D C B A Z Y X W V U T S R Q P O N M L K J I H G F
F 5 F E D C B A Z Y X W V U T S R Q P O N M L K J I H G
G 6 G F E D C B A Z Y X W V U T S R Q P O N M L K J I H
H 7 H G F E D C B A Z Y X W V U T S R Q P O N M L K J I
I 8 I H G F E D C B A Z Y X W V U T S R Q P O N M L K J
J 9 J I H G F E D C B A Z Y X W V U T S R Q P O N M L K
K 10 K J I H G F E D C B A Z Y X W V U T S R Q P O N M L
L 11 L K J I H G F E D C B A Z Y X W V U T S R Q P O N M
M 12 M L K J I H G F E D C B A Z Y X W V U T S R Q P O N
N 13 N M L K J I H G F E D C B A Z Y X W V U T S R Q P O
14 N M L K J I H G F E D C B A Z Y X W V U T S R Q P O
O 15 O N M L K J I H G F E D C B A Z Y X W V U T S R Q P
P 16 P O N M L K J I H G F E D C B A Z Y X W V U T S R Q
Q 17 Q P O N M L K J I H G F E D C B A Z Y X W V U T S R
R 18 R Q P O N M L K J I H G F E D C B A Z Y X W V U T S
S 19 S R Q P O N M L K J I H G F E D C B A Z Y X W V U T
T 20 T S R Q P O N M L K J I H G F E D C B A Z Y X W V U
U 21 U T S R Q P O N M L K J I H G F E D C B A Z Y X W V
V 22 V U T S R Q P O N M L K J I H G F E D C B A Z Y X W
W 23 W V U T S R Q P O N M L K J I H G F E D C B A Z Y X
X 24 X W V U T S R Q P O N M L K J I H G F E D C B A Z Y
Y 25 Y X W V U T S R Q P O N M L K J I H G F E D C B A Z
Z 26 Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
Figura 1.23. Tabla de cifrar de Beaufort.
Por lo tanto, se invierte el orden de las letras del alfabeto A y luego se les aplica
un desplazamiento hacia la derecha de (k
i
+ 1) posiciones. Esta afirmacin puede
comprobarse aplicando la siguiente congruencia:
E
ki
(A) = (k
i
- A) mod n = [(n-1) - A + (k
i
+1)] mod n 1.19
Ejemplo 1.30: Usando la Tabla de Beaufort con clave K = ULTIMTUM, cifre el mensaje
M = ESTO ES LA GUERRA SEORES.
Solucin: Siguiendo la tabla de la Figura 1.23 se obtiene:
C = QSATI IJUGA HCQMI PHXDH B.
Por la operacin de sustitucin empleada, es posible que, a diferencia del de
Vigenre, un carcter se cifre con su valor en claro con una clave distinta de la letra A,
como es el caso en el ejemplo anterior en que el segundo (S) y el noveno (G)
caracteres se cifran en claro, con las claves (L) y (M), respectivamente. La operacin de
descifrado, tal como comentbamos, es la misma que la de cifrado, con la excepcin
que en vez de texto claro M contamos ahora con texto cifrado C, esto es:
M
i
= D
ki
(C
i
) = (k
i
- C
i
) mod n 1.20
Por ejemplo, para los cinco primeros caracteres del ejemplo anterior (QSATI )
aplicando la ecuacin 1.20 se obtiene:
k
1
= U; C
1
= Q
M
1
= (21-17) mod 27 = 4
M
1
= E
CRIPTOSISTEMAS CLSICOS 49
k
2
= L; C
2
= S
M
2
= (11-19) mod 27 = 19
M
2
= S
k
3
= T; C
3
= A
M
3
= (20-0) mod 27 = 20
M
3
= T
k
4
= I; C
4
= T
M
4
= (8-20) mod 27 = 15
M
4
= O
k
5
= M; C
5
= I
M
5
= (12-8) mod 27 = 4
M
5
= E
A igual resultado podemos llegar si utilizamos la Tabla de Beaufort para
descifrar. De la misma forma que en el mtodo de Vigenre, nos posicionamos en la fila
correspondiente al carcter de la clave y buscamos la retcula en la que aparezca el
elemento cifrado, su proyeccin a la fila superior del texto en claro nos entrega el
carcter del mensaje. Observe que en este caso, la fila de desplazamiento 0 (letra A)
no se corresponde con la del texto en claro como suceda con Vigenre.
Ejemplo 1.31: Usando la ecuacin 1.20 descifre con clave LEIA el siguiente criptograma:
C = UKEPL ZWTF IHHEG MZOIN H.
Solucin: Siguiendo el mtodo indicado, encontramos el mensaje intergalctico:
M = QUE LA FUERZA TE ACOMPAE.
Variante del cifrador de Beaufort
Si modificamos la ecuacin (1.18) de forma que la funcin de cifrado E
ki
se
transforme en E
ki
(M
i
) = (M
i
- k
i
) mod n, el sistema se conoce como variante de Beaufort.
Esto es equivalente a cifrar con Vigenre siendo la clave (n - k
i
) lo que puede
demostrarse a partir de la siguiente congruencia: para un alfabeto A:
(A - k
i
) mod n = [A + (n - k
i
)] mod n 1.21
Al ser el inverso del algoritmo de Vigenre, este cifrador se puede utilizar para
descifrar criptogramas obtenidos con Vigenre y viceversa. Algo obvio por lo dems.
1.6.5. Criptoanlisis de los cifrados polialfabticos peridicos
al utilizar ms de un alfabeto, el nmero de combinaciones de la clave crecer y
tambin lo har su entropa y distancia de unicidad. Para un cifrador polialfabtico como
Vigenre, la distancia de unicidad vendr dada por el nmero total de combinaciones
usadas para sustituciones simples; esto es si para cada sustitucin simple
monoalfabeto hay n posibles claves, entonces al utilizar d sustituciones existirn n
d
claves posibles.
Ejemplo 1.32: Si el alfabeto de claves son las letras A, B, C y D, a) Cuntas claves de
dos elementos podemos formar? b) Encuentre la distancia de unicidad del
cifrador de Vigenre para el lenguaje castellano. c) Cul es su valor para
una clave de longitud 10?
Solucin: a) Existirn n
d
= 4
2
= 16 combinaciones posibles. Para este alfabeto de
cuatro letras, sern claves: AA, AB, AC, AD, BA, BB, BC, BD, CA, CB,
CC, CD, DA, DB, DC y DD.
b) N = H(K)/D = log
2
(n
d
)/D = d
log
2
n/D = d
log
2
27/3,4.
c) Si d = 10 entonces N
10
1,4
14 caracteres.
50 CRIPTOSISTEMAS CLSICOS
Luego, para romper un cifrado polialfabtico se necesitar mucho ms texto
cifrado que en uno monoalfabtico, tantas veces como el valor de su perodo, puesto
que en aquel caso la cantidad de texto cifrado necesaria vena dada por log
2
n/D.
Mtodo de Kasiski
Vamos a profundizar en la caracterstica de periodicidad de los cifradores
polialfabticos. Supongamos que por algn mtodo an desconocido por Ud, logramos
adivinar que la longitud de la clave es igual a seis caracteres. Si el criptograma C est
formado por una cadena de m caracteres C
1
C
2
...C
m-1
C
m
, podemos escribirlo en un
formato de seis columnas como se indica:
C
1
C
2
C
3
C
4
C
5
C
6
C
7
C
8
C
9
C
10
C
11
C
12
C
13
C
14
C
15
C
16
C
17
C
18
C
19
C
20
C
21
C
22
C
23
C
24
.............
C
m-5
C
m-4
C
m-3
C
m-2
C
m-1
C
m
Recordando el mtodo de cifrado de Vigenre con una clave de seis caracteres,
tenemos que cada una de las seis columnas corresponder a la cifra con el mismo
elemento de la clave. Esto es, los caracteres de una misma columna se corresponden
con los de un cifrado monoalfabtico por desplazamiento puro dado por el valor del
elemento isimo de clave. Esto nos va a indicar que dos o ms caracteres iguales en
una columna se debern a caracteres iguales del texto en claro que, evidentemente, se
han cifrado con la misma letra de clave. Adems, como el lenguaje castellano presenta
una alta redundancia es posible que poligramas caractersticos tales como ando, ada,
ido, ado, ica, ita, cin, mente y muchos otros sean cifrados con la misma cadena de
clave originando cadenas de texto cifrado repetidas en el criptograma.
La probabilidad de que se den estas repeticiones de cadenas ser menor que en
un cifrador monoalfabtico; no obstante, una cadena grande de caracteres repetidos es
muy poco probable que aparezca por puro azar. De hecho, trigramas y tetragramas
repetidos ms de una vez en el criptograma indican una alta probabilidad de que la
distancia entre tales cadenas sea un mltiplo de la clave utilizada para cifrar. Aqu est
la madre del cordero. Este principio fue observado por el criptlogo alemn Friedrich W.
Kasiski en 1860 con lo que el mtodo lleva su nombre. En otras palabras, si una clave
tiene L caracteres, slo hay L formas diferentes de posicionar dicha clave sobre la o las
palabras en el texto en claro. Esto es, si la clave es NECIO, una repeticin tpica de
cuatro letras como podra ser ando (p.e. comprobando, contrabando, bando, bandolero,
cantando, abandono, etc.) podr cifrarse solamente de las siguientes cinco formas
ANDO+NECI, ANDO+ECIO, ANDO+CION, ANDO+IONE y ANDO+ONEC.
Luego, para este caso, podemos esperar que un grupo de caracteres que
aparecen ms de L veces en el texto en claro hayan sido cifrados al menos dos veces
en la misma posicin de la clave y dichas ocurrencias se cifrarn de forma idntica.
Veamos un ejemplo sencillo. Si el mensaje es el famoso monlogo de Hamlet y
ciframos mod 27 segn el mtodo de Vigenre con la clave K = HAM se tiene:
CRIPTOSISTEMAS CLSICOS 51
M = T O B E O R N O T T O B E T H A T I S T H E ...
K = H A M H A M H A M H A M H A M H A M H A M H ...
C = A O N L O D T O F A O N L T S H T T Z T S L ...
La cadena o secuencia de caracteres AONL que aparece dos veces en el
criptograma con una separacin igual a 9 espacios, sugiere que el perodo de la clave
sea igual a 3 9. Adems encontramos la cadena TS separada por 6 espacios lo que
confirmara que el perodo es igual a 3. Con algo ms de texto y el uso de las
estadsticas del lenguaje como veremos ms adelante, seremos capaces de determinar
que la clave de este ejemplo tiene efectivamente una longitud de 3 caracteres y que
stos son precisamente HAM.
Explicaremos el mtodo de Kasiski mediante un ejemplo detallado. Supongamos
que contamos con el criptograma de 404 caracteres que se indica:
PBVRQ VICAD SKAS DETSJ PSIED BGGMP SLRPW RPWY EDSDE DRDP
CRCPQ MNPWK UBZVS FNVRD MTIPW UEQVV CBOVN UEDIF QLONM WNUVR
SEIKA ZYEAC EYEDS ETFPH LBHGU ESOM EHLBX VAEEP UELI SEVEF
WHUNM CLPQP MBRRN BPVI MTIBV VEID ANSJA MTJOK MDODS ELPWI
UFOZM QMVNF OHASE SRJWR SFQCO TWVMB JGRPW VSUEX INQRS JEUEM
GGRBD GNNIL AGSJI DSVSU EEINT GRUEE TFGGM PORDF OGTSS TOSEQ
OTGR RYVLP WJIFW XOTGG RPQRR JSKET XRNBL ZETGG NEMUO TXJAT
ORVJH RSFHV NUEJI BCHAS EHEUE UOTIE FFGYA TGGMP IKTBW UEEN
IEEU.
En el criptograma se han subrayado con lnea doble algunas cadenas largas que
se repiten. Estas son:
3 cadenas GGMP: separadas por 256 y 104 caracteres
2 cadenas YEDS: separadas por 72 caracteres
2 cadenas HASE: separadas por 156 caracteres
2 cadenas VSUE: separadas por 32 caracteres.
El valor del mximo comn divisor de estas distancias debera ser un mltiplo de
la longitud de la clave, esto es: mcd (256,104,72,156,32) = 4. Luego, la clave podra
tener una longitud igual a cuatro caracteres. Hay que tener cuidado con elegir cadenas
muy cortas ya que stas pueden deberse solamente al azar y echar por tierra todas
nuestras esperanzas de romper la cifra al aparecer una distancia cuyo valor sea primo
con las dems. En nuestro ejemplo sera el caso de elegir, entre otras, tambin la
cadena VR (subrayada) que aparece tres veces al comienzo del criptograma con una
separacin de 65 y 31 caracteres, que no cumple con el mximo comn divisor 4
encontrado anteriormente. Lo mismo ocurre con la cadena RR (subrayada), que se
repite dos veces con una separacin de 142 y luego 19 espacios. Para ms inri, en
ambos casos aparece un nmero primo, lo que asegura que el mcd sea igual a uno.
Si sospechamos que la clave tiene cuatro caracteres, vamos a romper el texto
cifrado en cuatro criptogramas independientes C
A
, C
B
, C
C
y C
D
de 101 caracteres cada
uno y que llamaremos subcriptogramas, tomando para el primero, segundo, tercero y
cuarto los caracteres separados por cuatro espacios, siguiendo la escritura en
columnas que indicbamos al comienzo de este apartado; es decir:
52 CRIPTOSISTEMAS CLSICOS
Primer subcriptograma: C
1
, C
5
, C
9
, ..., C
391
, C
401
Segundo subcriptograma: C
2
, C
6
, C
10
, ..., C
398
, C
402
Tercer subcriptograma: C
3
, C
7
, C
11
, ..., C
399
, C
403
Cuarto subcriptograma: C
4
, C
8
, C
12
, ..., C
400
, C
404
Por lo tanto, tenemos ahora:
C = PQAAEPDMREEDCNUSRIECNIONSAAETLUOLAUIEULMNIIEAAOOLU
A
MNARSOMRSISERNAISIRTMDTOORLIORRENENOAVSNIAEOFAMTEI
C = BVDTSBPPPDPPPBFDPQBUFNUEZCDFBMBESFNPBBBNMKDPF
B
QFSJFTBPUNJMBNGDUNUFPFSSRPFTPJTBTETTJFUBSUTFTPBE
C = VISSSIGSWWSDCQWZNMWVOEQMVIYESPHEEXEEEWMQRPMVISTMSWO
C
MOEWQWJWEQEGDISSETEGOOSETYWWGQSXLGMXOHHECEEIGGIWEE
C = RCKDJEGLRYDRRMKVVTUVVDLWRKEYEHGSHVPLVHCPRVTVDJJDEIZ
D
VHSRCVGVXRUGGLJVEGEGRGTQGVJXGRKRZGUJRRVJHHUEYGKUNU
Para descifrar los caracteres de la clave, suponiendo una cifra del tipo Vigenre,
debemos encontrar el desplazamiento que se observa en cada uno de estos cifrados
monoalfabticos. Aplicaremos un Mtodo por Coincidencia Mltiple que he llamado
Regla EAOS. Consiste en observar las frecuencias relativas de los caracteres de cada
subcriptograma y marcar las cuatro mayores de forma que sigan modularmente la
posicin de las letras A, E, O y S en el alfabeto, las cuatro letras ms frecuentes del
lenguaje castellano. Evidentemente, si se desea una mayor precisin pueden tomarse
ms letras con el mismo sentido pero en la mayora de los casos y para lo que aqu nos
interesa es suficiente con estas cuatro. Por lo tanto, para estas cuatro letras, los
caracteres m que las representen debern tener una frecuencia relativa alta y estar
situadas en las siguientes posiciones:
m mod 27 posicin relativa de la letra A en el alfabeto desde el origen
m+4 mod 27 posicin relativa de la letra E en el alfabeto desde el origen
m+15 mod 27 posicin relativa de la letra O en el alfabeto desde el origen
m+19 mod 27 posicin relativa de la letra S en el alfabeto desde el origen
Esto quiere decir que al ser todos los subcriptogramas resultado de cifrados
monoalfabticos, entonces alguna letra del texto cifrado tendr aproximadamente la
frecuencia caracterstica de la letra A en el lenguaje, otra la de la letra E, otra de la letra
O y otra de la letra S. Estos valores altos de frecuencia debern estar separados por
una relacin de distancias constante pues de la A a la E hay cuatro espacios, de la E a
la O hay once, de la O a la S cuatro y, por ltimo, de la S a la A siete.
En la Figura 1.24 se muestra la tabla con la contabilizacin de los caracteres de
cada subcriptograma para este ejemplo.
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
C
A
11 0 2 3 12 1 0 0 11 0 0 5 6 9 1 10 2 1 9 7 4 5 1 0 0 0 0
C
B
0 14 1 6 4 12 1 0 0 4 1 0 3 6 8 6 14 2 1 6 9 7 1 0 0 0 1
C
C
0 0 1 2 18 0 7 3 7 1 0 1 7 1 0 0 2 6 1 12 3 0 3 12 3 2 1
C
D
0 0 3 5 7 0 12 6 1 7 5 4 1 1 0 6 2 1 13 2 3 7 14 0 2 3 2
CRIPTOSISTEMAS CLSICOS 53
Figura 1.24. Frecuencias de los monogramas del ejemplo de criptoanlisis.
De la Figura 1.24, tomaremos los valores que se subrayan como caracteres en
los cuales se cumple en buena medida la regla indicada, es decir:
(m
A
+ 4) mod 27 = m
E
(m
E
+ 11) mod 27 = m
O
(m
O
+ 4) mod 27 = m
S
(m
S
+ 7) mod 27 = m
A
1.22
siendo m
A
, m
E
, m
O
y m
S
las posiciones de los caracteres con mayor frecuencia relativa
en el criptograma que cumplan este sentido modular.
En este caso, siguiendo la Figura 1.24, para el criptograma C
A
se observa que la
nica solucin que cumple con la modularidad de (1.22) es aquella en la que el texto
cifrado coincide con el texto en claro AEOS con valores (11,12,10,7), luego es posible
que la primera letra de la clave sea la A. El valor alto que muestra la letra I no cumple
esta condicin y se descarta. Para C
B
la relacin de letras con alta frecuencia en este
orden modular est muy claro que se encuentra desplazada un carcter a la derecha,
BFPT (14,12,14,9) con lo cual la clave puede ser B. Para el tercer criptograma C
C
los
nmeros 18, 7, 12, y 12 cumplen con la modularidad exigida por la ecuacin obteniendo
ahora un ciclo EISW por lo que podemos suponer que la tercera letra de la clave es la
E. Por ltimo para el criptograma C
D
, elegimos los caracteres RVGK con frecuencias
(13,14,12,5) con lo que la clave ser la letra R. Con esto llegamos a la conclusin de
que la clave puede ser K = ABER. Descifraremos entonces el criptograma C segn
Vigenre con la clave ABER, "a ver" qu sucede.
C = PBVRQ VICAD SKAS DETSJ PSIED BGGMP SLRPW RPWY
K = ABERA BERAB ERABE RABER ABERA BERAB ERABE RABER
M = PARAQ UELAC OSANO MESOR PREND ACOMO OTROS AOSH
Como el texto "Para que la cosa no me sorprenda como otros aos..." tiene
sentido en castellano, y es imposible que se d por pura casualidad, seguimos
descifrando y obtenemos el texto que se indica. No obstante, observe que la cadena
repetida GGMP de criptograma corresponde a la palabra como, bastante comn en
nuestro lenguaje. Como ejercicio, encuentre a qu cadenas de caracteres en claro
corresponden las cadenas de cifrado YEDS, HASE y VSUE que nos han servido para
romper la cifra. El texto completo es:
"Para que la cosa no me sorprenda como otros aos, he comenzado ya con unos
suaves ejercicios de precalentamiento; mientras desayunaba he contemplado una bola
plateada y una tira de espumilln y maana me iniciar en el amor al prjimo con los
que limpien el parabrisas en los semforos. Esta gimnasia del corazn metafrico es
tan importante como la del otro corazn porque los riesgos coronarios estn ah,
escondidos tras la vida sedentaria y parapetados en fechas como estas de Navidad."
Comienzo del artculo "Gimnasia" del periodista Andrs Aberasturi publicado en el peridico El Mundo el
4/12/94, ao del primer curso en que se imparti la asignatura Seguridad Informtica en la EUI.
54 CRIPTOSISTEMAS CLSICOS
Si los subcriptogramas son relativamente pequeos, a veces no resulta tan fcil
decidir cul es la clave mediante la observacin de las frecuencias puesto que ser
muy aventurado hacer estadsticas con tan pocos datos. En este ejemplo con ms de
100 caracteres por cada subcriptograma, las estadsticas no funcionan tan mal como
hemos visto. Adems, conocido el origen del mensaje, la clave era obvia verdad?
Ejemplo 1.33: Encuentre la longitud de la clave por el mtodo de Kasiski a partir del
criptograma obtenido con el algoritmo de Vigenre.
C = AWHFW ZAPIE ARXKS CXWEX WEXWE KJPUR EBWTU SCOOB
JGTKJ PUREB WTUSC NGXW.
Solucin: Se observan tres repeticiones XWE seguidas, separadas entre s por 3
espacios. Adems, hay una larga cadena KJPUREBWTUSC que aparece
dos veces, separada por 18 espacios. Como esto es muy sospechoso,
calculamos el mcd (3,18) = 3; luego este valor puede ser la longitud de la
clave. De hecho la clave en esta cifra es la cadena PIO. Rompa la cifra en
3 subcriptogramas e intente comprobar si efectivamente se cumplen las
estadsticas de frecuencia.
En el ejemplo anterior, si la clave que se utiliza es POLLOS en vez de PIO, se
obtiene el criptograma C = ADDAD DAWEZ HVXQO XEAEE SZEAE QFLBV EISOB
WCVLW PKTQF LBVEI SOBWC TCSD. En l encontramos la cadena de caracteres
EAE separada por 6 espacios, adems de la cadena QFLBVEISOBWC separada por
18 espacios por lo que la longitud de la clave podra ser mcd (6,18) = 6. El descifrado
con las dos claves y el posterior descubrimiento de esta tierna cancin de infancia se lo
dejo tambin como ejercicio.
Debe tenerse en cuenta que este mtodo al ser estadstico no es ni mucho
menos infalible en el sentido que, por puro azar, se pueden dar cadenas repetidas en el
criptograma cuya separacin no sea mltiplo de la clave o, incluso peor, que sea un
nmero primo como ya hemos comentado con lo que el mximo comn divisor ser
igual a la unidad. En la prctica, para evitar estas soluciones falsas, debemos contar
con un criptograma de muchos caracteres, por ejemplo varias centenas, que incluso
una vez roto en subcriptogramas tengamos cerca de la centena de caracteres en cada
uno y luego buscar cadenas de caracteres largas, de una longitud mayor o igual a 3 y
en lo posible que se repitan ms de una vez.
ndice de Coincidencia
Otra forma de encontrar el perodo de un cifrador polialfabtico es el conocido
como Indice de Coincidencia, propuesto por William F. Friedman en una publicacin de
Riverbank en 1922. La publicacin de "El Indice de Coincidencia y sus Aplicaciones en
Criptografa"
4
considerada durante muchos aos como la mayor contribucin al
desarrollo de la criptologa, entronca definitivamente las matemticas y estadsticas con
la criptologa y permiti, entre otras cosas, criptoanalizar las mquinas de rotores con
4
Friedman, William, "The Index of Coincidence and Its Applications in Cryptography", Riverbank
Laboratories, publication 22, 1922. Tambin en Khan, David, "The Codebreakers. The Story of Secret
Writing", Macmillan Publishing Company, New York, 1967, pp. 376-384.
CRIPTOSISTEMAS CLSICOS 55
alfabetos progresivos que traan de cabeza a los criptlogos y servicios de inteligencia
durante la Segunda Guerra Mundial.
En lo que aqu nos interesa, el Indice de Coincidencia medir la variacin o
varianza de la frecuencia de aparicin de los caracteres de un criptograma. La idea es
la siguiente: en un sistema por sustitucin simple monoalfabeto, con perodo igual a
uno, encontramos una importante variacin en la frecuencia relativa de aparicin de las
letras como se desprende de los valores caractersticos de monogramas de la Figura
A.1 del Anexo. En cambio, para los sistemas polialfabticos con un perodo grande, la
variacin de estas frecuencias es muy baja debido al efecto de difusin. Diremos
entonces que en el primer caso existe un Indice de Coincidencia IC alto, y que en el
segundo este IC ser bajo. Definiremos primeramente MD como la Medida de la
Dispersin que nos entrega la variacin de frecuencias en cada carcter, relativa a una
distribucin uniforme:
)
n
1
- p ( = MD
i
2 1 - n
i=0
1.23
donde p
i
es la probabilidad de que un carcter cualquiera elegido aleatoriamente del
criptograma sea el carcter isimo a
i
de un alfabeto con longitud n. Adems, dado que:
1.24
1 p
i
1 - n
i=0
=
Si n = 27, alfabeto castellano en maysculas, se tiene que:
1.25
0,037 - p = MD
2
i
26
i=0
Ejemplo 1.34: Demuestre la ecuacin (1.25).
Solucin: =
0,037 - p = MD
2
i
26
i=0
] )
27
1
( + p )
27
2
( - p [
2
i
2
i
26
i=0
)
27
1
( + p
27
2
- p = MD
2
26
i=0
i
26
i=0
2
i
26
i=0
)
27
1
27( +
27
2
- p = MD
2 2
i
26
i=0
0,037 - p = MD
2
i
26
i=0
La Medida de Dispersin MD evala la altura de los picos y los valles en una
distribucin de frecuencias con respecto a una distribucin uniforme. Para el lenguaje
castellano con n = 27, tenemos que 1/n = 0,037 ser la lnea base, de forma que los
picos sern frecuencias relativas por sobre esta lnea y los valles frecuencias relativas
por debajo de la misma. Luego, si fr
M
es la frecuencia relativa de la letra M, fr
M
- 0,037
ser el tamao del pico o del valle observado y p
M
- 0,037 el tamao esperado del pico
o del valle. Puesto que los picos sern positivos y los valles negativos, para que estos
valores no se cancelen en la ecuacin de la MD se utiliza (p
i
- 1/n).
56 CRIPTOSISTEMAS CLSICOS
Para una distribucin uniforme, esto es las 27 letras del alfabeto equiprobables,
se tiene MD = 27(1/27) - 1/27 = 0 que es lo esperado pues el Indice de Coincidencia
indica la variacin de la frecuencia de las letras respecto a una distribucin uniforme. Es
lgico que un texto que tenga una distribucin de caracteres equiprobables presente
una medida de dispersin igual a cero. En el otro extremo, si los caracteres del texto
presentan la distribucin caracterstica del lenguaje castellano se tendr:
1.26
0,072 = p + p + p + ... + p + p + p = p
2
z
2
y
2
x
2
c
2
b
2
a
2
i
z i=
i=a
Luego, la varianza ser MD = 0,072 - 0,037 = 0,035. Esto quiere decir que la
varianza de los caracteres de un criptograma tendr un valor mximo igual a 0,035
cuando el cifrado haya sido monoalfabtico y tiende a cero cuando el cifrado es
polialfabtico y el nmero de alfabetos utilizados es muy grande.
0
MD
0,035 1.27
El valor de p
i
significa la probabilidad de que al tomar dos caracteres aleatorios
del criptograma, los dos sean iguales. Este valor se define como Indice de
Coincidencia:
1.28
p = IC
2
i
1 - n
i=0
Como no conocemos el perodo ni las probabilidades p
i
del criptograma, no ser
posible encontrar la Medida de la Dispersin, por lo menos de forma terica. No se
preocupe por esto ya que s ser posible, no obstante, estimar MD usando la
distribucin de frecuencias de las letras del texto cifrado y aproximar as la probabilidad
con la frecuencia observada. Luego, si f
i
son las ocurrencias del carcter i en un
criptograma de N letras, la probabilidad de elegir simultneamente dos caracteres
iguales de forma aleatoria, es decir p
i
, ser:
p
i
1) - N(N
1) -
f
i
(
f
i
=
1)/2 - N(N
/2 1) -
f
i
(
f
i
=
1.29
Este resultado se explicar en el siguiente ejemplo. Luego IC ser igual a:
1) - N(N
1) -
f
(
f
= IC
i i
1 - n
i=0
1.30
Ejemplo 1.35: Al cifrar M = ANIMAL RARO con mtodo de Beaufort y K = CERDO (no
tengo nada contra estos nobles animales) se obtiene C = CRKRO
RNRMA.
a) Encuentre la probabilidad de elegir dos caracteres iguales R en C.
b) Demuestre con este criptograma la ecuacin (1.29).
CRIPTOSISTEMAS CLSICOS 57
Solucin: a) C = CRKRO RNRMA
01234 56789
Como hay 10 letras en el criptograma y existen 4 caracteres R, el valor de
f
R
es igual a 4, a lo que podramos asociar una probabilidad p
R
= 0.4
b) Tendremos f
R
(f
R
-1) = 4(4-1) = 12 formas de tomar un par de letras R
del criptograma (1-3; 1-5; 1-7; 3-1; 3-5; 3-7; 5-1; 5-3; 5-7; 7-1; 7-3 y 7-5)
pero como tomar el par 1,3 es igual que tomar el par 3,1 etc., el nmero
efectivo de formas ser f
R
(f
R
-1)/2. Por otra parte, como el criptograma
tiene 10 letras, habr N(N-1) = 10(10-1) = 90 pares de letras: (0-1; 0-2; 0-
3; 0-4; 0-5; 0-6; 0-7; 0-8; 0-9; 1-0; 1-2; 1-3; 9-4; 9-5; 9-6; 9-7; 9-8 y 9-9).
Pero como el par jk es igual que kj, entonces el nmero efectivo de pares
de letras ser N(N-1)/2.
Podemos entonces concluir que el Indice de Coincidencia es un mtodo para
encontrar de forma aproximada la varianza que presentan los caracteres de un
criptograma por medio de la observacin de los datos. De la ecuacin (1.25) se deduce:
IC = MD + 0,037 1.31
En la expresin anterior el valor de IC puede ser calculado a partir de los valores
encontrados en un criptograma ya que MD no es posible calcularlo como ya habamos
comentado en un prrafo anterior. No obstante, como el valor de MD se encuentra
entre 0 y 0,035 llegamos a la conclusin de que el Indice de Coincidencia IC estar
comprendido entre los siguientes valores:
0,037
IC
0,072 1.32
Para cifradores con perodo d, el valor esperado del IC para un texto de N
caracteres vendr dado por la siguiente ecuacin:
IC = (1/d)[(N-d)/(n-1)]
0,072 + [(d-1)/d](N/N-1)
0,037 1.33
d IC d IC
1 0,072 5 0,044
2 0,054 10 0,040
3 0,049 ... ...
4 0,046 Grande 0,037
Figura 1.30. ndice de Coincidencia para cifras con perodo d.
El valor de IC = 0,072 para un perodo d igual a la unidad, esto es un cifrador por
desplazamiento puro monoalfabtico, nos indica que dicho texto ser equivalente al
lenguaje castellano en lo que a distribucin de frecuencias relativas de los caracteres se
refiere. Luego, todo cifrado monoalfabtico tendr este valor que coincidir con el de un
texto en claro, en tanto que aqu no interesa que sea precisamente la letra E la que
presente una frecuencia de aparicin del 13%; puede ser cualquier otro carcter del
criptograma, dependiendo del desplazamiento utilizado en el cifrado.
El Indice de Coincidencia IC presenta una fuerte variacin para valores
58 CRIPTOSISTEMAS CLSICOS
pequeos del perodo de cifrado, no as para valores grandes. Por este motivo, en el
criptoanlisis de sistemas por sustitucin, el mtodo se usa conjuntamente con el de
Kasiski puesto que, si bien no es preciso en cuanto al nmero de alfabetos utilizados, s
lo es para indicar que se trata de una sustitucin monoalfabeto o polialfabeto.
Ejemplo 1.36: Utilizando la ecuacin del ndice de Coincidencia, determinar si el
siguiente criptograma pertenece a un cifrado por sustitucin
monoalfabtica o polialfabtica.
C = WVKNK BCOFQ NCGEW CEKQO FGNKO FKEGF GEQKO EKFGO EKCFG VGTK
OCTUK GNUKI WKGOV GETKR VQITC CRGT VGOGE GCWOE KHTCF QRQTU
WUVKV WEKQO QOQC NHCDG VKECQ RQNKC NHCDG VKEC
Solucin: Los 139 caracteres del criptograma y su frecuencia son:
A=0 B=1 C=15 D=2 E=12 F=7 G=16 H=3 I=2 J=0
K=19 L=0 M=0 N=7 =3 O=11 P=0 Q=11 R=4 S=0
T=7 U=4 V=9 W=6 X=0 Y=0 Z=0
Aplicando la ecuacin (1.30) se obtiene: IC = 0,071. Como este valor se
aproxima mucho a 0,072 se concluye que se trata de un cifrado de tipo
monoalfabtico. De hecho, el texto en claro es precisamente la cifra del
enunciado de este ejemplo Utilizando la ecuacin o polialfabtica",
con un desplazamiento b = 2.
No siempre ser posible encontrar el perodo usando el Indice de Coincidencia.
Cuando la clave es relativamente larga, ms de 4 caracteres, ser mucho ms
confiable el mtodo de Kasiski. De todas maneras, el Indice de Coincidencia nos
permitir determinar, una vez fraccionado el criptograma en subcriptogramas por
Kasiski, si cada uno de ellos se trata de un cifrado monoalfabtico, comparando el valor
encontrado del IC en cada uno de ellos con el caracterstico del lenguaje castellano.
Retomemos el ejemplo del artculo "Gimnasia" de nuestro amigo Aberasturi. Para cada
uno de los cuatro subcriptogramas se tienen los siguiente valores de IC:
C
A
IC = 0,070
C
B
IC = 0,073
C
C
IC = 0,075
C
D
IC = 0,065
Como todos los valores se acercan bastante al IC caracterstico del lenguaje
castellano (IC = 0,072), podemos asegurar que efectivamente cada uno de los cuatro
criptogramas hallados se trata de un cifrado monoalfabtico como era el caso. En
resumen, si se desea atacar un criptograma que suponemos se ha obtenido mediante
sustitucin con ms de un alfabeto, usaremos las siguientes herramientas:
a) Anlisis de la distribucin de frecuencia del texto del criptograma. Si es parecida
a la del lenguaje, el cifrado ser monoalfabtico; caso contrario, ser
polialfabtico.
b) Clculo del Indice de Coincidencia IC para confirmar que el criptograma se debe
a un cifrado polialfabtico y tener una primera idea del perodo del cifrador.
c) Aplicacin del mtodo de Kasiski para encontrar el perodo, obteniendo varios
subcriptograma. Clculo luego del IC de cada uno de dichos criptogramas para
asegurarse que se trata de un cifrado con un desplazamiento constante.
CRIPTOSISTEMAS CLSICOS 59
d) Uso del Mtodo de Coincidencia Mltiple o Regla EAOS para encontrar las letras
que forman la clave.
e) Encontrada la clave, procedemos a descifrar el criptograma siempre en el
supuesto de que conocemos el algoritmo de cifra.
1.6.6. Cifradores polialfabticos no peridicos
La debilidad de los cifradores por sustitucin con ms de un alfabeto est en la
periodicidad de la clave. Esto provoca posibles cadenas repetidas en el criptograma
que entrega una pista al criptoanalista, facilitando sobremanera el ataque a estos
cifrados. Como la fortaleza del cifrado o distancia de unicidad dependa de la longitud
de la clave o perodo, la solucin consistir pues en aumentar la longitud de esta clave.
Qu sucede si aumentamos la longitud de la clave de forma que tenga un
tamao igual o mayor que el texto en claro? Esto sera lo mismo que adoptar el criterio
propuesto por Shannon para un sistema con secreto perfecto comentado en un captulo
anterior. En este caso los criptogramas soportaran el ataque por el mtodo de Kasiski
puesto que al no haber perodo alguno, sera imposible dividir el criptograma en otros
menores.
Cifrador con clave continua
Si aceptamos que se aumenta la fortaleza de un cifrado por sustitucin utilizando
una clave tan larga como el mensaje, el problema est ahora en determinar cmo se
genera una clave con tales caractersticas. Una solucin sencilla podra ser elegir como
clave un texto, conocido por el transmisor y el receptor claro est, con una cantidad de
caracteres a lo mnimo igual que la del mensaje en claro. Por lo tanto, ya no hablamos
de una clave sino de una secuencia de clave y el cifrador en cuestin dejar de cifrar
bloques con una clave peridica para convertirse en un cifrador de flujo propiamente
dicho. Si el mtodo de cifrado es similar al de Vigenre, este criptosistema se conoce
como cifrador con clave continua.
Ejemplo 1.37: Cifre el mensaje que se indica con el algoritmo de Vigenre, utilizando
como secuencia de clave el prrafo primero del libro "Cien aos de
soledad".
M = INFORMAMOS NEGATIVAMENTE LA COMPRA DE ACCIONES
Solucin: Escribimos el mensaje y la clave conjuntamente y procedemos a cifrar
cada par M
i
/k
i
con la tabla de Vigenre.
M = INFORMAMOSNEGATIVAMENTELACOMPRADEACCIONES
K = MUCHOSAOSDESPUESFRENTEALPELOTONDEFUSILAM
C = THHVGEAZDLPIYPMFDIZNILLRSWELOPHEHWAWXEE
La operacin de descifrado de los cifradores de clave continua es obvia. Basta
aplicar la operacin inversa del desplazamiento isimo al igual que en los cifradores
polialfabticos, que para el caso de Vigenre (ecuacin 1.17) era M
i
= (C
i
- k
i
) mod n.
Ejemplo 1.38: Descifre el criptograma cifrado con Vigenre conociendo que la secuencia
60 CRIPTOSISTEMAS CLSICOS
de la clave es el texto de Garca Lorca que se indica.
C = GSJFE OPEEO UCUGC EIWGP OVWUR WXPPN MRZOL HEMJO
PSIEY PLUGZ LWHCS GETNL C.
K = VERDE QUE TE QUIERO VERDE, VERDE VIENTO, VERDES
RAMAS. EL BARCO SOBRE LA MAR Y EL CABALLO EN LA
MONTAA.
Solucin: Realizando la operacin de descifrado entre C
i
y k
i
se obtiene:
C = GSJFE OPEEO UCUGC EIWGP OVWUR WXPPN MRZOL HEMJO PSIEY PLUGZ LWHCS GETNL C
K = VERDE QUETE QUIER OVERD EVERD EVIEN TOVER DESRA MASEL BARCO SOBRE LAMAR Y
M = LORCA YVALL EINCL ANSON LASDO SCIMA SDELT EATRO ESPA OLDEL SIGLO VEINT E
El mensaje original es por lo tanto:
M = Lorca y Valle Incln son las dos cimas del teatro espaol del siglo
veinte.
1.6.7. Criptoanlisis de los cifrados con clave continua
A pesar de que el espacio de claves es tan grande o ms que el de los
mensajes, los cifradores con clave continua vistos en el apartado anterior no nos
entregan el ansiado secreto perfecto; paciencia, ya llegar un sistema con tales
caractersticas. La razn es que tanto el texto en claro como el texto de la clave
presentarn la redundancia caracterstica del lenguaje castellano.
William Friedman propone un mtodo que lleva su nombre y que consiste,
bsicamente, en observar que una importante cantidad de pares de letras del mensaje
en claro y de la secuencia de clave caen dentro de lo que hemos considerado
monogramas de alta frecuencia del lenguaje. Esto es, existirn pares M
i
k
i
en los que
tanto el carcter M
i
del texto en claro como el carcter k
i
de la clave tienen ambos una
alta frecuencia. Esto reducir muchsimo el trabajo del criptoanlisis, si lo comparamos
con la fuerza bruta de hacer coincidir a cada letra del criptograma todas y cada una de
las letras del alfabeto como posibles claves, lo que significara por ejemplo para los
cinco primeros caracteres del criptograma evaluar 27
5
= 14.348.907 emparejamientos.
Friedman recomienda suponer inicialmente que todos los caracteres del
criptograma se corresponden con pares M
i
k
i
de alta frecuencia. Luego, para cada letra
C
i
del texto cifrado se escribe como texto en claro el propio alfabeto y como letra clave
aquella que da origen al elemento C
i
en cuestin. Como veremos a continuacin, la
distribucin de la clave sobre el alfabeto en claro seguir la frmula del cifrador de
Beaufort. Hecho esto, se procede a buscar los pares M
i
y k
i
de alta frecuencia que
permitirn ir descubriendo simultneamente el texto en claro y la secuencia de clave.
Por simplicidad, supondremos que los caracteres de alta frecuencia se corresponden
con los nueve que forman la palabra ESTIRANDO. Veamos cmo funciona el mtodo
con un texto elegido a propsito para que las cosas nos salgan bien a la primera (jugar
de momento haciendo trampa) con el siguiente par mensaje/clave:
M = SI ESTS CANSADO Y HARTO DE TODO, DESCANSA
K = ANTES DE TIRARTE AL RO, PINSALO DOS VECES
Si ciframos el texto con dicha clave, se obtiene:
CRIPTOSISTEMAS CLSICOS 61
M = SIEST ASCAN SADOY HARTO DETOD ODESC ANSA
K = ANTES DETIR ARTEA LRIOP IENSA LODOS VECES
C = SUXWM DWVIE SRWSY RRZIE LIGHD ZRHHU VQUE
Observe que, debido al tipo de mensaje y clave elegidos, casi todos los pares de
letras de TextoEnClaro y TextoCifrado que generan C son de alta frecuencia. Estn
marcados con una flecha y se indican a continuacin.
C
i
M
i
K
i
C
i
M
i
K
i
C
i
M
i
K
i
C
i
M
i
K
i
S SA W SE Z RI D DA
U IN I AI I TO R DO
X ET E NR L DI H ED
W SE R AR I EE H SO
M TS W DT G TN Q NE
D AD S OE H OS E AE
Precisamente esto es lo que nos permitir romper la cifra. Existirn 27 posibles
emparejamientos de letras del texto en claro/clave para cada letra del criptograma.
Consideremos las cinco primeras letras del criptograma anterior (SUXWM), ordenemos
los alfabetos de mensaje y clave de forma que se obtenga siempre S, U, X, W y M, y
luego tomemos los pares de alta frecuencia y veamos qu sucede.
Letra en claro: 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
Letra clave: S R Q P O N M L K J I H G F E D C B A Z Y X W V U T
Letra criptograma: S S S S S S S S S S S S S S S S S S S S S S S S S S S
Letra en claro: 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
Letra clave: U T S R Q P O N M L K J I H G F E D C B A Z Y X W V
Letra criptograma: U U U U U U U U U U U U U U U U U U U U U U U U U U U
Letra en claro: 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
Letra clave: X W V U T S R Q P O N M L K J I H G F E D C B A Z Y
Letra criptograma: X X X X X X X X X X X X X X X X X X X X X X X X X X X
Letra en claro: 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
Letra clave: W V U T S R Q P O N M L K J I H G F E D C B A Z Y X
Letra criptograma: W W W W W W W W W W W W W W W W W W W W W W W W W W W
Letra en claro: 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
Letra clave: M L K J I H G F E D C B A Z Y X W V U T S R Q P O N
Letra criptograma: M M M M M M M M M M M M M M M M M M M M M M M M M M M
Criptograma: S U X W M
A - S D - R E - T D - T E - I
E - O I - N T - E E - S I - E
O - E N - I I - O S - T
S - A R - D O - I T - S
S - E
T - D
Los anteriores son pares de alta frecuencia LetraEnClaro - LetraDeClave para
62 CRIPTOSISTEMAS CLSICOS
estas cinco primeras letras del criptograma. Existirn 4 x 4 x 2 x 6 x 4 = 768 posibles
pentagramas de texto en claro con secuencia de clave, mucho menos que los 14
millones anteriores. Uno de ellos ser el texto en claro SIEST con la clave ANTES,
precisamente los pares 4 (S-A), 2 (I-N), 1 (E-T), 5 (S-E) y 4 (T-S) que se han
subrayado en la tabla anterior.
Mientras menor sea esta ventana habr menor probabilidad de hallar la letra
verdadera pero, por otro lado, si consideramos todos los caracteres, el nmero de
combinaciones puede volverse intratable. Con los nueve caracteres de la palabra
ESTIRANDO se obtienen para cada letra del alfabeto al menos un par M
i
K
i
de alta
frecuencia, excepto cuando el elemento del criptograma es la letra Y. A continuacin
veremos un ejemplo en el que no resulta afortunada la eleccin del bloque para
comenzar el ataque a un cifrado continuo. Sean el mensaje M y la clave K:
M = SE SUPONE QUE APARECEN DIGRAMAS FRECUENTES EN LOS CIFRADOS
K = CUANDO USAMOS COMO CLAVE UN TEXTO QUE TAMBIN ES REDUNDANTE
M = SESUP ONEQU EAPAR ECEND IGRAM ASFRE CUENT ESENL OSCIF RADOS
K = CUAND OUSAM OSCOM OCLAV EUNTE XTOQU ETAMB IENES REDUN DANTE
C = UYSHS DHWQG SSROD SEONY MAETP XMTIY GEYU MWQQD GWFCR UAPIW
Si consideramos las tres primeras letras del criptograma anterior (UYS) y
tomamos los pares de alta frecuencia, obtenemos ahora:
Letra en claro: 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
Letra clave: U T S R Q P O N M L K J I H G F E D C B A Z Y X W V
Letra criptograma: U U U U U U U U U U U U U U U U U U U U U U U U U U U
Letra en claro: 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
Letra clave: Y X W V U T S R Q P O N M L K J I H G F E D C B A Z
Letra criptograma: Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Letra en claro: 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
Letra clave: S R Q P O N M L K J I H G F E D C B A Z Y X W V U T
Letra criptograma: S S S S S S S S S S S S S S S S S S S S S S S S S S S
Los pares de alta frecuencia LetraTextoClaro - LetraSecuenciaClave sern:
Criptograma U Y S
D - R - A - S
I - N - E - O
N - I - O - E
R - D - S - A
En este caso la eleccin del comienzo del criptograma en donde aparece la letra
Y que es la nica que no presenta pares de alta frecuencia con ESTIRANDO, nos ha
llevado a un callejn sin salida. No hay de qu preocuparse, en este tipo de cifra nos
ser de mucha utilidad la redundancia del lenguaje. Al elegir los 9 caracteres de la
palabra ESTIRANDO como los de alta frecuencia del lenguaje, se cumple esta
condicin en pares M
i
k
i
para aproximadamente el 50% del texto por lo que con un poco
CRIPTOSISTEMAS CLSICOS 63
de imaginacin llegaremos a descriptar el mensaje.
Podemos entonces concluir que si se desea cifrar un texto en claro mediante un
cifrador con clave continua y que ste tenga un secreto perfecto, deberemos elegir una
secuencia de clave aleatoria como sera, por ejemplo, un listado de nombres o
direcciones de una gua de telfonos a partir de una pgina determinada; si esa gua es
antigua y ms an de otro pas tanto mejor. La segunda condicin que debera cumplir
el sistema es que la clave sea nica por lo que, tras ser utilizada, debera destruirse.
Este principio da lugar a los denominados criptosistemas de uso o control nico
tambin denominados genricamente one-time pad comunes hoy en da.
1.6.8. Cifrador de Vernam
En 1917 Gilbert S. Vernam, nativo de Brooklyn e ingeniero del MIT que trabaja
en los laboratorios de la empresa AT&T, disea un dispositivo criptogrfico para
comunicaciones telegrficas basado en los 32 cdigos Baudot de los teletipos
desarrollados por su compaa. Los cdigos Baudot representan los caracteres del
lenguaje con cinco elementos que pueden ser el espacio o la marca (el cero y el uno)
diseado para transmisiones telegrficas. Este cifrador, que tuvo una gran aplicacin
durante la Primera Guerra Mundial, basa su seguridad en el secreto de un clave
aleatoria que se supone tan larga como el mensaje y que luego de usarse debera
destruirse. Un dato anecdtico: en dicha confrontacin algunos encargados del sistema
de cifra (llamados criptocustodios en el lenguaje militar) hicieron caso omiso de esta
recomendacin y los cdigos fueron rotos por los aliados.
Cada carcter M
i
se representa con 5 bits en cdigo Baudot (ver el anexo ya
comentado) que se suma OR exclusivo (mdulo 2) con la correspondiente clave k
i
de
una secuencia binaria aleatoria. De esta forma, el cifrador de Vernam genera un flujo de
bits de texto cifrado de la forma:
C = E
K
(M) = C
1
C
2
C
3
... C
N
1.34
donde:
C
i
= (M
i
+ k
i
) mod 2 para i = 1,2,...,N 1.35
C
i
= M
i
k
i
1.36
Para la operacin de descifrado, utilizamos el mismo algoritmo por la propiedad
involutiva de la operacin OR exclusivo. Esto es:
C
i
k
i
= (M
i
k
i
)
k
i
Como k
i
k
i
= 0 para k
i
= 0 y k
i
= 1, se obtiene:
C
i
k
i
= M
i
1.37
En la Figura 1.31 se muestra un cifrador de Vernam binario como el descrito.
64 CRIPTOSISTEMAS CLSICOS
Operacin de Clave Operacin de
Cifrado Descifrado
0010 1101 0100
Texto en claro Criptograma Texto en claro
V = 11001
11110 = 00111 = U
Y
E = 10101
00001 = 10100 = H
T
R = 10000
01010 = 11010 = G
E
N = 00001
01100 = 01101 = F
S
A = 00101
00011 = 00110 = I
Luego, C = UHGFI
Para descifrar como ya se ha dicho, sencillamente se aplica nuevamente la
operacin del or exclusivo como se indica en el siguiente ejemplo.
Ejemplo 1.40: Se recibe el siguiente criptograma C = 00110 10100 11100 11010 00000
00010 01110 01011 00110 de un texto con cdigo Baudot que se ha
cifrado con clave la K = Gloria Estefan. Descfrelo.
Solucin: Haciendo la suma OR exclusivo entre C y K (C
K) tenemos:
K=G: 00110
00011 = 00001 = E
K=L: 10100
00100 = 01010 = R
K=O: 11100
00001 = 01010 = R
K=R: 11010
00101 = 00011 = A
K=I: 00000
00110 = 00110 = I
Luego M = MI TIERRA.
Como un divertimento ms, podemos representar un cifrador de Vernam
orientado a caracteres. En este caso la operacin de cifra se realiza a travs de
desplazamientos mdulo 27, como si se tratase de un cifrador monoalfabtico, con una
secuencia de clave compuesta por nmeros aleatorios NA = k
i
, como se indica.
M = C I F R A D O R D E V E R N A M
M
i
= 2 8 5 18 0 3 15 18 3 4 22 4 18 13 0 12
k
i
= 73 12 39 81 07 28 95 52 30 18 32 29 47 20 07 62
M +k
i
C = U T Q R H E C P G V A G L G H T
i
= 75 20 44 99 7 31 110 70 33 22 54 33 65 33 7 74
Figura 1.32. Cifrado de Vernam orientado a caracteres.
Los valores utilizados para la secuencia de clave en el ejemplo anterior estn
comprendidos entre 00 y 99, si bien pueden reducirse mod 27 y, por tanto, trabajar slo
con el CCR(27). Del ejemplo anterior podemos destacar un aspecto interesante de un
cifrador de Vernam: en el criptograma aparecen caracteres iguales que provienen del
CRIPTOSISTEMAS CLSICOS 65
cifrado de caracteres distintos del texto en claro, al igual que en todos los sistema
polialfabticos, como es el caso de las letras D, E y N que se cifran como el elemento
G. Ahora bien, adems de utilizar los 27 posibles alfabetos dependiendo del valor de la
clave, al ser sta aleatoria y carecer de periodicidad alguna, hace imposible cualquier
tipo de ataque conociendo nicamente el criptograma. Si la secuencia aleatoria de
clave usada luego se destruye, entonces el secreto es perfecto. El problema que
persiste en este esquema es la transmisin segura de la clave secreta no inventada
todava; para ello debemos esperar hasta el ao 1977 en que se presenta el sistema de
cifra de clave pblica y se soluciona con este mtodo el problema del intercambio de
clave.
1.7. CIFRADORES POR SUSTITUCIN POLIGRMICA
MONOALFABETO
Los cifradores poligrmicos, a diferencia de los monogrmicos que cifraban
carcter a carcter, consideran un poligrama con n
M
3
M
4
...
M
N-1
M
N
1.38
en donde el signo
E
K
(M
3
M
4
)
...
E
K
(M
N-1
M
N
) 1.39
E
K
(M) = C
1
C
2
C
3
C
4
...
C
N-1
C
N
1.40
De los cifradores poligrmicos, los ms conocidos son los de Playfair de
mediados del siglo XIX, que hace uso de una tabla de cifrar similar a la de Polybios, y el
de Hill, que data de comienzos del siglo XX, y que tiene una importancia especial en la
criptografa clsica por el hecho de utilizar la matemtica de matrices en mdulo n para
las operaciones de cifrado y descifrado. A comienzos del ao 1999, la posibilidad del
uso de matrices en los sistemas de cifra volvi a ser considerado, tras la aparicin de
un algoritmo de clave pblica propuesto por una joven irlandesa aunque no tiene nada
que ver con el sistema de Hill. No obstante, al final se demostr que el tal invento no
era tan espectacular como se supona.
1.7.1. Cifrador de Playfair
66 CRIPTOSISTEMAS CLSICOS
El cifrador de Playfair en realidad fue inventado por Charles Wheatstone para
comunicaciones telegrficas secretas en el ao 1854. No obstante, se le atribuye a su
amigo el cientfico Lyon Playfair quien lo presenta a las autoridades inglesas de la
poca. Nuevamente eso se llama ser un buen amigo. Utilizado por el Reino Unido en la
Primera Guerra Mundial, este sistema consiste en separar el texto en claro en digramas
y proceder a su cifra de acuerdo a una matriz alfabtica de dimensiones 5x5 en la cual
se encuentran representadas 25 de las 26 letras del alfabeto ingls.
Para que este mtodo de cifra presente un mayor nivel de seguridad, se incluir
al comienzo de dicha matriz una clave que se escribe a partir de la primera fila
omitiendo las letras repetidas. A continuacin de dicha clave, se distribuyen las
restantes letras del alfabeto hasta completar toda la matriz. Por ejemplo, si la clave es
VERANO AZUL (memorable serie de TV de Antonio Mercero), la matriz ser:
En las Figuras 1.33 y 1.34 se muestran las matrices comentadas para el lenguaje
castellano de 27 caracteres. En este caso supondremos que las letras I y J ocupan una
nica celda, al igual que la y la N. La segunda matriz lleva como clave VERANO
AZUL, memorable serie de televisin espaola.
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
Figura 1.33. Matriz de cifra de Playfair.
V E R A N/
O Z U L B
C D F G H
I/J K M P Q
S T W X Y
Figura 1.34. Matriz de cifrado de Playfair con clave VERANO AZUL.
El mtodo de Playfair cifrar pares de caracteres del texto en claro M
1
M
2
como
C
1
C
2
de acuerdo a las siguientes reglas:
a) Si M
1
y M
2
se encuentran en la misma fila, se eligen los elementos del
criptograma C
1
y C
2
como aquellos que estn a la derecha de M
1
y M
2
,
respectivamente. Esta operacin se realiza mdulo 5, de forma que para la
matriz de la Figura 1.34 se cumplen las siguientes transformaciones:
Pares del texto en claro Criptograma
CRIPTOSISTEMAS CLSICOS 67
EA (1 fila) RN
LU (2 fila) BL
DH (3 fila) FC
b) Si M
1
y M
2
se encuentran en la misma columna, se eligen C
1
y C
2
como los
caracteres que estn inmediatamente debajo de ellos, operando mdulo 5.
Para la matriz de la Figura 1.34 se cumplen las siguientes transformaciones:
Pares del texto en claro Criptograma
ED (2 columna) ZK
FU (3 columna) MF
AX (4 columna) LA
c) Si M
1
y M
2
se encuentran en filas y columnas distintas, entonces forman dos
vrtices de un rectngulo. Los elementos C
1
y C
2
se obtienen de los dos
vrtices que faltan para completar dicha figura geomtrica, considerando
siempre la fila de M
1
como el elemento C
1
. Esto es, en la matriz de la Figura
1.34 se cumplen las siguientes transformaciones:
Pares del texto en claro Criptograma
OT ZS
YU WB
Recuerde, adems, que las letras I y J ocupan una misma celda, al igual
que la N y la , por lo que se cumplen por ejemplo tambin las siguientes
transformaciones en dicha matriz:
Pares del texto en claro Criptograma
MI = MJ PK
EN = E RV
No obstante, si en la operacin de descifrado caemos en la retcula I/J,
siempre descifraremos como la letra I.
d) Al representar el texto en claro como una cadena de digramas, pueden
aparecer caracteres repetidos con lo cual no podra aplicarse ninguna de las
tres opciones de cifrado anteriores. Tal sera el caso de cifrar el siguiente
mensaje tenebroso:
M = LAS SOMBRAS LLAMAN A LA PUERTA DEL CASTILLO.
M = LA SS OM BR AS LL AM AN AL AP UE RT AD EL CA ST IL LO.
La solucin a este problema (los digramas segundo SS y sexto LL) est
en romper esta repeticin antes del cifrado, incluyendo una letra nula que, de
acuerdo al lenguaje castellano podra ser X, Z o Q por ejemplo. Usaremos en el
texto la letra X como carcter de relleno, con lo que el mensaje se transforma
ahora en:
M = LA SX SO MB RA SL LA MA NA LA PU ER TA DE LC AS TI LX LO.
68 CRIPTOSISTEMAS CLSICOS
Observe que al incluir este carcter de relleno, ha desaparecido la
repeticin LL del digrama sexto, si bien aparece otro nuevo (LL) ahora en la
posicin 18 que se rompe de igual manera aadiendo la letra X.
e) Por ltimo, es posible que el mensaje final a cifrar, una vez eliminados los
digramas repetidos, tenga un nmero impar de caracteres. En tal situacin se
aade un carcter nulo al final de la cadena para poder cifrar el ltimo
carcter del texto en claro. Por ejemplo, si al mensaje anterior le aadimos la
palabra HOY, adems de ser ms inquietante, quedara como sigue:
M = LA SX SO MB RA SL LA MA NA LA PU ER TA DE LC AS TI LX LO HO YX.
Ejemplo 1.41: Cifre el mensaje, M = "Las sombras llaman a la puerta del castillo hoy"
con una matriz de Playfair con clave K = MIEDO.
Solucin: Siguiendo la matriz con clave MIEDO, ciframos los digramas del mensaje,
a saber: M = LA SX SO MB RA SL LA MA NA LA PU ER TA DE
LC AS TI LX LO HO YX, obteniendo:
C = HCXEUEIA QBXSHCAH HFHCUZIS QFODSLCQ RDSEPEPM ZY.
La matriz de cifra y comprobacin de la misma es tarea suya.
Para descifrar un criptograma obtenido mediante Playfair, simplemente
utilizamos el algoritmo inverso, esto es:
a) Si los elementos C
1
y C
2
estn en la misma fila, se eligen M
1
y M
2
como los
caracteres inmediatamente a la izquierda, mdulo 5.
b) Si los elementos C
1
y C
2
se encuentran en la misma columna, se eligen M
1
y
M
2
como los caracteres inmediatamente arriba de aquellos, mdulo 5.
c) Si los elementos C
1
y C
2
estn en filas y columnas distintas, M
1
y M
2
se
eligen como aquellos caracteres que forman los vrtices que faltan del
recuadro, comenzando por la fila del primer elemento C
1
.
Ejemplo 1.42: Si en la matriz de cifra de Playfair con la clave BEATLES se eliminan los
caracteres K y , con relleno X, descifre el siguiente criptograma:
C = EC TB AZ EN WB JH TX AB BU VC LO JT PM IL.
Solucin: Los digramas descifrados con la matriz que habr encontrado sern:
EC
WE; TB
AL; AZ
LX; EN
LI; WB
VE;
JH
IN; TX
AY; AB
EL; BU
LO; VC
WS;
LO
UB; JT
MA; PM
RI; IL
NE.
El texto en claro es M = WE ALL LIVE IN A YELLOW SUBMARINE.
1.7.2. Criptoanlisis del cifrado de Playfair
Qu podemos decir acerca de la distancia de unicidad del cifrador de
Playfair? A simple vista, el poder ordenar aleatoriamente los 25 caracteres de la
matriz, parece que la equivocacin de la clave ser el factorial de 25. No
CRIPTOSISTEMAS CLSICOS 69
obstante, debido al algoritmo de cifra propuesto por Playfair, no todas las
matrices de 5x5 son distintas. Vamos a verlo. Considrese la siguiente matriz de
cifra con clave PATOS y la posterior rotacin de las filas tres posiciones hacia
abajo y, a continuacin, una rotacin de las columnas una posicin hacia la
izquierda:
P A T O S
B C D E F
G H I/J K L
M N/ Q R U
V W X Y Z
Figura 1.35. Matriz de Playfair con clave PATOS.
H I/J K L G
N/ Q R U M
W X Y Z V
A T O S P
C D E F B
G H I/J K L
M N/ Q R U
V W X Y Z
P A T O S
B C D E F
Figura 1.36. Matrices recprocas a la principal de la Figura 1.35.
Estas y otras matrices que se obtengan por rotaciones de filas y/o columnas son
recprocas de la primera puesto que se obtienen los mismos resultados al cifrar un texto
segn el mtodo de Playfair. Por ejemplo, si ciframos con estas tres matrices el
mensaje M = LA PATA Y EL PATO TUVIERON PATITOS, compruebe se obtiene el
mismo criptograma C = HSAT OTOK GSTO SOMZ KDYE MATO QDSP. No obstante,
esto slo reduce el nmero de matrices posible en 4x4 = 16 que sern las recprocas
de la principal por lo que el valor de la entropa de la clave se asemeja mucho a la de
un sistema del Csar con clave visto en el apartado 1.4.3.
Por otra parte, el cifrado de Playfair presenta una debilidad que facilita el
criptoanlisis. Conociendo qu palabras pueden ser comunes en el texto que se intenta
romper, con la ayuda de las estadsticas de digramas comunes del lenguaje, se puede
ir confeccionando la matriz y, finalmente, descifrar el criptograma. A continuacin se
comenta el procedimiento a seguir en este tipo de ataque; el lector interesado en
profundizar sobre el tema puede consultar la referencia que se indica.
5
Sabemos que en el lenguaje existen digramas ms comunes que otros y como
este sistema cifrar siempre el digrama M
1
M
2
como el mismo criptograma C
1
C
2
, es
lgico esperar una correspondencia de esta redundancia del lenguaje en el texto
5
Konheim, Alan G., "Cryptography: A Primer", John Wiley & Sons, 1981, pp. 95-110.
70 CRIPTOSISTEMAS CLSICOS
cifrado. Siguiendo la tabla de digramas del anexo, encontramos los siguientes pares
con una frecuencia relativa superior a 500 para un texto con 40.000 caracteres.
Digrama n veces Inverso n veces
DE 1084 ED 290
ES 1010 SE 547
EN 901 NE 370
OS 764 SO 212
AD 649 DA 436
TE 639 ET 115
IN 610 NI 191
ER 563 RE 537
AS 560 SA 227
EL 559 LE 245
OR 544 RO 372
NT 536 TN 24
ST 535 TS 19
RA 520 AR 493
Figura 1.37. Digramas ms frecuentes del lenguaje castellano y sus inversos.
Luego, si seguimos la matriz de cifrado de la Figura 1.35 con la clave PATOS se
obtendrn, entre otros, los siguientes pares de cifrados:
M
1
M
2
C
1
C
2
M
1
M
2
C
1
C
2
M
1
M
2
C
1
C
2
M
1
M
2
C
1
C
2
DE EF ED FE ES FO SE OF
EN CR NE RC ER KY RE YK
Es decir, en este criptograma se vern representados todos los digramas del
texto en claro, slo que como digramas distintos; esto es, FO en vez de ES, YK en vez
de RE, etc. Por lo tanto, si observamos que en el texto cifrado aparece, por ejemplo, el
digrama XB con alta frecuencia y, simultneamente, el digrama inverso BX con muy
baja frecuencia, segn la tabla de la Figura 1.37 podramos suponer que se trata del
digrama en claro NT o bien ST que cumplen con esta caracterstica. Si encontramos el
digrama HK con alta frecuencia del texto cifrado y el inverso KH tambin tiene una
frecuencia similar, podra tratarse de los digramas en claro ER o RA. El digrama ms
frecuente del criptograma podra ser DE, ES o EN en el texto en claro, etc.
Una vez determinadas algunas correspondencias, el criptoanalista tambin tiene
en cuenta los caracteres que siguen a dichos digramas para formar trigramas y as ir
estableciendo las letras equivalentes al alfabeto. Adems, si conoce alguna palabra que
supuestamente se repite en el texto en claro y que contenga entre sus caracteres las
equivalencias anteriores, podr encontrar ms equivalencias y stas otras ms, como si
se tratase de un procedimiento en cascada. Un anlisis detallado del mtodo est fuera
del alcance de este libro; no obstante, siguiendo estas pautas y con mucha paciencia,
este mtodo a modo de un entretenido puzzle nos lleva finalmente a la consecucin de
la matriz de cifra de Playfair.
1.7.3. Cifrador de Hill
CRIPTOSISTEMAS CLSICOS 71
En 1929, Lester S. Hill, un joven matemtico, publica en Nueva York un artculo
en el que propone la utilizacin del lgebra y, en particular de las matrices, en la
operacin de cifrado. La importancia del mtodo de cifra propuesto por Hill descansa en
la utilizacin de transformaciones lineales matriciales operando en mdulo 26 -las letras
del alfabeto ingls- con lo cual se facilita el cifrado poligrfico, algo que tras el invento
de Playfair fue insistentemente buscado por los criptlogos y matemticos de la poca.
Desgraciadamente para Hill, su invento, aunque muy interesante para los cientficos en
aquella poca, no era fcil de implantarlo en una mquina no se haba inventado el
ordenador- y no pudo competir con otros criptgrafos que proliferaron en esos aos
como fue la mquina Enigma de los alemanes y aparatos de cifra como los de Hagelin.
Dado que bajo ciertas condiciones este sistema presenta una alta seguridad,
que puede implementarse fcilmente en los ordenadores actuales y que hace uso de
una buena cantidad de conceptos de la aritmtica modular operando con matrices,
profundizaremos en este cifrador y en su criptoanlisis. A pesar del alto valor de la
posible entropa de su clave, vamos a ver que si conocemos el texto en claro y su
criptograma asociado, este sistema no soporta un criptoanlisis.
Inicialmente, Hill plantea el problema como el conjunto de cuatro ecuaciones que
se indican a continuacin, en donde la variable y
i
representa las letras cifradas y la
variable x
i
las letras del texto en claro.
y
1
= 8 x
1
+ 6 x
2
+ 9 x
3
+ 5 x
4
mod 26
y
2
= 6 x
1
+ 9 x
2
+ 5 x
3
+ 10 x
4
mod 26
y
3
= 5 x
1
+ 8 x
2
+ 4 x
3
+ 9 x
4
mod 26
y
4
= 10 x
1
+ 6 x
2
+ 11 x
3
+ 4 x
4
mod 26 1.41
Por otra parte, Hill define un alfabeto de cifrado arbitrario como el que se indica
en la Figura 1.38 aunque en el libro usaremos el habitual: A = 0, B = 1, ... Z = 26.
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
5 23 2 20 10 15 8 4 18 25 0 16 13 7 3 1 19 6 12 24 21 17 14 22 11 9
Figura 1.38. Alfabeto de cifrado propuesto por Hill.
El mensaje original utilizado por Hill era M = DELAY OPERATIONS. Toma
entonces los cuatro primeros elementos, el tetragrama DELA, que corresponden a las
variables x
1
, x
2
, x
3
y x
4
, reemplaza sus valores de acuerdo al alfabeto indicado en la
ecuacin 1.41 para obtener los primeros cuatro elementos del criptograma. Repite esta
operacin con los tetragramas restantes YOPE, RATI y ONS y con ello obtiene el
criptograma C = JCOW ZLVB DVLE QMXC. Como en todo sistema poligrmico, se
usan elementos de relleno si el ltimo bloque tiene un tamao menor. Para descifrar
este criptograma, basta con resolver ahora el siguiente sistema de ecuaciones en x:
x
1
= 23 y
1
+ 20 y
2
+ 5 y
3
+ 1 y
4
mod 26
x
2
= 2 y
1
+ 11 y
2
+ 18 y
3
+ 1 y
4
mod 26
x
3
= 2 y
1
+ 20 y
2
+ 6 y
3
+ 25 y
4
mod 26
x
4
= 25 y
1
+ 2 y
2
+ 22 y
3
+ 25 y
4
mod 26 1.42
72 CRIPTOSISTEMAS CLSICOS
La comprobacin de la cifra completa del mensaje de Hill y su posterior
recuperacin se lo dejo como ejercicio para ms adelante, pero por ahora sigamos con
la explicacin de este mtodo. De lo anterior, podemos deducir que el cifrado de Hill se
trata de un cifrador por sustitucin monoalfabtica y poligrmico, en tanto que sustituye
d caracteres del texto en claro por d caracteres de texto cifrado; en este caso d = 4. Si
representamos el problema de Hill de cuatro ecuaciones mediante matrices, se tiene
que la transformacin para la operacin de cifra ser:
1.43
x
x
x
x
4 11 6 10
9 4 8 5
10 5 9 6
5 9 6 8
=
y
y
y
y
4
3
2
1
4
3
2
1
Para la operacin de descifrado se tendr entonces:
1.44
y
y
y
y
25 22 2 25
25 6 20 2
1 18 11 2
1 5 20 23
=
x
x
x
x
4
3
2
1
4
3
2
1
Las operaciones anteriores podemos generalizarlas suponiendo {y} = C, {x} = M
y la matriz {K} de orden dxd como la clave K, luego:
C = K
E
x M mod n 1.45
M = K
D
x C mod n 1.46
En las ecuaciones anteriores, C y M sern vectores columna de dimensiones
dx1, siendo d el tamao del d-grama. En el caso del mensaje M, corresponder al
bloque de texto en claro de tamao d-grama que se desea cifrar y para el criptograma
C sern los d-grama elementos obtenidos al realizar la multiplicacin de {K
E
} por {M}
reduciendo los resultados mdulo n. Observe que {K
D
} deber ser la matriz inversa de
la matriz de cifra {K
E
}.
Como se ha comentado, al trabajar con bloques de informacin igual a d
caracteres, es posible que el mensaje M no sea mltiplo de este valor. En tales
circunstancias, se rellenar el ltimo bloque hasta completar el d-grama con un carcter
nulo que deber ser conocido por quienes comparten el cifrado; por ejemplo la letra X.
En cuanto al alfabeto de cifrado, si bien puede utilizarse cualquiera como lo propuso
Hill, le recuerdo que en el libro usaremos la representacin numrica habitual en
mdulo 27, es decir, A = 0, B = 1, etc.
Consideraciones sobre la matriz K
CRIPTOSISTEMAS CLSICOS 73
La matriz K ser siempre cuadrada, y sus elementos sern nuestra clave
secreta. Ser, adems, el punto ms importante del criptosistema, donde reside su
seguridad. No ser suficiente el hecho de que la clave sea una matriz cuadrada; sta
deber cumplir ciertos requisitos que pasamos a enumerar:
a) Deber ser una matriz de dimensin dxd, que viene dada por el d-grama que
vamos a cifrar. Puesto que en nuestro caso el d-grama a cifrar tiene d filas, la
matriz clave deber tener d columnas para que el producto sea factible. Por
otra parte, como queremos que el resultado sea otro d-grama o matriz
columna, entonces la matriz clave deber tener d filas ya que el resultado
hereda el nmero de filas del primer factor de la multiplicacin y el nmero de
columnas del segundo factor.
b) Los elementos de la matriz sern enteros que formen parte del Conjunto
Completo de Restos mdulo n, en nuestro caso para el lenguaje castellano
en maysculas [0, 26]. Utilizar nmeros fuera de este rango no tiene sentido
pues caeramos en una clase de equivalencia de dicho mdulo. Una frmula
interesante de recordar los nmeros que intervienen en la matriz clave,
consiste en asignar letras a dichos nmeros; en este caso diremos que dicha
matriz con letras se trata de una matriz simblica. La Figura 1.39 muestra un
ejemplo de matriz simblica para cifrado de trigramas.
1.47
15 19 15
18 6 8
11 4 16
=
O S O
R G I
L E P
= K
Figura 1.39. Matriz simblica trigrmica con clave PELIGROSO.
La mayor utilidad de la matriz simblica est en el intercambio de claves
entre transmisor y receptor. Recuerde que en aquel entonces no haba
nacido an la criptografa de clave pblica; adems, siempre es ms
humano recordar una clave como un conjunto de letras o palabras y no
como un grupo de nmeros sin sentido.
c) La matriz K no deber ser singular, es decir, deber tener inversa para poder
realizar el proceso de descifrado segn se indicaba en la ecuacin 1.46. Para
demostrar que una matriz no es singular, basta con demostrar que el
determinante es distinto de cero.
Para encontrar la matriz inversa de K, haremos:
| K
T
=
K
Adj(K)
1 -
|
1.48
donde K
-1
es la matriz Inversa de K, T
Adj(K)
es la Traspuesta de la matriz
Adjunta de K, y | K | es el determinante de K.
74 CRIPTOSISTEMAS CLSICOS
Aunque se supone un conocimiento bsico de la aritmtica matricial, a
continuacin explicaremos brevemente las operaciones necesarias para el clculo de la
matriz inversa. Dada una matriz K, su traspuesta T
(K)
ser aquella en la que los
elementos (i, j) se intercambian por los elementos (j, i), es decir se intercambian filas
por columnas, como se indica en la siguiente ecuacin:
1.49
k k k
k k k
k k k
=
T
entonces
k k k
k k k
k k k
= K Si
33 23 13
32 22 12
31 21 11
(K)
33 32 31
23 22 21
13 12 11
Ejemplo 1.43: Encuentre la matriz trigrmica traspuesta de la matriz con clave simblica
K = NO ESTA MAL.
Solucin: N = 13; O = 15; E = 4; S = 19; T = 20; A = 0; M = 12; A = 0; L = 11. As:
11 0 4
0 20 15
12 19 13
=
T
luego
11 0 12
0 20 19
4 15 13
= K
(K)
Si la matriz anterior sirve o no para cifrar mensajes en castellano mdulo 27 (si
est o no mal como dice el ejemplo) lo podr comprobar un poco ms adelante. Se
llama matriz adjunta de K (Adj
(K)
) a aquella que se obtiene al sustituir cada elemento a
ij
por su adjunto correspondiente o, lo que es lo mismo, los determinantes de los
elementos a
ij
de la matriz K. Sea |a
ij
| dicho determinante, entonces:
1.50
K =
k k k
k k k
k k k
Adj =
|a | -|a | |a |
-|a | |a | -|a |
|a | -|a | |a |
11 12 13
21 22 23
31 32 33
(K)
11 12 13
21 22 23
31 32 33
Para obtener |a
ij
| eliminamos la fila i y la columna j y con los elementos que
quedan calculamos su determinante. Por ejemplo, en la matriz de la ecuacin (1.50) el
elemento |a
11
| = k
22
k
33
k
32
k
23
; |a
22
| = k
11
k
33
k
31
k
13
; etc.
Ejemplo 1.44: Para la matriz con los valores que se indican, se pide encontrar su matriz
adjunta: k
11
=2, k
12
=4, k
13
=6, k
21
=3, k
22
=5, k
23
=7, k
31
=1, k
32
=9 y k
33
=0.
Solucin: La matriz en cuestin es:
K =
2 4 6
3 5 7
1 9 0
0 - 9
7) = - 63
|a
12
| = (3
0 - 1
7) = - 7
|a
13
| = (3
9 - 1
5) = 22
|a
21
| = (4
0 - 9
6) = - 54
|a
22
| = (2
0 - 1
6) = - 6
CRIPTOSISTEMAS CLSICOS 75
|a
23
| = (2
9 - 1
4) = 14
|a
31
| = (4
7 - 5
6) = - 2
|a
32
| = (2
7 - 3
6) = - 4
|a
33
| = (2
5 - 3
4) = - 2
Por lo tanto, la matriz adjunta de K, Adj
(K)
ser:
(K)
11 12 13
21 22 23
31 32 33
Adj =
|a | -|a | |a |
-|a | |a | -|a |
|a | -|a | |a |
=
- 63 7 22
54 - 6 - 14
- 2 4 - 2
Para ejercitarse un poco con estos clculos, encuentre la matriz adjunta de la
clave simblica es K = ESTO NO ESTA TAN MAL.
Para poder encontrar la matriz inversa, deber cumplirse que el determinante de
sta sea distinto de cero; en caso contrario diremos que la matriz es singular y, por
tanto, no podr ser utilizada como clave para cifrar. Ahora bien, puesto que estamos
trabajando dentro de un cuerpo, esta condicin de singularidad debe darse tambin
dentro de l. Esto significa que el valor del determinante de la matriz clave reducido a
mdulo n tampoco debe ser igual a cero para que esta sea vlida; es decir, deber
cumplirse que |K| mod n
5 2
3 12
= K
0 0 1
1 1 1
2 2 1
= K 2 1
Solucin: El determinante de K
1
para cifrar trigramas ser igual a:
|K
1
| = k
11
(k
22
k
33
- k
32
k
23
) - k
12
(k
21
k
33
- k
31
k
23
) + k
13
(k
21
k
32
- k
31
k
22
)
|K
1
| = 1(1
0 - 0
1) - 2(1
0 - 1
1) + 2(1
0 - 1
1) = 0, luego K
1
mod 27 = 0.
La matriz de K
1
es singular y no puede ser usada para cifrar.
El determinante de K
2
para cifrar digramas ser igual a:
|K
2
| = k
11
k
22
- k
21
k
12
= (12
5 - 2
3) = 54
|K
2
| mod 27 = 54 mod 27 = 0
La matriz de K2 tampoco puede ser usada para cifrar en mdulo 27 al ser
singular dentro del cuerpo.
Adems del requisito |K|
[K
-1
] = I, en donde I es la matriz de
identidad.
b) Compruebe este resultado en particular para la matriz K con elementos
k
11
= 3, k
12
= 2, k
21
= 1 y k
22
= 4 en mdulo 27.
Solucin: a)
)
k
x
k
-
k
x
k
(
22 21 22 11
= | K | entonces
k k
k k
= K Si
22 21
12 11
| |
Si multiplicamos K
-1
K se tiene:
I =
1 0
0 1
=
k k
k k
k k
-
k
-
k
| K
1
22 21
12 11
11 21
12 22
|
b) Para la matriz indicada de 2x2 se tiene:
10 = 27 mod 1x2) - (3x4 = | K | Luego, 27 mod
4 1
2 3
= K
27 mod
3 1 -
2 - 4
10
1
=
K
1 -
Como inv(10,27) = 19 entonces:
27 mod 27 mod
3 8
16 22
=
19 * 3 19 * 1 -
19 * 2 - 19 * 4
=
K
1 -
Luego, multiplicando K
K
-1
:
27 mod 27 mod
1 0
0 1
=
3 8
16 22
4 1
2 3
=
K
* K
1 -
22 + 2
16 + 2
22 + 4
16 + 4
0 1.53
mcd[|K|, n] = 1 1.54
Ejemplo 1.47: Se puede utilizar esta matriz K para cifrar digramas en mdulo 27 cuyos
elementos son k
11
= 4, k
12
= 3, k
21
= 2, k
22
= 6?
Solucin: Resolviendo el determinante de K obtenemos:
|K| = (k
11
k
22
-k
21
k
12
) = (4
6-2
15 - 19
18) - 4(8
15 - 15
18) + 11(8
19 -15
6)] mod 27
|K| = [-9 + 6 + 7] mod 27 = 4. Los valores de |K| y el mdulo n son primos
entre s, luego la clave es vlida.
El mensaje M se divide en trigramas genricos del tipo M
i
M
j
M
k
como se
indica: AMI GOC OND UCT ORS IBE BES NOC OND UZC ASX que
pasan a cifrarse con la matriz de clave simblica PELIGROSO. Puesto
que (AMI) = (00 12 08) entonces el primer subcriptograma C
A
ser:
27 mod
8
2 1
0
15 19 15
18 6 8
11 4 16
=
C
C
C
3
2
1
0 + 4
12 + 11
0 + 6
12 + 18
0 + 19
12 + 15
Ejemplo 1.49: Si la clave K es k
11
= 4; k
12
= 2; k
21
= 9; k
22
= 2, cifre el siguiente mensaje
M = QUE TODA LA VIDA ES SUEO Y LOS SUEOS SUEOS SON.
Solucin: |K| = (k
11
k
22
- k
21
k
12
) mod 27 = (4
2 - 2
17+2
21) mod 27 = 2 = C y C
2
= (9
17+2
21) mod 27 = 6 = G.
C
1
C
2
= CG. El criptograma completo que debe obtener es:
C = CGCV MGVV QQLX IIGT LIFU EQL KXQK QLKX QKQL YMSD.
Para descifrar un criptograma de Hill, conocida la matriz clave, procedemos a
calcular su inversa como ya se ha explicado utilizando la ecuacin (1.48)
Ejemplo 1.50: Sea la matriz [K]: k
11
=2, k
12
=10, k
21
=17, k
22
=5. Se pide descifrar el
siguiente criptograma C = NXXZ XSNX NEKE MJZT RVXD ZWB XZYW
RJEV.
Solucin: Clculo de la matriz inversa K
-1
:
|K| = (2
5 - 17
2 17 -
10 - 5
1
k k -
k - k
K
1
=
K
11 21
12 22
1 -
27 mod
2 * 14 17 * 14 -
10 * 14 - 5 * 14
=
K
1 -
27 mod
1 5
22 16
=
K
1 -
1 1
1 0
;
0 1
1 0
;
1 0
1 0
;
0 0
1 0
;
1 1
0 0
;
0 1
0 0
;
1 0
0 0
;
0 0
0 0
1 1
1 1
;
0 1
1 1
;
1 0
1 1
;
0 0
1 1
;
1 1
0 1
;
0 1
0 1
;
1 0
0 1
;
0 0
0 1
No obstante, solamente existirn 6 matrices vlidas, aquellas en las que el
determinante es distinto de cero; en este caso en particular las matrices 7 y 8 de la
primera fila y 2, 4, 6 y 7 de la segunda. Si, por ejemplo, utilizamos slo tres nmeros,
los restos 0, 1 y 2 del mdulo 27 como elementos de la matriz, se obtienen 3
4
= 81
matrices de 2x2. De estas matrices 33 sern no vlidas por lo que slo 48 matrices
clave con los restos 0, 1 y 2 permiten cifrar digramas en dicho cuerpo. Si se atreve y
tiene tiempo suficiente, comprubelo.
En el valor de mdulo 27, tendremos 27
4
= 531.441 matrices distintas de orden 2
cuyos elementos son el CCR(27), es decir [0, 26]. Si ahora descartamos aquellas
matrices en las que el determinante es igual a cero o bien tienen factor comn con el
mdulo 27, el nmero de matrices vlidas se reduce a 314.928. Si deseamos aumentar
la entropa de la clave, podramos trabajar con un mdulo primo, por ejemplo en mdulo
37 con un alfabeto de letras maysculas ms los dgitos del 0 al 9, de forma que en
este caso prcticamente slo se eliminen aquellas matrices cuyo determinante sea
cero. Con un mdulo igual a 37, el nmero de matrices 2x2 crece hasta 1.874.161 de
las que ms de 1.800.000 son claves vlidas. No se asuste, no le pedir que
compruebe esto.
En cuanto a la distancia de unicidad de este cifrador, que depender de la
entropa de la clave o, lo que es lo mismo, del nmero de matrices vlidas para cifrar,
podemos aproximar de forma emprica para digramas y trigramas los siguientes valores
cuando el mdulo de trabajo n es un nmero primo:
Digramas: N = H(K)/D
log
2
[n
4
- n
3
- n
2
+ n]/3,4 1.58
Trigramas: N = H(K)/D
log
2
[n
9
- n
8
- n
7
+ n
5
+ n
4
- n
3
]/3,4 1.59
Por ejemplo, cifrando digramas en mdulo 37 se obtendra una distancia de
unicidad igual a 6,1 caracteres; aumentando el d-grama en una unidad, es decir
cifrando trigramas, la distancia de unicidad crece hasta 13,8 que es ms del doble de la
anterior. Como el nmero de matrices tiende a n(exp d
2
) para poligramas de longitud d,
la distancia de unicidad aumentar significativamente. Por desgracia, esta caracterstica
no aumentar su nivel de seguridad como veremos ms adelante.
El cifrador de Hill se muestra por tanto, al menos en una primera aproximacin,
bastante robusto ante un ataque puesto que, adems, el algoritmo de cifrado destruye
80 CRIPTOSISTEMAS CLSICOS
las estadsticas del lenguaje y cuenta con una caracterstica muy interesante en
criptografa: el cifrado de los caracteres de un bloque depender tambin de los
caracteres que forman el poligrama y de su posicin relativa en l. Por ejemplo, si
ciframos dos mensajes M
A
= OK y M
B
= OH, en principio muy similares aunque
signifiquen cosas distintas, el resultado no tendr en cuenta para nada esta relacin.
Por ejemplo, si la matriz de cifra es k
11
= 2, k
12
= 1, k
21
= 1 y k
22
= 3, estos mensajes se
cifrarn siguiendo la ecuacin (1.56) como sigue:
M
A
= OK
C
1
= (15
2 + 10
1) mod 27 = 13 = N
C
2
= (15
1 + 10
3) mod 27 = 18 = R
Luego C = NR
M
B
= OH
C
1
= (15
2 + 7
1) mod 27 = 10 = K
C
2
= (15
1 + 7
3) mod 27 = 9 = J
Luego C = KJ
Por otra parte, si M = KO el criptograma ser C = IB. Luego, un simple cambio
de posicin de los caracteres en el texto en claro o modificaciones mnimas, producen
una alteracin total en el criptograma. Esto se debe a la ecuacin genrica de cifra que,
por ejemplo, para digramas es:
C
i
= (k
i1
M
1
+ k
i2
M
2
) mod n 1.60
De la ecuacin (1.60) se deduce que el carcter que ocupa la posicin isima en
el criptograma depende no slo del carcter que ocupa la posicin isima en el texto en
claro, sino tambin del siguiente en la posicin isima+1 que conforma, en este caso, el
digrama. Luego, mientras mayor sea el tamao del poligrama utilizado, cada carcter
depender de ms caracteres del texto en claro y ah radica en principio la fortaleza de
este cifrado. En estas condiciones, no cabe plantearse un ataque por anlisis de
frecuencias. Por otra parte, el ataque por fuerza bruta puede ser extremadamente difcil
si se elige un primo como mdulo de trabajo y se cifran bloques de texto de un tamao
igual o mayor que 5.
Ejemplo 1.51: Si el grupo de trabajo es el primo 37 y por tanto casi el 100% de las
matrices de cifrado son vlidas, qu tamao de poligrama debe usarse
para que la entropa de la clave H(K) del cifrado de Hill sea del orden de
la del algoritmo DES calculada en el captulo segundo e igual a 56?
Solucin: Para d=3, la matriz clave K tendr 3x3=9 elementos, por lo que el nmero
de matrices puede estimarse en 37
9
1,3 x10
14
. Luego la entropa de la
clave H(K) = log
2
(1,3x10
14
) = 46,9. Aumentando a tetragramas, el nmero
de matrices es del orden de 37
16
1,2x10
25
con lo que la entropa en
este caso se eleva a H(K) = log
2
(1,2x10
25
) = 83,3. Luego, para un
poligrama igual a 4 caracteres, este cifrado tendra una fortaleza similar al
DES estndar en cuanto a la distancia de unicidad. Y si ahora ciframos
con bloques de texto en claro de 8 caracteres (64 bits) como lo hace el
DES?
Colmo es fcil apreciar, en estas condiciones un ataque por fuerza bruta es
CRIPTOSISTEMAS CLSICOS 81
impensable. La nica posibilidad de ataque a este tipo de cifra es la eleccin de un
texto en claro y buscar vectores unitarios en el mensaje o en el criptograma, y en el
caso de no encontrarlos aplicar el mtodo de Gauss-Jordan contando ahora slo con
un criptograma y su correspondiente texto en claro. En cualquier caso supondremos,
adems, que el criptoanalista conoce que el cifrado se trata de Hill, que conoce el
tamao del poligrama usado para la cifra y la correspondencia entre los caracteres del
alfabeto en claro y su equivalente numrico. He aqu el verdadero Taln de Aquiles de
este cifrador y la razn por la que, incluso alcanzando un valor de distancia de unicidad
muy alto, no es seguro y por tanto ha cado en desuso por completo. A comienzos de
este ao 1999 ha vuelto a ponerse de moda como decamos el uso de la matemtica
de matrices en la cifra, pero no se trata de este tipo de algoritmo.
Ataque con eleccin del texto en claro o criptograma
Qu es eso de los vectores unitarios y el ataque aplicando el mtodo de
Gauss-Jordan? Ahora lo explicaremos. Vamos a suponer que el criptoanalista cuenta
con el criptograma y los correspondientes textos en claro de varios mensajes. Luego,
podr elegir bloques especficos que le reporten mayor informacin. Para este tipo de
cifra interesa encontrar los vectores unitarios de la dimensin en la que estamos
trabajando. El resultado de cifrar estos poligramas sern los distintos valores de las
columnas de la matriz clave como lo comprobaremos ahora mismo.
Un vector unitario de dimensin n es aquel que tiene todos sus elementos nulos
excepto el elemento isimo que es la unidad. Por ejemplo, para una cifra con trigramas,
n = 3, la matriz de Identidad I
3
tendr los vectores unitarios
1
,
2
y
3
que se indican:
] 1 0 0 [ =
] 0 1 0 [ =
] 0 0 1 [ =
entonces
1 0 0
0 1 0
0 0 1
=
I
Si
3
2
1
3
1.61
Supongamos entonces que realizamos la siguiente operacin matricial:
1.62
K x =
k k k
k k k
k k k
x
1
0
0
=
k
k
k
1
11 12 13
21 22 23
31 32 33
11
21
31
Como se observa, resolviendo la ecuacin (1.62) se obtiene la primera columna
de la matriz clave. Si realizamos la misma operacin con los vectores unitarios
2
y
3
encontramos la segunda y tercera columnas de dicha matriz. Por lo tanto, si ciframos
con un vector unitario i, encontramos la columna i de la matriz clave que precisamente
ser el trigrama de texto cifrado que conoce el criptoanalista pues K
M = C.
Si el alfabeto de cifrado es el habitual, entonces los vectores unitarios para este
caso trigrmico sern:
82 CRIPTOSISTEMAS CLSICOS
1
= [ B A A ]
2
= [ A B A ]
3
= [ A A B ] 1.63
Ejemplo 1.52: Si se ha recibido el criptograma C y se conoce que pertenece al mensaje
en claro M, se pide encontrar la matriz clave de cifrado digrmico.
M = EL BANDIDO FUE ABATIDO AL ATARDECER.
C = OYFCQ LSBEW FECEN ZSBUD BVSNO UXPCZ.
Solucin: Escribimos el mensaje y el criptograma en digramas:
M = EL BA ND ID OF UE AB AT ID OA LA TA RD EC ER.
C = OY FC QL SB EW FE CE NZ SB UD BV SN OU XP CZ.
Encontramos los vectores unitarios [A B] y [B A] en los digramas segundo
y sptimo. El cifrado correspondiente al vector [B A] es FC, es decir los
nmeros 5 y 2, en tanto que el correspondiente al vector [A B] es CE, es
decir 2 y 4. Luego la matriz clave ser:
K =
5 2
2 4
En el ejemplo anterior, para el primer digrama de texto en claro BA = [1 0] se
tiene que C
1
= k
11
1 + k
12
0 = k
11
= 5 = F y C
2
= k
21
1 + k
22
0 = k
21
= 2 = C, el
digrama que aparece en el texto cifrado. Por lo tanto, si en el texto en claro el
criptoanalista encuentra estas cadenas de vectores unitarios, ser capaz de
encontrar la matriz de cifrado. Esto ser tambin vlido para cifrados trigrmicos. No
obstante, para n mayor que tres, el mtodo deja de ser vlido pues existen pocas
cadenas de ese tipo en castellano. El vector de longitud cuatro AAAB podramos
encontrarlo en el texto ... as que ella estaba dispuesta a abanicarse por el calor que
haca... pero esto es hilar muy fino porque nos faltara encontrar otros vectores
como BAAA, ABAA, y AABA. Para cinco seguro que no existen.
Si slo encontramos un vector unitario, por ejemplo [A B], sigue siendo posible
descriptar la matriz clave digrmica. De igual manera suceder si para un cifrado
trigrmico encontramos dos vectores unitarios, por ejemplo [A A B] y [A B A]. El
restante vector se puede deducir aplicando la ecuacin C = K
Resolviendo:
0 = (k
11
4 + 3
19 + 4
4) mod 27
k
11
= 2
4 = (k
21
4 + 5
19 + 6
4) mod 27
k
21
= 5
0 = (k
31
4 + 8
19 + 9
4) mod 27
k
31
= 7
(vase la explicacin a continuacin del ejemplo)
Luego la matriz clave K ser:
K =
2 3 4
5 5 6
7 8 9
La eleccin del texto en claro [ESE] = [4 19 4] en el ejemplo anterior es la
adecuada puesto que los valores de k
11
, k
21
y k
31
se obtendrn al multiplicarse por el
primer elemento, la letra E = 4, que tiene inverso en n. Puesto que inv(4,27) = 7:
k
11
: 0 = (k
11
4 + 73) mod 27 = (k
11
4 + 19) mod 27
k
11
= (0 - 19)
inv(4,27) mod 27 = 8
7 mod 27 = 56 mod 27 = 2
k
11
= 2
k
21
: 4 = (k
21
4 + 119) mod 27 = (k
21
4 + 11) mod 27
k
21
= (4 - 11)
inv(4,27) mod 27 = 20
k
21
= 5
k
31
: 0 = (k
31
4 + 188) mod 27 = (k
31
4 + 26) mod 27
k
31
= (0 - 26)
inv(4,27) mod 27 = 1
7 mod 27 = 7 mod 27 = 7
k
31
= 7
A igual resultado llegaremos si tomamos en este ejemplo los pares mensaje
criptograma NIC/EJL y TAB/QY; no as si la eleccin es OES/KTL y AJO/GAR.
Ejemplo 1.54: Demuestre que se obtiene la misma primera columna de la matriz k
11
, k
21
y k
31
del ejemplo anterior, eligiendo el par mensaje/criptograma NIC/EJL y
que la eleccin de los pares EOS/KTL y AJO/GAR no es la adecuada.
Solucin: a) El mensaje NIC tiene el equivalente numrico 13, 8, 2 y el criptograma
EJL 4, 9, 11. Luego:
4
9
11
=
k 3 4
k 5 6
k 8 9
x
13
8
2
11
21
31
4 = (k
11
13 + 3
8 + 4
2) mod 27
84 CRIPTOSISTEMAS CLSICOS
k
11
= (4 - 32)
inv(13,27) mod 27 = 26
8 + 6
2) mod 27
k
21
= (9 - 52)
inv(13,27) mod 27 = 11
8 + 9
2) mod 27
k
31
= (11 - 82)
inv(13,27) mod 27 = 10
10 = (k
11
15 + 3
4 + 4
19) mod 27
k
11
= (10 - 88)
inv(15,27) mod 27
Como mcd(15,27) = 3, no existe inverso y no puede calcularse k
i1
.
c) Para el par AJO/GAR se tiene:
6
0
18
=
k 3 4
k 5 6
k 8 9
x
0
9
15
11
21
31
6 = (k
11
0 + 3
9 + 4
15) mod 27
k
11
= (6 - 87)
inv(0,27) mod 27
Como no existe inv(0,n) no puede calcularse k
i1
.
En el ejemplo anterior, se podra pensar abordar el punto b) mediante el mtodo
de prueba de valores de k
11
en la ecuacin 10 = (k
11
15 + 88) mod 27. No obstante,
esto es un error como veremos a continuacin. Evidentemente el valor k
11
=2 (que es el
valor verdadero) cumple con la ecuacin anterior pero tambin se cumple dicha
ecuacin para los valores k
11
= 11 y k
11
= 20 lo cual no tiene sentido porque la solucin
debe ser nica.
Ahora bien, si el texto en claro no cuenta con estos vectores unitarios, tambin
podemos buscarlos en el criptograma. En este caso, el procedimiento nos lleva a
recuperar la matriz inversa de la utilizada para cifrar.
Ejemplo 1.55: Se tiene el siguiente texto en claro y su criptograma que se sabe ha sido
cifrado mediante Hill por digramas. Encuentre la matriz clave.
M = HILL SE PUEDE ATACAR Y ROMPER LA CIFRA BUSCANDO VECTORES
C = IBSD WJ QQLCL QBESVA B JOXHLI KN BAHSR EOKSVCTM KTYBKAYFI
Solucin: Ordenando por digramas tenemos:
M = HI LL SE PU ED EA TA CA RY RO MP ER LA CI FR AB US CA ND OV EC TO RE SX
C = IB SD WJ QQ LC LQ BE SV AB JO XH LI KN BA HS RE OK SV CT MK TY BK AY FI
En el criptograma estn los dos vectores unitarios [BA] = [1 0] con su par
en el texto en claro [CI] = [2 8] y el vector [AB] = [0 1] con su par de texto
en claro [RY] = [18 25].
Luego, de acuerdo con las ecuaciones (1.62) y (1.63) se tiene que:
-1
K =
2 18
8 25
Como K = (K
-1
)
-1
, se puede deducir que la matriz clave ser entonces:
CRIPTOSISTEMAS CLSICOS 85
K =
23 18
11 4
Amigo lector(a); le dejo como ejercicio comprobar que con esta matriz
de cifra K se obtiene el criptograma indicado.
Para el caso de cifra con digramas, buscamos algn digrama que contenga el
valor cero o la letra A, bien en el mensaje en claro o bien en el criptograma; planteamos
entonces un sistema de ecuaciones en donde la nica condicin a cumplir es que el
elemento que acompae a esa letra A tenga inverso en el cuerpo de cifra. De esta
manera se obtiene una de las columnas de la matriz clave. Para encontrar la columna
restante planteamos otra ecuacin de cifra, en donde el elemento que multiplica a los k
ij
debern tambin tener inverso, como se mostrar en el siguiente ejemplo. Y si no
contamos con estos vectores unitarios? Aunque no lo crea, todava podremos atacar al
sistema si conocemos el texto en claro.
Ejemplo 1.56: Se nos pide realizar un ataque al sistema de cifra de Hill digrmico segn
el mtodo explicado. El texto en claro y su criptograma son:
M = HABIA VIDA EN MARTE
C = PIEBX PQYX YN FARIQ
Solucin: Agrupando texto en claro y criptograma por digramas:
M = HA BI AV ID AE NM AR TE
C = PI EB XP QY XY NF AR IQ
Como no vemos vectores unitarios por ninguna parte, vamos a plantear la
primera ecuacin de cifra para el primer digrama HA en donde aparece la
letra H = 7 en el texto en claro acompaado de la letra A = 0. Puesto que
inv (7,27) = 4, entonces:
P
I
=
k k
k k
x
H
A
16
8
=
k k
k k
x
7
0
11 12
21 22
11 12
21 22
16 = k
11
7
k
11
= 16
inv(7,27) mod 27 = 16
4 mod 27 = 10
8 = k
21
7
k
21
= 8
inv(7,27) mod 27 = 8
4 mod 27 = 5
La ecuacin del digrama (XP) = K
22
0
x
k k
k k
=
16
24
V
A
x
k k
k k
=
P
X
22 21
12 11
22 21
12 11
24 = k
12
22
k
12
= 24
inv(22,27) mod 27 = 24
16 mod 27 = 6
16 = k
22
22
k
22
= 16
inv(22,27) mod 27 = 16
16 mod 27 = 13
Por lo tanto, la matriz de cifra del ejemplo es:
K =
10 6
5 13
Este mtodo podra generalizarse para matrices de mayor rango, aunque como
es lgico aumentar la dificultad de encontrar poligramas con todos los elementos
excepto uno iguales a cero, por lo que este mtodo resulta poco prctico. La
generalizacin del ataque anterior mediante el planteamiento de un sistema de
ecuaciones matriciales, se conoce como mtodo de Gauss-Jordan y ser tratado en el
prximo apartado. En este otro escenario prcticamente no hay criptograma que se
86 CRIPTOSISTEMAS CLSICOS
resista a este ataque; no obstante, si se desconoce el texto en claro, debido al alto valor
de la distancia de unicidad de este cifrador resulta absurdo intentar un ataque por
fuerza bruta.
Ataque con texto en claro conocido
Al no poder utilizar la tcnica anterior porque no se encuentran los vectores
unitarios en el texto en claro o en el criptograma, el criptoanalista siempre podr atacar
un cifrado de Hill si cuenta, por lo menos, con un criptograma y su texto en claro
asociado. Siguiendo el mtodo propuesto por Alan Konheim en "Cryptography: A
Primer"
6
el procedimiento consiste en disponer las correspondencias entre el texto en
claro y el texto cifrado en forma de matriz y utilizar el mtodo de Gauss-Jordan que
consiste, bsicamente, en aplicar operaciones elementales a la matriz hasta conseguir
(si se puede) diagonalizar la parte izquierda, de forma que la diagonal principal sea la
unidad. Esto quiere decir que en la mitad izquierda tendremos los vectores unitarios que
definimos en el apartado anterior, por lo que la otra mitad derecha tendr una relacin
directa con la matriz clave buscada.
Si la matriz 2n-grmica la definimos como [(TextoEnClaro) | (TextoCifrado)] la
parte derecha, una vez diagonalizada la izquierda, ser la traspuesta de la matriz clave
de cifrado K. Le dejo aqu un nuevo ejercicio: definir ahora la matriz 2n-grmica como
[(TextoCifrado) | (TextoEnClaro)] y una vez diagonalizada la parte izquierda comprobar
qu tipo de matriz se obtiene. Por ejemplo, suponga que tenemos el siguiente texto en
claro asociado con el criptograma de Hill trigrmico que se indica:
M = ENU NLU GAR DEL AMA NCH ADE CUY ONO MBR ...
C = WVX IDQ DDO ITQ JGO GJI YMG FVC UT RLL ...
11 11 18 18 1 12
20 14 21 15 13 15
2 22 5 25 21 2
6 12 25 4 3 0
8 9 6 7 2 13
15 6 9 0 12 0
17 20 8 11 4 3
15 3 3 18 0 6
17 3 8 21 11 13
24 22 23 21 13 4
=
L L R R B M
T
U O N O
C V F Y U C
G M Y E D A
I J G H C N
O G J A M A
Q T I L E D
O D D R A G
Q D I U L N
X V W U N E
Cifrado Texto
Claro en Texto
Trigrmica Matriz
Figura 1.43. Matriz 2n-grmica de Gauss-Jordan del ejemplo.
Como se observa, no aparecen vectores trigrmicos unitarios ni en el texto en
6
Konheim, Alan G., "Cryptography: A Primer", John Wiley & Sons, 1981, pp. 116-120.
CRIPTOSISTEMAS CLSICOS 87
claro ni en el texto cifrado por lo que intentaremos el ataque por Gauss-Jordan.
Escribimos entonces los trigramas del texto en claro a la izquierda y los del criptograma
a la derecha en una matriz 2 n-grmica, con los correspondientes equivalentes
numricos como se indica en la Figura 1.43.
El primer paso ser conseguir que toda la primera columna sea 0 excepto el
elemento a
11
; para ello multiplicamos la fila primera por 7 ya que inv (4, 27) = 7 con lo
que se tiene (4
7 13
7 21
7 23
7 22
7 24
7) mod 27 = (1 10 12 26 19 6).
Si el primer elemento de la fila (en este caso E = 4) tuviera algn factor comn
con el mdulo 27, el mtodo sigue siendo vlido porque en ese caso se moveran filas
enteras y alguna habr cuyo primer elemento sea primo relativo con el mdulo. La
matriz no cambiar; es ms, a nivel matemtico da lo mismo donde estn localizadas
las filas, no as para los nosotros los humanos que interpretamos lo que all est escrito.
Hecho esto se realizan las siguientes operaciones bsicas mdulo 27:
a) 2 fila = 2 fila - 13
1 fila
b) 3 fila = 3 fila - 6
1 fila
c) 4 fila = 4 fila - 3
1 fila
d) 6 fila = 6 fila - 13
1 fila
e) 8 fila = 8 fila - 2
1 fila
f) 9 fila = 9 fila - 15
1 fila
g) 10 fila = 10 fila - 12
1 fila
Se obtiene entonces la siguiente matriz:
20 26 3 9 16 0
11 26 9 24 25 0
17 11 7 1 1 0
6 12 25 4 3 0
11 5 19 13 7 0
15 6 9 0 12 0
26 17 11 2 1 0
6 24 9 0 21 0
20 26 21 0 16 0
6 19 26 12 10 1
Cifrado Texto
Claro en Texto
Trigrmica Matriz
Procedemos de igual manera con las columnas segunda y tercera. Observe que
en el clculo de la columna tercera hemos tenido que mover filas porque aparece el
valor 0 en el tercer elemento. Como ejercicio, compruebe qu movimientos se han
hecho.
Al final de todo el proceso obtenemos la matriz 2n-grmica que se indica en
donde se observan los vectores unitarios en la matriz de la izquierda, correspondiente
88 CRIPTOSISTEMAS CLSICOS
al texto en claro.
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
9 6 4 1 0 0
8 5 3 0 1 0
7 5 2 0 0 1
unitarios vectores
los agrupando
ada diagonaliz
Cifrado Texto
Claro en Texto
Trigrmica Matriz
Como la mitad izquierda corresponda al texto en claro, la parte derecha de la
matriz con vectores unitarios ser la traspuesta de la clave. Esto es, 100 es el primer
vector unitario y entonces entrega la primera columna de la matriz de clave; y de igual
manera sucede con los vectores segundo 010 y tercero 001 segn la ecuacin (1.63).
Luego, la clave ser:
K =
2 3 4
5 5 6
7 8 9
Comprobemos que esta es la matriz verdadera, cifrando el primer trigrama del
mensaje M = [ENU] = [4 13 21] que debe darnos el trigrama C = [WVX] = [23 22 24].
C = K x M =
2 3 4
5 5 6
7 8 9
x
4
13
21
C
1
= [2
4 + 3
13 + 4
21] mod 27 = 23 = W
C
2
= [5
4 + 5
13 + 6
21] mod 27 = 22 = V
C
3
= [7
4 + 8
13 + 9
21] mod 27 = 24 = X
Le dejo como ejercicio comprobar la cifra completa del mensaje de este ejemplo.
Atrvase a deducir la clave a partir de [(TextoCifrado) | (TextoEnClaro)].
1.8 CIFRADORES POR TRANSPOSICIN
El segundo mtodo clsico utilizado para cifrar mensajes es la transposicin o
permutacin de caracteres. Esto consiste en reordenar los caracteres del texto en claro
CRIPTOSISTEMAS CLSICOS 89
como si de una baraja de cartas se tratase. El resultado de tal accin es la de difuminar
la informacin del texto en claro y provocar, por tanto, la difusin propuesta por
Shannon para la proteccin de la misma. Precisamente este mtodo era el utilizado por
los lacedemonios en el sistema de cifra de la esctala que vimos en el apartado 1.1.1,
cifrador que podramos clasificar en la categora de transposicin por grupos.
Debe tenerse presente que al reordenar el texto, en el criptograma aparecern
exactamente los mismos caracteres que en el texto en claro y que, por tanto, no
evitamos en este caso que un intruso detecte fcilmente que nuestro criptosistema es
de transposicin mediante la simple accin de contabilizar los caracteres del texto
cifrado y comparar las frecuencias relativas con las del lenguaje. Esto es, si en el
alfabeto de 27 letras la letra E aparece cerca del 13%, la letra A cerca del 10%, etc., no
cabe duda que el cifrado ha sido realizado por permutaciones. No obstante, s se
destruyen los digramas, trigramas y, en general poligramas, al separar los caracteres
en el texto cifrado.
Ahora bien, aunque se detecte una distribucin de caracteres en el criptograma
muy parecida a la caracterstica del lenguaje, slo nos indica eso, que es muy posible
que se haya cifrado por transposiciones, pero de nada nos servir la tcnica utilizada en
cifradores por sustitucin para intentar un criptoanlisis. En este caso, el ataque deber
plantearse con el uso de una tcnica denominada anagramacin y que consiste en la
comparacin de bloques de caracteres del criptograma con el objeto de buscar la
formacin de los poligramas destruidos por el cifrado.
1.8.1. Transposicin por grupos
En este tipo de cifra, los caracteres del texto en claro se reordenan por medio de
una permutacin
x
(y) en donde x indica la accin ejercida sobre el conjunto de
caracteres del mensaje M e y es la posicin ordenada de los caracteres segn la accin
x. Luego, si a
1
, a
2
, a
3
, ..., a
k
son letras del texto en claro, y
es una permutacin de 1,
2, 3, ... k nmeros, entonces cada carcter C
i
del criptograma ser el resultado de
aplicar dicha permutacin sobre ese conjunto de k caracteres. Por ejemplo, sea el
conjunto de nmeros [1, 10] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 y sean x
1
y x
2
dos acciones de
permutacin tales que x
1
es la accin de ordenar cada grupo de diez caracteres del
mensaje de forma que primero enva los caracteres impares y luego los pares y x
2
es la
funcin de ordenar los caracteres del mensaje desde la posicin mayor a la menor,
entonces se tiene que:
1
= 1, 3, 5, 7, 9, 2, 4, 6, 8, 10.
2
= 10, 9, 8, 7, 6, 5, 4, 3, 2, 1.
Entonces de los grupos indicados, tenemos por ejemplo que:
1
(4) = 7;
1
(9) = 8;
2
(1) = 10;
2
(3) = 8
La transposicin por grupos ser peridica, de perodo p, tras el cual la
permutacin aplicada al texto en claro se repite. Esto es, si el mensaje que se desea
cifrar M = m
1
m
2
m
3
... m
10
m
11
m
12
y la permutacin aplicada con perodo 4 es
M
= 4132,
90 CRIPTOSISTEMAS CLSICOS
entonces el criptograma generado ser C = m
4
m
1
m
3
m
2
m
8
m
5
m
7
m
6
m
12
m
9
m
11
m
10
.
Ejemplo 1.57: Utilizando la permutacin
M
= 24531 cifre el siguiente mensaje:
M = MANOS ARRIBA, ESTO ES UN ATRACO.
Solucin: Aplicando
M
= 24531 al texto en claro obtenemos:
M = MANOS ARRIB AESTO ESUNA TRACO
C = AOSNM RIBRA ETOSA SNAUE RCOAT
Si el perodo es pequeo, como en el ejemplo anterior, el criptograma podra
atacarse fcilmente mediante tcnicas de anagramacin que veremos ms adelante.
Una solucin a este problema podra consistir en hacer crecer el perodo de la
transposicin. En esta lnea podramos llegar a la situacin lmite en que el perodo es
tan largo como el propio mensaje, dando lugar a los denominados cifradores de
transposicin por series.
1.8.2. Transposicin por series
Esta tcnica consiste en ordenar el mensaje como una cadena de submensajes,
de forma que el mensaje original se transmite como M' = M
S1
M
S2
M
S3
..., en donde cada
una de las cadenas sigue una funcin o serie; por ejemplo, M
S1
puede corresponder a
los mltiplos de 3, M
S2
los nmeros primos, M
S3
los nmeros pares, etc.
Supongamos entonces un mensaje M con un total de 25 caracteres. Si se
utilizan las 3 series M
S1
, M
S2
y M
S3
que se indican en ese mismo orden:
M
S1
: Relacin de nmeros primos
M
S2
: Relacin de nmeros pares
M
S3
: Relacin de nmeros impares
entonces la cifra se realizar como sigue:
M = m
1
m
2
m
3
m
4
m
5
m
6
m
7
m
8
m
9
m
10
m
11
m
12
m
13
m
14
m
15
m
16
m
17
m
18
m
19
m
20
m
21
m
22
m
23
m
24
m
25
M' = M
S1
M
S2
M
S3
M
S1
= 1, 2, 3, 5, 7, 11, 13, 17, 19, 23
M
S2
= 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24
M
S3
= 9, 15, 21, 25
C = m
1
m
2
m
3
m
5
m
7
m
11
m
13
m
17
m
19
m
23
m
4
m
6
m
8
m
10
m
12
m
14
m
16
m
18
m
20
m
22
m
24
m
9
m
15
m
21
m
25
Al no tener perodo, este algoritmo de cifrado posee una mayor fortaleza pues
dificulta el criptoanlisis, residiendo su seguridad en el secreto de las series utilizadas.
No obstante, es necesario recorrer el texto en claro completo por lo que el mtodo es
muy lento.
Ejemplo 1.58: Utilizando las series M
S1
M
S2
M
S3
vistas anteriormente y en ese orden,
cifre el mensaje M = ERRAR ES HUMANO, PERDONAR DIVINO.
Solucin: El mensaje tiene 27 caracteres. Si se transmite la secuencia M
S1
, luego
M
S2
y finalmente M
S3
, tenemos los siguientes bloques:
M
S1
= 1,2,3,5,7,11,13,17,19,23
M
S2
= 4,6,8,10,12,14,16,18,20,22,24,26
CRIPTOSISTEMAS CLSICOS 91
M
S3
= 9,15,21,25,27
El mensaje ordenado segn las posiciones de los caracteres es:
1234567890 1234567890 1234567
ERRARESHUM ANOPERDONA RDIVINO
Permutando los caracteres segn la serie M
S3
M
S2
M
S1
so obtiene:
C = ERRRS AODNI AEHMN PROAD VNUER IO
1.8.3. Transposicin por columnas
Cifrador de transposicin por columnas simple
En este tipo de cifrados, se reordenan los caracteres del texto en claro en N
C
columnas de forma que el mensaje as escrito se transmite luego por columnas,
obtenindose de esta manera el criptograma. El efecto, al igual que en los dems
cifradores por permutacin, es desplazar las letras de las posiciones adyacentes. Por
ejemplo, si N
C
= 6, la columna de cifrados podra quedar como se indica:
Columna de cifrados
C
1
C
2
C
3
C
4
C
5
C
6
C
7
C
8
C
9
C
10
C
11
C
12
C
13
C
14
C
15
C
16
C
17
C
18
C
19
C
20
C
21
C
22
... ...
Luego, el criptograma se obtiene leyendo de arriba hacia abajo en las columnas,
es decir:
C = C
1
C
7
C
13
C
19
... C
2
C
8
C
14
C
20
... C
3
C
9
C
15
C
21
... ... C
6
C
12
C
18
... 1.64
Para proceder a la funcin de cifra, primero se busca una cuadrcula en funcin
del tamao del bloque del mensaje. Si en la bsqueda de dicha cuadrcula quedan
espacios en blanco, stos se rellenan con algn carcter nulo previamente determinado
y que conocen el transmisor y el receptor del mensaje, por ejemplo la letra X.
Ejemplo 1.59: Cifre el siguiente texto mediante transposicin por columnas con N
C
= 6.
Se usar como carcter de relleno la letra X.
M = NUNCA ES TARDE CUANDO LA DICHA ES BUENA.
Solucin: Escribimos el texto en columnas como se indica:
N U N C A E
S T A R D E
C U A N D O
L A D I C H
A E S B U E
N A X X X X
Luego leyendo por columnas el criptograma resultante ser:
C = NSCLA NUTUA EANAA DSXCR NIBXA DDCUX EEOHE X.
Para descifrar un criptograma por columnas, el receptor primero calcular el
nmero de filas N
F
a partir de la longitud del texto cifrado L
C
y el nmero de columnas
92 CRIPTOSISTEMAS CLSICOS
N
C
, clave secreta que slo l conoce.
N
F
= L
C
/N
C
1.65
Hecho esto, escribe el texto cifrado de forma vertical en tantas filas como indique
el valor de N
F
y procede a leerlo por filas.
Ejemplo 1.60: Se ha recibido el criptograma C = PLXIU IEESN GTSOO OEX y se sabe
que ha sido cifrado en 6 columnas. Descfrelo.
Solucin: Como el criptograma tiene L
C
= 18 caracteres y se ha cifrado con N
C
= 6,
entonces N
F
= 18/6 = 3. Escribimos las seis columnas con longitud de tres
caracteres, es decir PLX, IUI, EES, NGT, SOO y OEX.
P I E N S O
L U E G O E
X I S T O X
Luego leyendo por filas y descartando los caracteres de relleno al final de
la matriz, se obtiene el profundo mensaje M = PIENSO, LUEGO EXISTO.
En general, para un cifrado por transposicin a travs de una matriz de
dimensiones j x k (j filas y k columnas), existe una relacin funcional entre el texto en
claro y el criptograma. En el caso de la cifra por columnas, el carcter del texto en claro
de la posicin isima se desplaza a la posicin E
t
(i) debido a la accin de permutacin,
en donde:
E
t
(i) = j
[(4-1)mod6] + trunc[(4-1)/6] + 1 = 10
C
10
L: E
t
(7) = 3
[(7-1)mod6] + trunc[(7-1)/6] + 1 = 02
C
2
U: E
t
(8) = 3
[(8-1)mod6] + trunc[(8-1)/6] + 1 = 05
C
5
G: E
t
(10) = 3
[(10-1)mod6] + trunc[(10-1)/6] + 1 = 11
C
11
CRIPTOSISTEMAS CLSICOS 93
T: E
t
(16) = 3
[(16-1)mod6] + trunc[(16-1)/6] + 1 = 12
C
12
E: E
t
(12) = 3
[(12-1)mod6] + trunc[(12-1)/6] + 1 = 17
C
17
X: E
t
(13) = 3
[(13-1)mod6] + trunc[(13-1)/6] + 1 = 03
C
3
Ejemplo 1.61: Aplicando la ecuacin (1.66) cifre en columnas usando una clave N
C
= 3
el mensaje M = LA VIDA ES UNA TMBOLA.
Solucin: Como el texto en claro tiene 18 caracteres y el nmero de columnas k =
3, entonces el nmero de filas j = 6. Las posiciones de los caracteres en
el criptograma sern:
E
t
(1) = 6
[(1-1)mod3] + trunc[(1-1)/3] + 1 = 1
C
1
= M
1
= L
E
t
(2) = 6
[(2-1)mod3] + trunc[(2-1)/3] + 1 = 7
C
7
= M
2
= A
E
t
(3) = 6
[(3-1)mod3] + trunc[(3-1)/3] + 1 = 13
C
13
= M
3
= V
E
t
(4) = 6
[(4-1)mod3] + trunc[(4-1)/3] + 1 = 2
C
2
= M
4
= I
E
t
(5) = 6
[(5-1)mod3] + trunc[(5-1)/3] + 1 = 8
C
8
= M
5
= D
E
t
(6) = 6
[(6-1)mod3] + trunc[(6-1)/3] + 1 = 14
C
14
= M
6
= A
Si continuamos la cifra se obtiene finalmente:
C = LIENO OADSA MLVAU TBA.
De igual manera, utilizando ahora la ecuacin (1.67) podemos encontrar la
posicin que ocupaban los caracteres del texto en claro a partir del criptograma. Por
ejemplo los seis primeros caracteres descifrados del mensaje PIENSO LUEGO
EXISTO sern:
M
1
= C
3[(1-1)mod6] + trunc[(1-1)/6] + 1
= C
1
M
1
= P
M
2
= C
3[(2-1)mod6] + trunc[(2-1)/6] + 1
= C
4
M
2
= I
M
3
= C
3[(3-1)mod6] + trunc[(3-1)/6] + 1
= C
7
M
3
= E
M
4
= C
3[(4-1)mod6] + trunc[(4-1)/6] + 1
= C
10
M
4
= N
M
5
= C
3[(5-1)mod6] + trunc[(5-1)/6] + 1
= C
13
M
5
= S
M
6
= C
3[(6-1)mod6] + trunc[(6-1)/6] + 1
= C
16
M
6
= O
Ejemplo 1.62: Descifre a travs de la ecuacin (1.67) el siguiente criptograma cifrado
con N
C
= 4 columnas. C = CNEAM SAANY IXMNO CNXIT HAOX.
Solucin: Como N
C
= 4 y el criptograma tiene L
C
= 24 caracteres, obtenemos j = 6.
M
1
= C
6[(1-1)mod4] + trunc[(1-1)/4] + 1
= C
1
M
1
= C
M
2
= C
6[(2-1)mod4] + trunc[(2-1)/4] + 1
= C
7
M
2
= A
M
3
= C
6[(3-1)mod4] + trunc[(3-1)/4] + 1
= C
13
M
3
= M
M
4
= C
6[(4-1)mod4] + trunc[(4-1)/4] + 1
= C
19
M
4
= I
M
5
= C
6[(5-1)mod4] + trunc[(5-1)/4] + 1
= C
2
M
5
= N
Siguiendo con el mismo procedimiento y (hgalo Ud. mismo) obtenemos
el siguiente texto en claro M = CAMINANTE NO HAY CAMINOS.
Como veremos en el prximo apartado, por mucho que con esta operacin se
destruyan poligramas, mediante una tcnica denominada anagramacin seremos
capaces de atacar el criptograma. Esto es posible ya que en el cifrado anterior pueden
persistir adyacencias de series cortas de letras, por ejemplo digramas caractersticos,
desplazados una distancia constante. Ante ello, existen dos soluciones a este
problema: aplicar una doble transposicin o bien hacer uso de una clave para permutar
las columnas antes de escribir el criptograma.
94 CRIPTOSISTEMAS CLSICOS
Cifrador de transposicin por columnas simple con clave
Para evitar o hacer ms difcil el ataque por anagramacin, podemos utilizar una
clave con el objeto de cambiar la posicin relativa de las columnas de la cuadrcula.
Esta clave puede ser cualquier combinacin de nmeros desde 1 hasta N
C
, no obstante
podemos asociar una palabra de longitud N
C
con todos los caracteres distintos a dicha
combinacin de nmeros. Por ejemplo si se trabaja con 7 columnas y se desea una
permutacin de stas del tipo 2547136, una posible palabra clave sera la palabra
PERMISO pues, ordenando los caracteres de dicha clave alfabticamente, se obtiene
precisamente esa permutacin: EIMOPRS.
Ejemplo 1.63: Cifre por columnas con la clave RELOJ el siguiente mensaje.
M = EL PATIO DE MI CASA ES PARTICULAR, CUANDO LLUEVE SE
MOJA COMO LOS DEMS.
Solucin: Escribiendo el mensaje en 5 columnas y luego permutando stas segn
la clave RELOJ, tenemos:
R E L O J E J L O R
E L P A T L T P A E
I O D E M O M D E I
I C A S A C A A S I
E S P A R S R P A E
T I C U L I L C U T
A R C U A R A C U A
N D O L L D L O L N
U E V E S E S V E U
E M O J A M A O J E
C O M O L O L M O C
O S D E M S M D E O
A S X X X S X X X A
Escribiendo las columnas resultantes, se tiene:
C = LOCSI RDEMO SSTMA RLALS ALMXP DAPCC OVOMD XAESA
UULEJ OEXEI IETAN UECOA.
Si se desea provocar una mayor confusin y difusin en el criptograma, en otras
palabras rizar el rizo, podramos incluir por ejemplo un par de lneas ms en la matriz
despus del fin del mensaje, utilizando las mismas letras del texto. De esta manera, si
tomamos como caracteres de relleno los de las columnas 1, 3 y 5 del mensaje escrito
en columnas antes de aplicar la clave, las ltimas cuatro filas de la primera matriz sern
ahora:
. . . . .
O S D E M
A S E P T
I D M I A
A E P R T
El criptograma, que se lo dejo como ejercicio, ser:
C = LOCSI RDEMO SSDET MARLA LSALM TATPD APCCO VOMDE MPAES
AUULE JOEPI REIIE TANUE COAIA.
CRIPTOSISTEMAS CLSICOS 95
Cifrador de doble transposicin por columnas
Para destruir la adyacencia de series cortas de caracteres que pueden aparecer
en una nica transposicin, tambin podemos utilizar una segunda permutacin. Con
ello, el criptograma final se obtiene tras aplicar las siguientes transformaciones:
C = E
1
(M) 1.68
C = E
2
[E
1
(M)] 1.69
Esto es, se escribe el texto del mensaje en claro M en columnas (operacin E
1
)
en una matriz de dimensiones j' x k' y luego se reordena dicha matriz en otra de
dimensin j x k. El efecto de esta doble transposicin ser separar an ms los
caracteres adyacentes y destruir, por tanto, los digramas. Compruebe Ud. mismo que al
aplicar una doble permutacin se produce una mayor dispersin de los caracteres del
texto en claro en el criptograma final. En este caso ya no nos servir el mtodo de
anagramacin que veremos ms adelante como herramienta de ataque a la cifra.
1.8.4. Transposicin por filas
De forma similar al sistema de cifra por columnas, en esta operacin de cifra se
escribe el mensaje M en forma vertical, por ejemplo de arriba hacia abajo, con un cierto
nmero de filas N
F
que ser la clave y luego se lee el criptograma en forma horizontal
tal como se indica en el siguiente ejemplo.
Ejemplo 1.64: Cifre por transposicin de filas con clave N
F
= 3 el siguiente mensaje:
M = EL PRISIONERO SE ENTREGAR EN EL LUGAR YA INDICADO.
Solucin: Escribiendo el texto verticalmente en tres niveles, se tiene:
E R I E S N E R N L A A D A
L I O R E T G A E U R I I D
P S N O E R A E L G Y N C O
El criptograma se obtiene escribiendo las tres filas resultantes:
C = ERIES NERNL AADAL IORET GAEUR IIDPS NOERA ELGYN CO.
Evidentemente, las operaciones de cifra y descifrado sern anlogas a las vistas
en los sistemas de cifra por columnas. Esto es, conocido el nmero de elementos del
criptograma L
C
y la clave N
F
, calculamos ahora el nmero de columnas N
C
como L
C
/N
F
y luego se escribe el criptograma de forma horizontal en tantas columnas como sea el
valor de N
C
encontrado. Leyendo el resultado por columnas, en forma vertical de arriba
hacia abajo, se obtiene el texto en claro.
Ejemplo 1.65: Descifre el siguiente criptograma de cifra por filas y clave NF = 3.
C = MAPDD ITOOE RURNX.
Solucin: Como la longitud del criptograma L
C
= 15 entonces N
C
= L
C
/N
F
= 15/3 = 5.
Escribimos el criptograma en cinco columnas y luego leemos de arriba
hacia abajo:
M A P D D
I T O O E
R U R N X
96 CRIPTOSISTEMAS CLSICOS
Obteniendo el siguiente mensaje M = MIRA T POR DNDE.
Para hacer las cosas un poco ms complicadas, otra forma de cifrar el mensaje,
similar a la anterior, es mediante una figura de zig-zag de forma que la clave tambin se
encuentra en el nivel de profundidad de dicha figura, como se indica en el prximo
ejemplo.
Ejemplo 1.66: Utilizando el cifrado por lneas con figura zig-zag con una profundidad
igual a 3, cifre el mensaje M = EL ESPAOL COMO EL JUDO,
DESPUS DE COMER SIENTE FRO.
Solucin: El mensaje se escribe como se indica:
E P L O U D U E E E F
L S A O C M E J D O E P E D C M R I N E R O
E O L I S S O S T I
Luego, leyendo en filas, se obtiene el criptograma:
C = EPLOU DUEEE FLSAO CMEJD OEPED CMRIN EROE OLISS OSTI.
1.8.5. Criptoanlisis de los cifrados por transposicin
La tcnica de anagramacin consistir en la eleccin de un conjunto de
elementos de una columna o fila, llamado ventana, y su posterior comparacin con
otras cadenas de caracteres en columnas o filas de igual longitud con el objeto de
encontrar digramas comunes que han sido rotos por la transposicin. La idea es que
dicha ventana recorre todo el texto cifrado y en algn lugar coincidirn todos los
digramas con los del mensaje original. Veamos el caso particular de un ataque a una
cifra por columnas. Los pasos a seguir ante un cifrado que se sospeche sea de
columnas, sern los siguientes:
a) Calcular primero la distribucin de frecuencia de los caracteres del
criptograma. Si dicha distribucin resulta similar a la caracterstica del
lenguaje, es muy posible que el criptograma en cuestin se corresponda con
un cifrado por transposicin.
b) Se elige una cadena de al menos 7 caracteres del comienzo del criptograma
y que se denominar ventana. Con esta ventana se recorrer el resto del
criptograma avanzando de incrementos de un carcter y en cada paso se
compararn los digramas que aparecen, fruto de los caracteres de dicha
ventana y del resto del texto cifrado. Aunque es recomendable la eleccin de
una ventana grande para poder aplicar con lgica las estadsticas del
lenguaje, el tamao de dicha ventana deber ser menor que el nmero de
filas que resultase en una cifra por columnas o bien el nmero de columnas
de una cifra por filas.
c) Si la mayora de los digramas presentan una alta frecuencia, esto indica que
puede tratarse de dos columnas de la operacin de cifrado. De esta forma,
podemos reconstruir la matriz y, por tanto, descriptar el criptograma.
En resumen, la idea es que, dado que tras la operacin de cifra se conservan
todos los caracteres del texto en claro, eso s permutados, al comparar un bloque que
CRIPTOSISTEMAS CLSICOS 97
ser parte de una columna con otros bloques, es posible encontrar digramas de alta
frecuencia y esto permitir encontrar el perodo y, por tanto, romper el cifrado. Veamos
cmo funciona este mtodo a travs de un ejemplo. Cifremos, por ejemplo, en cuatro
columnas el siguiente mensaje M = ESTO NO HAY QUIEN LO ARREGLE.
E S T O
N O H A
Y Q U I
E N L O
A R R E
G L E X
Leyendo por columnas y agrupando en bloques de cinco caracteres obtenemos
el criptograma C = ENYEA GSOQN RLTHU LREOA IOEX.
La separacin de los digramas del texto en claro dentro del criptograma es,
precisamente, el nmero de filas obtenidas al confeccionar la matriz. Luego, si elegimos
una ventana, por ejemplo, igual a 4 caracteres ENYE, y la comparamos con los
restantes bloques de 4 caracteres del criptograma, en algn momento se realizar la
comparacin de la ventana ENYE con los caracteres desplazados un perodo, es decir
la cadena SOQN, obtenindose en este momento los digramas ES, NO, YQ y EN.
Puesto que de estos cuatro digramas ES, NO y EN son muy frecuentes en el lenguaje
castellano, podramos suponer que el perodo de la cifra viene dado por la distancia que
hay desde el primer carcter de la ventana hasta el primer carcter de la cadena
analizada, en este ejemplo los seis espacios que separan la E de la S en la palabra
ESTO del mensaje. Luego, si escribimos el criptograma en seis filas, se llega a la matriz
anterior que permite encontrar el mensaje original.
Podemos generalizar este mtodo diciendo que se elige una ventana de un
tamao V caracteres, es decir:
Ventana = C
1
C
2
... C
V
1.70
A continuacin, se observan los digramas que se forman al recorrer con esta
ventana el resto del texto, es decir, formamos los siguientes digramas:
C
1
C
V+1
, C
2
C
V+2
, ... , C
V
C
2V
C
1
C
V+2
, C
2
C
V+3
, ... , C
V
C
2V+1
C
1
C
V+3
, C
2
C
V+4
, ... , C
V
C
2V+2
1.71
.....
En cada comparacin de la ventana con un bloque, buscamos la frecuencia
relativa de los digramas encontrados de acuerdo a la Tabla de Digramas del Anexo y se
calculan la media de la muestra y la desviacin estndar. Si la media es un valor alto y
la desviacin estndar es baja, quiere decir que todos los valores de C
a
C
b
tienen alta
probabilidad de ser parte de un texto en claro y que, adems, la media alta no es
debido solamente a algn digrama aislado de muy alta frecuencia. Si se dan estas
condiciones entonces es probable que el perodo L del cifrado, las filas de la matriz en
98 CRIPTOSISTEMAS CLSICOS
el caso de una cifra por columnas, sea igual a la distancia en caracteres que separa a
ambas cadenas p
Cx
y p
C1
, luego:
L = p
Cx
- p
C1
1.72
donde p
Cx
es la posicin relativa donde comienza la cadena que se est comparando y
p
C1
es la posicin de inicio del criptograma y de la ventana. La media se calcula
sumando las frecuencias relativas f
r
de los digramas en el lenguaje:
X =
1
V
f
i=1
V
r 1.73
siendo V el tamao de la ventana en caracteres. La desviacin estndar
ser:
=
( f - X )
V
i=1
V
r
2
1.74
Encontrado un perodo L, podemos intentar extender el tamao de la ventana
hasta dicho valor, con la idea de tener una cadena de caracteres igual a la de una
columna en la operacin de cifra, o por el contrario buscar L posiciones ms adelante
otra cadena para ver si tambin presenta digramas comunes con la que le precede.
Ejemplo 1.67: Realice un ataque por anagramacin sobre el criptograma que se indica
eligiendo una ventana de tamao V = 4
C = TPNOT OAOPO DRYAD OAURO SUNAS.
Solucin: Como V = 4 el bloque ser TPNO que se comparar con TOAO, OAOP,
AOPO, OPOD, etc. Usaremos la Tabla de Digramas del Anexo.
T t Tt 11 o To 285 a Ta 436
P o Po 225 a Pa 181 o Po 225
N a Na 332 o No 222 p Np 49
O o Oo 40 p Op 131 o Oo 40
Media: 152 205 188
Desviacin: 136,77 56,44 161,32
Con la cadena OAOP de la segunda comparacin, los digramas to, pa, no
y op muestran una media alta asociada con una baja desviacin estndar
respecto a esa media. Asimismo, en la tercera comparacin -cadena
AOPO- aparece el digrama ta, de muy alta frecuencia, pero su efecto se
enmascara con los digramas np y oo de baja frecuencia, dando una
desviacin alta. De lo anterior podramos deducir que el perodo es igual
a 5, el tamao de la cadena ms el nmero de comparaciones hechas
antes de dar con el bloque de media alta y desviacin baja.
Siguiendo con el mtodo y suponiendo que el perodo es igual a 5, podramos
observar los digramas que aparecen desplazndonos en el criptograma 5 espacios; es
decir, comparar por ejemplo la cadena encontrada OAOP con DRYA, luego la cadena
DRYA con OAUR y finalmente la cadena OAUR con SUNA, es decir:
od 250 do 354 os 764
CRIPTOSISTEMAS CLSICOS 99
ar 493 ra 520 au 72
oy 35 yu 8 un 338
pa 181 ar 493 ra 520
Puesto que se mantiene una media alta, se confirma que el perodo podra ser
igual a 5. No obstante, en estas comparaciones no se cumple que la media alta vaya
acompaada de una desviacin baja; esto ocurre cuando el tamao de la ventana es
de slo algunos caracteres como es en este caso y que hace muy difcil y arriesgado
aplicar estadsticas alegremente. En este ejemplo como la clave N
C
= 5 y el mensaje
tena muy pocos caracteres se obtienen pocas filas (de hecho N
F
= 5) y por lo tanto nos
ha forzado la eleccin de una ventana pequea. Recuerde que ste es un mtodo
estadstico, por tanto no infalible, y que para tener un mnimo grado de confianza en los
resultados ser necesario contar con un criptograma de gran longitud y no pocas veces
algo de intuicin y suerte. Como ejercicio, descifre Ud. mismo este noble mensaje.
1.9. OTRAS TRANSFORMACIONES
Adems de los mtodos clsicos analizados en el captulo, existen infinidad de
algoritmos de cifrado ms o menos ingeniosos. A continuacin presentaremos algunas
transformaciones aritmticas fciles de implementar en un ordenador.
1.9.1. Transformacin por adicin
Puesto que la suma y la resta son operaciones que cuentan con inversa, se
pueden utilizar como funciones de cifra. De hecho, este principio ya ha sido utilizado en
los cifradores por sustitucin. Si existe una correspondencia entre los caracteres a
i
del
alfabeto del mensaje con los dgitos c
j
del alfabeto de cifrado con 0
n-1, sern
posibles las dos operaciones de cifra que se indican:
C = E
K
(M) = M + K 1.75
C = E
K
(M) = M - K 1.76
En este tipo de cifrado, tomamos un bloque de n caracteres y la cifra ser el
valor numrico resultante de la adicin o sustraccin de dicho nmero con el que le
corresponda a los n caracteres de la clave que coinciden con el bloque. Estos nmeros
luego pueden transmitirse o almacenarse en formato binario.
Por ejemplo, para cifrar el mensaje M = LA MEJOR DEFENSA ES UN BUEN
ATAQUE con la clave K = NAPOLEN y una transformacin por adicin con bloques
de tres caracteres, procedemos de la siguiente forma:
M = L A M E J O R D E F E N S A E S U N B U E N A T A Q U E
C = N A P O L E O N N A P O L E O N N A P O L E O N N A P O
La representacin numrica ser:
M = 11 00 12 04 09 15 18 03 04 05 04 13 19 00 04 19 21 13 01 21 04 13 00 20 00 17 21 04
100 CRIPTOSISTEMAS CLSICOS
K = 13 00 16 15 11 04 15 13 13 00 16 15 11 04 15 13 13 00 16 15 11 04 15 13 13 00 16 15
C = 24 00 28 19 20 19 33 16 17 05 20 18 30 04 19 32 34 13 17 36 15 17 15 33 13 17 37 19
Si tomamos como bloque la cifra de cada tres caracteres, el criptograma final
ser los nmeros:
C = 240.028 192.019 331.617 52.028 300.419 323.413 173.615 171.533 131.737 19.
Para descifrar basta con realizar la operacin inversa. Esto es, el primero y el
segundo bloques del criptograma C
1
y C
2
se descifraran como sigue:
C
1
240.028 C
2
192.019
- K
1
130.016 - K
2
151.104
M
1
110.012 = LAM M
2
040.915 = EJO
De la misma manera, podramos cifrar aplicando una multiplicacin del bloque
del texto en claro por el bloque de la secuencia de una clave. No obstante, deberamos
representar los caracteres del alfabeto con dgitos C
j
> 0 pues de lo contrario la
operacin inversa sera irrecuperable para texto en claro o clave igual a cero. Esto
quiere decir que los caracteres debern representarse desde 1 a 27 a diferencia de
cmo venamos hacindolo [0, 26] que era un imposicin de la aritmtica modular, que
no es aqu el caso. Siguiendo entonces el mismo ejemplo anterior, y tomando ahora
como bloques a digramas del mensaje, el primer criptograma ser el producto del
mensaje LA (12 01) cifrado con la secuencia de clave NA (14 01); luego:
C
1
= M
1
K
1
= LA
NA = 1.201
1.401 = 1.682.601.
El problema que se manifiesta en este tipo de cifra (y en menor medida en la
suma) es que el criptograma puede expandir la longitud del mensaje, requirindose
ms dgitos o bits para su representacin. El caso contrario, una operacin de cifra que
reduzca la longitud del mensaje, sera la divisin, pero ahora el problema es que el
resultado de tal operacin no arroje un entero y, consecuentemente, nos sea imposible
la recuperacin de la informacin.
1.9.2. Transformacin por conversin de base
Si en la representacin del mensaje se produce un cambio de base, se obtiene
un criptograma en el que la seguridad reside nicamente en el secreto de la base
utilizada. Esta operacin de cambio de base es vlida para cifrar puesto que cuenta con
inversa; es decir, si un mensaje se representa en base decimal y se cifra en bloques de
un tamao determinado convirtiendo cada bloque a base octal, por ejemplo, se podr
descifrar posteriormente dicho criptograma sencillamente convirtiendo de nuevo el
nmero del sistema octal al decimal.
Al igual que en los mtodos aritmticos anteriores, la longitud del mensaje podr
expandirse o reducirse, segn sea el sistema de numeracin que elijamos para cifrar en
comparacin con la base original. Por ejemplo, si el mensaje a cifrar es M = SOS, de
acuerdo a los dgitos asignados en castellano a estos caracteres del 1 al 27, su
representacin decimal ser: SOS = 201620
10
. Si la operacin de cifra consiste en
CRIPTOSISTEMAS CLSICOS 101
representar bloques de trigramas en el sistema octal, se tiene que M = SOS =
201.620
10
que se representa como C = 611624
8
.
Ejemplo 1.68: Comente las operaciones realizadas para obtener el criptograma anterior
y demostrar que al convertir de base se recupera el mensaje.
Solucin: Hacemos divisiones sucesivas del dividendo y cocientes por el divisor 8
hasta que el cociente sea menor que el divisor. Anmese y hgalo. Los
restos de esta divisin, ledos en sentido inverso a partir del cociente
distinto de la base entregan el resultado buscado. Resulvalo Ud. mismo
y compruebe que C = 611624
8
.
Para recuperar el mensaje, se convierte a formato decimal, es decir:
M = 4
8
0
+ 2
8
1
+ 6
8
2
+ 1
8
3
+ 1
8
4
+ 6
8
5
= 201.620
10
1.9.3. Transformacin por lgica de Boole
Utilizando el lgebra de Boole tambin podemos cifrar un mensaje. Una
posibilidad sera usar las operaciones de negacin y OR exclusivo que tienen inversos.
Si el texto en claro se representa en binario conjuntamente con una clave tambin
binaria de la misma longitud, esto dar lugar a las operaciones de cifrado y descifrado
que se indican:
Negacin: C = E(M) =
M
y M =
E(M)
1.77
XOR C = E
K
(M) = M
K y M = E
K
(M)
K 1.78
Ejemplo 1.69: Se desea cifrar el mensaje M = SOL representado en su equivalente
ASCII binario: a) Cfrelo con el algoritmo de negacin y b) Cfrelo con la
funcin XOR y la clave K = SUN. En cada caso, represente el resultado
en notacin hexadecimal.
Solucin: Las representaciones binarias del mensaje y la clave son:
SOL = 01010011 01001111 01001100
SUN = 01010011 01010101 01001110
a) C
1
= 10101100 10110000 10110011 = (AC B0 B3)
16
b) C
2
= 00000000 00011010 00000010 = (00 1A 02)
16
En algunos casos como en el criptograma C
1
es posible representar la solucin
con caracteres ASCII imprimibles. Esto no ser siempre posible como es lgico pues la
operacin puede dar lugar a octetos que no tengan representacin impresa como
sucede con todos los elementos del segundo criptograma. Ahora bien, esto no tiene
mayor importancia pues la informacin se cifra, enva y descifra o en su caso se
almacena en binario con lo que, evidentemente, se recupera el texto en claro usando la
operacin inversa; en el primer caso negando uno a uno los bits del criptograma y en el
segundo aplicando nuevamente Or exclusivo al criptograma con la misma clave. Vea
las tablas de caracteres en el Anexo y comprubelo.
1.9.4. Transformacin matricial
102 CRIPTOSISTEMAS CLSICOS
Podemos generalizar los cifrados matriciales de Hill vistos en el apartado
anterior, utilizando las operaciones producto y suma de matrices, sobre un mensaje M
que se transforma mediante un cdigo binario en una sucesin de unos y ceros que se
disponen en una matriz de r filas por s columnas, al igual que la clave K. Luego, las
operaciones de cifra sern:
(C) = (M) + (K) 1.79
(C) = (M) x (K) 1.80
Para que exista inversa en la suma, ser necesario que las matrices sean de la
misma dimensin, en tanto que para el producto como ya hemos visto se debe cumplir
que la matriz clave sea cuadrada, no singular y posea una inversa nica.
Ejemplo 1.70: Cifre el mensaje M = CAMISA, usando una transformacin de suma de
matrices como la indicada en la ecuacin 1.79 con la clave K = ROSADA.
La cifra es mdulo 27 y se usarn matrices de 2 filas y 3 columnas.
Solucin: Las matrices de texto y su correspondiente cdigo mod 27 sern:
0 3 0
19 15 18
0 19 8
12 0 2
A D A
S O R
A S I
M A C
C C C
C C C
23 22 21
13 12 11
Procediendo a la suma mdulo 27:
27 mod
0 22 8
31 15 20
C C C
C C C
23 22 21
13 12 11
C = 20 15 04 08 22 00 = TOD IVA
Observe la similitud con el cifrado de Vigenre.
SUMARIO DEL CAPTULO
1. La seguridad unida al secreto de un algoritmo de cifrado est relacionada con
sistemas criptogrficos clsicos. Los sistemas modernos basan su fortaleza en
el secreto de la o las claves. En este caso se habla de algoritmos simtricos que
usan clave secreta o algoritmos asimtricos que usan una nica clave pblica y
otra privada.
2. Los cifradores clsicos se clasifican en Cifradores por Sustitucin y Cifradores
por Transposicin. Entre los primeros estn los monoalfabticos y los
polialfabticos. En la misma categora estn a los cifradores por homfonos.
3. Los cifrados por sustitucin aplican el principio de la confusin propuesta por
Shannon, que consiste en sustituir caracteres del texto en claro por otros
caracteres del mismo alfabeto o de otros alfabetos. Por su parte, los cifrados por
transposicin aplican el principio de la dispersin tambin propuesto por
Shannon y que tiene como accin la permutacin de los caracteres del texto en
claro.
4. La sustitucin permitir aplicar distintos alfabetos y, por tanto, enmascarar las
CRIPTOSISTEMAS CLSICOS 103
distribuciones de frecuencias caractersticas de los caracteres del texto en claro.
Su efecto es producir una relacin texto en claro/criptograma lo ms compleja
posible. Por su parte, la permutacin utiliza el mismo alfabeto del texto en claro o
un equivalente de alfabeto mixto para el cifrado, provocando as una dispersin
de los caracteres. En este caso, se conserva la distribucin caracterstica del
lenguaje en el criptograma.
5. Los cifradores por sustitucin simple monoalfabeto utilizan E(m) = (a
m b) mod
n como transformacin afn, siendo a la constante de decimacin, m el valor
numrico asociado al carcter del alfabeto, b el desplazamiento en dicho
alfabeto y n el nmero de letras del alfabeto o cuerpo de trabajo. En general,
cuando a = 1, diremos que se trata de un cifrador por alfabetos desplazados
puros y si b = 0, de un cifrador por multiplicacin o decimacin pura.
6. El criptoanlisis de sistemas con cifrado por sustitucin monoalfabtica consiste
en encontrar correspondencias entre caracteres en claro con los del
criptograma, usando para ello las tablas de frecuencia de los monogramas. Se
pretende formar trozos de palabras muy frecuentes aprovechando la
redundancia del lenguaje.
7. Los cifradores por homfonos utilizan distintos valores para representar un
mismo carcter, con el objeto de destruir la distribucin de frecuencia de los
caracteres del lenguaje. La fortaleza del cifrado est en la clave o el archivo que
determina los homfonos. Para cifradores por homfonos de orden n > 1, se
obtienen n criptogramas vlidos en el espacio de mensajes M al descifrar o
intentar descriptar el texto cifrado, dificultando de esta forma el ataque.
8. Los cifradores polialfabticos utilizan ms de un alfabeto para el cifrado. En este
caso, existe una periodicidad d con la que se repite la misma transformacin. En
su ataque, para encontrar este perodo contamos con el Mtodo de Kasiski y el
Indice de Coincidencia.
9. El Mtodo de Kasiski ayuda a determinar el perodo de un criptograma mediante
la simple inspeccin de ste. Consiste en buscar cadenas de caracteres
repetidos en el texto cifrado. El valor del mximo comn divisor de las distancias
entre tales cadenas ser el perodo buscado.
10. El Indice de Coincidencia nos ayuda a determinar si los d textos cifrados
independientes provenientes del criptograma se corresponden, cada uno, a
sustituciones simples comparando su valor con el caracterstico del lenguaje.
Ambos mtodos, Kasiski e Indice de Coincidencia, se complementan.
11. Los sistemas de cifra polialfabtica con clave continua en la que dicha clave
corresponde a un texto en el mismo lenguaje, suaviza la distribucin de
frecuencias. Si bien no existe perodo en este caso, puede criptoanalizarse
mediante el Mtodo de Friedman que consiste en buscar pares M
i
K
i
de alta
frecuencia que entreguen el carcter del criptograma analizado. Mediante
combinaciones mltiples de texto en claro y claves posibles puede determinarse,
104 CRIPTOSISTEMAS CLSICOS
bajo ciertas condiciones, trozos del mensaje y de la clave en cuestin.
12. Los cifradores por sustitucin poligrmica aplican las tcnicas de sustitucin
sobre digramas, trigramas, etc., con el objeto de destruir la distribucin de
frecuencia caracterstica de los monogramas. Son tpicos el cifrador de Playfair y
el de Hill.
13. El ataque al sistema de cifra poligrmico de Playfair se realiza mediante la
tcnica de Anlisis de Digramas con el objeto de reconstruir la matriz de cifra.
14. El cifrado de Hill introduce el uso de las matemticas de matrices. Aunque es un
mtodo de cifra muy interesante, no pudo competir con otras mquinas de cifrar
de la poca como el Enigma.
15. Aunque se obtienen con el sistema de Hill valores de distancia de unicidad muy
altos y por lo tanto el ataque por fuerza bruta es inviable, presenta una gran
debilidad ante ataques con texto en claro conocido.
16. Para atacar un cifrado de Hill conociendo el texto en claro, buscamos vectores
unitarios en el texto en claro o en el criptograma, lo que nos dar de forma
inmediata la matriz de la clave. Si no es posible encontrar dichos vectores
unitarios, usamos la tcnica de Gauss-Jordan que consiste en diagonalizar, por
ejemplo, la matriz Texto Claro/Texto Cifrado, de lo cual puede deducirse la clave.
17. Los cifradores por transposicin utilizan la permutacin de los mismos caracteres
del texto en claro realizando permutaciones de alfabetos, por grupos, columnas,
filas y series, pudiendo utilizarse si se desea una clave. Este cifrado rompe las
cadenas caractersticas del lenguaje.
18. El criptoanlisis de cifrados por transposicin se realiza aplicando Tcnicas de
Anagramacin, que consiste en la distribucin del criptograma en bloques de
digramas y la comprobacin posterior, mediante una ventana de texto cifrado, de
la aparicin de digramas caractersticos del lenguaje con el uso de una tabla de
digramas caractersticos. Si dentro de la ventana de comparacin, la media de
los valores de digramas que se forman es alta y la desviacin baja, esto puede
indicar la presencia de un perodo de cifra.
19. El cifrado de Vernam usa como clave una cadena de bits para realizar la suma
or exclusivo con el mensaje. Aunque fue diseado para cifrar mensajes
representados por el cdigo Baudot, el cifrador de Vernam puede usarse para
cifrar de forma binaria cualquier archivo, con o sin formato, mediante la
representacin en cdigo ASCII o ANSI de todos los caracteres.
20. Si la secuencia de clave de un cifrador de Vernam binario es de tipo aleatorio y
adems de uso nico, el sistema de cifra conocido como one-time pad es
perfecto en tanto resulta imposible deducir la clave. Esta idea dar luego paso a
los denominados cifradores de flujo.
21. Otros tipos de cifrado son las transformaciones por adicin y sustraccin de texto
CRIPTOSISTEMAS CLSICOS 105
en claro con claves, puesto que esta operacin tiene inversa. Tambin es
posible la transformacin por conversin de la base del sistema de numeracin,
transformaciones mediante operaciones lgicas booleanas y transformaciones
matriciales en general.
22. Las mquinas de cifrar corresponden a sistemas implantados en equipos
electromecnicos entre los que cabe destacar las mquinas a rotor como el
Enigma y Hagelin, utilizadas para cifrar mensajes durante la 2 Guerra Mundial.
23. Otras mquinas de cifra anteriores al siglo XX que conforman los pilares de la
criptografa clsica, son el cifrador polialfabtico de Alberti y los de Wheatstone y
Bazeries, estos ltimos basados en discos.
LIBRO ELECTRNICO DE SEGURIDAD INFORMTICA Y CRIPTOGRAFA
AUTOR: JORGE RAMIO AGUIRRE
UNIVERSIDAD POLITCNICA DE MADRID
ESPAA - COPYRIGHT 2006 (JRA)
El libro electrnico en su versin 4.1 de 1 de marzo de 2006, contiene los documentos:
ARCHIVO CONTENIDO DEL ARCHIVO
- PortadaLibro.doc: Portada del libro
- PrologoLibro.doc: Prlogo de la versin 4.1 y de versiones anteriores
- Leame.doc: Este archivo
- 01PresentaLibro.ppt Presentacin del curso y libro electrnico v 4.1
- 02BreveIntroCripto.ppt Introduccin breve y rpida a la criptografa
- 03IntroSegInfo.ppt Introduccin a la Seguridad Informtica
- 04CalidadInfo.ppt Calidad de la Informacin y Virus
- 05GestionSeg.ppt Introduccin a la Gestin de la Seguridad
- 06TeoriaInfo.ppt Teora de la Informacin
- 07TeoriaNumeros.ppt Teora de los Nmeros
- 08CompAlgoritmos.ppt Teora de la Complejidad Algortmica
- 09CifraClasica.ppt Sistemas de Cifra Clsicos
- 10CifraModerna.ppt Sistemas de Cifra Modernos
- 11CifraFlujo.ppt Sistemas de Cifra en Flujo
- 12CifraSimetrica.ppt Cifrado Simtrico en Bloque
- 13CifraMochilas.ppt Cifrado Asimtrico con Mochilas
- 14CifraAsimetrica.ppt Cifrado Asimtrico Exponencial
- 15FuncionesHash.ppt Funciones Hash en Criptografa
- 16AutenticaFirma.ppt Autenticacin y Firma Digital
- 17CertDigitalesPKCS.ppt Certificados Digitales y Estndar PKCS
- 18CorreoSeguro.ppt Aplicaciones de Correo Seguro
- 19ProtocolosCripto.ppt Protocolos y Esquemas Criptogrficos
- 20CurvasElipticas.ppt Introduccin a Cifra con Curvas Elpticas (*)
- 21BibSWTablasyOtros.ppt Bibliografa, Enlaces, Tablas, Software y Documentos
(*) Captulo escrito por el Dr. Josep Mara Miret Biosca (Universitat de Lleida Espaa)
Archivo SegInfoCrip_v41.zip:
- 3 pginas en formato Word (adems de sta)
- 1.106 diapositivas en formato Power Point
Puede descargarse un documento de 105 pgina sobre Criptografa Clsica desde:
http://www.criptored.upm.es/descarga/CriptoClasica.zip
NOTA: en la misma direccin Web existe tambin una versin del libro electrnico y
documento en formatos pdf: http://www.criptored.upm.es/guiateoria/gt_m001a.htm
LIBRO ELECTRNICO DE SEGURIDAD INFORMTICA Y
CRIPTOGRAFA
PRLOGO DE LA SEXTA EDICIN v4.1 EN INTERNET
Madrid, 1 de marzo de 2006
Estimados amigos y amigas:
Con un nivel de descargas de la versin anterior 4.0 que se han acercado nuevamente a las
40.000 durante un ao, a estas alturas las palabras sobran.
En esta sexta edicin nuevamente he contado con la inestimable colaboracin del Dr. Josep
Mara Miret Biosca, profesor de la Universitat de Lleida, en el captulo dedicado a curvas
elpticas que se ha reestructurado. En cuanto a los dems captulos, todos han sido
revisados y en su gran mayora actualizados. Las mayores novedades las encontrar en el
captulo de cifra simtrica con el algoritmo AES y en el captulo de cifra asimtrica con una
profundizacin en la generacin de claves y debilidades en RSA.
Se han aumentado los enlaces a pginas Web y en el ltimo captulo se recogen todos estos
sitios Web con una breve descripcin del contenido de la pgina.
As, esta versin 4.1 cuenta con un total del 1.106 diapositivas, casi una centena ms que la
versin anterior.
Espero que este libro electrnico le sea de utilidad en su aprendizaje de la criptografa,
una apasionante rama de la seguridad informtica en la que est principalmente enfocado.
Muchas gracias a todos
El autor
Madrid, 1 de marzo de 2006
PRLOGO DE LA QUINTA EDICIN v4.0 EN INTERNET
Madrid, 1 de marzo de 2005
Estimados compaeros de ruta:
Permtanme esta licencia en la forma de saludo del prlogo de esta quinta edicin. La razn
de este trato tan personal radica en la certeza de que muchos de aquellos amigos/as que ya
han ledo, estudiado e incluso impartido clases y conferencias con esta documentacin, se
descargarn la nueva edicin y seguirn profundizando en estos temas apasionantes de la
criptografa y la proteccin de la informacin, al igual que debo hacerlo yo no queda otro
remedio en esta cambiante especialidad- de cuando en cuando.
Como corresponde a cualquier nueva versin, los captulos han sido actualizados y adems
se ha incluido uno nuevo sobre la cifra con curvas elpticas, gracias a la colaboracin del Dr.
Josep Mara Miret Biosca, profesor de la Universidad de Lleida; a quien desde este prlogo
agradezco su excelente predisposicin para entregarme sus notas sobre este tema y que en
LIBRO ELECTRNICO DE SEGURIDAD INFORMTICA Y CRIPTOGRAFA v4.1 Pg .i
prximas ediciones actualizar. Adems, a diferencia de la versin v3.2, los archivos tienen
cada uno un nombre relacionado con el tema que trata para una bsqueda ms rpida.
Como novedad docente, he credo oportuno incluir en algunas diapositivas enlaces a pginas
Web, de forma que pinchando en el icono correspondiente podamos acceder directamente a
ese sitio y contrastar informacin. Adems, en tanto la teora en ingeniera poco o nada
vale si no va asociada con unas prcticas, al final de los captulos que as lo requieren, se
han aadido diversos ejercicios prcticos para realizarlos con programas y aplicaciones de
tipo freeware.
De esta forma, la versin v4.0 cuenta con un total del 1.030 diapositivas, una centena ms
que la versin anterior. Adems, puede descargar un documento en Word de 106 pginas
sobre criptografa clsica desde http://www.criptored.upm.es/descarga/CriptoClasica.zip
Nuevamente, mil gracias a todos y todas por hacer de este libro electrnico un verdadero
boom editorial en Internet , lo cual no deja de sorprenderme al constatar que de la versin
v3.2 que con fecha de hoy ha quedado ya obsoleta, las descargas en un ao han llegado a la
nada despreciable cifra de 40.000.
Dr. Ingeniero de Telecomunicacin Diplomado por la Universidad Politcnica de Madrid.
Profesor titular del Departamento de Lenguajes, Proyectos y Sistemas Informticos de la Escuela
Universitaria de Informtica de la Universidad Politcnica de Madrid.
Es profesor y coordinador de la asignatura de Seguridad Informtica que se imparte desde el ao
1994 como asignatura optativa de tercer curso en la titulacin de Ingeniero Tcnico en Informtica
de Gestin del Plan de Estudios 1992.
Desde el ao 2005 es el coordinador de una nueva asignatura de libre eleccin Gestin, Auditora,
Normativas y Legislacin en Seguridad Informtica, cuya particularidad es que los docentes sern
conferenciantes invitados de diversos organismos, empresas e instituciones, expertos en el tema.
Es el creador y coordinador de CriptoRed, la Red Temtica Iberoamericana de Criptografa y
Seguridad de la Informacin, en la que participan ms de 550 expertos e investigadores de 160
universidades y centros de investigacin, as como empresas de sector de las NTIs, desde cuyo
servidor se descargan ms de 25.000 documentos mensualmente.
Fue partner de la Red ECET, European Computer Education and Training (2001-2004), y a partir
de 2005 de Red ETN DEC European Thematic Network for Doctoratal Education in Computing,
cuyo objetivo es el anlisis de los estudios de doctorado.
Desde el ao 2000 viene impartiendo diversas conferencias y escribiendo documentos en los que
hace ver la necesidad de crear un espacio docente para la introduccin de las asignaturas
relacionadas con la seguridad informtica en los planes de estudios universitarios y la creacin de
una Ingeniera en Seguridad Informtica.
Es miembro del Subcomit de Seguridad de Tecnologas de la Informacin (SC 27) del Comit
Tcnico de Normalizacin de Tecnologa de la Informacin (CTN 71) de AENOR.
Es miembro del comit de revisores de IEEE Amrica Latina.
Ha participado en numerosos congresos en calidad de conferenciante invitado, moderador de
sesin, miembro del comit organizador o miembro del comit de programa.
A fecha de enero de 2006, ha impartido diversos cursos, charlas y conferencias sobre criptografa,
seguridad informtica y la red temtica en: Argentina, Bolivia, Brasil, Bulgaria, Chile, Colombia,
Costa Rica, Cuba, Espaa, Mxico, Panam, Per, Repblica Dominicana, Uruguay y Venezuela.
jramio@eui.upm.es
Web personal: http://www.lpsi.eui.upm.es/~jramio
Web asignatura SI: http://www.lpsi.eui.upm.es/SInformatica/SInformatica.htm
Web asignatura GANLESI: http://www.lpsi.eui.upm.es/GANLESI/GANLESI.htm
Web CriptoRed: http://www.criptored.upm.es/
Pg. ii LIBRO ELECTRNICO DE SEGURIDAD INFORMTICA Y CRIPTOGRAFA v4.1