Este documento resume un libro titulado "Criptografía y Seguridad en Computadores". El libro trata sobre conceptos básicos de criptografía como criptosistemas, criptoanálisis y seguridad. También cubre fundamentos teóricos como teoría de la información, complejidad algorítmica y aritmética modular. El libro proporciona una introducción a estos temas y su importancia para la criptografía.
3. —¿Qu´ significa habla, amigo y entra? —pregunt´ Merry.
e o
—Es bastante claro —dijo Gimli—. Si eres un amigo, dices la contrase˜a y las puertas se
n
abren y puedes entrar.
—S´ —dijo Gandalf—, es probable que estas puertas est´n gobernadas por palabras. . .
ı e
El Se˜or de Los Anillos
n
J.R.R. Tolkien
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
5. Copyright
c 1999-2003 de Manuel Jos´ Lucena L´pez. Todos los derechos reservados.
e o
Este documento puede ser distribuido libre y gratuitamente bajo cualquier soporte siempre
que se respete su integridad.
Queda prohibida su venta sin permiso expreso del autor.
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
7. Agradecimientos
A Loles, ella sabe por qu´.
e
A los chicos de Kript´polis, por darme esta oportunidad.
o
A mis alumnos, por aguantarme cada a˜o.
n
A Borja Arber´s, Alejandro Benab´n, Manuel C´tedra, Jes´s Cea, Dextar, Gabriel Horacio
a e a u
D´ Luis Esc´nez, L´zaro Escudero, Sacha Fuentes, David Garc´ Luis Garc´ Alfonso
ıez, a a ıa, ıa,
Gonz´lez, Germ´n J´come, Juan Mart´ Juan Andr´s Olmo, Juan Ram´n Moral, Antonio
a a a ın, e o
Jes´s Navarro, Alejandro Noguera, Jos´ A. Ramos, Carlos Romeo, Javier Rubio, Felipe
u e
Santos, V´ıctor A. Villagra, y a todos aquellos que, enviando sugerencias o correcciones, han
ayudado a mejorar esta obra.
A todos los que alguna vez han compartido sus conocimientos, por enriquecernos a todos.
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
9. Prefacio
El presente documento ha sido elaborado originalmente como apoyo a la asignatura “Crip-
tograf´ y Seguridad en Computadores”, de 3er Curso de Ingenier´ T´cnica en Inform´tica de
ıa ıa e a
Gesti´n, de la Universidad de Ja´n, empleando el procesador de textos L TE
o e A X 2ε , y los editores
gr´ficos XFig y Gimp. Puede descargarse su ultima versi´n, as´ como eventuales correcciones
a ´ o ı
en la siguiente direcci´n web:
o
http://wwwdi.ujaen.es/~mlucena
No se pretende que estos apuntes sustituyan a la bibliograf´ de la asignatura, ni a las
ıa
clases te´ricas, sino que sirvan m´s bien como complemento a las notas que el alumno debe
o a
tomar en clase. Asimismo, no debe considerarse un documento definitivo y exento de errores,
si bien ha sido elaborado con detenimiento y revisado exhaustivamente. El autor pretende que
sea mejorado y ampliado con cierta frecuencia, lo que probablemente desembocar´ en sucesivas
a
versiones, y para ello nadie mejor que los propios lectores para plantear dudas, buscar errores,
y sugerir mejoras.
Ja´n, 3 de marzo de 2003.
e
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
19. Parte I
Preliminares
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
20.
21. Cap´
ıtulo 1
Introducci´n
o
A lo largo de 1995 y principios de 1996, los profesores Jos´ Ignacio Pel´ez S´nchez, Antonio
e a a
S´nchez Solana y Manuel Jos´ Lucena L´pez elaboraron una Colecci´n de Apuntes para la
a e o o
asignatura ‘Criptograf´ y Seguridad en Computadores’, impartida en tercer curso de Inge-
ıa
nier´ T´cnica en Inform´tica de Gesti´n, en la Universidad de Ja´n. Varios a˜os han pasado
ıa e a o e n
desde entonces, y, como cab´ esperar en una disciplina de tan r´pida evoluci´n, las cosas han
ıa a o
cambiado. Algunos algoritmos han perdido parte de su inter´s —como es el caso de DES, que
e
fue vencido 1 el verano de 1998—, nuevas t´cnicas han surgido o se han popularizado —PGP
e
es un claro ejemplo de que para el usuario de a pie se puede conseguir aut´ntica privacidad—,
e
temas que antes ten´ un inter´s limitado se han convertido en fundamentales —la r´pi-
ıan e a
da expansi´n de Internet obliga no s´lo al profesional, sino al usuario medio, a tener ciertos
o o
conocimientos b´sicos sobre seguridad—, etc.
a
La presente colecci´n de apuntes naci´ con la vocaci´n de intentar cubrir en la medida de
o o o
lo posible ese vac´ Sin embargo, la escasez de documentaci´n en Espa˜ol sobre Criptograf´
ıo. o n ıa,
y las dificultades que encontraban muchos alumnos para complementar bibliogr´ficamente la
a
asignatura, unido todo ello a la sorprendente difusi´n del anterior texto hizo surgir en el autor
o
la idea de distribuir esta obra en formato electr´nico y de forma gratuita.
o
1.1. C´mo Leer esta Obra
o
Esta obra ha sido organizada en cinco partes:
1. Preliminares. Aqu´ se incluyen todos los conceptos b´sicos y se introduce la terminolog´
ı a ıa
empleada en el resto del libro. Su lectura es recomendable incluso para las personas que
ya conocen el tema, puesto que puede evitar cierta confusi´n en los t´rminos empleados
o e
1
En realidad, el ataque que logr´ tener ´xito se realiz´ por la fuerza bruta, por lo que no podemos hablar
o e o
en un sentido estricto de derrota. De hecho, a´n no se ha encontrado ninguna debilidad seria en su dise˜o; lo
u n
que s´ qued´ patente es que su longitud de clave es demasiado peque˜a.
ı o n
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
22. 22 1. Introducci´n
o
a lo largo de la obra.
2. Fundamentos Te´ricos de la Criptograf´ Se desarrollan brevemente los resultados te´ri-
o ıa. o
cos sobre los que se va a apoyar el resto del libro. Si usted no domina las Matem´ticas,
a
o simplemente no tiene inter´s en estos fundamentos, puede pasarla por alto.
e
3. Criptograf´ de Llave Privada. Se introduce la Criptograf´ Cl´sica, as´ como los algo-
ıa ıa a ı
ritmos sim´tricos de cifrado.
e
4. Criptograf´ de Llave P´blica. En esta parte se estudian los algoritmos asim´tricos y los
ıa u e
m´todos de autentificaci´n. Adem´s se incluye un cap´
e o a ıtulo sobre PGP.
5. Seguridad en Redes de Computadores. Esta es la parte menos te´rica y quiz´ m´s pr´ctica
o a a a
desde el punto de vista de la seguridad (no desde el punto de vista criptogr´fico). Se
a
estudian en ella brevemente los problemas que se dan en redes de computadoras, para
que el lector pueda comenzar a elaborar por s´ mismo estrategias de protecci´n de la
ı o
informaci´n.
o
Este texto no tiene por qu´ ser le´ cap´
e ıdo ıtulo por cap´ıtulo, aunque se ha organizado de
manera que los contenidos m´s b´sicos aparezcan primero. La parte de fundamentos te´ricos
a a o
est´ orientada a personas con unos conocimientos m´
a ´
ınimos sobre Algebra y Programaci´n, o
pero puede ser ignorada si el lector est´ dispuesto a creerse lo que encuentre en posteriores
a
cap´ıtulos. La recomendaci´n del autor en este sentido es clara: si es su primer contacto con la
o
Criptograf´ deje los fundamentos te´ricos justo para el final, o correr´ el riesgo de perderse
ıa, o a
entre conceptos que, si de una parte son necesarios para una comprensi´n profunda del tema,
o
no son imprescindibles a la hora de empezar a adentrarse en este apasionante mundo.
Se ha pretendido que todos los conceptos queden suficientemente claros con la sola lectura
de este libro, pero se recomienda vivamente que si el lector tiene inter´s por profundizar en
e
cualquiera de los aspectos tratados aqu´ consulte la bibliograf´ para ampliar sus conocimien-
ı, ıa
tos, pudiendo emplear como punto de partida las propias referencias que aparecen al final de
este documento, aunque por desgracia, algunas de las m´s interesantes est´n en ingl´s.
a a e
1.2. Algunas notas sobre la Historia de la Criptograf´
ıa
La Criptograf´ moderna nace al mismo tiempo que las computadoras. Durante la Segunda
ıa
Guerra Mundial, en un lugar llamado Bletchley Park, un grupo de cient´ ıficos entre los que se
encontraba Alan Turing, trabajaba en el proyecto ULTRA tratando de descifrar los mensa-
jes enviados por el ej´rcito alem´n con los m´s sofisticados ingenios de codificaci´n ideados
e a a o
hasta entonces: la m´quina ENIGMA y el cifrado Lorenz. Este grupo de cient´
a ıficos dise˜´ y
no
utiliz´ el primer computador de la Historia, denominado Colossus —aunque esta informaci´n
o o
permaneci´ en secreto hasta mediados de los 70—.
o
Desde entonces hasta hoy ha habido un crecimiento espectacular de la tecnolog´ crip-
ıa
togr´fica, si bien la mayor parte de estos avances se manten´ —y se siguen manteniendo,
a ıan
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
23. 1.2. Algunas notas sobre la Historia de la Criptograf´
ıa 23
seg´n algunos— en secreto. Financiadas fundamentalmente por la NSA (Agencia Nacional
u
de Seguridad de los EE.UU.), la mayor parte de las investigaciones hasta hace relativamente
poco tiempo han sido tratadas como secretos militares. Sin embargo, en los ultimos a˜os,
´ n
investigaciones serias llevadas a cabo en universidades de todo el mundo han logrado que la
Criptograf´ sea una ciencia al alcance de todos, y que se convierta en la piedra angular de
ıa
asuntos tan importantes como el comercio electr´nico, la telefon´ m´vil, o las nuevas platafor-
o ıa o
mas de distribuci´n de contenidos multimedia. Esta dualidad civil–militar ha dado lugar a una
o
curiosa doble historia de la Criptograf´ en la que los mismos algoritmos eran descubiertos,
ıa,
con pocos a˜os de diferencia, primero por equipos de an´nimos militares y posteriormente por
n o
matem´ticos civiles, alcanzando unicamente estos ultimos el reconocimiento p´blico por sus
a ´ ´ u
trabajos.
Muchas son las voces que claman por la disponibilidad p´blica de la Criptograf´ La ex-
u ıa.
periencia ha demostrado que la unica manera de tener buenos algoritmos es que ´stos sean
´ e
accesibles, para que puedan ser sometidos al escrutinio de toda la comunidad cient´ ıfica. Ejem-
plos claros de oscurantismo y de sus nefastas consecuencias han sido la ca´ del algoritmo que
ıda
emplean para su autentificaci´n los tel´fonos celulares GSM en menos de cuarenta y ocho ho-
o e
ras desde que su c´digo fuera descubierto, el controvertido y manifiestamente in´til algoritmo
o u
de protecci´n de los DVD, o las infructuosas iniciativas de las casas discogr´ficas encamina-
o a
das a impedir la pirater´ por citar algunos. La seguridad no debe basarse en mantener los
ıa,
algoritmos ocultos —puesto que ´stos, aparte de suscitar poca confianza en los usuarios, tarde
e
o temprano acaban siendo analizados y descritos— sino en su resistencia demostrada tanto
te´rica como pr´cticamente, y la unica manera de demostrar la fortaleza de un algoritmo es
o a ´
someti´ndolo a todo tipo de ataques. Uno de los cap´
e ıtulos m´s conocidos de esta historia ocu-
a
rri´ en el verano de 1999, cuando un programador denunci´ una supuesta puerta trasera en el
o o
c´digo criptogr´fico de todas las versiones del sistema operativo Windows. Como este c´digo
o a o
permanece en secreto, y se considera delito su an´lisis —¿Qu´ pensar´ usted si se compra un
a e ıa
coche y se le proh´ desarmarlo para ver c´mo funciona?—, es desgraciadamente imposible
ıbe o
que Microsoft pueda despejar cualquier sombra de duda sobre la seguridad de sus sistemas
operativos. La pretensi´n de establecer sistemas de patentes sobre el software viene a agravar
o
la situaci´n, con un claro perjuicio tanto de los usuarios como de las peque˜as empresas fren-
o n
te al poder de las grandes corporaciones. Por desgracia, parece que a nuestros gobiernos les
interesan m´s los beneficios de las multinacionales que los intereses de los ciudadanos.
a
Es imposible desligar la Criptograf´ moderna de todas las consideraciones pol´
ıa ıticas, fi-
los´ficas y morales que suscita. Recordemos, por ejemplo, que el software criptogr´fico est´ su-
o a a
jeto en EE.UU. a las mismas leyes que el armamento nuclear, y que en Europa se pretende
elaborar legislaciones parecidas. Una consecuencia inmediata de esto es que las versiones que se
exportan de los exploradores de Internet m´s extendidos (Netscape y Explorer), incorporaban
a
hasta hace poco tiempo una seguridad d´bil, impidiendo, por ejemplo, establecer conexiones
e
realmente seguras para conectarse a un banco —con el agravante de que no se informaba de ello
adecuadamente al usuario—. Si bien esta situaci´n se ha visto aliviada, debido a la relajaci´n
o o
de estas restrictivas leyes, a´n queda mucho camino por recorrer. Otra de las l´
u ıneas de debate
es la intenci´n de algunos gobiernos de almacenar todas las claves privadas de sus ciudadanos,
o
necesarias para firmar digitalmente, y considerar ilegales aquellas que no est´n registradas. Es
e
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
24. 24 1. Introducci´n
o
como pedirnos a todos que le demos a la polic´ una copia de las llaves de nuestra casa —con
ıa
el pretexto, por supuesto, de luchar contra el terrorismo y el narcotr´fico—.
a
Existe un falaz argumento que algunos esgrimen en contra del uso privado de la Cripto-
graf´ proclamando que ellos nada tienen que ocultar. Estas personas insin´an que cualquiera
ıa, u
que abogue por el uso libre de la Criptograf´ es poco menos que un delincuente, y que la ne-
ıa
cesita para encubrir sus cr´
ımenes. En ese caso, ¿por qu´ esas personas que no tienen nada que
e
ocultar no env´ todas sus cartas en tarjetas postales, para que todos leamos su contenido?,
ıan
o ¿por qu´ se molestan si alguien escucha sus conversaciones telef´nicas?. Defender el ´mbito
e o a
de lo privado es un derecho inalienable de la persona, que en mi opini´n debe prevalecer sobre
o
la obligaci´n que tienen los estados de perseguir a los delincuentes. D´mosle a los gobiernos
o e
poder para entrometerse en nuestras vidas, y acabar´n haci´ndolo, no les quepa duda.
a e
En el ojo del hurac´n se encuentra la red Echelon, que constituye una de las mayores
a
amenazas contra la libertad de toda la Historia de la Humanidad. B´sicamente se trata de
a
una red, creada por la NSA en 1980 —sus precursoras datan de 1952— en colaboraci´n o
con Gran Breta˜a, Australia y Nueva Zelanda, para monitorizar pr´cticamente todas las
n a
comunicaciones electr´nicas —tel´fono, e-mail y fax principalmente— del planeta, y buscar
o e
de manera autom´tica ciertas palabras clave. La informaci´n obtenida ir´ a la NSA, que
a o ıa
luego podr´ a su vez brind´rsela a otros pa´
ıa a ıses. El pretexto es, nuevamente, la lucha contra el
terrorismo, pero podr´ ser empleada tanto para espionaje industrial —como presuntamente
ıa
ha hecho durante a˜os el Gobierno Franc´s, poniendo a disposici´n de sus propias compa˜´
n e o nıas
secretos robados a empresas extranjeras—, como para el control de aquellas personas que
pueden representar amenazas pol´ ıticas a la estabilidad de la sociedad moderna. La Uni´n o
Europea reconoci´ la existencia de Echelon, pero hasta la fecha nadie ha exigido a ning´n
o u
gobierno explicaci´n alguna; es m´s, parece que los planes de la U.E. a respecto pasan por
o a
el despliegue de su propia red de vigilancia electr´nica, llamada Enfopol, en la que lleva
o
trabajando unos doce a˜os.
n
La red Enfopol tendr´ caracter´
ıa ısticas tan aterradoras como la posesi´n de todas las claves
o
privadas de los ciudadanos europeos, la monitorizaci´n de tel´fonos, buzones de voz, faxes,
o e
chats y correo electr´nico, adem´s de la incorporaci´n de puertas traseras a los proveedores
o a o
de Internet. Existe un documento de la U.E. —ENFOPOL 112 10037/95—, firmado por todos
y cada uno de los miembros de la Uni´n, en el que se aprueba la creaci´n de esta red. Sin
o o
embargo, ninguno de los estados miembros ha confirmado ni desmentido nada al respecto.
Este secretismo es m´s que preocupante, pues deja a la supuesta democracia en que vivimos
a
maniatada frente a un asunto tan importante, impidiendo que se abra el imprescindible de-
bate p´blico que deber´ anteceder a tan grave asunto. ¿Qu´ nos queda de la Libertad y la
u ıa e
Democracia si se nos ocultan asuntos tan importantes por nuestro bien?. Afortunadamente, el
proyecto Enfopol se encuentra paralizado, pero, ¿por cu´nto tiempo?
a
No cabe duda de que la informaci´n se est´ convirtiendo en la mayor fuente de poder que
o a
ha conocido la Humanidad, y que la Criptograf´ es una herramienta esencial para su control.
ıa
Es necesario, pues, que los ciudadanos de a pie conozcan sus ventajas e inconvenientes, sus
peligros y leyendas. Dicen que vivimos en Democracia pero, si a la gente no se le muestra toda
la informaci´n relevante de manera honesta e imparcial, ¿C´mo va a poder decidir su futuro?
o o
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
25. 1.3. N´meros Grandes
u 25
Esta obra pretende poner su peque˜o granito de arena en ese sentido.
n
1.3. N´ meros Grandes
u
Los algoritmos criptogr´ficos emplean claves con un elevado n´mero de bits, y usualmente
a u
se mide su calidad por la cantidad de esfuerzo que se necesita para romperlos. El tipo de
ataque m´s simple es la fuerza bruta, que simplemente trata de ir probando una a una todas
a
las claves. Por ejemplo, el algoritmo DES tiene 256 posibles claves. ¿Cu´nto tiempo nos llevar´
a ıa
probarlas todas si, pongamos por caso, dispusi´ramos de un computador capaz de hacer un
e
mill´n de operaciones por segundo? Tardar´
o ıamos. . . ¡m´s de 2200 a˜os! Pero ¿y si la clave del
a n
ejemplo anterior tuviera 128 bits? El tiempo requerido ser´ de 1024 a˜os.
ıa n
Es interesante dedicar un apartado a tratar de fijar en nuestra imaginaci´n la magnitud real
o
de este tipo de n´meros. En la tabla 1.1 podemos observar algunos valores que nos ayudar´n a
u a
comprender mejor la aut´ntica magnitud de muchos de los n´meros que veremos en este texto.
e u
Observ´ndola podremos apreciar que 1024 a˜os es aproximadamente cien billones de veces la
a n
edad del universo (y eso con un ordenador capaz de ejecutar el algoritmo de codificaci´n o
completo un mill´n de veces por segundo). Esto nos deber´ disuadir de emplear mecanismos
o ıa
basados en la fuerza bruta para reventar claves de 128 bits.
Para manejar la tabla con mayor rapidez, recordemos que un mill´n es aproximadamente
o
220 ,y que un a˜o tiene m´s o menos 2
n a 24 segundos. Recorrer completamente un espacio de
claves de, por ejemplo, 256 bits a raz´n de un mill´n por segundo supone 2256−44 = 2212 a˜os
o o n
de c´lculo.
a
1.4. Acerca de la Terminolog´ Empleada
ıa
En muchos libros sobre Criptograf´ aparecen t´rminos como encriptar y desencriptar,
ıa e
adoptados con toda probabilidad del verbo anglosaj´n encrypt. El lector podr´ comprobar
o a
que este tipo de expresiones ha sido evitado en el presente texto, debido a la existencia de pa-
labras perfectamente v´lidas que pertenecen al idioma castellano, como son cifrar-descifrar y
a
codificar-decodificar (o descodificar). La opini´n del autor es que s´lo deben emplearse t´rminos
o o e
for´neos cuando nuestro riqu´
a ısimo idioma carezca de expresiones adecuadas para representar
las ideas en cuesti´n. Esta ultima es la situaci´n en la que se encuentra la palabra estegano-
o ´ o
graf´ hispanizaci´n del t´rmino ingl´s steganography —que a su vez proviene del t´
ıa, o e e ıtulo del
libro ‘Steganographia’, escrito por Johannes Trithemius en 1518—.
El lector podr´ advertir que en este texto aparece el t´rmino autentificaci´n, en lugar
a e o
de autenticaci´n. Quisiera hacer notar en este punto que ambos t´rminos son correctos y
o e
est´n recogidos en el Diccionario de la Real Academia, y que aqu´ empleo el primero de ellos
a ı
simplemente porque me gusta m´s que el otro.
a
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
26. 26 1. Introducci´n
o
Valor N´mero
u
Probabilidad de ser fulminado por un rayo (por d´ıa) 1 entre 9.000.000.000 (233 )
Probabilidad de ganar el primer premio de la Loter´ Primi-
ıa 1 entre 13.983.816 (223 )
tiva Espa˜ola
n
Probabilidad de ganar el primer premio de la Primitiva y 1 entre 256
caer fulminado por un rayo el mismo d´ıa
Tiempo hasta la pr´xima glaciaci´n
o o 14.000 (214 ) a˜os
n
Tiempo hasta que el Sol se extinga 10 9 (230 ) a˜ os
n
Edad del Planeta Tierra 109 (230 ) a˜os
n
Edad del Universo 1010 (234 ) a˜os
n
N´mero
u de ´tomos en el Planeta Tierra
a 1051 (2170 )
N´mero
u de ´tomos en el Sol
a 1057 (2189 )
N´mero
u de ´tomos en la V´ L´ctea
a ıa a 1067 (2223 )
N´mero
u de ´tomos en el Universo (excluyendo materia os-
a 1077 (2255 )
cura)
Masa de la Tierra 5,9 × 1024 (282 ) Kg.
Masa del Sol 2 × 1030 (2100 ) Kg.
Masa estimada del Universo (excluyendo materia oscura) 1050 (2166 ) Kg.
Volumen de la Tierra 1021 (269 ) m3
Volumen del Sol 1027 (289 ) m3
Volumen estimado del Universo 1082 (2272 ) m3
Cuadro 1.1: Algunos n´meros grandes
u
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
27. 1.5. Notaci´n Algor´
o ıtmica 27
1.5. Notaci´n Algor´
o ıtmica
En este libro se describen varios algoritmos de inter´s en Criptograf´ La notaci´n emplea-
e ıa. o
da en ellos es muy similar a la del lenguaje de programaci´n C, con objeto de que sea accesible
o
al mayor n´mero de personas posible. Si usted no conoce este lenguaje, siempre puede acudir
u
a cualquier tutorial b´sico para poder entender los algoritmos de este libro, y despu´s llevar a
a e
cabo sus propias implementaciones en cualquier otro lenguaje de programaci´n. Sin embargo,
o
aunque la notaci´n que uso es parecida, no es exactamente la misma: all´ donde el empleo de
o ı
un C puro pon´ en peligro la claridad en la descripci´n de los algoritmos, me he permitido
ıa o
peque˜as licencias. Tampoco he tenido en cuenta ni mucho menos la eficiencia de tiempo o
n
memoria para estos algoritmos, por lo que mi sincero consejo es que no intenten cortar y pegar
para realizar sus propias implementaciones.
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
28. 28 1. Introducci´n
o
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
29. Cap´
ıtulo 2
Conceptos B´sicos sobre
a
Criptograf´
ıa
2.1. Criptograf´
ıa
Seg´n el Diccionario de la Real Academia, la palabra Criptograf´ proviene del griego
u ıa
κρυπτ oς, que significa oculto, y γρ´ ϕ ιν, que significa escritura, y su definici´n es: “Arte de
´ α o
escribir con clave secreta o de un modo enigm´tico”. Obviamente la Criptograf´ hace a˜os que
a ıa n
dej´ de ser un arte para convertirse en una t´cnica, o m´s bien un conglomerado de t´cnicas,
o e a e
que tratan sobre la protecci´n —ocultamiento frente a observadores no autorizados— de la
o
informaci´n. Entre las disciplinas que engloba cabe destacar la Teor´ de la Informaci´n, la
o ıa o
Teor´ de N´meros —o Matem´tica Discreta, que estudia las propiedades de los n´meros
ıa u a u
enteros—, y la Complejidad Algor´ ıtmica.
Existen dos trabajos fundamentales sobre los que se apoya pr´cticamente toda la teor´
a ıa
criptogr´fica actual. Uno de ellos, desarrollado por Claude Shannon en sus art´
a ıculos “A Mat-
hematical Theory of Communication” (1948) y “Communication Theory of Secrecy Systems”
(1949), sienta las bases de la Teor´ de la Informaci´n y de la Criptograf´ moderna. El se-
ıa o ıa
gundo, publicado por Whitfield Diffie y Martin Hellman en 1976, se titulaba “New directions
in Cryptography”, e introduc´ el concepto de Criptograf´ de Llave P´blica, abriendo enor-
ıa ıa u
memente el abanico de aplicaci´n de esta disciplina.
o
Conviene hacer notar que la palabra Criptograf´ s´lo hace referencia al uso de c´digos,
ıa o o
por lo que no engloba a las t´cnicas que se usan para romper dichos c´digos, conocidas en su
e o
conjunto como Criptoan´lisis. En cualquier caso ambas disciplinas est´n ´
a a ıntimamente ligadas;
no olvidemos que cuando se dise˜a un sistema para cifrar informaci´n, hay que tener muy
n o
presente su posible criptoan´lisis, ya que en caso contrario podr´
a ıamos llevarnos desagradables
sorpresas.
Finalmente, el t´rmino Criptolog´ aunque no est´ recogido a´n en el Diccionario, se
e ıa, a u
emplea habitualmente para agrupar tanto la Criptograf´ como el Criptoan´lisis.
ıa a
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
30. 30 2. Conceptos B´sicos sobre Criptograf´
a ıa
2.2. Criptosistema
Definiremos un criptosistema como una qu´
ıntupla (M, C, K, E, D), donde:
M representa el conjunto de todos los mensajes sin cifrar (lo que se denomina texto
claro, o plaintext) que pueden ser enviados.
C representa el conjunto de todos los posibles mensajes cifrados, o criptogramas.
K representa el conjunto de claves que se pueden emplear en el criptosistema.
E es el conjunto de transformaciones de cifrado o familia de funciones que se aplica a
cada elemento de M para obtener un elemento de C. Existe una transformaci´n diferente
o
Ek para cada valor posible de la clave k.
D es el conjunto de transformaciones de descifrado, an´logo a E.
a
Todo criptosistema ha de cumplir la siguiente condici´n:
o
Dk (Ek (m)) = m (2.1)
es decir, que si tenemos un mensaje m, lo ciframos empleando la clave k y luego lo desciframos
empleando la misma clave, obtenemos de nuevo el mensaje original m.
Existen dos tipos fundamentales de criptosistemas:
Criptosistemas sim´tricos o de clave privada. Son aquellos que emplean la misma clave
e
k tanto para cifrar como para descifrar. Presentan el inconveniente de que para ser
empleados en comunicaciones la clave k debe estar tanto en el emisor como en el receptor,
lo cual nos lleva preguntarnos c´mo transmitir la clave de forma segura.
o
Criptosistemas asim´tricos o de llave p´blica, que emplean una doble clave (kp , kP ).
e u
kp se conoce como clave privada y kP se conoce como clave p´blica. Una de ellas sirve
u
para la transformaci´n E de cifrado y la otra para la transformaci´n D de descifrado. En
o o
muchos casos son intercambiables, esto es, si empleamos una para cifrar la otra sirve para
descifrar y viceversa. Estos criptosistemas deben cumplir adem´s que el conocimiento de
a
la clave p´blica kP no permita calcular la clave privada kp . Ofrecen un abanico superior
u
de posibilidades, pudiendo emplearse para establecer comunicaciones seguras por canales
inseguros —puesto que unicamente viaja por el canal la clave p´blica, que s´lo sirve para
´ u o
cifrar—, o para llevar a cabo autentificaciones.
En la pr´ctica se emplea una combinaci´n de estos dos tipos de criptosistemas, puesto
a o
que los segundos presentan el inconveniente de ser computacionalmente mucho m´s costosos
a
que los primeros. En el mundo real se codifican los mensajes (largos) mediante algoritmos
sim´tricos, que suelen ser muy eficientes, y luego se hace uso de la criptograf´ asim´trica para
e ıa e
codificar las claves sim´tricas (cortas).
e
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
31. 2.3. Esteganograf´
ıa 31
Claves D´biles
e
En la inmensa mayor´ de los casos los conjuntos M y C definidos anteriormente son
ıa
iguales. Esto quiere decir que tanto los textos claros como los textos cifrados se representan
empleando el mismo alfabeto —por ejemplo, cuando se usa el algoritmo DES, ambos son
cadenas de 64 bits—. Por esta raz´n puede darse la posibilidad de que exista alg´n k ∈ K tal
o u
que Ek (M ) = M , lo cual ser´ catastr´fico para nuestros prop´sitos, puesto que el empleo de
ıa o o
esas claves dejar´ todos nuestros mensajes ¡sin codificar!.
ıa
Tambi´n puede darse el caso de que ciertas claves concretas generen textos cifrados de poca
e
calidad. Una posibilidad bastante com´n en ciertos algoritmos es que algunas claves tengan
u
la siguiente propiedad: Ek (Ek (M )) = M , lo cual quiere decir que basta con volver a codificar
el criptograma para recuperar el texto claro original. Estas circunstancias podr´ llegar a
ıan
simplificar enormemente un intento de violar nuestro sistema, por lo que tambi´n habr´ que
e a
evitarlas a toda costa.
La existencia de claves con estas caracter´ısticas, como es natural, depende en gran me-
dida de las peculiaridades de cada algoritmo en concreto, y en muchos casos tambi´n de los
e
par´metros escogidos a la hora de aplicarlo. Llamaremos en general a las claves que no co-
a
difican correctamente los mensajes claves d´biles (weak keys en ingl´s). Normalmente en un
e e
buen criptosistema la cantidad de claves d´biles es cero o muy peque˜a en comparaci´n con el
e n o
n´mero total de claves posibles. No obstante, conviene conocer esta circunstancia para poder
u
evitar en la medida de lo posible sus consecuencias.
2.3. Esteganograf´
ıa
La esteganograf´ —o empleo de canales subliminales— consiste en ocultar en el interior
ıa
de una informaci´n, aparentemente inocua, otro tipo de informaci´n (cifrada o no). Este
o o
m´todo ha cobrado bastante importancia ultimamente debido a que permite burlar diferentes
e ´
sistemas de control. Supongamos que un disidente pol´ıtico quiere enviar un mensaje fuera de
su pa´ burlando la censura. Si lo codifica, las autoridades jam´s permitir´n que el mensaje
ıs, a a
atraviese las fronteras independientemente de que puedan acceder a su contenido, mientras
que si ese mismo mensaje viaja camuflado en el interior de una imagen digital para una
inocente felicitaci´n navide˜a, tendr´ muchas m´s posibilidades de llegar a su destino. Como
o n a a
es de suponer, existen tantos mecanismos para llevar a cabo este camuflaje como nuestra
imaginaci´n nos permita.
o
Menci´n especial merece el uso de la esteganograf´ para exportar informaci´n sin violar
o ıa o
las leyes restrictivas que, con respecto a la Criptograf´ fuerte, existen en algunos pa´
ıa ıses. El
mensaje se env´ como texto claro, pero entremezclado con cantidades ingentes de basura. El
ıa
destinatario emplear´ t´cnicas esteganogr´ficas para separar la informaci´n util del resto. Esta
a e a o ´
t´cnica se conoce como chaffing and winnowing, que vendr´ a traducirse como llenar de paja y
e ıa
separar el grano de la paja. En consecuencia, tenemos un mecanismo para transmitir informa-
ci´n no cifrada, pero que s´lo puede ser reconstruida por el destinatario, con lo que en realidad
o o
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
32. 32 2. Conceptos B´sicos sobre Criptograf´
a ıa
hemos logrado protegerla sin usar en ning´n momento ning´n algoritmo de codificaci´n. Este
u u o
sistema surgi´ en marzo de 1998, propuesto por Ronald L. Rivest —uno de los creadores de
o
RSA—, como desaf´ a la pol´
ıo ıtica restrictiva del Gobierno de los EE.UU. con respecto a la
Criptograf´ No deja de ser en cierto modo una curiosidad, debido a lo enormemente grandes
ıa.
que son los mensajes en comparaci´n con la cantidad de texto util que se puede incluir en
o ´
ellos.
2.4. Criptoan´lisis
a
El criptoan´lisis consiste en comprometer la seguridad de un criptosistema. Esto se puede
a
hacer descifrando un mensaje sin conocer la llave, o bien obteniendo a partir de uno o m´s a
criptogramas la clave que ha sido empleada en su codificaci´n. No se considera criptoan´lisis
o a
el descubrimiento de un algoritmo secreto de cifrado; hemos de suponer por el contrario que
los algoritmos siempre son conocidos.
En general el criptoan´lisis se suele llevar a cabo estudiando grandes cantidades de pares
a
mensaje-criptograma generados con la misma clave. El mecanismo que se emplee para obte-
nerlos es indiferente, y puede ser resultado de escuchar un canal de comunicaciones, o de la
posibilidad de que el objeto de nuestro ataque responda con un criptograma cuando le envie-
mos un mensaje. Obviamente, cuanto mayor sea la cantidad de pares, m´s probabilidades de
a
´xito tendr´ el criptoan´lisis.
e a a
Uno de los tipos de an´lisis m´s interesantes es el de texto claro escogido, que parte de que
a a
conocemos una serie de pares de textos claros —elegidos por nosotros— y sus criptogramas
correspondientes. Esta situaci´n se suele dar cuando tenemos acceso al dispositivo de cifrado
o
y ´ste nos permite efectuar operaciones, pero no nos permite leer su clave —por ejemplo, las
e
tarjetas de los tel´fonos m´viles GSM—. El n´mero de pares necesarios para obtener la clave
e o u
desciende entonces significativamente. Cuando el sistema es d´bil, pueden ser suficientes unos
e
cientos de mensajes para obtener informaci´n que permita deducir la clave empleada.
o
Tambi´n podemos tratar de criptoanalizar un sistema aplicando el algoritmo de descifra-
e
do, con todas y cada una de las claves, a un mensaje codificado que poseemos y comprobar
cu´les de las salidas que se obtienen tienen sentido como posible texto claro. Este m´todo
a e
y todos los que buscan exhaustivamente por el espacio de claves K, se denominan ataques
por la fuerza bruta, y en muchos casos no suelen considerarse como aut´nticas t´cnicas de
e e
criptoan´lisis, reserv´ndose este t´rmino para aquellos mecanismos que explotan posibles de-
a a e
bilidades intr´
ınsecas en el algoritmo de cifrado. Se da por supuesto que el espacio de claves
para cualquier criptosistema digno de inter´s ha de ser suficientemente grande como para
e
que un ataque por la fuerza bruta sea inviable. Hemos de tener en cuenta no obstante que
la capacidad de c´lculo de las computadoras crece a gran velocidad, por lo que algoritmos
a
que hace unos a˜os eran resistentes frente a ataques por la fuerza bruta hoy pueden resultar
n
inseguros, como es el caso de DES. Sin embargo, existen longitudes de clave para las que
resultar´ imposible a todas luces un ataque de este tipo. Por ejemplo, si dise˜´ramos una
ıa na
m´quina capaz de recorrer todas las combinaciones que pueden tomar 256 bits, cuyo consumo
a
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
33. 2.5. Compromiso entre Criptosistema y Criptoan´lisis
a 33
ınimo en cada cambio de estado1 , no habr´ energ´ suficiente en el Universo para que
fuera m´ ıa ıa
pudiera completar su trabajo.
Un par de m´todos de criptoan´lisis que han dado interesantes resultados son el an´lisis
e a a
diferencial y el an´lisis lineal (ver secci´n 10.7, p´gina 130). El primero de ellos, partiendo de
a o a
pares de mensajes con diferencias m´ ınimas —usualmente de un bit—, estudia las variaciones
que existen entre los mensajes cifrados correspondientes, tratando de identificar patrones co-
munes. El segundo emplea operaciones XOR entre algunos bits del texto claro y algunos bits
del texto cifrado, obteniendo finalmente un unico bit. Si realizamos esto con muchos pares de
´
texto claro-texto cifrado podemos obtener una probabilidad p en ese bit que calculamos. Si p
1
est´ suficientemente sesgada (no se aproxima a 2 ), tendremos la posibilidad de recuperar la
a
clave.
Otro tipo de an´lisis, esta vez para los algoritmos asim´tricos, consistir´ en tratar de
a e ıa
deducir la llave privada a partir de la p´blica. Suelen ser t´cnicas anal´
u e ıticas que b´sicamente
a
intentan resolver los problemas de elevado coste computacional en los que se apoyan estos
criptosistemas: factorizaci´n, logaritmos discretos, etc. Mientras estos problemas gen´ricos
o e
permanezcan sin soluci´n eficiente, podremos seguir confiando en estos algoritmos.
o
La Criptograf´ no s´lo se emplea para proteger informaci´n, tambi´n se utiliza para per-
ıa o o e
mitir su autentificaci´n, es decir, para identificar al autor de un mensaje e impedir que nadie
o
suplante su personalidad. En estos casos surge un nuevo tipo de criptoan´lisis que est´ enca-
a a
minado unicamente a permitir que elementos falsos pasen por buenos. Puede que ni siquiera
´
nos interese descifrar el mensaje original, sino simplemente poder sustituirlo por otro falso y
que supere las pruebas de autentificaci´n.
o
Como se puede apreciar, la gran variedad de sistemas criptogr´ficos produce necesaria-
a
mente gran variedad de t´cnicas de criptoan´lisis, cada una de ellas adaptada a un algoritmo
e a
o familia de ellos. Con toda seguridad, cuando en el futuro aparezcan nuevos mecanismos de
protecci´n de la informaci´n, surgir´n con ellos nuevos m´todos de criptoan´lisis. De hecho, la
o o a e a
investigaci´n en este campo es tan importante como el desarrollo de algoritmos criptogr´ficos,
o a
y esto es debido a que, mientras que la presencia de fallos en un sistema es posible demostrarla,
su ausencia es por definici´n indemostrable.
o
2.5. Compromiso entre Criptosistema y Criptoan´lisis
a
En la secci´n 3.5 (p´g. 44) veremos que pueden existir sistemas idealmente seguros, capaces
o a
de resistir cualquier ataque. Tambi´n veremos que estos sistemas en la pr´ctica carecen de
e a
inter´s, lo cual nos lleva a tener que adoptar un compromiso entre el coste del sistema —
e
tanto computacional como de almacenamiento, e incluso econ´mico— frente a su resistencia
o
a diferentes ataques criptogr´ficos.
a
La informaci´n posee un tiempo de vida, y pierde su valor transcurrido ´ste. Los datos sobre
o e
1
Seg´n las Leyes de la Termodin´mica existe una cantidad m´
u a ınima de energ´ necesaria para poder modificar
ıa
el estado de un sistema.
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
34. 34 2. Conceptos B´sicos sobre Criptograf´
a ıa
la estrategia de inversiones a largo plazo de una gran empresa, por ejemplo, tienen un mayor
periodo de validez que la exclusiva period´ ıstica de una sentencia judicial que se va a hacer
p´blica al d´ siguiente. Ser´ suficiente, pues, tener un sistema que garantice que el tiempo
u ıa a
que se puede tardar en comprometer su seguridad es mayor que el tiempo de vida de la propia
informaci´n que ´ste alberga. Esto no suele ser f´cil, sobre todo porque no tardar´ lo mismo un
o e a a
oponente que disponga de una unica computadora de capacidad modesta, que otro que emplee
´
una red de supercomputadores. Por eso tambi´n ha de tenerse en cuenta si la informaci´n que
e o
queremos proteger vale m´s que el esfuerzo de criptoan´lisis que va a necesitar, porque entonces
a a
puede que no est´ segura. La seguridad de los criptosistemas se suele medir en t´rminos del
e e
n´mero de computadoras y del tiempo necesarios para romperlos, y a veces simplemente en
u
funci´n del dinero necesario para llevar a cabo esta tarea con garant´ de ´xito.
o ıas e
En cualquier caso hoy por hoy existen sistemas que son muy poco costosos —o incluso
gratuitos, como algunas versiones de PGP—, y que nos garantizan un nivel de protecci´n o
tal que toda la potencia de c´lculo que actualmente hay en el planeta ser´ insuficiente para
a ıa
romperlos.
Tampoco conviene depositar excesiva confianza en el algoritmo de cifrado, puesto que en
el proceso de protecci´n de la informaci´n existen otros puntos d´biles que deben ser tratados
o o e
con un cuidado exquisito. Por ejemplo, no tiene sentido emplear algoritmos con niveles de
seguridad extremadamente elevados si luego escogemos contrase˜as (passwords) rid´
n ıculamente
f´ciles de adivinar. Una pr´ctica muy extendida por desgracia es la de escoger palabras clave
a a
que contengan fechas, nombres de familiares, nombres de personajes o lugares de ficci´n, etc.
o
Son las primeras que un atacante avispado probar´ Tampoco es una pr´ctica recomendable
ıa. a
anotarlas o dec´ırselas a nadie, puesto que si la clave cae en malas manos, todo nuestro sistema
queda comprometido, por buenos que sean los algoritmos empleados.
2.6. Seguridad
El concepto de seguridad en la informaci´n es mucho m´s amplio que la simple protecci´n
o a o
de los datos a nivel l´gico. Para proporcionar una seguridad real hemos de tener en cuenta
o
m´ltiples factores, tanto internos como externos. En primer lugar habr´ que caracterizar el
u ıa
sistema que va a albergar la informaci´n para poder identificar las amenazas, y en este sentido
o
podr´ıamos hacer la siguiente subdivisi´n:
o
1. Sistemas aislados. Son los que no est´n conectados a ning´n tipo de red. De unos a˜os a
a u n
esta parte se han convertido en minor´ debido al auge que ha experimentado Internet.
ıa,
2. Sistemas interconectados. Hoy por hoy casi cualquier ordenador pertenece a alguna red,
enviando y recogiendo informaci´n del exterior casi constantemente. Esto hace que las
o
redes de ordenadores sean cada d´ m´s complejas y supongan un peligro potencial que
ıa a
no puede en ning´n caso ser ignorado.
u
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
35. 2.6. Seguridad 35
En cuanto a las cuestiones de seguridad que hemos de fijar podr´
ıamos clasificarlas de la
siguiente forma:
1. Seguridad f´ısica. Englobaremos dentro de esta categor´ a todos los asuntos relacionados
ıa
con la salvaguarda de los soportes f´ ısicos de la informaci´n, m´s que de la informaci´n
o a o
propiamente dicha. En este nivel estar´ ıan, entre otras, las medidas contra incendios y
sobrecargas el´ctricas, la prevenci´n de ataques terroristas, las pol´
e o ıticas de backup, etc.
Tambi´n se suelen tener en cuenta dentro de este punto aspectos relacionados con la
e
restricci´n de acceso f´
o ısico a las computadoras unicamente a personas autorizadas.
´
2. Seguridad de la informaci´n. En este apartado prestaremos atenci´n a la preservaci´n
o o o
de la informaci´n frente a observadores no autorizados. Para ello podemos emplear tan-
o
to criptograf´ sim´trica como asim´trica, estando la primera unicamente indicada en
ıa e e ´
sistemas aislados, ya que si la emple´ramos en redes, al tener que transmitir la clave por
a
el canal de comunicaci´n, estar´
o ıamos asumiendo un riesgo excesivo.
3. Seguridad del canal de comunicaci´n. Los canales de comunicaci´n rara vez se consideran
o o
seguros. Debido a que en la mayor´ de los casos escapan a nuestro control, ya que
ıa
pertenecen a terceros, resulta imposible asegurarse totalmente de que no est´n siendo
a
escuchados o intervenidos.
4. Problemas de autentificaci´n. Debido a los problemas del canal de comunicaci´n, es
o o
necesario asegurarse de que la informaci´n que recibimos en la computadora viene de
o
quien realmente creemos que viene. Para esto se suele emplear criptograf´ asim´trica
ıa e
en conjunci´n con funciones resumen (ver secci´n 13.1, p´gina 157).
o o a
5. Problemas de suplantaci´n. En las redes tenemos el problema a˜adido de que cualquier
o n
usuario autorizado puede acceder al sistema desde fuera, por lo que hemos de confiar en
sistemas fiables para garantizar que los usuarios no est´n siendo suplantados por intrusos.
a
Normalmente se emplean mecanismos basados en password para conseguir esto.
6. No repudio. Cuando se recibe un mensaje no s´lo es necesario poder identificar de forma
o
un´ıvoca al remitente, sino que ´ste asuma todas las responsabilidades derivadas de la
e
informaci´n que haya podido enviar. En este sentido es fundamental impedir que el
o
emisor pueda repudiar un mensaje, es decir, negar su autor´ sobre ´l.
ıa e
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
36. 36 2. Conceptos B´sicos sobre Criptograf´
a ıa
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa
37. Parte II
Fundamentos Te´ricos de la
o
Criptograf´
ıa
Manuel J. Lucena L´pez
o Criptograf´ y Seguridad en Computadores
ıa