Introducción a la
criptografía
PID_00235165
Cristina Pérez Solà
Jordi Herrera Joancomartí
Tiempo mínimo de dedicación recomendado: 2 horas
© FUOC • PID_00235165 Introducción a la criptografía
Cristina Pérez Solà Jordi Herrera Joancomartí
Doctora en Informática por la Uni- Licenciado en Matemáticas por la
versidad Autónoma de Barcelona y Universidad Autónoma de Barcelo-
la Universidad Católica de Lovaina. na y doctor por la Universidad Po-
Actualmente es profesora de los Es- litécnica de Cataluña. Sus ámbitos
tudios de Informática, Multimedia de investigación son la criptografía,
y Telecomunicaciones de la Univer- las criptomonedas y la tecnología
sitat Oberta de Catalunya. Sus ám- blockchain. Ha publicado numero-
bitos de investigación son las cripto- sos textos docentes y más de cien
monedas basadas en blockchain y, artículos de investigación en revistas
en especial, los aspectos relaciona- y congresos nacionales e internacio-
dos con la seguridad y la privacidad nales. Ha dirigido nueve tesis docto-
de estas. También está interesada rales y ha sido investigador principal
en los problemas de privacidad que de varios proyectos de investigación
surgen a raíz del uso de las redes so- nacionales. Ha participado como
ciales y en la adaptación de técnicas evaluador para agencias de investi-
de minería de datos a la naturaleza gación de varios países europeos y
específica de este tipo de redes. también para la Comisión Europea.
Actualmente es profesor agregado
del departamento de Ingeniería de
la Información y las Comunicaciones
en la Universidad Autónoma de Bar-
celona.
El encargo y la creación de este recurso de aprendizaje UOC han sido coordinados
por la profesora: Helena Rifà Pous
Segunda edición: febrero 2021
© de esta edición, FUOC, 2021
Av. Tibidabo, 39-43, 08035 Barcelona
Autoría: Jordi Herrera Joancomartí, Cristina Pérez Solà
Producción: FUOC
Todos los derechos reservados
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea este eléctrico,
mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
del titular de los derechos.
© FUOC • PID_00235165 Introducción a la criptografía
Índice
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1 Conceptos básicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Introducción al criptoanálisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Un poco de historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1 Cifrado de transposición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Escítala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Cifrado de sustitución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 Sustitución simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 Sustitución polialfabética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3 Sustitución homofónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Ejercicios de autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Solucionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
© FUOC • PID_00235165 5 Introducción a la criptografía
Introducción
En este módulo didáctico, por un lado, se presentan los fundamentos de la
criptografía y, por otro, se hace un repaso histórico de la criptografía premo-
derna.
En cuanto a los fundamentos de la criptografía, describiremos los conceptos
clave de esta ciencia, que usaremos a lo largo de la asignatura para ir presen-
tando las diferentes técnicas que se usan en criptografía.
En relación con el repaso histórico, veremos cómo surgió la criptografía y
qué técnicas se usaban desde sus orígenes hasta el inicio de la criptografía
moderna. El resto de la asignatura se centrará precisamente en describir varios
aspectos de la criptografía moderna, que, como veremos, ha evolucionado
mucho desde sus raíces.
© FUOC • PID_00235165 6 Introducción a la criptografía
Objetivos
Los objetivos de este módulo didáctico son los siguientes:
1. Descubrir los conceptos básicos relacionados con la criptografía y el crip-
toanálisis.
2. Estudiar los hitos clave en la historia de la criptografía.
3. Analizar los dos tipos básicos de criptosistemas precientíficos: el cifrado de
sustitución y el cifrado de transposición.
© FUOC • PID_00235165 7 Introducción a la criptografía
1. Conceptos básicos
.
La criptografía es la ciencia que estudia la escritura de secretos con el
objetivo de ocultar el mensaje que se escribe.
Etimológicamente, la palabra proviene del griego y surge de la unión de dos
conceptos: kryptós, que quiere decir ‘secreto’, y graphein, que quiere decir ‘es-
critura’. Los orígenes de la escritura secreta se remontan a hace más de cua-
tro mil años, pero en aquellos momentos la criptografía se encontraba lejos
de considerarse una ciencia. A medio camino entre arte y juego de enigmas,
civilizaciones como el antiguo Egipto desarrollaron los primeros escritos en
los que se transformaba el mensaje original. Se considera, sin embargo, que
la criptografía como ciencia no empezó a desarrollarse hasta mediados del
siglo XX, con las contribuciones realizadas por Claude E. Shannon.
El criptoanálisis es la ciencia que se centra en romper las técnicas que
desarrolla la criptografía, ya sea para descubrir el texto escondido de-
trás de un texto cifrado o bien para demostrar las debilidades de un
determinado esquema de cifrado.
Así pues, el criptoanálisis es indispensable para el progreso de la criptografía,
puesto que se encarga de evaluar la seguridad de los criptosistemas que esta
desarrolla. A pesar de que la palabra criptoanálisis es bastante reciente, tenemos
constancia de un criptoanálisis realizado en el siglo IX por un matemático
árabe, Al-Kindi.
El término general criptología se usa para englobar tanto la criptografía
como el criptoanálisis.
En esta asignatura, nos centraremos a describir las técnicas y los algoritmos
que se usan para ocultar información, es decir, en la criptografía. Aun así, en
este módulo haremos una pequeña introducción al criptoanálisis para ofrecer
unas nociones básicas de los modelos con los que se evalúa habitualmente la
seguridad de los esquemas criptográficos.
© FUOC • PID_00235165 8 Introducción a la criptografía
Tradicionalmente, la criptografía se basaba únicamente en proteger la confi-
dencialidad de los mensajes.
La confidencialidad es una propiedad que garantiza que la informa-
ción no se haga pública a personas no autorizadas.
Los sistemas criptográficos han evolucionado mucho desde sus orígenes, y
actualmente pueden ofrecer otras garantías más allá de la confidencialidad. A
menudo, el uso de la criptografía también nos permite garantizar la integridad
de los mensajes o incluso el no-repudio.
La integridad es la propiedad que garantiza que la información no ha
sido modificada.
Los sistemas que ofrecen integridad permiten detectar si ha habido una mo-
dificación de la información.
El no-repudio es la propiedad que garantiza que el autor de una deter-
minada acción no pueda negar haberla realizado.
Para simplificar las explicaciones, en criptografía se usan unos personajes fic-
Origen de los personajes
ticios, que acostumbran a interpretar siempre los mismos papeles. Estos perso-
najes, cuyo uso se encuentra muy extendido, fueron creados por Ron Rivest, Rivest, Shamir y Adleman
crearon los personajes de
Adi Shamir y Leonard Adleman. Alice (A) y Bob (B) son los dos personajes más Alice y Bob en el artículo “A
populares y acostumbran a ser dos usuarios que quieren intercambiarse algún Method for Obtaining Digital
Signatures and Public-Key
mensaje. Eve (E) es un atacante pasivo que puede escuchar las comunicacio- Cryptosystems”, publicado
nes entre Alice y Bob, pero no modificarlas. Mallory (M) es un atacante activo en 1978.
que puede escuchar las comunicaciones entre Alice y Bob y también modificar
el contenido de la transmisión.
Así pues, a continuación describiremos el escenario tradicional en el que se Escenario tradicional
aplica la criptografía usando los personajes que acabamos de presentar. En el El escenario descrito
escenario básico, Alice quiere mandar un mensaje a Bob por medio de un ca- corresponde a una
comunicación cifrada entre
nal inseguro. Como el canal es inseguro, Eve puede escuchar la comunicación dos entidades usando
entre Alice y Bob. Con este planteamiento, Alice desea mandar un mensaje criptografía de clave
simétrica. Como veremos a lo
m a Bob garantizando la confidencialidad. Para hacerlo, Alice aplica un algo- largo del semestre, existen
ritmo de cifrado E al texto que quiere enviar (llamado texto en claro) usando otros tipos de criptosistemas
que no siguen este esquema.
una determinada clave k. El resultado de aplicar el algoritmo de cifrado sobre
el texto en claro es el texto cifrado c, que es el que se enviará por medio del
© FUOC • PID_00235165 9 Introducción a la criptografía
canal inseguro. Bob, cuando reciba el mensaje cifrado c, procederá a aplicar
un algoritmo de descifrado D al texto cifrado usando la misma clave k, con lo
cual obtendrá el texto en claro original m. Para que el esquema pueda aplicar-
se, será necesario, pues, que Alice y Bob dispongan de una clave compartida
k que habrán tenido que comunicarse anteriormente por medio de algún ca-
nal seguro (quizás incluso encontrándose físicamente). Eve podrá recuperar el
texto cifrado de la comunicación c, pero como no conoce el valor de la clave,
no será capaz de recuperar el texto en claro correspondiente.
Figura 1. Escenario básico de aplicación de la criptografía en las comunicaciones entre dos
usuarios
Más formalmente, diremos que un criptosistema queda definido por cinco
parámetros:
• el conjunto de posibles textos en claro, M;
• el conjunto de posibles textos cifrados, C;
• el conjunto de posibles claves, K;
• E, una función de cifrado que detalla para cada posible clave k ∈ K y men-
saje m ∈ M cuál es el texto cifrado c ∈ C correspondiente;
• D, una función de descifrado que realiza el proceso inverso de la función
de cifrado, es decir, una función tal que Dk (Ek (m)) = m para todo m ∈ M
k ∈ Ky.
A partir de este escenario básico, los escenarios en los que se aplica la criptogra-
fía hoy en día son muy diversos y variados, e incluso algunos no se asemejan
nada al escenario tradicional. Así pues, por ejemplo, la criptografía nos per-
mite crear sistemas de credenciales anónimas, que servirán para autenticarse
de manera anónima; sistemas de compartición de secretos, donde hará falta
la colaboración de n partes de un conjunto de m para recuperar el secreto;
criptomonedas, que ofrecerán métodos de pago totalmente descentralizados
y seguros, y protocolos de computación multiparte, donde varias entidades
podrán colaborar para calcular funciones sobre datos confidenciales.
© FUOC • PID_00235165 10 Introducción a la criptografía
1.1 Introducción al criptoanálisis
El criptoanálisis se centra en analizar los criptosistemas con el objetivo de eva-
luar la seguridad. Dependiendo de si el análisis se focaliza en el algoritmo, la
implementación o el sistema completo que lo integra, distinguimos diferen-
tes ataques que el criptoanalista puede intentar realizar contra un esquema
criptográfico.
.
Los ataques clásicos intentan recuperar un texto en claro a partir de
un texto cifrado o bien recuperar una clave.
En función de la información de la que dispone el criptoanalista para romper
los esquemas, existen diferentes escenarios o modelos en los cuales se pueden
evaluar los criptosistemas:
• En el modelo de solo texto cifrado (o COA, del inglés ciphertext-only attack)
el atacante solo dispone de un conjunto de textos cifrados.
• En el modelo de texto en claro conocido (o KPA, del inglés known-plaintext
attack), el atacante dispone de un conjunto de textos en claro y sus corres-
pondientes textos cifrados.
• En el modelo de texto en claro escogido (o CPA, del inglés chosen-plaintex
attack), el criptoanalista puede obtener los textos cifrados correspondientes
a un conjunto de textos en claro seleccionados por él mismo.
• En el modelo de texto cifrado escogido (o CCA, del inglés chosen-ciphertext
attack), el criptoanalista puede obtener los textos en claro correspondientes
a un conjunto de textos cifrados seleccionados por él mismo.
Los modelos de texto en claro y texto cifrado escogido asumen normalmen-
te que el criptoanalista elige una única vez el conjunto de textos en claro
(respectivamente, textos cifrados) y puede pedir los correspondientes textos
cifrados (respectivamente, en claro). Una variante de estos modelos, conocida
como modelo adaptativo de texto en claro o cifrado escogido (respectivamen-
te, CPA2 y CCA2), permite al criptoanalista ir pidiendo los correspondientes
textos cifrados o en claro sucesivamente, modificando los textos que pide en
función de las respuestas que ha recibido hasta el momento.
Hoy en día casi todos los criptógrafos asumen el principio de Kerckhoffs.
El principio de Kerckhoffs afirma que, para que un criptosistema pue-
da considerarse seguro, este lo tiene que ser aunque el atacante conozca
todos los detalles del criptosistema, exceptuando la clave.
© FUOC • PID_00235165 11 Introducción a la criptografía
Es decir, se asume que el atacante o el criptoanalista disponen de la especifica-
ción completa del algoritmo que se quiere romper. Auguste Kerchoffs formuló
este principio en el siglo XIX y, actualmente, la versión más extendida de su
principio afirma que la seguridad de un criptosistema tiene que depender úni-
camente de la clave.
Aun así, en productos criptográficos comerciales a menudo se hace caso omiso
de este principio y se opta por la alternativa, la seguridad por ofuscación (en
inglés, security through obscurity). En este paradigma, la seguridad de los siste-
mas se basa en el hecho de esconder los detalles sobre el algoritmo de cifrado,
con el objetivo de dificultar, supuestamente, el criptoanálisis. En la práctica,
sin embargo, normalmente estos detalles se acaban haciendo públicos igual-
mente, de forma que esconder el algoritmo es contraproducente, puesto que
únicamente dificulta la evaluación de su seguridad. Algunos ejemplos de la
adopción de este paradigma se encuentran en los algoritmos cifrados de te-
lefonía móvil GSM, que se intentaron mantener ocultos sin éxito; o en el
sistema de DRM de los DVD, donde había que pagar una licencia y firmar un
acuerdo de no revelación para tener acceso a los detalles del algoritmo.
Más allá de los ataques clásicos, que consideran únicamente el algoritmo uti-
lizado, también hay ataques de canal lateral y ataques de ingeniería social.
Los ataques de canal lateral (en inglés, side-channel attacks) se basan
en atacar un criptosistema mediante información extraída de una im-
plementación física.
Dependiendo de la información que se extrae de la implementación para rea-
lizar el ataque, hay diferentes clases de ataques de canal lateral. Así, los ataques Ataques de monitoreo
de energía
de sincronización (en inglés, timing attacks) analizan el tiempo que se tarda en
realizar diferentes cálculos, los ataques de monitoreo de energía estudian el Para un ejemplo concreto
consumo energético que tiene el dispositivo durante la operación, los ataques de ataque de monitoreo de
energía en el criptosistema
electromagnéticos miden las fugas de radiación electromagnética, los ataques RSA podéis consultar el
capítulo 7 del libro
acústicos tienen en cuenta el sonido que se produce al realizar los cálculos,
Understanding cryptography,
etc. de C. Paar y J. Pelzl.
Más allá de los ataques a algoritmos y a implementaciones de criptosistemas,
los sistemas de información en general también son susceptibles de sufrir ata-
ques de ingeniería social.
Los ataques de ingeniería social consisten en manipular los usuarios
de un sistema para obtener información que permita romper la seguri-
dad.
© FUOC • PID_00235165 12 Introducción a la criptografía
Así, los ataques de ingeniería social se llevan a cabo interactuando con los
usuarios, y a menudo incluyen el engaño de estos para obtener datos con-
fidenciales. Por ejemplo, un atacante puede intentar engañar a un usuario
haciéndose pasar por un técnico informático y solicitarle la clave de cifrado
para realizar, supuestamente, alguna comprobación. Evidentemente, la crip-
tografía puede hacer muy poca cosa ante este tipo de ataques; por este motivo
son de los más extendidos y de los más peligrosos.
© FUOC • PID_00235165 13 Introducción a la criptografía
2. Un poco de historia
.
Se dice que la historia de la criptología empezó en 1900 antes de Cristo con
Historia de la
unos escritos realizados en la tumba de Jnumhotep II, un monarca del Al- criptología
to Egipto. En los escritos encontrados en la tumba hay algunos jeroglíficos
Una lectura recomendada
inusuales que el escribano escribió en vez de otros de más comunes, supues- para profundizar en la
tamente con el objetivo de dignificar el texto. A pesar de que en este caso no historia de la criptología es
el libro The codebreakers, de
había intención de ocultar el mensaje, los escritos suponen el primer caso en David Khan.
la historia en el que el texto que se escribe se transforma deliberadamente.
También en el antiguo Egipto aparecen los primeros escritos con la intención,
ahora sí, de ocultar el mensaje escrito. Se cree que el objetivo era dotar el texto
de cierto aire de misterio y magia, de forma que llamara la atención del lector
y que este se entretuviera descifrándolo, como si fuera un juego o un puzle.
Figura 2. Línea del tiempo con los hitos clave de la criptografía premoderna
© FUOC • PID_00235165 14 Introducción a la criptografía
Unos cuantos siglos más tarde, el uso de la criptografía tomó otro rumbo, y
esta ciencia se empezó a usar para ocultar mensajes con contenido crítico en
tiempos de guerra. Por un lado, los espartanos, potencia militar de la antigua
Grecia, empezaron a usar sistemas esteganográficos y, por otro lado, inventa-
ron la primera cifra de transposición conocida, la escítala.
En cuanto a la esteganografía, los primeros usos que se conocen datan del año Esteganografía
440 antes de Cristo: Histieo rapó la cabeza de uno de sus sirvientes para es-
La esteganografía es la
cribir un mensaje y dejó que el cabello del sirviente volviera a crecer antes de práctica que esconde un
enviarlo a Aristágoras, el receptor del mensaje. Así, si el esclavo era capturado mensaje dentro de otro
mensaje con la intención de
por el enemigo durante el viaje, el hecho de que el esclavo transportaba un ocultar el primero. Así, por
mensaje permanecería oculto. También en aquella época, Demarato mandó ejemplo, se puede intentar
ocultar un mensaje de texto
un mensaje escrito en un par de mesitas de cera; marcó el mensaje en la ma- en una imagen utilizando los
dera que quedaba bajo la cera y cubrió las mesitas de nuevo con cera. Así, si las bits menos significativos de
cada píxel para modificar al
mesitas eran interceptadas y se hacía una revisión superficial, nada revelaría mínimo la visualización de la
imagen.
su mensaje oculto.
En cuanto a la escítala, se cree que este fue el primer aparato utilizado por
la criptografía. Los espartanos son conocidos por la utilización de este pri-
mer sistema de criptografía militar, que describiremos posteriormente en el
subapartado 2.1. Tucídides, un historiador griego, recoge el uso que hicieron
de este aparato los éforos, unos magistrados de la antigua Grecia que cifraron
un mensaje para el general espartano Pausanias.
El primer uso conocido de un criptosistema de sustitución se atribuye a los
romanos y, en concreto, a Julio César, que lo usaba para escribirse con Cice-
rón y otros amigos. En los subapartados siguientes también describiremos en
detalle esta cifra, así como sus debilidades.
Los primeros textos donde se habla de criptoanálisis son atribuidos a los ára-
bes. Al-Kindi, filósofo y matemático árabe del siglo IX después de Cristo, des-
cribió cómo utilizar el hecho de que la frecuencia de aparición de las letras del
alfabeto en un idioma determinado no es uniforme para romper criptosiste-
mas. Ya en el siglo XIV, el italiano Leon Battista Alberti fue el primer occidental
en documentar técnicas de criptoanálisis y creó el primero cifrado de sustitu-
ción polialfabético, la cifra de Alberti.
Unos cuantos siglos después, en 1883, Auguste Kerckhoffs, criptógrafo de ori-
gen holandés, publicó un libro sobre criptografía militar, donde daba consejos
prácticos para el diseño de criptosistemas. Uno de estos consejos afirmaba que
un criptosistema tenía que ser seguro aunque el atacante conociera todos los
detalles, a excepción de la clave usada para cifrar. Este consejo recibió una am-
plia aceptación y se acabó convirtiendo en el principio Kerckhoffs, respetado
y seguido por la gran mayoría de criptógrafos.
El año 1948, el matemático norteamericano Claude Elwood Shannon creó
los fundamentos de la teoría de la información. El año siguiente, el 1949, él
mismo publicó el artículo “Communication Theory of Secrecy Systems”, que
© FUOC • PID_00235165 15 Introducción a la criptografía
asentaba las bases de la criptografía como ciencia e inauguraba la criptografía
moderna. Entre otras muchas contribuciones, Shannon definió el concepto de
secreto perfecto, demostró que el cifrado de Vernam podía ofrecer este tipo de
secreto e introdujo el concepto de redundancia.
A continuación describiremos los dos tipos de criptosistemas utilizados en la
historia de la criptografía, cifrado de transposición y cifrado de sustitución;
también presentaremos algunos ejemplos concretos.
2.1 Cifrado de transposición
El cifrado de transposición se basa en cambiar la orden de los caracte-
res del texto en claro de entrada para generar el texto cifrado.
Es decir, el cifrado de transposición reordena el texto de entrada, de forma que
el texto en claro es una permutación de los caracteres del texto cifrado.
2.1.1 Escítala
En el siglo V antes de Cristo, los espartanos usaban un criptosistema de trans-
posición conocido como escítala. La clave de cifrado era un palo o bastón de
un determinado grosor.
Para cifrar, se enrollaba una tira de papiro alrededor del bastón y se escribía
el mensaje en sentido longitudinal, es decir, siguiendo la dirección del mismo
bastón. Después, se desenrollaba la tira de papiro, de forma que se obtenía el
mensaje cifrado, que podía ser enviado al receptor. Por lo tanto, el grosor del
bastón representaba la clave compartida.
Al recibir la tira de papiro, el receptor, que también disponía de un bastón
del mismo grosor que el del emisor, procedía a enrollar la tira alrededor del
bastón; así podía leer el mensaje original que le habían enviado.
La tira de papiro, por sí sola, era difícil de leer, puesto que contenía las mismas
letras que el mensaje en claro pero desordenadas por el efecto de desenrollar
el papiro. Además, si no se disponía de un bastón del grosor adecuado, el
resultado de enrollar el papiro al bastón no revelaba el mensaje original.
Ejemplo de cifrado con escítala
Ciframos el mensaje THESEARESPARTASWALLS usando una escítala. Suponemos que el gro-
sor del bastón utilizado como clave permite escribir cuatro líneas de texto y que la longi-
tud del bastón limita cada línea a cinco caracteres. Entonces, el mensaje quedaría escrito
en cuatro líneas como las siguientes:
© FUOC • PID_00235165 16 Introducción a la criptografía
THESE
ARESP
ARTAS
WALLS
Al desenrollar el papiro del bastón, el mensaje que quedaría escrito a la tira de papiro, y
que correspondería al mensaje cifrado, sería: TAAWHRRAEETLSSALEPSS.
Notáis que, efectivamente, las letras del mensaje en claro han quedado desordenadas,
ocultando así el mensaje original.
2.2 Cifrado de sustitución
En contraposición al cifrado de transposición, el cifrado de sustitución no des-
ordena el texto en claro para cifrar, sino que sustituye las letras del texto en
claro por otros símbolos. Dependiendo de la técnica utilizada para realizar las
sustituciones, distinguiremos entre cifrado de sustitución simple, polialfabéti-
ca y homofónica.
2.2.1 Sustitución simple
El cifrado de sustitución simple es uno de los métodos más sencillos para cifrar
texto.
El cifrado de sustitución simple consiste en sustituir cada letra indivi-
dual del mensaje en claro por otra letra.
La clave que se usa para cifrar es, pues, una tabla que indica qué letra del
alfabeto cifrado corresponde a cada letra del alfabeto de entrada.
El procedimiento que hay que llevar a cabo para cifrar consiste en buscar cada
letra del texto en claro en la tabla utilizada como clave y sustituirla por la letra
indicada. A la hora de descifrar, hay que seguir el mismo procedimiento, pero
usando ahora la tabla en sentido inverso.
El tamaño del espacio de claves, es decir, el número de posibles tablas que
podemos crear indicando correspondencias entre letras, viene dada por las
medidas del alfabeto en claro y el cifrado. Así, por ejemplo, si usamos un alfa-
beto de 26 caracteres tanto para el texto en claro como para el texto cifrado,
el espacio de claves tendrá la medida siguiente:
|K| = 26 · 25 · 24 · . . . · 1 = 26!
Puesto que para el primer carácter del alfabeto en claro podemos elegir 26
posibles letras cifradas, para el segundo carácter podremos elegir 25, las 26
disponibles excepto la que ya hemos elegido para el primer carácter; etc.
© FUOC • PID_00235165 17 Introducción a la criptografía
El espacio de claves del cifrado de sustitución simple puede parecer bastante
grande para ofrecer un nivel de seguridad adecuado. Aun así, en realidad es-
te cifrado es muy fácil de romper, en parte porque preserva la frecuencia de
aparición de las letras. En efecto, si una determinada letra del texto en claro
x queda cifrada siempre por una letra del alfabeto cifrado y, la frecuencia de
aparición de la letra y en el texto cifrado será exactamente la misma que la
frecuencia de aparición de x en el texto en claro. Dado que las frecuencias de
aparición de las letras en los textos escritos presentan marcadas diferencias,
cuando los textos tienen cierta longitud es fácil identificar algunas letras del
texto cifrado y acabar descifrando el mensaje sin conocer la clave que se ha
usado para cifrar.
La figura 3 muestra las frecuencias de aparición medias de las letras del alfabe-
to en textos escritos en castellano.
Figura 3. Frecuencia de aparición de las letras en castellano
Se dice que Julio César usó una variante del cifrado de sustitución simple para
escribirse con Cicerón y otros amigos. La variante que usaba César cifraba
cada letra del alfabeto en claro sustituyéndola por la letra que se encuentra
tres posiciones después en el alfabeto. Así, César usaba las correspondencias
siguientes:
A→D
B→E
C→F
D→G
E→H
···
X→A
Y→B
Z→C
Otros usos en la antigua
Una generalización inmediata del esquema que usaba César resulta de cifrar Roma
cada letra por la que se encuentra k posiciones después en el alfabeto, donde
El sobrino de Cesar, Augusto,
k puede ser cualquier valor de 0 a 25 (en vez de fijar k = 3). Esta generalización usaba una variante de la cifra
de César con k = 1.
es lo que se conoce habitualmente como cifrado de César.
© FUOC • PID_00235165 18 Introducción a la criptografía
Si asignamos a cada letra del alfabeto una representación numérica, en la que
la letra a es representada por el 0, la b por el 1, etc., entonces podemos definir
formalmente la función de cifrado de cada letra del mensaje como:
E(x) = x + k mod 26
donde k es la clave secreta que comparten el emisor y el receptor.
Simétricamente, la función de descifrado es:
D(y) = y – k mod 26
Ejemplo de cifrado de César
Queremos cifrar el mensaje m = THEDIEISCAST usando la cifra de César original, con k = 3.
Procedemos, pues, a sustituir cada letra del mensaje en claro por la letra que se encuentra
tres posiciones después en el alfabeto. Obtenemos el mensaje cifrado siguiente:
c = WKHGLHLVFDVW
Si queremos usar la formulación matemática, convertiremos primero el mensaje m en
una secuencia de enteros:
m′ = 19 7 4 3 8 4 8 18 2 0 18 19
Sumaremos k = 3 a cada valor, reduciendo el resultado módulo 26. Notad que en este
caso concreto no hay que reducir ningún valor, puesto que todos son inferiores a 26.
c′ = 22 10 7 6 11 7 11 21 5 3 21 22
Finalmente, convertiremos la secuencia cifrada en una cadena de caracteres, de forma
que obtendremos el texto cifrado c:
c = WKHGLHLVFDVW
Tanto el cifrado de sustitución simple como el cifrado de César son cifrados
de sustitución monoalfabéticas.
El cifrado de sustitución monoalfabético se caracteriza por usar una
sustitución de caracteres fija, donde una misma letra del texto en claro
siempre corresponderá a la misma letra del texto cifrado, independien-
temente de la posición que ocupe la letra en el texto en claro.
© FUOC • PID_00235165 19 Introducción a la criptografía
2.2.2 Sustitución polialfabética
El cifrado de sustitución polialfabéticas apareció bastantes años después que el
cifrado monoalfabético. Se cree que el primer cifrado polialfabético fue creado
por Leon Battista Alberti hacia el año 1467. De todos modos, algunos historia-
dores afirman que las cifras polialfabéticas fueron ideadas por Al-Kindi mucho
antes, alrededor del año 800. La variante más popular del cifrado polialfabé-
tico es atribuido a Blaise de Vigenère; a pesar de que él no fue el inventor, es
conocido como cifrado de Vigenère.
El cifrado de sustitución polialfabético se caracteriza por usar múltiples
alfabetos de sustitución, por lo cual una misma letra del texto en claro
puede quedar cifrada con diferentes letras, dependiendo de la posición
que esta ocupe en el texto en claro.
El cifrado de Vigenère es un cifrado de sustitución polialfabética periódica
donde se combinan diferentes cifrados de César. El periodo n viene determi-
nado por el tamaño (en caracteres) de la clave de cifrado de Vigenère, y cada
letra individual de la clave se usa como clave de un cifrado de César. Así, para
un mensaje m = m1 ,m2 , · · · ,ml , una clave k = k1 ,k2 , · · · ,kn y un alfabeto de 26
caracteres, la función de cifrado es:
E(mi ) = mi + ki mod n mod 26
De manera similar, la función de descifrado es:
D(ci ) = ci – ki mod n mod 26
Ejemplo de cifra de Vigenère
Supongamos que queremos cifrar el mensaje siguiente:
m = VIGENERECIPHERWASCREATEDBYGIOVANBATTISTA
Con la clave:
k = ENEGIV
Procedemos a convertir tanto el mensaje como la clave en su representación numérica, y
a calcular la representación numérica de la letra cifrada correspondiente a cada letra en
claro (sumando los valores módulo 26). Finalmente, convertimos la secuencia numérica
en caracteres y obtenemos el mensaje cifrado:
© FUOC • PID_00235165 20 Introducción a la criptografía
V I G E N E R E C I P H E R W A S C R E
21 8 6 4 13 4 17 4 2 8 15 7 4 17 22 0 18 2 17 4
E N E G I V E N E G I V E N E G I V E N
4 13 4 6 8 21 4 13 4 6 8 21 4 13 4 6 8 21 4 13
25 21 10 10 21 25 21 17 6 14 23 2 8 4 0 6 0 23 21 17
Z V K K V Z V R G O X C I E A G A X V R
A T E D B Y G I O V A N B A T T I S T A
0 19 4 3 1 24 6 8 14 21 0 13 1 0 19 19 8 18 19 0
E G I V E N E G I V E N E G I V E N E G
4 6 8 21 4 13 4 6 8 21 4 13 4 6 8 21 4 13 4 6
4 25 12 24 5 11 10 14 22 16 4 0 5 6 1 14 12 5 23 6
E Z M Y F L K O W Q E A F G B O M F X G
Así pues, el mensaje cifrado resultante es:
c = ZVKKVZVRGOXCIEAGAXVREZMYFLKOWQEAFGBOMFXG
Con el cifrado polialfabético se consigue que una misma letra del texto en cla-
ro no siempre quede cifrada por la misma letra, hecho que dificulta el análisis
de frecuencias.
Un caso especialmente interesante de cifra polialfabética es el cifrado de Ver-
nam.
El cifrado de Vernam es un cifrado polialfabético en la que el número
de alfabetos que codifica la clave es igual o mayor que el número de
caracteres del texto en claro que se quiere cifrar.
Cuando se usa adecuadamente, con claves aleatorias y desechables, la cifra de
Secreto perfecto
Vernam ofrece secreto perfecto. De hecho, el cifrado de Vernam es el único
cifrado conocido, todavía hoy, que ofrece esta propiedad. Claude Shannon definió las
medidas con las que se
evaluaba el nivel de secreto
que ofrece un determinado
El cifrado de Vernam se conoce también, en inglés, como one-time pad. El
esquema de cifrado.
nombre proviene de los primeros usos del cifrado, en que las claves se distri- Informalmente, se dice que
un criptosistema ofrece
buían a los espías en libretas de papel (a veces de papel altamente inflamable),
secreto perfecto si el texto
hecho que permitía usar la clave una vez y destruir después la hoja de papel cifrado no ofrece ninguna
información sobre el texto en
que contenía aquella clave. claro.
© FUOC • PID_00235165 21 Introducción a la criptografía
2.2.3 Sustitución homofónica
Otra alternativa para evitar revelar las frecuencias de aparición de las letras en
el texto cifrado es la que presentan las cifras homofónicas.
El cifrado de sustitución homofónica permite sustituir cada letra del
mensaje en claro por un conjunto de letras del alfabeto cifrado.
Así pues, a diferencia del cifrado de sustitución simple, en que una letra del
alfabeto en claro corresponde a una única letra del alfabeto cifrado, en el ci-
frado homofónico una letra del texto en claro puede corresponder a varias
letras del alfabeto cifrado. Esto hace que el alfabeto cifrado tenga que tener
más caracteres que el alfabeto en claro.
Para conseguir esconder las frecuencias de aparición de las letras, lo que hacen
el cifrado de sustitución homofónico es asignar más alternativas de cifrado a
las letras del alfabeto en claro que aparecen más a menudo, de forma que las
frecuencias de aparición de las letras en el texto cifrado se asemejen lo máximo
posible.
Ejemplo de cifra homofónica
Supongamos que queremos cifrar el mensaje THEBEALEPAPERS usando sustitución homo-
fónica con la clave siguiente:
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
j B N P s T i S q l e h D W R f E d w y O M a X t Z
g Q z u H U p k L m A K x r v
J o C c V I Y F b n
G
Hay que tener en cuenta que si disponemos de más de una alternativa para cifrar una
letra, seleccionaremos aleatoriamente la letra que se quiere cifrar de entre las alternativas.
Notad que, en este caso, el alfabeto del texto en claro está formado por 26 caracteres
(las letras de la a a la z en mayúscula, sin incluir la ñ), mientras que el alfabeto cifrado
dispone de 52 caracteres (las letras tanto en mayúscula como en minúscula).
Así, un posible texto cifrado sería yHCBsjpGfgfzdw, que correspondería al hecho de selec-
cionar y de entre las tres alternativas para cifrar T (y, x y n), y la letra H de entre las tres
alternativas para cifrar H (S, H y c); etc.
Para descifrar el código, seguiríamos el proceso inverso: buscar las letras del alfabeto
cifrado en la tabla y extraer la letra en claro correspondiente. En este caso, el descifrado
es único. Es decir, para un mismo texto en claro, podemos generar diferentes textos
cifrados. En cambio, para un texto cifrado, solo habrá un único texto en claro.
El cifrado de Beale es un cifrado homofónico que usaba como clave la Decla-
ración de Independencia de los Estados Unidos de América.
La historia dice que Thomas J. Beale enterró un tesoro de una expedición de
mineros que habían hecho fortuna en las minas del oeste lejano alrededor de
la década de 1820. El tesoro, formado por oro, plata y joyas, tendría actual-
© FUOC • PID_00235165 22 Introducción a la criptografía
mente un valor de unos 43 millones de dólares. Beale creó un conjunto de
tres criptogramas que describían, respectivamente, la localización, el conte-
nido y los nombres de los propietarios del tesoro enterrado, y dejó una caja
de hierro con los criptogramas a un tabernero llamado Robert Morriss. Beale
desapareció y el tabernero dio la caja con los criptogramas a un amigo justo
antes de morir. El amigo, de quien no se conoce el nombre, consiguió desci-
frar el segundo de los criptogramas usando un criptosistema homofónico con
la Declaración de Independencia de los Estados Unidos de América como cla-
ve. Para descifrar el criptograma, el amigo numeró cada una de las palabras
del documento y fue sustituyendo cada número del texto cifrado por la letra
inicial de la palabra que se encontraba en la posición descrita por el número.
Se dice que el amigo no fue capaz de romper los otros dos criptogramas, mo-
tivo por el cual, en 1885, decidió hacer pública la historia y los criptogramas,
con la esperanza de que alguien pudiera romperlos. Desde entonces, ha habi-
do múltiples intentos sin éxito de romper los dos criptogramas restantes.
De hecho, las teorías actuales apuntan a que la historia es, en realidad, un
engaño. Los argumentos principales que cuestionan su veracidad son que el
texto en claro del segundo de los criptogramas usa palabras que no existían
cuando supuestamente se crearon los criptogramas y que las características
estadísticas de los dos criptogramas restantes no parecen coincidir con las que
se esperaría de un texto en inglés.
© FUOC • PID_00235165 23 Introducción a la criptografía
Resumen
En este módulo didáctico hemos presentado los conceptos básicos relaciona-
dos con la criptografía y hemos descrito los hitos históricos clave en cuanto
a su desarrollo, introduciendo los criptosistemas que se fueron diseñando du-
rante la era de la criptografía precientífica.
Denominamos criptografía a la ciencia que estudia la escritura de secretos. En
cambio, el criptoanálisis es la ciencia que se centra en romper las técnicas que
desarrolla la criptografía. Ambas ciencias trabajan paralelamente, de forma
que los adelantos de una ayudan a avanzar la otra. Usamos la palabra general
criptología para englobar tanto la criptografía como el criptoanálisis.
Podemos agrupar las cifras históricas en dos grandes grupos según la técnica
que usan para cifrar: el cifrado de transposición y el cifrado de sustitución. El
cifrado de transposición modifica el orden de los caracteres del texto en claro
para generar el texto cifrado. En cambio, el cifrado de sustitución cambia los
caracteres del texto en claro por otros caracteres.
© FUOC • PID_00235165 24 Introducción a la criptografía
Ejercicios de autoevaluación
1. Cifrad el mensaje THESEARESPARTASWALLS usando una escítala con un grosor de bastón que
permita escribir cinco líneas de texto y una longitud que permita escribir cuatro caracteres
por línea.
2. Descifrad el mensaje XADKTIWTCPBTDUWDCDGBDGTIWPCXUTPGSTPIW sabiendo que ha sido cifra-
do con un cifrado de César con k = 15.
3. Cifrad el mensaje USINGASERIESOFINTERWOVENCAESARCIPHERS con un cifrado de Vigenère y
usando como clave KASISKI.
4. Generad cinco textos cifrados diferentes que correspondan al mensaje THEBEALEPAPERS
usando un cifrado de sustitución homofónica con la clave siguiente:
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
j B N P s T i S q l e h D W R f E d w y O M a X t Z
g Q z u H U p k L m A K x r v
J o C c V I Y F b n
G
¿Qué información puede extraer un criptoanalista que tenga acceso a los cinco textos cifra-
dos y que sepa que se trata de un cifrado homofónico?
© FUOC • PID_00235165 25 Introducción a la criptografía
Solucionario
1. Teniendo en cuenta las medidas del bastón, procederíamos a escribir el mensaje longitu-
dinalmente:
THES
EARE
SPAR
TASW
ALLS
El mensaje cifrado resultante sería, por lo tanto: TESTAHAPALERASLSERWS.
2. En primer lugar, convertimos las letras del mensaje en su representación numérica:
23 0 3 10 19 8 22 19 2 15 1 19 3 20 22 3 2 3 6 1 3 6 19 8 22 15 2 23 20 19 15 6 18
19 15 8 22
Seguidamente, calculamos x – 15 mod 26 por cada valor x de la representación numérica de
las letras:
8 11 14 21 4 19 7 4 13 0 12 4 14 5 7 14 13 14 17 12 14 17 4 19 7 0 13 8 5 4 0 17 3
4 0 19 7
Finalmente, recuperamos el mensaje en claro convirtiendo la secuencia numérica otra vez
en letras:
ILOVETHENAMEOFHONORMORETHANIFEARDEATH
3. Convertimos tanto el mensaje como la clave en su representación numérica, y calculamos
el texto en claro sumando los dos valores módulo 26:
U S I N G A S E R I E S O F I N T E R WO VEN C A E S A R C I P H E R S
20 18 8 13 6 0 18 4 17 8 4 18 14 5 8 13 19 4 17 22 14 21 4 13 2 0 4 18 0 17 2 8 15 7 4 17 18
K A S I S K I K A S I S K I K A S I S K I KA S I S K I K A S I S K I K A
10 0 18 8 18 10 8 10 0 18 8 18 10 8 10 0 18 8 18 10 8 10 0 18 8 18 10 8 10 0 18 8 18 10 8 10 0
4 18 0 21 24 10 0 14 17 0 12 10 24 13 18 13 11 12 9 6 22 5 4 5 10 18 14 0 10 17 20 16 7 17 12 1 18
E S A V Y K A O R A M K Y N S N L M J GW F E F K S O A K R U Q H R M B S
El texto cifrado resultante es, pues, ESAVYKAORAMKYNSNLMJGWFEFKSOAKRUQHRMBS.
4. Cinco posibles textos cifrados son estos:
• nHCBsJpsfjfGdK
• xHGBsJpCfJfCAb
• ycCBsjpzfgfsAw
• nczBzgpCfgfzFK
• xHsBCjpsfJfsFb
Notad que la solución no es única. En un primer vistazo, un criptoanalista puede deducir
que, con una probabilidad muy alta, las letras cifradas B, p y f corresponden a letras del texto
en plano que solo tienen una única letra cifrada asignada.
© FUOC • PID_00235165 26 Introducción a la criptografía
Glosario
adaptativo de texto en claro escogido m Modelo de evaluación de la seguridad de los
criptosistemas en el que el atacante puede obtener los textos cifrados correspondientes a un
conjunto de textos en claro seleccionados por él mismo de manera adaptativa; es decir, el
atacante puede ir pidiendo los correspondientes textos en claro sucesivamente, modificando
los textos que pide en función de las respuestas que ha recibido hasta el momento.
sigla CPA2
en adaptive chosen-plaintext attack
adaptativo de texto cifrado escogido m Modelo de evaluación de la seguridad de los crip-
tosistemas en el que el atacante puede obtener los textos en claro correspondientes a un
conjunto de textos cifrados seleccionados por él mismo de manera adaptativa; es decir, el
atacante puede ir pidiendo los correspondientes textos cifrados sucesivamente, modificando
los textos que pide en función de las respuestas que ha recibido hasta el momento.
sigla CCA2
en adaptive chosen-ciphertext attack
adaptive chosen-ciphertext attack m Véase adaptativo de texto cifrado escogido.
adaptive chosen-plaintext attack m Véase adaptativo de texto en claro escogido.
ataque de canal lateral m Acción de atacar basada en la información extraída de una imple-
mentación física de un criptosistema.
en side-channel attacks
ataque de ingeniería social m Acción de atacar basada en el hecho de manipular los usuarios
de un sistema para obtener información que nos permita romper la seguridad.
chosen-ciphertext attack m Véase texto cifrado escogido.
chosen-plaintext attack m Véase texto en claro escogido.
ciphertext-only attack m Véase solo texto cifrado.
confidencialidad f Propiedad que garantiza que la información no se hace pública a perso-
nas no autorizadas.
COA m Véase solo texto cifrado.
CCA m Véase texto cifrado escogido.
CCA2 m Véase adaptativo de texto cifrado escogido.
cifrado de Beale m Cifrado homofónico que usaba como clave la Declaración de Indepen-
dencia de los Estados Unidos de América.
cifrado de César m Cifrado de sustitución simple utilizada por Julio César.
cifrado de sustitución homofónico m Cifrado de sustitución en que cada letra del mensaje
en claro puede ser sustituida por más de una letra del alfabeto cifrado.
cifrado de sustitución monoalfabético m Cifrado caracterizado por usar una sustitución
de caracteres fija, en la que una misma letra del texto en claro siempre corresponderá a la
misma letra del texto cifrado
cifrado de sustitución polialfabético m Cifrado caracterizado por usar múltiples alfabetos
de sustitución, haciendo que una misma letra del texto en claro pueda quedar cifrada con
diferentes letras, dependiendo de la posición que esta ocupe al texto en claro.
cifrado de Vernam m Cifrado polialfabético en que el número de alfabetos que codifica la
clave es igual o mayor que el número de caracteres del texto en claro que se quieren cifrar.
cifrado de Vigenère m Cifrado de sustitución polialfabética periódica en la que se combinan
diferentes cifras de César.
cifrado de transposición m Cifrado basado en el hecho de alterar el orden de los caracteres
del texto en claro.
CPA m Véase texto en claro escogido.
© FUOC • PID_00235165 27 Introducción a la criptografía
CPA2 m Véase adaptativo de texto en claro escogido.
criptoanálisis f Ciencia centrada en romper las técnicas que desarrolla la criptografía.
criptografía f Del griego, kryptós (‘secreto’) y graphein (‘escritura’), ciencia que estudia la
escritura de secretos.
criptología f Ciencia que engloba tanto la criptografía como el criptoanálisis.
escítala f Cifrado de transposición que consiste en enrollar un papiro alrededor de un bas-
tón, cuyo grosor determina la clave de cifrado.
esteganografía f Práctica de esconder un mensaje dentro de otro mensaje, con la intención
de ocultar el primero.
integridad f Propiedad que garantiza que la información no ha sido modificada.
known-plaintext attack m Véase texto en claro conocido.
KPA m Véase texto en claro conocido.
no-repudio m Propiedad que garantiza que el autor de una determinada acción no pueda
negar haberla realizado.
principio de Kerckhoffs m Principio que afirma que porque un criptosistema pueda consi-
derarse seguro, este lo tiene que ser aunque el atacante conozca todos los detalles del cripto-
sistema, exceptuando la clave.
seguridad por ofuscación f Paradigma que promueve que la seguridad de los sistemas se
base en el hecho de esconder los detalles sobre el algoritmo de cifrado, con el objetivo de
dificultar, supuestamente, el criptoanálisis.
side-channel attacks m Véase ataque de canal lateral.
solo texto cifrado m Modelo de evaluación de la seguridad de los criptosistemas en el que
el atacante solo dispone de un conjunto de textos cifrados.
sigla COA
en ciphertext-only attack
sustitución simple f Técnica de cifrado que consiste en sustituir cada letra individual del
mensaje en claro por otra letra.
texto en claro conocido m Modelo de evaluación de la seguridad de los criptosistemas en
el que el atacante dispone de un conjunto de textos en claro y sus correspondientes textos
cifrados.
sigla KPA
en known-plaintext attack
texto en claro escogido m Modelo de evaluación de la seguridad de los criptosistemas en el
que el atacante puede obtener los textos cifrados correspondientes a un conjunto de textos
en claro seleccionados por él mismo.
sigla CPA
en chosen-plaintext attack
texto cifrado escogido m Modelo de evaluación de la seguridad de los criptosistemas en el
que el atacante puede obtener los textos en claro correspondientes a un conjunto de textos
cifrados seleccionados por él mismo.
sigla CCA
en chosen-ciphertext attack
© FUOC • PID_00235165 28 Introducción a la criptografía
Bibliografía
Kahn, D. (1974). The codebreakers. Londres: Weidenfeld and Nicolson.
<http://www.simonandschuster.com/books/The-Codebreakers/David-Kahn/9780684831305>
Menezes, A.; Oorschot, P. van; Vanstone, S. (1996). Handbook of Applied Cryptography. Flo-
rida: CRC Press. <http://cacr.uwaterloo.ca/hac/>
Paar, C.; Pelzl, J. (2009). Understanding Cryptography: A Textbook for Students and Practitioners.
Nueva York: Springer.