Вы находитесь на странице: 1из 100

1

Notas del Curso de Seguridad


en Redes
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
mito, de forma que nuestro protagonista !illiam "egrand 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 !illiam #ontgomer$,
criptoanalista de la seccin diplomtica de la famosa Habitacin 40 del Almiranta%go
de la #arina &ritnica en Londres, intercepta un telegrama lleno de cdigos que el
Ministro de Relaciones Exteriores alemn Art'ur (immermann 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
2 CRIPTOSISTEMAS CLSICOS
Unidos entran en la confrontacin mundial y ayudan a los aliados a ganar la guerra.
Segn palabras de David K'an, autor de la obra ms completa sobre historia de la
criptografa
1
, "Nunca un nico criptoanlisis 'a tenido tan enormes consecuencias". De
hecho, el descubrimiento de este secreto cambi el rumbo de la historia. Y no es el
nico caso.
Otro ejemplo histrico lo tenemos en plena Segunda Guerra Mundial. El 7 de
diciembre de 1941, la radio de la estacin naval de Bainbridge sland, 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 !illiam )riedman,
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 K'an
"*'e +odebrac,ers" -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 +laude -'annon 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 !'itfield Diffie y #artin .ellman
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 postguerra, 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
1
Khan, David, "The Codebreakers. The Story of Secret Writing", Macmillan
Publishing Company, New Yor, 1!"#, pp$ 2"" ss$ y 2%2 ss$
&
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
DEA, 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.
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 sirvirn 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 o!o de "istoria
La esctala
Ya en siglo V antes de J.C. los lacedemonios, un antiguo pueblo griego,
usaban el mtodo de la esc/tala 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 C F R A B
A N C O N L A E S
C 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. ncluso 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
' CRIPTOSISTEMAS CLSICOS
de otra sin sentido alguno. Por ejemplo, en el caso de la figura 1.1, la cinta llevar el
mensaje M = AS CFRABAN CON LA ESCTALA si bien en ella slo podr leerse el
criptograma C = AA+-N00+*+1A0N")"A2AAE&-. 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 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
= 2END0+03N *1*A" en vez
del verdadero mensaje M
V
= A*A+A#1- #A4ANA, ambos de 14 caracteres. Sin
duda a ms de alguno este desli% le costara su preciada cabe%a.
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 antes de J.C., encontramos el cifrador por sustitucin de
caracteres ms antiguo que se conoce. Atribuido al historiador griego Pol$bios, 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 & + D E 1 A & + D E
B ) 5 . 06 K 2 ) 5 . 06 K
C " # N 1 P 3 " # N 1 P
D 7 2 - * 8 4 7 2 - * 8
E 9 ! : ; ( 5 9 ! : ; (
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 XX se utilizar en el
criptosistema 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: 8sando la *abla del cifrador de Pol$bios< cifre el mensaje=
# > 78E &8ENA 0DEA "A DE" 520E51?
Solucin: + > DADEAE A&DEAE++AA &DADAEAA +AAA ADAE+A
&&D&&DAE&&+D?
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 antes de
J.C., aparece un cifrador bsico conocido con el nombre genrico de cifrador del
Csar en honor al emperador 6ulio +sar 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: +on el cifrador del +sar segn el alfabeto mostrado en la )igura @?A<
cifre los siguiente mensajes=
#
@
> 90N0< 90D0< 90N+0? B)rase clebre de +sar= llegu< vi< venc/C?
#
D
> A" +E-A2 "1 78E E- DE" +E-A2?
Solucin: Aplicando a cada carcter #
i
su eFuivalente +
i
de la tabla de la )igura
@?A< se obtienen los siguientes criptogramas=
+
@
> ;"P"< ;"5"< ;"P)"?
+
D
> D4 ).9D8 42 *:. .9 5.4 ).9D8?
A partir del ejemplo anterior, es fcil apreciar ciertas debilidades en este
cifrador como, por ejemplo, la repeticin de la cadena de caracteres ;" en el
" CRIPTOSISTEMAS CLSICOS
criptograma primero y ).9D8 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.
El cifrador de Alberti
En el siglo XV "eon &attista 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.
Ejemplo 1.3: +ifre con el disco de Alberti de la )igura @?G< siendo su posicin inicial la
de coincidencia entre el nmero @ del disco eterior $ el signo H del disco
interior< el siguiente mensaje=
# > E" D0-+1 DE A"&E2*0 E- E" P20#E2 +0)2AD12
P1"0A")A&E*0+1 +1N1+0D1?
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:
+ > 9A E1-#P E9 .A29:)1 9- 9A &:109: #1":.EP:
&PA1.A".29)1#P #P;P#1EP?
1.1.#. CI$RADORES DEL SI%LO &I&
En el siglo XX 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 !'eatstone mostrado en la Figura 1.5. -segn un invento de
Decius !adswort' 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
% CRIPTOSISTEMAS CLSICOS
de cifrado ser diferente cuando se cumpla cualquiera de estas tres condiciones:
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 +E"1- no alcanzamos a dar la vuelta completa al disco
exterior, en tanto que la palabra #86E2 implica dos vueltas y .1#&2E
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: +on la mFuina de cifrar de !'eatstone $ suponiendo la posicin inicial
indicada en la )igura @?I< cifre los siguientes mensajes=
#
@
> +.0+A )E"0(?
#
D
> +.0+1 )E"0(?
Solucin: +
@
> *8N(* * NN!0A?
+
D
> *8N(! " 88P+(?
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 (CHC). 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 *, en tanto que la segunda vez que aparece se cifra como (, 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 . Por otra parte,
los caracteres repetidos **NN en C
1
y 88 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 = *12A *12A, palabra secreta usada como clave
por los japoneses en el ataque a Pearl Harbor y cuyo significado es tigre, se cifrar
como C = :!7* ( K7&5?
!
El cifrador de Bazeries
El cifrador de Etienne &a%eries, criptlogo francs nacido a finales del siglo XX,
est basado en el cifrador de ruedas de Jefferson, inventado unos 100 aos antes por
*'omas 6efferson 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 SUS NDECHFFRABLE 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 %igJ%ag 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.
1) CRIPTOSISTEMAS CLSICOS
Ejemplo 1.5: +onsiderando una representacin del cifrador de &a%eries como la Fue
se indica a continuacin< cifre el mensaje mostrado en el visor de la
generatri% @@ del disco= # > 0N*EN*A 21#PE2 "A +0)2A?
aC +on una distancia constante de +A espacios?
bC +on la secuencia - de distancia de cifrado indicada=
- > K<@<D<@<K<J@<JD<J@<K<@<D<@<K<J@<JD<J@<K<@<D<@?
)ila Disco 1 2 3 ! " # $ % & 1 2 3 ! " # $ % &
????
L V A M W W U I O P S S A H K L V C D U Q
M M O J F J K L M A C H Y E D X Z G Q I U
N D B W Q D S B D Q T F D S F D X E W Q G
@K A W K Y H M P E S H U K P U O E S J K D
@@ I N T E N T A R O M P E R L A C I F R A
@D R G I S X F W G B A N L F M J H A A S H
@A U I D V C R I I Z D D C Z A K I M B L X
@G K L B O T Z H Y L V C O N D W A L M V Z
@I W H S K L P O U I E E P D N C G Q E O B
??????
Solucin: aC + > K"&1*(.;"9+1ND!A"#9(?
bC -egn la secuencia indicada< tomamos caracteres consecutivos de
las l/neas @@<@D<@A<@D<@@<@K<N<@K<@@<@D<@A<@D<@@<@K<N<@K<@@<@D<@A<@D
Fue se encuentran subra$ados? + > 05D-N#&E1AD"28DE0A".?
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.'. M()uinas de !i*rar en el siglo &&
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 etremis 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.
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
2
Deavours, Cipher* Khan, David* Kruh, +ouis* Mellen, ,reg* -inel, .rian,
"Cryto!ogy" Machines# $istory % Methods", /r0ech 1ouse, 1!%!$ .auer, 2$+$,
3&ecryted Secrets. Methods and Ma'i(s of Cryto!ogy4, 5pringer, 1!!1$
11
Enigma y la de .agelin. 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
nventada por el ingeniero alemn Art'ur -c'erbius 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 .ug' .ebern 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 agelin
La mquina Hagelin fue inventada por el criptlogo sueco &oris .agelin, quien
adquiri en 1927 la fbrica de mquinas de cifrar de Arvid 5? 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
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
12 CRIPTOSISTEMAS CLSICOS
1.#. AL$A+ETOS , CARACTER-STICAS DEL LEN%UA.E
1.#.1. Al*a/etos de !i*rado
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 ASC: aritmtica mdulo 224.
En los cuatro primeros casos no se tiene en cuenta el carcter del espacio en
blanco (valor ASC 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 ASC 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 etraOos 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 cabe%a 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 ANS/ASC y el segundo la tabla ANS/OEM (vase
el Anexo en el libro electrnico http://www.criptored.upm.es/guiateoria/gt_m001a.htm.
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.
1& 2& 3&
& 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! "
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
1&
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 ! " # $ % &
Figura 1.7. Correspondencia numrica de alfabetos.
Establecer una correspondencia numrica de los caracteres del alfabeto nos
permitir realizar operaciones matemticas de despla%amiento (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.
X - E = 24 - 4 = 20 = T
4A = 40 = 0 = A
H + L = 7+11 = 18 = R
8K= 810 = 80 80 - 227 = 26 = Z
J + R = 9 + 18 = 27 27 - 127 = 0 = A
T + T = 20 + 20 = 40 40 - 127 = 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 ma$or sencille%< en lo Fue sigue del cap/tulo $ en tanto
no se especifiFue lo contrario< se supondr siempre Fue el alfabeto utili%ado es el
castellano con letras ma$sculas< es decir DL letras< con lo Fue las operaciones
se reali%arn en mdulo DL?
1.#.#. Estad0sti!as del lengua1e
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
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
1' CRIPTOSISTEMAS CLSICOS
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 contabili%ar 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
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 )recuencia Alta un valor mayor
que el 5 por ciento y )recuencia &aja un valor similar o menor que un 1 por ciento.
Observe que mezclando las letras de alta frecuencia podemos formar la palabra
E-*02AND1? 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 " con ms peso que la D, incluir en la
zona de alta frecuencia la letra + en vez de la letra *, etc. Pinsese en algn
documento que contenga informacin sobre produccin y comercializacin de un
determinado bien; es posible que la letra K tenga una contribucin mayor por el hecho
de que aparezca muchas veces la palabra ,ilo; lo mismo en un informe mdico de
radiologa, donde la letra : 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
1(
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 secrec$, 'ac,ers y bac,up.
Observando la tabla de digramas, encontramos que los tres digramas con
mayor frecuencia relativa en castellano son DE (1084), E- (1010) y EN (901), con
cerca del 2,5 por ciento. Asimismo, existirn digramas con frecuencia nula como sera
el caso de 7A, KK, 4", !(, 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 N) 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 teto clsico=
aC Encuentre las frecuencias relativas de monogramas?
bC Encuentre los N monogramas de ma$or frecuencia?
cC Encuentre la frecuencia relativa de digramas?
dC Encuentre los tres digramas ms frecuentes?
PEn un lugar de la #anc'a< de cu$o nombre no Fuiero acordarme< no 'a
muc'o tiempo Fue viv/a un 'idalgo de los de lan%a en astillero< adarga
antigua< roc/n flaco $ galgo corredor? 8na olla de algo ms vaca Fue
carnero< salpicn las ms noc'es< duelos $ Fuebrantos los sbados<
lentejas los viernes< algn palomino de aOadidura los domingos<
consum/an las tres partes de su 'acienda? El resto de ella conclu/an
sa$o de velarte< cal%as de velludo para las fiestas< con sus pantuflos de
lo mismo< $ los d/as de entre semana se 'onraba con su vellor/ ms fino?
*en/a en su casa una ama Fue pasaba de los cuarenta< $ una sobrina
Fue no llegaba a los veinte< $ un mo%o de campo $ pla%a< Fue as/
ensillaba el roc/n como tomaba la podadera? )risaba la edad de nuestro
'idalgo con los cincuenta aOosQ era de complein recia< seco de carnes<
enjuto de rostro< gran madrugador $ amigo de la ca%a? 7uieren decir Fue
ten/a el sobrenombre de 7uijada< o 7uesadaP?
Solucin: -e 'an contabili%ado LAK caracteres?
aC "as frecuencias relativas de monogramas mdulo DL en R
para este tro%o de teto son=
A @G<AM 6 K<G@ 2 I<LI
& @<SG K K<KK - L<IA
+ G<AM " S<NN * D<MM
D I<LI # A<@I 8 G<NA
E @@<AL N L<IA 9 @<@K
) K<SM 4 K<KK ! K<KK
5 @<ND 1 N<LA : K<@G
. @<@K P @<I@ ; @<DA
0 A<LK 7 @<I@ ( K<SM
bC "os nueve monogramas ms frecuentes en el teto son=
A< D< E< "< N< 1< 2< -< 8?
cC "os valores absolutos de frecuencia de digramas en el teto se
muestran en la siguiente tabla=
A B C D E F G H 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
1" CRIPTOSISTEMAS CLSICOS
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
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) "os tres digramas ms frecuentes del teto son DE con DD
apariciones< EN con @M $ 1- Fue aparece @S 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 )recuencia 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
tambin los ms frecuentes en el lenguaje castellano con valores de frecuencia muy
similares.
1.'. CLASI$ICACIN 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 +riptosistemas +lsicos y +riptosistemas #odernos.
1#
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
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 -'annon para lograr la confusin y difusin,
respectivamente.
NOTA: En lo Fue sigue del teto< para todos los ejemplos supondremos Fue el
MTODOS DE CFRA CLSCOS
TRANSPOSCN SUSTTUCN
GRUPOS
Esctala
SERES
COLUMNAS/FLA
MONOALFABTCA POLALFABTCA
MONOGRMCA POLGRMCA
ALFABETO ESTNDAR
Cifrador del Csar
TRANSFORMACN
Cifrador sustitucin afn
ALFABETO MXTO
DGRMCA
Cifrador de Playfair
N-GRMCA
Cifrador de Hill
PERDCA NO PERDCA
Cifrador de Vernam
ALFABETOS PROGRESVOS
Mquina Enigma
Mquina Enigma
ALFABETOS LNEALES
ALFABETO ESTNDAR
Cifrador de Vigenre
ALFABETO MXTO
1% CRIPTOSISTEMAS CLSICOS
teto cifrado viene agrupado en una cantidad fija de caracteres $ Fue tanto los
espacios en blanco como los signos de puntuacin no sern tomados en cuenta
en el proceso de cifra? "a 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: +ifre mediante transposicin de bloFues de cinco caracteres el siguiente
mensaje< usando la permutacin GAID@?
# > A" 520*1 DE 909A (APA*A -E A2#3 8NA 512DA?
Solucin: -iguiendo la permutacin indicada< se obtiene=
# > A"520 *1DE9 09A(A PA*A- EA2#1 8NA51 2DA::
+ > 250"A ED91* (AA90 A*-AP #21AE 5A1N8 :A:DA
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 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: 8tili%ando el algoritmo propuesto en el prrafo anterior< se pide cifrar el
mensaje M ' DISFRUTAN VACACIONES EN EL MES DE AGOSTO?
Solucin: -e cifrar de la siguiente forma= los caracteres en posiciones impares
subra$ados Bdsrtn???aotC se despla%an @I lugares $ los caracteres en
posiciones pares Bifuav???gsoC se despla%an @K lugares? 8sando entonces
las congruencias m
i
T@I mod DL para los primeros $ m
i
T@K mod DL para
los segundos< se obtiene=
+ > RRHOG EKBF OMOMW YBH BZVS CROP DCY.
En el criptograma anterior ha dejado de existir una correspondencia nica entre
1!
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 1, dependiendo se encuentre en el texto en una
posicin par o impar, respectivamente. Otro tanto ocurre para las letras 0, -, E, y 1.
Por otra parte, el criptograma comienza con el digrama 22 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
M
i
A B C D E ! " # $ % & M ' ( ) * + , S - . / 0 1 2 3
A
1
) * + , S - . / 0 1 2 3 A B C D E ! " # $ % & M ' (
A
2
% & M ' ( ) * + , S - . / 0 1 2 3 A B C D E ! " # $
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 = 1K, 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
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 mitos, 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.
M
i
A B C D E ! " # $ % & M ' ( ) * + , S - . / 0 1 2 3
Ci 4 5 6 7 8 9 : ; < - D A C . E ' = > ? @ A
Figura 1.11. Ejemplo de alfabeto de cifrado mixto.
1.2. CI$RADORES POR SUSTITUCIN MONO%RMICA
MONOAL$A+ETO
2) CRIPTOSISTEMAS CLSICOS
1.2.1. Ci*radores or sustitu!i3n
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 # 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
cifrado.
1.2.#. El !i*rador del C4sar
Tal vez el cifrador monoalfabtico por sustitucin ms famoso es el
denominado +ifrador del +sar, uno de los cifradores ms antiguos, atribuido al
emperador romano 6ulio +sar. 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 despla%amiento 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
M
i
A B C D E ! " # $ % & M ' ( ) * + , S - . / 0 1 2 3
C
i
D E ! " # $ % & M ' ( ) * + , S - . / 0 1 2 3 A B C
Figura 1.12. Equivalente numrico del alfabeto de cifrado del Csar.
21
Ejemplo 1.9: +on la tabla del cifrador del +sar de la )igura @?@D< cifre el mensaje=
# > +E-A2 E" E#PE2AD12 .A -0D1 A-E-0NAD1?
Solucin: Aplicando a cada carcter #
i
su eFuivalente +
i
< se obtiene=
+ > ).9D8 .4.1- .8D52 8KD9" 52D9. 9"PD5 2?
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 cla!e
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 = E-*1; A&8220D1 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
M
i
A B C D E ! " # $ % & M ' ( ) * + , S - . / 0 1 2 3
ClBCe E S - ) 2 A B . , # 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
M
i
A B C D E ! " # $ % & M ' ( ) * + , S - . / 0 1 2 3
0 1 3 E S - ) 2 A B . , # D C ! " $ % & M ' ( * + /
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: +on el cifrador del +sar con clave cifre el siguiente mensaje usando
como clave K > P1&2E +.8+.1 -0&E20AN1 con p
K
> D?
# > A PE221 )"A+1 *1D1 -1N P8"5A-?
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
"uego< + > ;5&KK )20;P )#)1) ")N54 0E;"?
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 ti"o Csar con alfabetos mi#tos
22 CRIPTOSISTEMAS CLSICOS
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.
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 ( ) * + , # - . / 0 1 ' 2 3 & 1 2 3 ! 4
Figura 1.14. Cifrador del Csar con alfabeto mixto.
Ejemplo 1.11: +ifre con el alfabeto mito de la )igura @?@G el siguiente mensaje=
# > EN E" E-+A2A&A61 DE 121 APA2E+EN -05N1-
D0-*0N*1- A "1- DE" *E:*1 EN +"A21?
Solucin: -iguiendo 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 *rinit$, 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
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 /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 = 2E#E#&E2 DEA*.. 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 inFuieta $ algo retorcida pondra en su tumba.
2&
Un sistema muy similar al indicado en la Figura 1.16, denominado )reemasons,
es utilizado por las logias de la masonera. El lector interesado en este tipo de cifrados
histricos puede consultar el libro +r$ptolog$= #ac'ines< .istor$ H #et'ods, 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.2.'. Critoan(lisis del !i*rado del C4sar
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 +sar?
Solucin: -i n > DL< eistirn slo DS posibles combinaciones de alfabetos< por lo
tanto .BKC > log
D
DS > G<LK? +omo la redundancia D era igual a A<G
entonces se tiene Fue N > .BKCUD G<LKUA<G @<AM? Por lo tanto<
necesitamos como m/nimo dos caracteres?
Para cifrados del Csar sin clave, una forma elemental de criptoanlisis
consiste en escribir bajo el texto cifrado todas las combinaciones de frases, con o sin
sentido, que se obtienen al aplicar a dicho criptograma desplazamientos de 1, 2, 3, ...,
n-1 caracteres, siendo n el nmero de caracteres del alfabeto utilizado. Una de estas
combinaciones dar con el texto en claro y esto ser vlido independientemente del
valor asignado a la constante de desplazamiento. Retomemos el Ejemplo 1.9 en el que
tenamos el siguiente par mensaje/criptograma, respetando los espacios en blanco
para una mayor claridad:
M ' CESAR EL EMPERADOR HA SIDO ASESINADO5
C ' FHVDU H HOSHUDGRU KD VLGR DVHVLPDGR5
Como nuestro alfabeto contiene 27 caracteres tenemos el cuadro de posibles
mensajes a partir del criptograma que se muestra en la Figura 1.17. En esta figura,
la nica solucin con sentido corresponde a un desplazamiento de 24 caracteres en la
operacin de descifrado. Si al cifrar el mensaje M nos hemos desplazado 3 espacios
hacia delante para obtener el criptograma C, representado en la posicin b = 0 de la
figura, para descifrarlo habr que desplazarse 3 caracteres hacia atrs o bien, de
acuerdo con la modularidad, un desplazamiento hacia delante de 27-3 = 24 espacios.
2' CRIPTOSISTEMAS CLSICOS
C: b = 0 FHVDU H HOSHUDGRU KD VLGR DVHVLPDGR -eDEo ciFGBHo
b = 1 GIWEV IO IPTIVEHSV LE WMHS EWIWMQEHS
b = 2 HJXFW JP JQUJWFITW MF XNIT FXJXNRFIT
b = 3 IKYGX KQ KRVKXGJUX NG YJU GYKYSGJU
b = 4 JLZHY LR LSWLYHKVY H ZOKV HZLZOTHKV
b = 5 KMAIZ MS MTXMZILWZ OI APLW IAMAPUILW
b = 6 LNBJA NT NUYNAJMXA PJ BQMX JBNBQVJMX
b = 7 MCKB U VZBKNYB QK CRNY KCCRWKNY
b = 8 NODLC OV OWAOCLZC RL DSZ LDODSXLZ
b = 9 PEMD PW PXBPDMOAD SM ETOA MEPETYMOA
b = 10 OQFNE QX QYCQENPBE TN FUPB NFQFUZNPB
b = 11 PRGF RY RZDRFQCF U GVQC GRGVAQC
b = 12 QSHOG SZ SAESGORDG VO HWRD OHSHWBORD
b = 13 RTIPH TA TBFTHPSEH WP IXSE PITIXCPSE
b = 14 SUJQI UB UCGUIQTFI XQ JYTF QJUJYDQTF
b = 15 TVKRJ VC VDHVJRUGJ YR KZUG RKVKZERUG
b = 16 UWLSK WD WEIWKSVHK ZS LAVH SLWLAFSVH
b = 17 VXMTL XE XFJXLTWIL AT MBWI TMXMBGTWI
b = 18 WYNUM YF YGKYMUXJM BU NCXJ UNYNCHUXJ
b = 19 XZVN ZG ZHLZNVYKN CV DYK VZDIVYK
b = 20 YAOW AH AIMAWZL DW OEZL WOAOEJWZL
b = 21 ZBPXO BI BJNBOXAMO EX PFAM XPBPFKXAM
b = 22 ACQYP CJ CKCPYBNP FY QGBN YQCQGLYBN
b = 23 BDRZQ DK DLODQZCQ GZ RHC ZRDRHMZC
M: b = 24 CESAR EL EMPERADOR HA SIDO ASESINADO -eDEo en clBGo
b = 25 DFTBS FM FNQFSBEPS IB TJEP BTFTJBEP
b = 26 EGUCT GN GRGTCFQT JC UKFQ CUGUKOCFQ
Figura 1.17. Criptoanlisis del cifrador del Csar.
Para los cifradores por desplazamiento puro como el del Csar, se cumplir por
tanto la siguiente operacin de descifrado (D) a partir de un cifrado (E) en el anillo n:
D
b
= E
n-b
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 lpi%, 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 b 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
2(
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 pi%ca de intuicin y un poco de suerte.
Ejemplo 1.13: +alcule la distancia de unicidad de un cifrador del +sar con clave?
Solucin: -i el alfabeto tiene n caracteres< eistirn nV combinaciones posibles de n
elementos< luego N > .BKCUD > Blog
D
nVCUD? 8tili%ando la aproimacin de
-terling< log
D
nV nlog
D
BnUeC< la distancia de unicidad ser N
nlog
D
BnUeCUD? Para n > DL se tiene= N DLlog
D
BDLUeCUA<G DL<G
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 ! 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 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 mito=
C = >]0 343 44]>} >{: {43> 34]02 014:0 34(4 >)
0]{)4 03401 4}034 344] 01>].
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 *otal = LK caracteres?
-uponiendo Fue los caracteres G $ K< de ma$or frecuencia relativa
en el criptograma< se corresponden con las letras E $ A del alfabeto< se
obtiene el siguiente criptograma parcial=
2" CRIPTOSISTEMAS CLSICOS
M
1
= >]A 3E3 EE]>} >{: {E3> 3E]A2 A1E:A
3E(E >) A]{)E A3EA1 E}A3E 3EE] A1>].
-i por alguna pista sospec'amos Fue ]A2A1E:A sea LACABEZA,
tenemos otros 4 caracteres y el criptograma ser/a en una segunda
aproimacin=
M
2
= >LA 3E3 EE]>} >{: {E3> 3ELAC ABEZA
3E(E >) AL{)E A3EAB E}A3E 3EEL AB>L.
;a tenemos entonces S caracteres con posible eFuivalencia=
0 = A; 1 = B; 2 = C; 4 = E; ] = L y : = Z.
Del alfabeto anterior podr/amos suponer Fue A > D? -i adems
pensamos Fue la cadena ELAB>L es ELARBOL, el resultado son tres
correspondencias nuevas= 3 = D; = R y > = O. Obtenemos el alfabeto
de cifrado Fue se indica $ una tercera aproimacin del criptograma=
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
& 1 2 3 6 6 6 6 6 6 4 6 6 6 2 6 6 6 6 6 6 6 6 6 7
M
3
= OLA RDED EEL>} >{Z {ERDO DELAC ABEZA
DE(E RO) AL{)E ADEAB E}ADE DEEL ARBOL.
-i ABE}ADEDEELARBOL es ABEJADESDEELARBOL, obtenemos
dos nuevas correspondencias entre caracteres } = J y = S $ el
siguiente criptograma=
M
4
= SOLA RDESD EEL>J >{Z {ERDO DELAC ABEZA
DE(E RO) AL{)E ADEAB EJADE SDEEL ARBOL.
"a resolucin final del criptograma a estas alturas parece $a algo trivial?
El alfabeto utili%ado en este ejemplo $ el mensaje son los Fue se indican=
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
& 1 2 3 ! ) * + , ( 4 0 1 3 2 J 8 / - 9 7
#> -1"*A2 DE-DE E" 161 0(780E2D1 DE "A +A&E(A DE
#8E2*1 8NA "WNEA DE A&E6A DE-DE E" X2&1"?
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.2.2. Ci*radores gen4ri!os or sustitu!i3n
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
2#
operacin de sustitucin de los caracteres del alfabeto puede obtenerse de forma
matemtica aplicando la siguiente expresin de equivalencia:
C
i
= (aM
i
+ b) mod n 1.5
en donde a se conoce como la constante de decimacin, b constante de
despla%amiento 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 1. Por otra
parte, para la existencia de inversos deber cumplirse que los valores de la constante
a y el mdulo n sean primos entre s; es decir mcd (a,n) = 1. Al trabajar en mdulo 27
= 3
3
, los valores permitidos de la constante de decimacin a sern los 18 elementos
del CRR(27) que no tengan como factor comn el nmero 3, es decir: 1, 2, 4, 5, 7, 8,
10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25 y 26.
En cuanto a la constante de desplazamiento b, sta puede tomar cualquier
valor comprendido entre 0 y n-1 pues se asegura en todo momento la existencia del
inverso para la adicin. Desplazamientos mayores que n-1 caern dentro del mismo
anillo por lo que su valor se reduce mdulo n. Por ejemplo, un desplazamiento de b =
32 espacios equivale a (32-kn) = (32-127) = 5 espacios efectivos. As mismo, un
desplazamiento negativo (caracteres hacia la izquierda del alfabeto) puede
trasladarse a su equivalente en el intervalo [0, n-1]. Por lo tanto, podemos decir que un
desplazamiento de b = -8 caracteres equivale a (-8+kn) = (-8+127) = 19 caracteres
hacia la derecha.
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 despla%amiento
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 af/n.
Cifradores "or des"lazamiento "uro
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: aC +on n > DL $ un despla%amiento b > @I< cifre el mensaje # > -A"9E
+E-A2 utili%ando la ecuacin B@?SC? bC Descifre el criptograma mediante
2% CRIPTOSISTEMAS CLSICOS
la ecuacin B@?LC?
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= + > .1:6- 7-.15?
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= # > -A"9E +E-A2?
Cifradores "or decimaci$n "ura
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: aC Encuentre el alfabeto de cifrado para la transformacin
monoalfabtica por decimacin +
i
> DK #
i
mod DL?
bC +ifre con este alfabeto el siguiente mensaje # > D0"E A "A82A 78E
"A 780E21?
Solucin: a) & 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! "
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 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
C0 = 20A mod 27 = 200 mod 27 = 0 = A
C1 = 20B mod 27 = 201 mod 27 = 20 = T
2!
C2 = 20C mod 27 = 202 mod 27 = 40 mod 27 = 13 = N, etc.
b) El criptograma ser + > 5;E(A EA16A P1(EA P1;(6 D?
Puesto que slo se aplica este algoritmo de cifra si el valor de la constante de
decimacin es primo entre s con el mdulo de trabajo, se asegura la existencia del
inverso y por tanto la posibilidad de descifrar el criptograma segn la ecuacin (1.10).
Ejemplo 1.17: Descifre el criptograma Fue se indica utili%ando la ecuacin B@?@KC si se
conoce Fue ste se 'a obtenido con sustitucin por decimacin pura con
una constante de decimacin igual a DD?
+ > #4(.! D.&52 .((A8 D.25?
Solucin: El inverso del factor de decimacin DD es invBDD<DLC > @S< luego=
M
01
= 16 12 mod 27 = 192 mod 27 = 03 = D
M
02
= 16 14 mod 27 = 224 mod 27 = 08 =
M
03
= 16 26 mod 27 = 416 mod 27 = 11 = L
M
04
= 16 07 mod 27 = 112 mod 27 = 04 = E
M
05
= 16 23 mod 27 = 368 mod 27 = 17 = Q
M
06
= 16 03 mod 27 = 048 mod 27 = 21 = U
M
07
= 16 07 mod 27 = 112 mod 27 = 04 = E
M
08
= 16 01 mod 27 = 016 mod 27 = 16 = P
M
09
= 16 06 mod 27 = 096 mod 27 = 15 = O
M
10
= 16 18 mod 27 = 288 mod 27 = 18 = R
M
11
= 16 07 mod 27 = 112 mod 27 = 04 = E
M
12
= 16 26 mod 27 = 416 mod 27 = 11 = L
M
13
= 16 26 mod 27 = 416 mod 27 = 11 = L
M
14
= 16 00 mod 27 = 000 mod 27 = 00 = A
M
15
= 16 21 mod 27 = 336 mod 27 = 12 = M
M
16
= 16 03 mod 27 = 048 mod 27 = 21 = U
M
17
= 16 07 mod 27 = 112 mod 27 = 04 = E
M
18
= 16 18 mod 27 = 288 mod 27 = 18 = R
M
19
= 16 06 mod 27 = 096 mod 27 = 15 = O
El mensaje descifrado es # > D0"E 78E P12 E""A #8E21
Cifradores "or transformaci$n afn
En los cifradores genricos, si se cumple que la constante de decimacin a es
mayor que 1 y la constante de desplazamiento b distinto de cero, hablamos de cifra
por transformacin afn. Las ecuaciones sern en este caso:
C
i
= (aM
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
&) CRIPTOSISTEMAS CLSICOS
Ejemplo 1.18: Encuentre el alfabeto de cifrado monoalfabtico para la siguiente relacin
de transformacin +
i
> BGM
i
T IC mod DL?
Solucin: & 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! "
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 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
C0 = (4A + 5) mod 27 = (40 + 5) mod 27 = 5 = F
C1 = (4B + 5) mod 27 = (41 + 5) mod 27 = 9 = J
C2 = (4C + 5) mod 27 = (42 + 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 +
i
> BA#
i
T DC mod DL?
Solucin: Aplicando la ecuacin B@?IC se obtiene=


& 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! "
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 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) 1 lo que se comprueba en el hecho
de que no obtenemos una equivalencia unvoca entre caracteres. Para este caso en
que a = 3, se va repitiendo el mismo conjunto de 9 (27/3) caracteres +)0"47*!( por
lo que no se obtiene el conjunto completo de restos del mdulo y, por tanto, no es
posible utilizarlo como cifrador. De hecho si el criptograma presenta la letra C, no se
sabe si corresponde a la accin de cifrar en el texto en claro las letras J, R o A.
Ejemplo 1.20: 8sando un cifrador monoalfabtico por decimacin $ adicin segn la
transformacin BIM
i
T MC mod DL< cifre el siguiente mensaje?
# > DX&A"E A221( A "A (122A E" A&AD?
Solucin: & 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! "
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 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
"uego< + > !0N06 &077+ D060D +770& 60N0!?
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 +
i
> BL#
i
T DC mod DL conjuntamente con la
clave K > 2E)2ANE21 E-PA41" posicionada en p
0
> I< se pide cifrar
el mensaje # > N1 .A; #A" 78E P12 &0EN N1 9EN5A?
Solucin: Aplicando la transformacin BL#
i
T DC mod DL< obtenemos el siguiente
alfabeto de cifrado=
&1
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 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
> I:
6 6 6 6 6 R E F A N O S P L 6 6 6 6 6 6 6 6 6 6 6 6
+ompletando a'ora el alfabeto de cifrado desde la posicin final de la
clave< se obtiene=
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 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
"uego< + > 4+).5 P.-!: 96+D8 A944+ ;94E.?
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.2.5. Critoan(lisis de !i*rados 6onoal*a/4ti!os or sustitu!i3n
El criptoanlisis de los cifradores monoalfabticos genricos por sustitucin,
esto es aquellos en los que se cumple la relacin af/n (aM + b), pueden resolverse
fcilmente aplicando estadsticas del lenguaje al igual que en el cifrado del Csar. En
este caso, como adems de un desplazamiento b existe una constante de decimacin
a, podemos plantear un sistema de dos ecuaciones para asignar posibles valores a
ambas variables en funcin del comportamiento estadstico que observamos en los
caracteres del criptograma. Como la transformacin es C
i
= (aM
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 # = 12, se corresponde con la letra ms frecuente en el lenguaje
castellano, es decir la letra E = 4, establecemos la primera relacin de equivalencia:
a4 + 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 5 = 6, con la segunda letra ms frecuente del
lenguaje, A = 0. Esto nos da una segunda ecuacin:
a0 + b = 6 mod 27
&2 CRIPTOSISTEMAS CLSICOS
Deducimos que b = 6. Si reemplazamos este valor en la primera ecuacin:
a4 + 6 = 12 mod 27 a4 = 6 mod 27
a = 6inv(4,27) mod 27 a = 67 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 2 = 18 del
criptograma y la letra + = 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:
# = 12 del criptograma se corresponde con E = 4 del texto en claro.
* = 20 del criptograma se corresponde con 2 = 18 del texto en
claro.
Establecemos as el siguiente sistema de ecuaciones:
a4 + b = 12 mod 27
a18 + b = 20 mod 27
Restando la primera de la segunda se tiene:
a14 = 8 mod 27 a = 8[inv(14,27)] mod 27 = 82 mod 27 = 16
Sustituyendo a > @S 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 podr/a ser:
C
i
= (16M
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 $ despla%amiento sin clave= + > NA74)
EKNDP N+098 )P8AN E680P )+NE2 N)24) 8NP"N A)P)7 *)PE0
62*4E )PK40 K*AP) "0K04 A0P48 2+860 P+098 +8NE2 02"NP
*60A) NE104 +)"N+ N"8)A *E)?
Solucin: "os caracteres de ma$or frecuencia del criptograma anterior son= ) > @G<
N > @A e 0 > @D? Esto nos 'ace sospec'ar Fue se correspondan con las
letras A< E $ 1 del alfabeto en claro?
&&
Puesto n > DL > A
A
entonces BDLC > A
AJ@
BAJ@C > @M? .aremos slo dos
intentos para mostrar cmo funciona este mtodo de ataFue=
@Y Aproimacin BFue nos lleva a una solucin falsaC=
*eto claro= EBGC +riptograma= )BIC
*eto claro= ABKC +riptograma= NB@AC
*eto claro= 1B@IC +riptograma= 0BMC
"uego= BaG T bC > I mod DL
BaK T bC > @A mod DL b > @A
Ba@I T bC > M mod DL
2estando la primera ecuacin a la tercera= a@@ > A mod DL?
"uego< a > BAinvB@@<DLCCmod DL > AI mod DL > @I a > @I?
"a solucin EB#C > B@I#
i
T @AC se descarta pues mcd B@I<DLC @?
DY Aproimacin BFue nos lleva a'ora s/ a una solucin verdaderaC=
*eto claro= EBGC +riptograma= NB@AC
*eto claro= ABKC +riptograma= )BIC
*eto claro= 1B@IC +riptograma= 0BMC
"uego= BaG T bC > @A mod DL
BaK T bC > I mod DL b > I
Ba@I T bC > M mod DL
2estando la primera ecuacin a la tercera= a@@ > DD mod DL?
"uego a > BDDinvB@@<DLCCmod DL > DDI mod DL a > D?
Esto da lugar a EB#C > BD#
i
T IC mod DL< cu$o alfabeto es=
#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
+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
"uego el criptograma se descripta como=
# > E" 52AN PE( -E #19WA -0"EN+01-A#EN*E A *2A9E-
DE "A- A58A- N1+*82NA-< P21P8"-AD1 P12 "1-
2W*#0+1- #190#0EN*1- DE -8 +1"A EN )12#A DE #ED0A
"8NA?
BPrimer prrafo del libro P*iburnP< de P? &enc'le$C?
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
&' CRIPTOSISTEMAS CLSICOS
alfabetos de cifrado sern n(n); es decir, los n posibles desplazamientos por el
indicador de Euler que indica el nmero de elementos que contiene el CRR(n), es
decir primos con el mdulo y que por tanto sirven como factor de decimacin.
Ejemplo 1.23: Encuentre la distancia de unicidad de un cifrador genrico de sustitucin
sin clave para n > DL?
Solucin: N > .BKCUD > log
D
BnBnCCUD > log
D
BDL@MCUA<G > D<S? Esto es< debemos
contar con A caracteres cifrados como m/nimo?
El valor de la distancia de unicidad para estos cifradores afines es muy bajo
puesto que tambin lo es la cantidad de alfabetos. Con un valor de n = 27, solamente
existen 486 alfabetos distintos, es decir, 26 desplazamientos por 18 decimaciones.
Para hacer crecer este valor podemos usar una clave. En esta situacin, el cifrador se
convierte en uno monoalfabtico con clave, con 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
'omfonos, lo que da lugar a este tipo de cifradores que veremos a continuacin.
1.5. CI$RADORES POR 7OM$ONOS
1.5.1. Ci*radores or "o63*onos de ri6er orden
Qu entendemos por 'omfonos? La definicin del vocablo puede
encontrarse en cualquier diccionario: "palabras de igual pronunciacin o sonido $
distinto significado" como por ejemplo 'ola 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 'omfonos, cuya caracterstica
principal es la de suavi%ar 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 = &X6A#E "A 6A8"A 6A0#E como se indica:
A 03 19 36 83 91
B 23 62
E 07 25 28 62 70 88 89 97
13 55 70
J 43
L 18 53 60
M 10 33 71 80
U 06
M = & A 6 A # E " A 6 A 8 " A 6 A 0 # 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.
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 *'omas 6efferson &eale, 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 0ndependencia de los Estados 8nidos, cuyas
107 primeras palabras se muestran en la Figura 1.19. Lo siento, tendr que traducirlo
Ud. mismo.
!'en< in t'e course of 'uman events< it becomes necessar$ (01-10)
for one people to dissolve t'e political bands w'ic' 'ave (11-20)
connected t'em wit' anot'er< and to assume among t'e Powers (21-30)
of t'e eart' t'e separate and eFual station to wic' (31-40)
&" CRIPTOSISTEMAS CLSICOS
t'e "aws of Nature and of NatureZs 5od entitle t'em< (41-50)
a decent respect to t'e opinions on man,ind reFuires t'at (51-60)
t'e$ s'ould declare t'e causes wic' impel t'em to t'e (61-70)
separation? !e 'old t'ese trut's to be selfJevidentQ t'at (71-80)
all men are created eFual< t'at t'e$ are endowed b$ (81-90)
t'eir +reator wit' certain unalienable rig'tsQ t'at among t'ese are (91-100)
"ife< "ibert$< and t'e pursuit of .appiness. (101-107)
Figura 1.19. Comienzo de la Declaracin de ndependencia de los Estados Unidos.
Por ejemplo, siguiendo el texto de la Declaracin de la ndependencia 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: P0 'ave deposited???P y terminaba con el
siguiente mensaje: PPaper Number 1ne describes t'e eact localit$ of t'e vault< so t'at
no difficult$ will be 'and in finding itP (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 "aboratorio de +riptograf/a 5eorge )ab$an
en Riverbank llinois, 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.
Ultimamente, 6ames 6? 5illogl$ y "ouis Kru', exponen en 1980 y 1982,
respectivamente, en sendos artculos de la revista +r$ptologia
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 6ames &? !ard, vecino de
Campbell County en Virginia, a quien supuestamente haban llegado los criptogramas
de mano de 2obert #orris, 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: +onstru$a una tabla de 'omfonos con las NN primeras palabras del
libro P+ien aOos de soledadP de 5abriel 5arc/a #rFue% $ luego cifre el
siguiente mensaje= # > 8NA 52AN N19E"A?
3
Deavours Cipher, Kahn David, Kruh +ouis, Mellen ,reg, -inel .rian, "Cryto!ogy"
Machines# $istory % Methods", /r0ech 1ouse, 1!%!, pp$ '!16()($
&#
Solucin: El teto indicado es el siguiente=
P#uc'os aOos despus< frente al pelotn de fusilamiento< el coronel @K
Aureliano &uend/a 'ab/a de recordar aFuella tarde remota en Fue DK
su padre lo llev a conocer el 'ielo? #acondo era AK
entonces una aldea de veinte casas de barro caOabrava construidas GK
a la orilla de un r/o de aguas difanas Fue IK
se precipitaban por un lec'o de piedras pulidas< blancas $ SK
enormes como 'uevos pre'istricos? El mundo era tan reciente< Fue LK
muc'as cosas carec/an de nombre< $ para mencionarlas 'ab/a Fue MK
seOalarlas con el dedo? *odos los aOos< por el mes NK
de mar%o< una familia de gitanos desarrapados plantaba su ???P NN
"os caracteres con 'omfonos 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
T 17 68 85
U 32 45 54 93
V 35
Y 60 76
8no de los tantos criptogramas podr/a ser=
+ > ADLI@@ NSGSAALI LIGAAIAKIIGM?
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.
&% CRIPTOSISTEMAS CLSICOS
De los ejemplos anteriores, ninguno de los dos textos tomados como referencia
para los homfonos -la Declaracin de la ndependencia 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 "a #anc'a ..." 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.#. Ci*radores or "o63*onos de orden 6a8or
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 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 homof$nico 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 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
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 = CEDDA con el mensaje falso X = FJADA 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.
1.5.'. Critoan(lisis de los !i*rados or "o63*onos
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 poFuit/n 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: .aciendo uso de nuestras 'abilidades $ fuentes de informacin Fue no
vamos a desvelar en este momento< 'emos encontrado el siguiente tro%o
') CRIPTOSISTEMAS CLSICOS
de una tabla de 'omfonos< relacionada con el criptograma de GA
elementos Fue se indica? Encuentre los mensajes Fue 'an dado lugar al
criptograma Fue 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 *abla de .omfonos Bordenada numricamenteC
@
er
carcter B)ilaC D[ carcter B+olumnaC?
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 S AN PE
581 590 603 644 668 693 699 700 705
LU RA ML EC OA ZE PN TP YZ
710 727
ON Y
Solucin: "e$endo los primeros caracteres de los 'omfonos 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
545=AN A 581=LU L 545=AN A 644=EC E 503=S S
388=TA T 590=RA R 219=AT A 150=TO T 041=ED E
480=GO G 727=Y 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=
#
)ila
> PE"XE(< 9E A P12 *1DA- ; 8-A "A E-*2A*E50A
N\#E21 *2E-?
"e$endo los segundos caracteres de los 'omfonos 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=S
388=TA A 590=RA A 219=AT T 150=TO O 041=ED D
480=GO O 727=Y 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
A'ora se obtiene el mensaje por columna=
'1
#
columna
> N1 9A"E "A PENA PE"XE(< 2EN8N+0A A *1D1 ;
98E"9E A +A-A?
En el ejemplo anterior, incluso conociendo de qu va el affaire de nuestro
querido amigo Pele%, 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 cabe%a, no tenemos nada.
1.9. CI$RADORES POR SUSTITUCIN MONO%RMICA
POLIAL$A+ETO
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.
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 1 y
otras veces como la letra 6 (una de alta frecuencia y la otra de baja) y lo mismo ocurre
para la letra !, 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.
'2 CRIPTOSISTEMAS CLSICOS
1.9.1. Ci*radores olial*a/4ti!os eri3di!os
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 C es una aplicacin de correspondencia del
alfabeto A del texto en claro con el alfabeto de cifrados C
i
, con 1 i 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.9.#. Ci*rador de :igen;re
El cifrador polialfabtico ms conocido es el sistema de Vigenre, as
denominado en honor al criptlogo francs &laise de 9igen]re (1523-1596). El sistema
utiliza el mismo mtodo que el cifrador del Csar, esto es una sustitucin
monogrmica 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 c/clicamente 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 555
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 555
Segn lo anterior, la clave utilizada ser +E29AN*E- 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 (+), dando lugar a E + C = (4 + 2) mod 27 = 6 = 5; el
segundo carcter (N) se cifra sumndolo con el segundo carcter de la clave (E), N +
E = (13 + 4) mod 27 = 17 = 7, etc. El resultado final ser el criptograma: C = 57#0"
.(EK) 0+9#N 55(+. 9:8"0. 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 9igen]re?
# > DE-A-*2E N8+"EA2 EN #82821A? +lave K > -1-?
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 V E+S = (4+19) mod27 = 23 W
'&
E+O = (4+15) mod27 = 19 S A+O = (0+15) mod27 = 15 O
S+S = (19+19) mod27 = 11 L R+S = (18+19) mod27 = 10 K
A+S = (0+19) mod27 = 19 S E+S = (4+19) mod27 = 23 W
S+O = (19+15) mod27 = 7 H N+O = (13+15) mod27 = 1 B
T+S = (20+19) mod27 = 12 M M+S = (12+19) mod27 = 4 E
R+S = (18+19) mod27 = 10 K U+S = (21+19) mod27 = 13 N
E+O = (4+15) mod27 = 19 S R+O = (18+15) mod27 = 6 G
N+S = (13+19) mod27 = 5 F U+S = (21+19) mod27 = 13 N
U+S = (21+19) mod27 = 13 N R+S = (18+19) mod27 = 10 K
C+O = (2+15) mod27 = 17 Q O+O = (15+15) mod27 = 3 D
L+S = (11+19) mod27 = 3 D A+S = (0+19) mod27 = 19 S
"uego< se obtiene el siguiente criptograma=
+ > 9-"-. #K-)N 7D!1K !&EN5 NKD-?
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 2 y no as
con la 8 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 " y 1 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 - y el de la letra 1.
+"A9E * E : * 1 E N + " A 2 1
& 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! "
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 & 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 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 ! 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 " 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 # 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 $ 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 % 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 1& 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
1 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 1! 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 1" 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 1# 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 1$ 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 1% 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 2& 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
'' CRIPTOSISTEMAS CLSICOS
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 2 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 2! 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 2" 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 *abla de 9igen]re 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 # cifrada con la clave 1 nos dar el criptograma A.
Compruebe que al mismo resultado se llega si se cifra el texto en claro 1 con la clave
#. 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: 8tili%ando la *abla de 9igen]re $ la clave K > !0ND1!-< cifre el
siguiente mensaje= # > #A20P820< APA5A E-E 12DENAD12?
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
&uscando en la tabla< obtenemos el criptograma=
+ > 00E"E 7KE0+ D8!!1 #&82A )!"&8?
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 !, 0, N, D, 1, -.
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 5 y el
elemento k
i
es la letra 4, el resultado ser el texto en claro -.
Ejemplo 1.28: En la sala de mandos se recibe el siguiente criptograma Fue se sabe 'a
sido cifrado mediante 9igen]re con la clave *12A? -e pide descifrarlo?
+ > 21DA) D"105 8E512 **722 6-22E 9228D 6?
Solucin: Aplicando el mtodo comentado< obtenemos el inFuietante mensaje=
# > ;A#A#1*1 12DENA A*A+A2 PEA2" .A2&12?
'(
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 (2),
con letra de clave (*) obtenemos: (R-T) mod 27 = (18-20) mod 27 = -2 mod 27 = 25 =
;. Contine Ud. con el resto del criptograma.
1.9.'. Ci*rador auto!la<e
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 = #A2KE*0N5 deseamos cifrar el
mensaje M = ;A E- P20#A9E2A EN E" +12*E 0N5"E-, 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 #A2KE*0N5 es igual que en
Vigenre. Esto es, siguiendo la ecuacin (1.17), desciframos los nueve primeros
caracteres como se indica:
K - M (10 - 12) mod 27 = 25 ;
A - A (0 - 0) mod 27 = 0 A
V - R (22 - 18) mod 27 = 4 E
C - K (2 - 10) mod 27 = 19 -
T - E (20 - 4) mod 27 = 16 P
L - T (11 - 20) mod 27 = 18 2
P - (16 - 8) mod 27 = 8 0
Y - N (25 - 13) mod 27 = 12 #
G - G (6 - 6) mod 27 = 0 A
Con este mtodo seremos capaces de descifrar slo los primeros 9 caracteres
del criptograma KA9+*"P;5 correspondientes a la clave primaria #A2KE*0N5. Para
continuar descifrando, hacemos uso de los 9 caracteres ya descifrados (;AE-P20#A)
que, segn el mtodo, irn a continuacin de dicha clave. Por lo tanto, desciframos
ahora el criptograma *E9-*E#!+ con la clave ;AE-P20#A 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: -i la clave usada en un cifrador autoclave es P0((A< descifre el siguiente
criptograma?
+ > SWMCE HHGD OLXCV OMSGC WXQVO MSGKX TSQDT MEFL
'" CRIPTOSISTEMAS CLSICOS
Solucin: Bloque 1: SWMCE Clave: PZZA M
1
= DONDE
Bloque 2: HHGD 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
"uego< inclu$endo los signos de puntuacin< este sabroso mensaje es=
# > ^D3NDE E-*X E" -E+2E*1_ E" -E+2E*1 E-*X EN "A #A-A?
(He incluido los signos)
1.9.2. Ci*rador de +eau*ort
En 1710, 5iovanni -estri, 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 )rancis &eaufort, 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
& 1 2 3 ! " # $ % & 1 2 3 ! " # $ % & 1 2 3 ! "
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 & 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 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 ! 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 " 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 # 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 $ 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 % 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 1& 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
1 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 1! 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 1" 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 1# 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 1$ 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 1% 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 2& 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 2 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 2! 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 2" 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: 8sando la *abla de &eaufort con clave K > 8"*0#X*8#< cifre el
mensaje # > E-*1 E- "A 58E22A -E412E-?
Solucin: -iguiendo la tabla de la )igura @?DA se obtiene=
+ > 7-A*0 0685A .+7#0 P.:D. &?
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 (-) y el noveno (5)
caracteres se cifran en claro, con las claves (") y (#), 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 (QSAT )
aplicando la ecuacin 1.20 se obtiene:
k
1
= U; C
1
= Q M
1
= (21-17) mod 27 = 4 M
1
= E
k
2
= L; C
2
= S M
2
= (11-19) mod 27 = 19 M
2
= -
k
3
= T; C
3
= A M
3
= (20-0) mod 27 = 20 M
3
= *
k
4
= ; C
4
= T M
4
= (8-20) mod 27 = 15 M
4
= 1
k
5
= M; C
5
= 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: 8sando la ecuacin @?DK descifre con clave "E0A el siguiente
criptograma=
+ > 8KEP" (4!*) 0..E5 #(10N .?
Solucin: -iguiendo el mtodo indicado< encontramos el mensaje intergalctico=
# > 78E "A )8E2(A *E A+1#PA4E?
'% CRIPTOSISTEMAS CLSICOS
%ariante 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.9.5. Critoan(lisis de los !i*rados olial*a/4ti!os eri3di!os
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: -i el alfabeto de claves son las letras A< &< + $ D< aC ^+untas claves de
dos elementos podemos formar_ bC Encuentre la distancia de unicidad
del cifrador de 9igen]re para el lenguaje castellano? cC ^+ul es su valor
para una clave de longitud @K_
Solucin: aC Eistirn n
d
> G
2
> @S combinaciones posibles? Para este alfabeto de
cuatro letras< sern claves= AA< A&< A+< AD< &A< &&< &+< &D< +A< +&<
++< +D< DA< D&< D+ $ DD?
bC N > .BKCUD > log
D
Bn
d
CUD > d log
D
nUD > d log
D
DLUA<G?
cC -i d > @K entonces N @K @<G @G caracteres?
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.
&todo de 'asis(i
Vamos a profundizar en la caracterstica de periodicidad de los cifradores
polialfabticos. Supongamos que por algn mtodo an desconocido por 8d,
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
)riedric' !? Kasis,i 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 NECO, 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+NEC, ANDO+ECO, ANDO+CON,
ANDO+ONE 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 .amlet y
ciframos mod 27 segn el mtodo de Vigenre con la clave K = .A# se tiene:
M = T O B E O R N O T T O B E T H A T I S T H E 555
K = H A M H A M H A M H A M H A M H A M H A M H 555
C = A O N L O D T O F A O N L T S H T T Z T S L 555
La cadena o secuencia de caracteres A1N" 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 *- 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 .A#.
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
() CRIPTOSISTEMAS CLSICOS
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
IEEU5
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:
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
A
' PQAAEPDMREEDCNUSRIECNIONSAAETLUOLAUIEULMNIIEAAOOLU
MNARSOMRSISERNAISIRTMDTOORLIORRENENOAVSNIAEOFAMTEI
C
B
' BVDTSBPPPDPPPBFDPQBUFNUEZCDFBMBESFNPBBBNMKDPF
QFSJFTBPUNJMBNGDUNUFPFSSRPFTPJTBTETTJFUBSUTFTPBE
C
C
' VISSSIGSWWSDCQWZNMWVOEQMVIYESPHEEXEEEWMQRPMVISTMSWO
MOEWQWJWEQEGDISSETEGOOSETYWWGQSXLGMXOHHECEEIGGIWEE
C
D
' RCKDJEGLRYDRRMKVVTUVVDLWRKEYEHGSHVPLVHCPRVTVDJJDEIZ
VHSRCVGVXRUGGLJVEGEGRGTQGVJXGRKRZGUJRRVJHHUEYGKUNU
(1
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 #todo por +oincidencia #ltiple que he
llamado 2egla EA1-. 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 J K L M N O P Q R S T U V W X Y Z
CA
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
CB
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
CC
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
CD
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
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 no
(2 CRIPTOSISTEMAS CLSICOS
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 &. 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 ESW 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 2. Con esto
llegamos a la conclusin de que la clave puede ser K = A&E2. 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:
PPara Fue la cosa no me sorprenda como otros aOos< 'e comen%ado $a con unos
suaves ejercicios de precalentamientoQ mientras desa$unaba 'e contemplado una
bola plateada $ una tira de espumilln $ maOana me iniciar en el amor al prjimo con
los Fue limpien el parabrisas en los semforos? Esta gimnasia del cora%n metafrico
es tan importante como la del otro cora%n porFue los riesgos coronarios estn a'/<
escondidos tras la vida sedentaria $ parapetados en fec'as como estas de Navidad?P
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 nformtica en la EU.
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 Kasis,i a partir del
criptograma obtenido con el algoritmo de 9igen]re?
+ > AWHFW ZAPIE ARXKS CXWEX WEXWE KJPUR EBWTU SCOOB
JGTKJ PUREB WTUSC NGXW5
Solucin: -e observan tres repeticiones :!E seguidas< separadas entre s/ por A
espacios? Adems< 'a$ una larga cadena K6P82E&!*8-+ Fue
aparece dos veces< separada por @M espacios? +omo esto es mu$
`sospec'osoa< calculamos el mcd BA<@MC > AQ luego este valor puede ser
la longitud de la clave? De 'ec'o la clave en esta cifra es la cadena P01?
2ompa la cifra en A subcriptogramas e intente comprobar si
efectivamente se cumplen las estad/sticas de frecuencia?
En el ejemplo anterior, si la clave que se utiliza es P1""1- en vez de P01, se
obtiene el criptograma C = ADDAD DA!E( .9:71 :EAEE -(EAE 7)"&9 E0-1&
(&
!+9"! PK*7) "&9E0 -1&!+ *+-D. En l encontramos la cadena de caracteres
EAE separada por 6 espacios, adems de la cadena 7)"&9E0-1&!+ 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 0ndice de +oincidencia, propuesto por !illiam )? )riedman en una publicacin
de Riverbank en 1922. La publicacin de "El 0ndice de +oincidencia $ sus Aplicaciones
en +riptograf/a"
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 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 ndice 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 ndice de Coincidencia C alto, y
que en el segundo este C ser bajo. Definiremos primeramente MD como la
#edida 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

2riedman, -illiam, "The Inde' of Coincidence and Its A!ications in


Crytograhy", 7iverban +abora0ories, publica0ion 22, 1!22$ 8ambi9n en Khan,
David, "The Codebreakers. The Story of Secret Writing", Macmillan Publishing
Company, New Yor, 1!"#, pp$ &#"6&%'$
(' CRIPTOSISTEMAS CLSICOS
que:
1 p
i
1 - n
i=0
=

1.24
Si n = 27, alfabeto castellano en maysculas, se tiene que:
0,037 - p = MD
2
i
26
i=0

1.25
Ejemplo 1.34: Demuestre la ecuacin B@?DIC?
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).
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 ndice 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:
((
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

1.26
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 ndice de
Coincidencia:
p = C
2
i
1 - n
i=0

1.28
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 C ser igual a:
1) - N(N
1) -
f
(
f
= C

i i
1 - n
i=0

1.30
Ejemplo 1.35: Al cifrar # > AN0#A" 2A21 con mtodo de &eaufort $ K > +E2D1 Bno
tengo nada contra estos nobles animalesC se obtiene + > +2K21
2N2#A?
aC Encuentre la probabilidad de elegir dos caracteres iguales 2 en
+?
bC Demuestre con este criptograma la ecuacin B@?DNC?
(" CRIPTOSISTEMAS CLSICOS
Solucin: aC + > CRKRO RNRMA
&123 !"#$%
+omo 'a$ @K letras en el criptograma $ eisten G caracteres 2< el valor
de f
2
es igual a G< a lo Fue podr/amos asociar una probabilidad p
2
> K?G
bC *endremos f
2
Bf
2
J@C > GBGJ@C > @D formas de tomar un par de letras 2
del criptograma B@JAQ @JIQ @JLQ AJ@Q AJIQ AJLQ IJ@Q IJAQ IJLQ LJ@Q LJA $ LJIC
pero como tomar el par @<A es igual Fue tomar el par A<@ etc?< el nmero
efectivo de formas ser f
2
Bf
2
J@CUD? Por otra parte< como el criptograma
tiene @K letras< 'abr NBNJ@C > @KB@KJ@C > NK pares de letras= BKJ@Q KJDQ
KJAQ KJGQ KJIQ KJSQ KJLQ KJMQ KJNQ @JKQ @JDQ @JAQ bNJGQ NJIQ NJSQ NJLQ NJM $
NJNC? Pero como el par j, es igual Fue ,j< entonces el nmero efectivo de
pares de letras ser NBNJ@CUD?
Podemos entonces concluir que el ndice 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:
C = MD + 0,037 1.31
En la expresin anterior el valor de C 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 ndice de Coincidencia
C estar comprendido entre los siguientes valores:
0,037 C 0,072 1.32
Para cifradores con perodo d, el valor esperado del C para un texto de N
caracteres vendr dado por la siguiente ecuacin:
C = (1/d)[(N-d)/(n-1)] 0,072 + [(d-1)/d](N/N-1) 0,037 1.33
d C d C
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 C = 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 ndice de Coincidencia C presenta una fuerte variacin para valores
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: Utili%ando la ecuacin del 0ndice de +oincidencia< 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: "os @AN caracteres del criptograma $ su frecuencia son=
A'& B'1 C'1! D'2 E'12 F'# G'1" H'3 I'2 J'&
K'1% L'& M'& N'# '3 O'11 P'& Q'11 R' S'&
T'# U' V'% W'" X'& Y'& Z'&
Aplicando la ecuacin B@?AKC se obtiene= 0+ > K<KL@? +omo este valor se
aproima muc'o a K<KLD se conclu$e Fue se trata de un cifrado de tipo
monoalfabtico? De 'ec'o< el teto en claro es precisamente la cifra del
enunciado de este ejemplo `8tili%ando la ecuacin b o polialfabticaP<
con un despla%amiento b > D?
No siempre ser posible encontrar el perodo usando el ndice de Coincidencia.
Cuando la clave es relativamente larga, ms de 4 caracteres, ser mucho ms
confiable el mtodo de Kasiski. De todas maneras, el ndice 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 C en cada uno de ellos con el caracterstico del lenguaje
castellano. Retomemos el ejemplo del artculo "5imnasia" de nuestro amigo
Aberasturi. Para cada uno de los cuatro subcriptogramas se tienen los siguiente
valores de C:
CA C = 0,070
CB C = 0,073
CC C = 0,075
CD C = 0,065
Como todos los valores se acercan bastante al C caracterstico del lenguaje
castellano (C = 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 ndice de Coincidencia C para confirmar que el criptograma se
debe a un cifrado polialfabtico y tener una primera idea del perodo del
cifrador.
(% CRIPTOSISTEMAS CLSICOS
c) Aplicacin del mtodo de Kasiski para encontrar el perodo, obteniendo varios
subcriptogramaa. Clculo luego del C de cada uno de dichos criptogramas
para asegurarse que se trata de un cifrado con un desplazamiento constante.
d) Uso del #todo de +oincidencia #ltiple 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.9.9. Ci*radores olial*a/4ti!os no eri3di!os
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 cla!e 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 bloFues 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 Fue se indica con el algoritmo de 9igen]re< utili%ando
como secuencia de clave el prrafo primero del libro P+ien aOos de
soledadP?
# > 0N)12#A#1- NE5A*09A#EN*E "A +1#P2A DE A++01NE-
Solucin: Escribimos el mensaje $ la clave conjuntamente $ procedemos a cifrar
cada par #
i
U,
i
con la tabla de 9igen]re?
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 9igen]re conociendo Fue la
secuencia de la clave es el teto de 5arc/a "orca Fue se indica?
+ > 5-6)E 1PEE1 8+85+ E0!5P 19!82 !:PPN #2(1"
.E#61
P-0E; P"85( "!.+- 5E*N" +?
K > 9E2DE 78E *E 780E21 9E2DE< 9E2DE 90EN*1< 9E2DE-
2A#A-? E" &A2+1 -1&2E "A #A2 ; E" +A&A""1 EN "A
#1N*A4A?
Solucin: 2eali%ando 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=
# > "orca $ 9alle 0ncln son las dos cimas del teatro espaOol del
siglo veinte.
1.9.=. Critoan(lisis de los !i*rados !on !la<e !ontinua
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.
!illiam )riedman 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 E-*02AND1. 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 = -0 E-*X- +AN-AD1 ; .A2*1 DE *1D1< DE-+AN-A
K = AN*E- DE *02A2*E A" 2W1< P0EN-A"1 D1- 9E+E-
") CRIPTOSISTEMAS CLSICOS
Si ciframos el texto con dicha clave, se obtiene:

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 *etoEn+laro y *eto+ifrado que generan C son de alta frecuencia. Estn
marcados con una flecha y se indican a continuacin.
Ci MiKi Ci MiKi Ci MiKi Ci MiKi
S SA W SE Z R D DA
U N A TO R DO
X ET E NR L D H ED
W SE R AR 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 (-8:!#),
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.

L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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

L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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

L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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

L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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

L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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 -
E - O - N T - E E - S - E
O - E N - - O S - T
S - A R - D O - T - S
S - E
"1
T - D
Los anteriores son pares de alta frecuencia "etraEn+laro - "etraDe+lave para
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 -0E-* con la clave AN*E-,
precisamente los pares 4 (S-A), 2 (-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
E-*02AND1 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 ;. 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 = -E -8P1NE 78E APA2E+EN D052A#A- )2E+8EN*E- EN "1- +0)2AD1-
K = +8AND1 8-A#1- +1#1 +"A9E 8N *E:*1 78E *A#&0EN E- 2ED8NDAN*E

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:

L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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
L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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

L:;<= :> ?@=<A7 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
L:;<= ?@=B:7 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
L:;<= ?<CD;AE<=F=7 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
- N - E - O
N - - 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 E-*02AND1,
nos ha llevado a un callejn sin salida. No hay de qu preocuparse, en este tipo de
"2 CRIPTOSISTEMAS CLSICOS
cifra nos ser de mucha utilidad la redundancia del lenguaje. Al elegir los 9 caracteres
de la palabra ESTRANDO 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 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 oneJtime pad comunes hoy en da.
1.9.>. Ci*rador de :erna6
En 1917 5ilbert -? 9ernam, nativo de Brooklyn e ingeniero del MT 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.
Operacin de Clave Operacin de
Cifrado Descifrado
0010 1101 0100

Texto en claro Criptograma Texto en claro
1100 1011 1001 1110 0110 1101 1100 1011 1001
Figura 1.31. Esquema de un cifrador de Vernam binario.
Ejemplo 1.39: 8sando el cdigo de &audot Fue se encuentra en la tabla del Aneo<
cifre el mensaje # > &;*E- con la clave K > 9E2NA#?
Solucin: .aciendo la suma 12 eclusivo tenemos=
B 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 =
"uego< + > UHGF
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: -e recibe el siguiente criptograma C = 00110 10100 11100 11010 00000
00010 01110 01011 00110 de un teto con cdigo &audot Fue se 'a
cifrado con clave la K > 5loria Estefan? Desc/frelo.
Solucin: .aciendo la suma 12 eclusivo entre + $ K (C K) tenemos=
K=G: 00110 11010 = 11100 = M K=A: 00010 00011 = 00001 = E
K=L: 10100 10010 = 00110 = I K=_: 01110 00100 = 01010 = R
K=O: 11100 11000 = 00100 = K=E: 01011 00001 = 01010 = R
K=R: 11010 01010 = 10000 = T K=S: 00110 00101 = 00011 = A
K=I: 00000 00110 = 00110 = I Luego M = M TERRA.
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
C
' 2 $ ! 1$ & 3 1! 1$ 3 22 1$ 13 & 12
G
C
' #3 12 3% $1 &# 2$ %! !2 3& 1$ 32 2% # 2& &# "2
M
C
HG
C
' #! 2& %% # 31 11& #& 33 22 ! 33 "! 33 # #
C ' U T Q R H E C P G V A G L G H T
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

"' CRIPTOSISTEMAS CLSICOS
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 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.=. CI$RADORES POR SUSTITUCIN POLI%RMICA
MONOAL$A+ETO
Los cifradores poligrmicos, a diferencia de los monogrmicos que cifraban
carcter a carcter, consideran un poligrama con n 2 del texto en claro para
proceder a su cifrado. De esta forma, el bloque de informacin a cifrar sern digramas,
trigramas o, en general, poligramas. El objeto de este cifrado por sustitucin es
destruir la distribucin de frecuencia tpica de los monogramas que, al hacer coincidir
el carcter M
i
con el elemento cifrado C
i
, posibilita el ataque por inspeccin de
frecuencias en el caso de los monoalfabticos o bien el criptoanlisis mediante
mtodo de Kasiski, ndice de Coincidencia y el mtodo de Friedman para los
polialfabticos.
Si suponemos que el cifrador transforma los digramas M
i
M
i+1
del texto en claro
en criptogramas C
i
C
i+1
, se tendr que:
M = M
1
M
2
M
3
M
4
... M
N-1
M
N
1.38
en donde el signo indica unin de caracteres y N es el nmero total de caracteres
del mensaje. Luego:
E
K
(M) = E
K
(M
1
M
2
) 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 XX, 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.=.1. Ci*rador de Pla8*air
El cifrador de Playfair en realidad fue inventado por +'arles !'eatstone para
comunicaciones telegrficas secretas en el ao 1854. No obstante, se le atribuye a su
amigo el cientfico "$on Pla$fair 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
9E2AN1 A(8" Bmemorable serie de *9 de Antonio #erceroC, 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 y J ocupan
una nica celda, al igual que la y la N. La segunda matriz lleva como clave
9E2AN1 A(8", memorable serie de televisin espaola.
A B C D E
F G H /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
/J K M P Q
S T W X Y
Figura 1.34. Matriz de cifrado de Playfair con clave 9E2AN1 A(8".
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:
"" CRIPTOSISTEMAS CLSICOS
Pares del texto en claro Criptograma
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 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
M = MJ PK
EN = E RV
No obstante, si en la operacin de descifrado caemos en la retcula /J,
siempre descifraremos como la letra .
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 CASTLLO.
M = LA SS OM BR AS LL AM AN AL AP UE RT AD EL CA ST L 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 T LX LO.
"#
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 .1;, 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 T LX LO HO YX.
Ejemplo 1.41: +ifre el mensaje< # > P"as sombras llaman a la puerta del castillo 'o$P
con una matri% de Pla$fair con clave K > #0ED1?
Solucin: -iguiendo la matri% con clave #0ED1< ciframos los digramas del
mensaje< a saber= # > "A -: -1 #& 2A -" "A #A NA "A P8 E2
*A DE "+ A- *0 ": "1 .1 ;:< obteniendo=
+ > .+:E8E0A 7&:-.+A. .).+8(0- 7)1D-"+7 2D-EPEP# (;?
"a matri% de cifra $ comprobacin de la misma es tarea su$a?
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: -i en la matri% de cifra de Pla$fair con la clave &EA*"E- se eliminan los
caracteres K $ 4< con relleno :< descifre el siguiente criptograma=
+ > E+ *& A( EN !& 6. *: A& &8 9+ "1 6* P# 0"?
Solucin: "os digramas descifrados con la matri% Fue 'abr encontrado sern=
E+ !EQ *& A"Q A( ":Q EN "0Q !& 9EQ
6. 0NQ *: A;Q A& E"Q &8 "1Q 9+ !-Q
"1 8&Q 6* #AQ P# 20Q 0" NE?
El teto en claro es # > !E A"" "09E 0N A ;E""1! -8&#A20NE?
1.=.#. Critoan(lisis del !i*rado de Pla8*air
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
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
"% CRIPTOSISTEMAS CLSICOS
cifra con clave PA*1- 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 /J K L
M N/ Q R U
V W X Y Z
Figura 1.35. Matriz de Playfair con clave PA*1-.
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 = "A PA*A ; E" PA*1 *890E21N PA*0*1-, compruebe se obtiene el
mismo criptograma C = .-A* 1*1K 5-*1 -1#( KD;E #A*1 7D-P. 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
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 nverso n veces
DE 1084 ED 290
!
Konheim, /lan ,$, "Crytograhy" A Pri(er", :ohn -iley ; 5ons, 1!%1, pp$ !(611)$
G H /J K L
M N/ Q R U
V W X Y Z
P A T O S
B C D E F
H /J K L G
N/ Q R U M
W X Y Z V
A T O S P
C D E F B
"!
ES 1010 SE 547
EN 901 NE 370
OS 764 SO 212
AD 649 DA 436
TE 639 ET 115
N 610 N 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, )1 en vez de E-, ;K en vez
de 2E, etc. Por lo tanto, si observamos que en el texto cifrado aparece, por ejemplo, el
digrama :& con alta frecuencia y, simultneamente, el digrama inverso &: con muy
baja frecuencia, segn la tabla de la Figura 1.37 podramos suponer que se trata del
digrama en claro N* o bien -* que cumplen con esta caracterstica. Si encontramos el
digrama .K con alta frecuencia del texto cifrado y el inverso K. tambin tiene una
frecuencia similar, podra tratarse de los digramas en claro E2 o 2A. El digrama ms
frecuente del criptograma podra ser DE, E- 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 muc'a paciencia, este mtodo a modo de un entretenido pu%%le nos lleva
finalmente a la consecucin de la matriz de cifra de Playfair.
1.=.'. Ci*rador de 7ill
En 1929, "ester -? .ill< 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
#) CRIPTOSISTEMAS CLSICOS
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.
nicialmente, 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
! 23 2 2& 1& 1! $ 1$ 2! & 1" 13 # 3 1 1% " 12 2 21 1# 1 22 11 %
Figura 1.38. Alfabeto de cifrado propuesto por Hill.
El mensaje original utilizado por Hill era M = DE"A; 1PE2A*01N-. Toma
entonces los cuatro primeros elementos, el tetragrama DE"A, 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, RAT y ONS y con ello obtiene el
criptograma C = 6+1! ("9& D9"E 7#:+. 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
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

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
1.43
Para la operacin de descifrado se tendr entonces:

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
1.44
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 :. 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 '
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
#2 CRIPTOSISTEMAS CLSICOS
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 matri% simblica. La Figura 1.39
muestra un ejemplo de matriz simblica para cifrado de trigramas.

15 19 15
18 6 8
11 4 16
=
O S O
R G I
L E P
= K
1.47
Figura 1.39. Matriz simblica trigrmica con clave PELGROSO.
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 nversa de K, T
Adj(K)
es la Traspuesta de la matriz
Adjunta de K, y | K | es el determinante de K.
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:

k k k
k k k
k k k
=
T
!"#!$%
k k k
k k k
k k k
= K S&
33 23 13
32 22 12
31 21 11
(K)
33 32 31
23 22 21
13 12 11
1.49
Ejemplo 1.43: Encuentre la matri% trigrmica traspuesta de la matri% con clave simblica
K > N1 E-*A #A"?
#&
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
'()#
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:
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

1.50
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 matri% con los valores Fue se indican< se pide encontrar su matri%
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: "a matri% en cuestin es= K =
2 4 6
3 5 7
1 9 0

"uego los valores de los determinantes |a


ij
| son los siguientes=
|a
11
| = (50 - 97) = - 63
|a
12
| = (30 - 17) = - 7
|a
13
| = (39 - 15) = 22
|a
21
| = (40 - 96) = - 54
|a
22
| = (20 - 16) = - 6
|a
23
| = (29 - 14) = 14
|a
31
| = (47 - 56) = - 2
|a
32
| = (27 - 36) = - 4
|a
33
| = (25 - 34) = - 2
Por lo tanto< la matri% adjunta de K< Adj
BKC
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
#' CRIPTOSISTEMAS CLSICOS
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 0 como se indica en el siguiente ejemplo.
Ejemplo 1.45: ^Pueden utili%arse estas matrices para cifrar un mensaje en mdulo DL_

5 2
3 12
= K
0 0 1
1 1 1
2 2 1
= K 2 1
Solucin* El determinante de K
@
para cifrar trigramas ser igual a=
|K1| = k11(k22k33 - k32k23) - k12(k21k33 - k31k23) + k13(k21k32 - k31k22)
|K
1
| = 1(10 - 01) - 2(10 - 11) + 2(10 - 11) = 0, luego K
1
mod 27 = 0.
"a matri% de K
@
es singular $ no puede ser usada para cifrar?
El determinante de K
D
para cifrar digramas ser igual a=
|K2| = k11k22 - k21k12 = (125 - 23) = 54
|K2| mod 27 = 54 mod 27 = 0
"a matri% de KD tampoco puede ser usada para cifrar en mdulo DL al ser
singular dentro del cuerpo?
Adems del requisito |K| 0, debemos recordar que en criptografa trabajamos
con nmeros comprendidos entre 0 y n-1, el cuerpo de la cifra, por lo que no nos
servirn los nmeros fraccionarios. La ecuacin (1.48) nos indica que para la
existencia de la matriz inversa K
-1
deber ser posible dividir por el determinante de K;
es decir, debe existir el inverso de |K| en mdulo n. Por lo tanto, dicha ecuacin podr
escribirse como sigue:
K
-1
= T
Adj(K)
inv(|K|, n) mod n 1.51
en donde se cumplir que inv(|K|,n) |K| mod n = 1. En realidad, este resultado nos
permitir encontrar la denominada matriz de identidad que veremos ms adelante.
Como bien sabemos, el valor de este inverso no siempre existe; la condicin necesaria
para su existencia es que |K| y el mdulo n sean primos entre s. Seguro que ya est
convencido de esto.
Recapitulando entonces, en el cifrado de Hill deber existir una transformacin
inversa que permita recuperar el mensaje en claro, y dicha operacin slo la puede
dar la matriz clave. Esto quiere decir que las claves K
E
y K
D
que aparecan en las
ecuaciones (1.45) y (1.46) debern ser matrices inversas en el mdulo de trabajo.
Luego, la condicin sine Fua non del cifrador de Hill es que la matriz de cifrado tenga
inversa, es decir:
K
D
= K
E
-1
1.52
Ejemplo 1.46: aC +ompruebe Fue la operacin [K] [K
-1
] = , en donde es la matri% de
identidad?
bC +ompruebe este resultado en particular para la matri% K con
elementos ,
@@
> A< ,
@D
> D< ,
D@
> @ $ ,
DD
> G en mdulo DL?
#(
Solucin: a)
)
k
x
k
-
k
x
k
(
22 21 22 11
= | K | !"#!$%
k k
k k
= K S&
22 21
12 11

$ la matri% inversa ser=



k k
-
k
-
k

K
1
=
K
11 21
12 22
1 -

| |
-i 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 matri% indicada de DD se tiene=
10 = 27 mod 1x2) - (3x4 = | K | L()#* 2+ ,#d
4 1
2 3
= K

27 mod
3 1 -
2 - 4

10
1
=
K
1 -

+omo invB@K<DLC > @N entonces=


27 mod 27 mod
3 8
16 22
=
19 - 3 19 - 1 -
19 - 2 - 19 - 4
=
K
1 -

"uego< multiplicando K K
-1
:
27 mod 27 mod
1 0
0 1
=
3 8
16 22

4 1
2 3
=
K
- K
1 -

"os valores del producto de las matrices son=

11
= (322 + 28) mod 27 = (12 + 16) mod 27 = 1

12
= (316 + 23) mod 27 = (21 + 6) mod 27 = 0

21
= (122 + 48) mod 27 = (22 + 5) mod 27 = 0

22
= (116 + 43) mod 27 = (16 + 12) mod 27 = 1
Por ltimo, al igual que en todos los sistemas que implican una multiplicacin
en el cifrado, para que exista la operacin inversa debe cumplirse que el determinante
de la matriz clave no sea mltiplo con el orden del grupo en el que se trabaja. Slo si
mcd[|K|,n] = 1 se podr usar esa matriz K para cifrar. Luego, la condicin suficiente y
necesaria de esta matriz K ser:
|K| mod n 0 1.53
mcd[|K|, n] = 1 1.54
Ejemplo 1.47: ^-e puede utili%ar esta matri% K para cifrar digramas en mdulo DL cu$os
elementos son k
11
= 4, k
12
= 3, k
21
= 2, k
22
= 6?
Solucin: 2esolviendo el determinante de K obtenemos=
|K| = (k
11
k
22
-k
21
k
12
) = (46-23) = 18. +omo mcdB@M<DLC > A< no puede
usarse K como matri% de cifrado al carecer de inversa?
Con estos antecedentes, podremos entonces cifrar cualquier texto en claro
mediante matrices usando una clave de dimensin dxd y agrupando el mensaje en
bloques de tamao d-gramas. Al igual que en otros sistemas, si es necesario se
aaden al final del texto en claro caracteres de relleno para obtener el d-grama.
#" CRIPTOSISTEMAS CLSICOS
Ejemplo 1.48: +ifre el teto # > A#051 +1ND8+*12< -0 &E&E- N1 +1ND8(+A-
mediante trigramas usando la matri% simblica con clave PE"0521-1?
Solucin: Primero vamos a comprobar Fue la matri% tiene inversa? El valor de |K|
en mdulo DL es igual a G como se indica=
|K| = [16(615 - 1918) - 4(815 - 1518) + 11(819 -156)] mod 27
|K| = [-9 + 6 + 7] mod 27 = 4. "os valores de |K| $ el mdulo n son primos
entre s/< luego la clave es vlida?
El mensaje # se divide en trigramas genricos del tipo #
i
#
j
#
,
como se
indica= A#0 51+ 1ND 8+* 12- 0&E &E- N1+ 1ND 8(+ A-: Fue
pasan a cifrarse con la matri% de clave simblica PE"0521-1? Puesto
Fue BA#0C > BKK @D KMC entonces el primer subcriptograma +
A
ser=
27 mod
8
2 1
0

15 19 15
18 6 8
11 4 16
=
.
.
.
3
2
1

2esolviendo esta matri% se obtiene=


+
@
> (160 + 412 + 118) mod 27 = 136 mod 27 = 1
+
D
> (80 + 612 + 188) mod 27 = 216 mod 27 = 0
+
A
> (150 + 1912 + 158) mod 27 = 348 mod 27 = 24
+
A
> K@ KK DL > &A:
"os dems subcriptogramas se los dejo como ejercicio?
Cifrador de ill digrmico
Si un texto en claro M = M
1
M
2
M
3
M
4
...M
N
se cifra segn el mtodo de Hill en
bloques de dos caracteres, para cada par de letras se tendr:
C
1
= (k
11
M
1
+ k
12
M
2
) mod n (1.55)
C
2
= (k
21
M
1
+ k
22
M
2
) mod n (1.56)
n mod
/
/

k k
k k
=
.
.
2
1
22 21
12 11
2
1

(1.57)
Ejemplo 1.49: -i la clave K es k
11
= 4; k
12
= 2; k
21
= 9; k
22
= 2, cifre el siguiente mensaje
# > 78E *1DA "A 90DA E- -8E41 ; "1- -8E41- -8E41- -1N?
Solucin: |K| = (k
11
k
22
- k
21
k
12
) mod 27 = (42 - 29) mod 27 = -10 mod 27 Fue es
igual a 17 mod 27. El mcd(17,27) = 1, luego eistir la matri% inversa.
2epresentamos el mensaje como se muestra $ procedemos a cifrar el
primer digrama con la matri% K; los dems se los dejo como ejercicio?
M = QU ET OD AL AV D AE SS UE O YL OS SU E OS SU E OS SO NX.
+omo [C
1
C
2
] = [K]x[M
1
M
2
], para [M
1
M
2
] = QU = [17 21] se tiene:
C
1
= (417+221) mod 27 = 2 = C y C
2
= (917+221) mod 27 = 6 = G.
C
1
C
2
= CG. El criptograma completo que debe obtener es:
+ > +5+9 #599 77": 005* "0)8 4E7" K:7K 7"K: 7K7" ;#-D?
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: -ea la matri% [K]: k
11
=2, k
12
=10, k
21
=17, k
22
=5. Se pide descifrar el
siguiente criptograma + > N::( :-N: NEKE #6(* 29:D 4(!&
:(;! 26E9?
Solucin: +lculo de la matri% inversa K
J@
=
|K| = (25 - 1710) mod 27 = 2. El inv(2,27) = 14.
27 mod
2
27 mod
| |

2 1+ -
10 - 5

1
k k -
k - k

K
1
=
K
11 21
12 22
1 -
27 mod
2 - 14 1+ - 14 -
10 - 14 - 5 - 14
=
K
1 -

27 mod
1 5
22 16
=
K
1 -

Aplicando la matri% inversa K


-1
al criptograma + se obtiene el siguiente
mensaje # > .0"" -E .0(1 )A#1-1 PE21 N1 #0""1NA201?
? +ompruebe este resultado $ si es capa% de 'acerlo sin el auilio de una
calculadora< mi en'orabuena por su agilidad mental?
1.=.2. Critoan(lisis del !i*rado de 7ill
Si la matriz clave, en donde descansa la seguridad del sistema, no puede
contener todas las combinaciones posibles del Conjunto Completo de Restos del
mdulo de trabajo, puesto que eliminamos aquellos que nos entregan un determinante
igual a cero o bien tienen factores comunes con n, qu tan seguro es este
criptosistema? Estudiaremos a continuacin el nmero de las matrices vlidas para
determinar la entropa de la clave H(K).
Supongamos, por simplicidad, que se trabaja en mdulo 2, posteriormente lo
haremos en mdulo 27. Si la matriz es de orden dos, es decir, tiene los elementos k
11
,
k
12
, k
21
y k
22
, entonces el nmero posible de matrices ser igual a 16 puesto que
existirn 2
4
combinaciones del CCR mdulo 2, es decir los valores 0 y 1. Estas
matrices sern:

1 1
1 0
0
0 1
1 0
0
1 0
1 0
0
0 0
1 0
0
1 1
0 0
0
0 1
0 0
0
1 0
0 0
0
0 0
0 0

1 1
1 1
0
0 1
1 1
0
1 0
1 1
0
0 0
1 1
0
1 1
0 1
0
0 1
0 1
0
1 0
0 1
0
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
#% CRIPTOSISTEMAS CLSICOS
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
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
= (152 + 101) mod 27 = 13 = N
C
2
= (151 + 103) mod 27 = 18 = R
Luego C = NR
M
B
= OH C
1
= (152 + 71) mod 27 = 10 = K
C
2
= (151 + 73) mod 27 = 9 = J
Luego C = KJ
Por otra parte, si M = KO el criptograma ser C = B. 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: -i el grupo de trabajo es el primo AL $ por tanto casi el @KKR de las
matrices de cifrado son vlidas< ^Fu tamaOo de poligrama debe usarse
para Fue la entrop/a de la clave .BKC del cifrado de .ill sea del orden de
la del algoritmo DE- calculada en el cap/tulo segundo e igual a IS_
Solucin: Para d>A< la matri% clave K tendr AA>N elementos< por lo Fue el
nmero de matrices puede estimarse en 37
9
1,3 x10
14
? "uego la
entrop/a de la clave .BKC = 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 Fue la entrop/a en este caso se eleva a .BKC = log
2
(1,2x10
25
) = 83,3?
"uego< para un poligrama igual a G caracteres< este cifrado tendr/a una
fortale%a similar al DE- estndar en cuanto a la distancia de unicidad? ^;
si a'ora ciframos con bloFues de teto en claro de M caracteres BSG bitsC
como lo 'ace el DE-_
Colmo es fcil apreciar, en estas condiciones un ataque por fuerza bruta es
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 *aln de AFuiles 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 elecci$n del te#to en claro o cri"tograma
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 dentidad
3
tendr los vectores unitarios
1
,
2
y
3
que
%) CRIPTOSISTEMAS CLSICOS
se indican:
1 1 0 0 2 =
1 0 1 0 2 =
1 0 0 1 2 =
!"#!$%
1 0 0
0 1 0
0 0 1
=
I
S&
3
2
1
3

1.61
Supongamos entonces que realizamos la siguiente operacin matricial:
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

1.62
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:

1
= [ B A A ]

2
= [ A B A ]

3
= [ A A B ] 1.63
Ejemplo 1.52: -i se 'a recibido el criptograma + $ se conoce Fue pertenece al mensaje
en claro #< se pide encontrar la matri% clave de cifrado digrmico?
# > E" &AND0D1 )8E A&A*0D1 A" A*A2DE+E2?
+ > 1;)+7 "-&E! )E+EN (-&8D &9-N1 8:P+(?
Solucin: Escribimos el mensaje $ 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] $ [B A] en los digramas
segundo $ sptimo? El cifrado correspondiente al vector [B A] es )+< es
decir los nmeros I $ D< en tanto Fue el correspondiente al vector [A B]
es +E< es decir D $ G? "uego la matri% 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
%1
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 M con las incgnitas
del caso; como conocemos C y M, se pueden despejar las incgnitas de la columna de
la matriz clave que falta.
Ejemplo 1.53: El mensaje # > PEse abanico estaba abajoP se cifra por trigramas segn
.ill $ se obtiene el siguiente criptograma=
M = ESE ABA NIC OES TAB AAB AJO
C = AEA DFI EJL KTL QY EGJ GAR
-e pide encontrar la matri% clave?
Solucin: En el teto en claro eisten dos vectores unitarios< el vector
2
= [ABA]
Fue se cifra como [DF] por lo Fue la segunda columna de la matri% clave
ser [3 5 8] $ luego
A
> cAA&d Fue se cifra como [EGJ] $ por tanto la
tercera columna de la matri% ser [4 6 9]? "uego se tendr la siguiente
matri%=
K =
k 3 4
k 5 6
k 8 9
11
21
31

-i tomamos< por ejemplo el primer trigrama se tiene Fue el teto en claro


[ESE] = [4 19 4] se cifra como [AEA] = [0 4 0]< luego se cumplir Fue=
0
4
0
=
k 3 4
k 5 6
k 8 9
x
4
19
4
11
21
31

2esolviendo=
0 = (k
11
4 + 319 + 44) mod 27 k
11
= 2
4 = (k
21
4 + 519 + 64) mod 27 k
21
= 5
0 = (k
31
4 + 819 + 94) mod 27 k
31
= 7
(vase la explicacin a continuacin del ejemplo)
"uego la matri% 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 = 87 mod 27 = 56 mod 27 = 2 k
11
= 2
k
21
: 4 = (k
21
4 + 119) mod 27 = (k
21
4 + 11) mod 27
%2 CRIPTOSISTEMAS CLSICOS
k
21
= (4 - 11) inv(4,27) mod 27 = 207 mod 27 = 140 mod 27 = 5 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 = 17 mod 27 = 7 mod 27 = 7 k
31
= 7
A igual resultado llegaremos si tomamos en este ejemplo los pares mensaje
criptograma NC/EJL y TAB/QY; no as si la eleccin es OES/KTL y AJO/GAR.
Ejemplo 1.54: Demuestre Fue se obtiene la misma primera columna de la matri% ,
@@
< ,
D@
$ ,
A@
del ejemplo anterior< eligiendo el par mensajeUcriptograma N0+UE6"
$ Fue la eleccin de los pares E1-UK*" $ A61U5A2 no es la adecuada?
Solucin: aC El mensaje N0+ tiene el eFuivalente numrico @A< M< D $ el criptograma
E6" G< N< @@? "uego=
4
9
11
=
k 3 4
k 5 6
k 8 9
x
13
8
2
11
21
31

4 = (k
11
13 + 38 + 42) mod 27
k
11
= (4 - 32) inv(13,27) mod 27 = 2625 mod 27 = 650 mod 27 = 2
9 = (k
21
13 + 58 + 62) mod 27
k
21
= (9 - 52) inv(13,27) mod 27 = 1125 mod 27 = 275 mod 27 = 5
11 = (k
31
13 + 88 + 92) mod 27
k
31
= (11 - 82) inv(13,27) mod 27 = 1025 mod 27 = 250 mod 27 = 7
bC Para el par E1-UK*" se tiene=
10
20
11
=
k 3 4
k 5 6
k 8 9
x
15
4
19
11
21
31

10 = (k
11
15 + 34 + 419) mod 27
k
11
= (10 - 88) inv(15,27) mod 27
+omo mcdB@I<DLC > A< no eiste inverso $ no puede calcularse ,
i@
?
cC Para el par A61U5A2 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 + 39 + 415) mod 27
k
11
= (6 - 87) inv(0,27) mod 27
+omo no eiste invBK<nC no puede calcularse ,
i@
?
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: -e tiene el siguiente teto en claro $ su criptograma Fue se sabe 'a sido
cifrado mediante .ill por digramas? Encuentre la matri% clave?
M = HILL SE PUEDE ATACAR Y ROMPER LA CIFRA BUSCANDO VECTORES
C = IBSD WJ QQLCL QBESVA B JOXHLI KN BAHSR EOKSVCTM KTYBKAYFI
Solucin: 1rdenando 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 teto en claro [C] = [2 8] $ el vector [AB] = [0 1] con su par
de teto en claro [RY] = [18 25]?
"uego< de acuerdo con las ecuaciones B@?SDC $ B@?SAC se tiene
Fue=
-1
K =
2 18
8 25

+omo K > BK
J@
C
J@
< se puede deducir Fue la matri% clave ser entonces=
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: -e nos pide reali%ar un ataFue al sistema de cifra de .ill digrmico segn
el mtodo eplicado? El teto en claro $ su criptograma son=
M = HABIA VIDA EN MARTE
C = PIEBX PQYX YN FARIQ
Solucin: Agrupando teto en claro $ criptograma por digramas=
# > .A &0 A9 0D AE N# A2 *E
+ > P0 E& :P 7; :; N) A2 07
+omo no vemos vectores unitarios por ninguna parte< vamos a plantear
la primera ecuacin de cifra para el primer digrama .A en donde
aparece la letra . > L en el teto en claro acompaOado de la letra A > K?
Puesto Fue inv BL<DLC > G< 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
= 16inv(7,27) mod 27 = 164 mod 27 = 10
8 = k
21
7 k
21
= 8inv(7,27) mod 27 = 84 mod 27 = 5
"a ecuacin del digrama B:PC > K BA9C< en donde 9 > DD tiene como
%' CRIPTOSISTEMAS CLSICOS
inverso @S< nos entrega la siguiente matri%=

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
= 24inv(22,27) mod 27 = 2416 mod 27 = 6
16 = k
22
22 k
22
= 16inv(22,27) mod 27 = 1616 mod 27 = 13
Por lo tanto< la matri% 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 5aussJ6ordan y ser tratado en el
prximo apartado. En este otro escenario prcticamente no hay criptograma que se
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 te#to 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 Kon'eim en "+r$ptograp'$= 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 ...
"
Konheim, /lan ,$, "Crytograhy" A Pri(er", :ohn -iley ; 5ons, 1!%1, pp$ 11"612)$
%(

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 + 2 13
15 6 9 0 12 0
1+ 20 8 11 4 3
15 3 3 18 0 6
1+ 3 8 21 11 13
24 22 23 21 13 4
=
L L R R 3 /
T 4 5 O 6 O
. 7 8 9 5 .
G / 9 E : A
I ; G < . 6
O G ; A / A
= T I L E :
O : : R A G
= : I 5 L 6
> 7 ? 5 6 E

.&@ABd# Tx"#
.'BA# ! Tx"#
TA&)AC,&$B /B"A&D
Figura 1.43. Matriz 2n-grmica de Gauss-Jordan del ejemplo.
Como se observa, no aparecen vectores trigrmicos unitarios ni en el texto en
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 (47 137 217 237 227 247) 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:
%" CRIPTOSISTEMAS CLSICOS

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

Cifad! "#x$!
C%a! #& "#x$!
"i'()i*a +a$i,
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
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

-&i$ai!. /#*$!#.
%!. a'-0a&d!
ada dia'!&a%i,
Cifad! "#x$!
C%a! #& "#x$!
"i'()i*a +a$i,
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 + =
2 3 4
5 5 6
7 8 9
x
4
13
21

C
1
= [24 + 313 + 421] mod 27 = 23 = W
C
2
= [54 + 513 + 621] mod 27 = 22 = V
C
3
= [74 + 813 + 921] 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.> CI$RADORES 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 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.>.1. Transosi!i3n or gruos
En este tipo de cifra, los caracteres del texto en claro se reordenan por medio
de una permutacin
x
($) en donde indica la accin ejercida sobre el conjunto de
caracteres del mensaje M e $ es la posicin ordenada de los caracteres segn la
accin . 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
%% CRIPTOSISTEMAS CLSICOS
ejemplo, sea el conjunto de nmeros [1, 10] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 y sean
1
y
2
dos acciones de permutacin tales que
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
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,
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: 8tili%ando la permutacin
#
> DGIA@ cifre el siguiente mensaje=
# > #AN1- A220&A< E-*1 E- 8N A*2A+1?
Solucin: Aplicando
#
> DGIA@ al teto 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.>.#. Transosi!i3n or 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 = m1m2m3m4m5m6m7m8m9m10m11m12m13m14m15m16m17m18m19m20m21m22m23m24m25
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 = m1m2m3m5m7m11m13m17m19m23m4m6m8m10m12m14m16m18m20m22m24m9m15m21m25
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 DVNO.
Solucin: El mensaje tiene DL caracteres? -i se transmite la secuencia #
-@
< luego
#
-D
$ finalmente #
-A
< tenemos los siguientes bloFues=
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
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 #
-A
#
-D
#
-@
so obtiene=
+ > E222- A1DN0 AE.#N P21AD 9N8E2 01
1.>.'. Transosi!i3n or !olu6nas
Cifrador de trans"osici$n "or columnas sim"le
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.
!) CRIPTOSISTEMAS CLSICOS
Ejemplo 1.59: +ifre el siguiente teto mediante transposicin por columnas con N
+
> S?
-e usar como carcter de relleno la letra :?
# > N8N+A E- *A2DE +8AND1 "A D0+.A E- &8ENA?
Solucin: Escribimos el teto 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 C H
A E S B U E
N A X X X X
"uego le$endo por columnas el criptograma resultante ser=
+ > N-+"A N8*8A EANAA D-:+2 N0&:A DD+8: EE1.E :?
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
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 = P":08 0EE-N 5*-11 1E: y se sabe
que ha sido cifrado en 6 columnas. Descfrelo.
Solucin: +omo el criptograma tiene "
+
> @M caracteres $ se 'a cifrado con N
+
>
S< entonces N
)
> @MUS > A? Escribimos las seis columnas con longitud de
tres caracteres< es decir P":, 080, EE-, N5*, -11 y 1E:.
P E N S O
L U E G O E
X S T O X
"uego leyendo por filas y descartando los caracteres de relleno al final
de la matriz, se obtiene el profundo mensaje # > P0EN-1< "8E51
E:0-*1.
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 [(i-1) mod k] + trunc [(i-1)/k] + 1 1.66
Donde trunc(f(x))es la parte entera de la operacin efectuada sobre f(x). Luego,
el carcter M
i
del texto en claro se representar en el criptograma como:
M
i
= C
j(i-1)modk + trunc[(i-1)/k] + 1
1.67
Aplicaremos la ecuacin (1.66) al texto anterior # > P0EN-1< "8E51 E:0-*1.
La posicin relativa de los caracteres en el mensaje y en el criptograma ser:
!1
i: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
M: P I E N S O L U E G O E X I S T O
C: P L X I U I E E S N G T S O O O E X
Por ejemplo, se observa que las letras del texto en claro N (i=4), " (i=7), 8
(i=8), 5 (i=10), * (i=16) y el digrama E: (i,k=12,13) del texto en claro se desplazan, a
las posiciones 10, 2, 5, 11, 12, 17 y 3 respectivamente. Como el receptor conoce el
nmero de columnas N
C
empleadas en el cifrado y la longitud L
C
del criptograma,
deduce que el nmero de filas N
F
= j es igual a L
C
/N
C
= 18/6 = 3. Comprobaremos a
continuacin estos valores en particular aplicando la ecuacin (1.66).
N: E
t
(4) = 3[(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
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 B@?SSC cifre en columnas usando una clave N
+
> A
el mensaje # > "A 90DA E- 8NA *3#&1"A?
Solucin: +omo el teto en claro tiene @M caracteres $ el nmero de columnas , >
A< entonces el nmero de filas j > S? "as 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
=
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
-i continuamos la cifra se obtiene finalmente=
+ > "0EN1 1AD-A #"9A8 *&A?
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 PENSO LUEGO
EXSTO 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
=
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 B@?SLC el siguiente criptograma cifrado
con N
+
> G columnas? + > +NEA# -AAN; 0:#N1 +N:0* .A1:.
!2 CRIPTOSISTEMAS CLSICOS
Solucin: +omo N
+
> G $ el criptograma tiene "
+
> DG caracteres< obtenemos j > S.
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
=
M
5
= C
6[(5-1)mod4] + trunc[(5-1)/4] + 1
= C
2
M
5
= N
-iguiendo con el mismo procedimiento $ B'galo 8d? mismoC obtenemos
el siguiente teto en claro # > +A#0NAN*E N1 .A; +A#0N1-?
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.
Cifrador de trans"osici$n "or columnas sim"le con cla!e
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 PERMSO pues, ordenando los caracteres de dicha clave alfabticamente,
se obtiene precisamente esa permutacin: EMOPRS.
Ejemplo 1.63: +ifre por columnas con la clave 2E"16 el siguiente mensaje?
# > E" PA*01 DE #0 +A-A E- PA2*0+8"A2< +8AND1 ""8E9E -E
#16A +1#1 "1- DE#X-?
Solucin: Escribiendo el mensaje en I columnas $ luego permutando stas segn
la clave 2E"16< 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=
+ > "1+-0 2DE#1 --*#A 2"A"- A"#:P DAP++ 191#D :AE-A
88"E6 1E:E0 0E*AN 8E+1A?
!&
Si se desea provocar una mayor confusin y difusin en el criptograma, en
otras palabras ri%ar el ri%o, 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 = "1+-0 2DE#1 --DE* #A2"A "-A"# *A*PD AP++1 91#DE
#PAE- A88"E 61EP0 2E00E *AN8E +1A0A?
Cifrador de doble trans"osici$n "or 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.>.2. Transosi!i3n or *ilas
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: +ifre por transposicin de filas con clave N
)
> A el siguiente mensaje=
# > E" P20-01NE21 -E EN*2E5A2X EN E" "85A2 ;A 0ND0+AD1?
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
!' CRIPTOSISTEMAS CLSICOS
El criptograma se obtiene escribiendo las tres filas resultantes=
+ > E20E- NE2N" AADA" 012E* 5AE82 00DP- N1E2A E"5;N +1?
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 $ clave N) > A?
+ > #APDD 0*11E 282N:?
Solucin: +omo la longitud del criptograma "
+
> @I entonces N
+
> "
+
UN
)
> @IUA >
I? Escribimos el criptograma en cinco columnas $ luego leemos de arriba
'acia abajo=
# A P D D
0 * 1 1 E
2 8 2 N :
1bteniendo el siguiente mensaje # > #02A *\ P12 D3NDE?
Para hacer las cosas un poco ms complicadas, otra forma de cifrar el mensaje,
similar a la anterior, es mediante una figura de %igJ%ag 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: 8tili%ando el cifrado por l/neas con figura %igJ%ag con una profundidad
igual a A< cifre el mensaje # > E" E-PA41" +1#1 E" 68DW1<
DE-P8E- DE +1#E2 -0EN*E )2W1?
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 N E R O
E O L S S O S T
"uego< le$endo en filas< se obtiene el criptograma=
+ > EP"18 D8EEE )"-A1 +#E6D 1EPED +#20N E21E4 1"0-- 1-*0?
1.>.5. Critoan(lisis de los !i*rados or transosi!i3n
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
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 = E-*1 N1 .A; 780EN "1 A22E5"E.
E S T O
N O H A
Y Q U
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 = EN;EA 5-17N 2"*.8 "2E1A 01E:.
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 EN;E, y la comparamos con
los restantes bloques de 4 caracteres del criptograma, en algn momento se realizar
la comparacin de la ventana EN;E con los caracteres desplazados un perodo, es
decir la cadena -17N, obtenindose en este momento los digramas ES, NO, YQ y
EN. Puesto que de estos cuatro digramas E-, N1 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 - en la
palabra E-*1 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:
!" CRIPTOSISTEMAS CLSICOS
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
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

1.73
siendo V el tamao de la ventana en caracteres. La desviacin estndar

ser:
=
(
f
- X
)
V
i=1
V

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: 2ealice un ataFue por anagramacin sobre el criptograma Fue se indica
eligiendo una ventana de tamaOo 9 > G
+ > *PN1* 1A1P1 D2;AD 1A821 -8NA-?
Solucin: +omo 9 > G el bloFue ser *PN1 Fue se comparar con *1A1< 1A1P<
A1P1< 1P1D< etc? 8saremos la *abla de Digramas del Aneo?
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
+on la cadena 1A1P de la segunda comparacin< los digramas to< pa<
!#
no $ op muestran una media alta asociada con una baja desviacin
estndar respecto a esa media? Asimismo< en la tercera comparacin
Jcadena A1P1J aparece el digrama ta< de mu$ alta frecuencia< pero su
efecto se enmascara con los digramas np $ oo de baja frecuencia<
dando una desviacin alta? De lo anterior podr/amos deducir Fue el
per/odo es igual a I< el tamaOo de la cadena ms el nmero de
comparaciones 'ec'as antes de dar con el bloFue de media alta $
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
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 mu$ dif/cil $ 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.?. OTRAS TRANS$ORMACIONES
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.?.1. Trans*or6a!i3n or adi!i3n
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 j 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
!% CRIPTOSISTEMAS CLSICOS
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 = "A #E612 DE)EN-A E- 8N &8EN
A*A78E con la clave K = NAP1"E3N 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
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:
C1 240.028 C2 192.019
- K1 130.016 - K2 151.104
M1 110.012 = LAM M2 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 "A (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.?.#. Trans*or6a!i3n or !on<ersi3n de /ase
!!
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 =
-1-, 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
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: +omente las operaciones reali%adas para obtener el criptograma anterior
$ demostrar Fue al convertir de base se recupera el mensaje?
Solucin: .acemos divisiones sucesivas del dividendo $ cocientes por el divisor M
'asta Fue el cociente sea menor Fue el divisor? An/mese $ 'galo? "os
restos de esta divisin< le/dos en sentido inverso a partir del cociente
distinto de la base entregan el resultado buscado? 2esulvalo 8d? mismo
$ compruebe Fue + > S@@SDG
M
?
Para recuperar el mensaje< se convierte a formato decimal< es decir=
# > GM
K
T DM
@
T SM
D
T @M
A
T @M
G
T SM
I
= 201.620
10
1.?.'. Trans*or6a!i3n or l3gi!a de +oole
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) = + y M = 1(+) 1.77
XOR C = E
K
(M) = M K y M = E
K
(M) K 1.78
Ejemplo 1.69: -e desea cifrar el mensaje # > -1" representado en su eFuivalente
A-+00 binario= aC +/frelo con el algoritmo de negacin $ bC +/frelo con la
funcin :12 $ la clave K > -8N? En cada caso< represente el resultado
en notacin 'eadecimal?
Solucin: "as representaciones binarias del mensaje $ 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
1)) CRIPTOSISTEMAS CLSICOS
con caracteres ASC 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.?.2. Trans*or6a!i3n 6atri!ial
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: +ifre el mensaje # > +A#0-A< usando una transformacin de suma de
matrices como la indicada en la ecuacin @?LN con la clave K >
21-ADA? "a cifra es mdulo DL $ se usarn matrices de D filas $ A
columnas?
Solucin: "as matrices de teto $ su correspondiente cdigo mod DL sern=

0 3 0
19 15 18
0 19 8
12 0 2
A : A
S O R
A S I
/ A .
. . .
. . .
23 22 21
13 12 11
Procediendo a la suma mdulo DL=
2+ ,#d
0 22 8
31 15 20
. . .
. . .
23 22 21
13 12 11

C = 20 15 04 08 22 00 = TOD VA
Observe la similitud con el cifrado de Vigenre.

Вам также может понравиться