Está en la página 1de 41

Captulo 9

Sistemas de Cifra Clsicos


Seguridad Informtica y Criptografa
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 41 diapositivas

v 4.1

Material Docente de
Libre Distribucin

Dr. Jorge Rami Aguirre


Universidad Politcnica de Madrid

Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el
uso, reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales,
respetando los crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el
Departamento de Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de
Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA

Captulo 9: Sistemas de Cifra Clsicos

Pgina 2

Le interesa la historia?
Si le interesa el tema de la historia de la criptologa as como aquellas
mquinas que se usaban desde tiempos remotos hasta mediados del siglo
XX, un tema verdaderamente apasionante, anexo a este libro electrnico
encontrar el documento de libre distribucin Criptografa Clsica en
formato Word y PDF, con ms de 100 pginas y 70 ejemplos resueltos.
http://www.criptored.upm.es/guiateoria/gt_m001a.htm

Aunque su inters actual es mnimo, en estas diapositivas se ha incluido, a


modo de resumen, lo ms interesante de este tipo de cifra, lo que podr
servirle al menos como cultura general.
Encontrar ms informacin y algunos sencillos ejemplos de cifra bsica
en el software que puede descargar desde la pgina Web:
http://www.abcdatos.com/tutoriales/tutorial/l10448.html
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 3

Cifradores e informacin en Web


Existe una gran cantidad de sistemas y cifradores de los
denominados clsicos.
En este captulo slo se presentan la Esctala, Polybios, Csar,
Afn, Vigenre, Playfair, Hill y Vernam, as como los ataques
segn mtodos de Kasiski y Gauss Jordan.
Puede ampliar informacin y ver una interesante galera de
fotografas sobre estas mquinas y pioneros de la criptografa en
la pgina Web de la NSA, National Security Agency
http://www.nsa.gov/public/publi00007.cfm

Y la descripcin de varios algoritmos en el siguiente enlace:


http://library.thinkquest.org/27158/concept1_1.html
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 4

Clasificacin histrica de criptosistemas


La clasificacin actual de los sistemas de cifra se basa en el
tratamiento de la informacin (cifrado en bloque vs cifrado en flujo)
o bien en el tipo de clave utilizada en la cifra (sistemas de clave
secreta v/s sistemas de clave pblica), pero segn su relacin con la
historia de la criptografa podramos clasificarlos como:
Sistemas de Cifra Clsicos versus Sistemas de Cifra Modernos
Esta no es ni mucho menos la mejor clasificacin desde el punto de
vista de la ingeniera y la informtica ... pero permitir comprobar el
desarrollo de estas tcnicas de cifra, hoy en da rudimentarias y
simples, desde una perspectiva histrica y culturalmente interesante
para un ingeniero. Adems, nos permitir criptoanalizar con cierta
facilidad prcticamente todos estos sistemas y comprobar tambin
las teoras de Shannon sobre las estadsticas del lenguaje.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 5

Una primera aproximacin histrica

El uso de tcnicas criptogrficas es casi tan antiguo como las


culturas de los primeros pueblos de nuestro planeta.
Ya en el siglo V antes de J.C. un pueblo griego usaba tcnicas
elementales de cifra para proteger su informacin.
Se pretenda garantizar en aquellos das slo la confidencialidad
y la autenticidad de los mensajes. A finales del siglo XX se han
aadido la disponibilidad y, ltimamente, el no repudio.
Los mayores avances se logran en la Primera y Segunda Guerra
Mundiales, especialmente durante y despus de esta ltima. Los
pases en conflicto posean verdaderas empresas con un gran
nmero de matemticos, cuya funcin era romper los mensajes
cifrados de los teletipos intercambiados por sus enemigos.

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 6

Herramientas de la criptografa clsica


Tanto mquinas, artilugios de cifra, como los algoritmos
que trabajaban matemticamente dentro de un cuerpo finito
n, hacen uso de dos tcnicas bsicas orientadas a caracteres
y que, muchos siglos despus, las propondr Shannon como
herramientas para fortalecer la cifra:
Tcnicas de sustitucin: Los caracteres o letras del mensaje
en claro se modifican o sustituyen por otros elementos o letras
en la cifra. El criptograma tendr entonces caracteres distintos
a los que tena el mensaje en claro.
Tcnicas de transposicin o permutacin: los caracteres o
letras del mensaje en claro se redistribuyen sin modificarlos y
segn unas reglas, dentro del criptograma. El criptograma
tendr entonces los mismos caracteres del mensaje en claro
pero con una distribucin o localizacin diferente.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 7

Captulo 9: Sistemas de Cifra Clsicos

Clasificacin de los criptosistemas clsicos


GRUPOS

y algunos
ejemplos...

SUSTITUCIN

TRANSPOSICIN
MONOALFABTICA

POLIALFABTICA

ESCTALA
SERIES

MONOGRMICA

NO PERIDICA

POLIGRMICA

PERIDICA

VERNAM

COLUMNAS
FILAS

DIGRMICA

N-GRMICA
LINEALES

ALFABETO
ESTNDAR
CSAR
AFN

Jorge Rami Aguirre

PLAYFAIR

PROGRESIVOS

HILL

ENIGMA

ALFABETO
MIXTO

ALFABETO
ESTNDAR

ALFABETO
MIXTO

OTROS

VIGENRE

OTROS

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 8

Hitos histricos en la criptografa


La criptografa clsica abarca desde tiempos inmemoriales
hasta la mitad del siglo XX.
El punto de inflexin en esta clasificacin la marcan tres
hechos relevantes:
En el ao 1948 se publica el estudio de Claude Shannon
sobre la Teora de la Informacin.
C
I
F
R
A
D
O

D
I
G
I
T
A
L

En 1974 aparece el estndar de cifra DES.


Y en el ao 1976 se publica el estudio realizado por
Whitfield Diffie y Martin Hellman sobre la aplicacin de
funciones matemticas de un solo sentido a un modelo de
cifra, denominado cifrado con clave pblica.
http://www.cs.jhu.edu/~rubin/courses/sp03/papers/diffie.hellman.pdf

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 9

Primer cifrador por transposicin: esctala


La esctala era usada en el siglo V a.d.C. por el pueblo
griego de los lacedemonios. Consista en un bastn en el
que se enrollaba una cinta de cuero y luego se escriba en
ella el mensaje de forma longitudinal.
Al desenrollar la cinta, las letras aparecern desordenadas.
Para descifrar el criptograma y recuperar el mensaje en
claro habr que enrollar dicha cinta en un bastn con el
mismo dimetro que el usado en el extremo emisor y leer el
mensaje de forma longitudinal. La clave del sistema se
encuentra en el dimetro del bastn. Se trata de una cifra
por transposicin pues los caracteres del criptograma son
los mismos que en el texto en claro pero estn distribuidos
de otra forma dentro del criptograma.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 10

Captulo 9: Sistemas de Cifra Clsicos

Mtodo de cifra de la esctala


Bastn y cinta para cifrar
A

I
C
T

R
A

A
E

B
S

El texto en claro es:

En ese bastn resida la


fortaleza de un pueblo.
Por ello, y como smbolo de
poder, el bastn de mando que
se le entrega al alcalde de una
ciudad en la ceremonia de su
nombramiento, proviene de
estos tiempos tan remotos.

M = ASI CIFRABAN CON LA ESCITALA


El texto cifrado o criptograma ser:
C = AAC SNI ICT COA INL FLA RA AE BS
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 11

Captulo 9: Sistemas de Cifra Clsicos

Primer cifrador por sustitucin: Polybios


Es el cifrador por sustitucin de caracteres ms antiguo que se conoce
(siglo II a.d.C.) pero como duplica el tamao del texto en claro, con
letras o nmeros, ... no fue tan buena la idea.

A
B
C
D
E

A
F
L
Q
V

B
G
M
R
W

C
H
N
S
X

D
IJ
O
T
Y

E
K
P
U
Z

1
2
3
4
5

A
F
L
Q
V

B
G
M
R
W

C
H
N
S
X

D
IJ
O
T
Y

E
K
P
U
Z

M1 = QU BUENA IDEA

M2 = LA DEL GRIEGO

C1 = DA DE AE AB DE AE

C2 = 31 11 14 15 31 22

CC AA BD AD AE EA
Jorge Rami Aguirre

Madrid (Espaa) 2006

42 24 15 22 34

Captulo 9: Sistemas de Cifra Clsicos

Pgina 12

El cifrador del Csar


En el siglo I a.d.C., Julio Csar usaba este cifrador. El
algoritmo consiste en el desplazamiento de tres espacios
hacia la derecha de los caracteres del texto en claro. Es
un cifrador por sustitucin monoalfabtico en el que las
operaciones se realizan mdulo n, siendo n el nmero de
elementos del alfabeto (en aquel entonces el latn).
Mi
Ci

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVW XYZABC

Alfabeto de cifrado del Csar para castellano mod 27


Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 13

Ejemplo de cifra del Csar en mod 27


Mi
Ci

A B CDE FG H IJK L MNO PQ RS TUVW X YZ


D E FG HIJK L MNO PQ R S T UVW XYZA B C

Cifrado: Ci = Mi + 3 mod 27

Descifrado: Mi = Ci - 3 mod 27

M = EL PATIO DE MI CASA ES PARTICULAR


C = H SDWLR GH OL FDVD HV SDUWLFXDU
Cada letra se cifrar siempre igual. Es una gran debilidad y hace que
este sistema sea muy vulnerable y fcil de atacar, simplemente usando
las estadsticas del lenguaje. Puede ver la tabla de frecuencias tpicas
del lenguaje castellano en el captulo 21 de este libro.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 14

Criptoanlisis del cifrador por sustitucin


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Cifrado: Ci = (Mi + b) mod 27

Descifrado: Mi = (Ci b) mod 27

La letra ms frecuente del criptograma la hacemos coincidir


con la ms frecuente del lenguaje, la letra E, y encontramos as
b.
C = LZAHL ZBTHW YBLIH XBLKL ILYOH ZLYCH ROKH
Frecuencias observadas en el criptograma: L (7); H (6); Z (3); B (3);
Y (3); I (2); K (2); O (2); A (1); T (1); W (1); X (1); C (1); R (1).
Es posible que la letra E del lenguaje se cifre como L. Comprobamos
adems si la letra A (segunda ms frecuente) se cifra como H:
E + b mod 27 = L b = L - E mod 27 = 11 4 mod 27 = 7
A + b mod 27 = H b = H - A mod 27 = 7 0 mod 27 = 7
M = ESTA ES UNA PRUEBA QUE DEBERIA SER VALIDA
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 15

Cifrador por sustitucin afn mod 27


Cifrado:

Ci = aMi + b mod 27

Descifrado:

Mi = (Ci b) a-1 mod 27

donde a-1 = inv (a, 27)

El factor de multiplicacin a deber ser primo relativo con el


cuerpo n (en este caso 27) para que exista el inverso a-1.
El factor de desplazamiento puede ser cualquiera: 0 b 26.
El ataque a este sistema es tambin muy elemental. Se relaciona el
elemento ms frecuente del criptograma a la letra E y el segundo a
la letra A, planteando un sistema de 2 ecuaciones. Si el texto tiene
varias decenas de caracteres este ataque prospera; caso contrario,
podra haber ligeros cambios en esta distribucin de frecuencias.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 16

Criptoanlisis a la cifra afn mod 27


C: NAQF EKNDP NCIVU FPUAN EJUIP FCNER NFRF UNPLN
AFPFQ TFPEI JRTE FPKI KTAPF LIKI AIPU RCUJI
PCIVU CUNER IRLNP TJIAF NEOI CFLNC NLUFA TEF

Caracteres ms frecuentes en el criptograma: F = 14; N = 13; I = 12

Con E y A las ms frecuentes, el ataque falla. En un segundo


intento suponemos la letra A ms frecuente que la E, luego:
F = (aA + b) mod 27 (a0 + b) mod 27 = 5 b = 5
N = (aE + b) mod 27 (a4 + 5) mod 27 = 13
Entonces a = (13-5) inv (4, 27) mod 27 = 8 7 mod 27 = 2
Ci = (2Mi + 5) mod 27 Mi = (Ci 5)inv (2, 27) = (Ci 5)14 mod 27
M: EL GRAN PEZ SE MOVA SILENCIOSAMENTE A TRAVS DE LAS
AGUAS NOCTURNAS, PROPULSADO POR LOS RTMICOS
MOVIMIENTOS DE SU COLA EN FORMA DE MEDIA LUNA.
(Comienzo de la novela Tiburn de Peter Benchley)
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 17

El cifrador de Vigenre
Este cifrador polialfabtico soluciona la debilidad del cifrado
del Csar en que una letra se cifra siempre igual. Se usa una
clave K de longitud L y se cifra carcter a carcter sumando
mdulo n el texto en claro con los elementos de esta clave.
Ci = Mi + Ki mod 27

Sea K = CIFRA y el mensaje M = HOLA AMIGOS


M = H O L A A M I G O S
K = C I F R A C I F R A
sumando mod 27...
C = J W P R A P L G S Ms de un alfabeto: la letra

O se cifra de forma distinta.

Observe que el criptograma P se obtiene de un texto L y de un texto I.


Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 18

Es Vigenre un algoritmo seguro?


Si la clave de Vigenre tiene mas de 6 caracteres distintos, se
logra una distribucin de frecuencias en el criptograma del tipo
normal, es decir ms o menos plana, por lo que se logra
difuminar la redundancia del lenguaje.
Aunque pudiera parecer que usando una clave larga y de
muchos caracteres distintos, y por tanto varios alfabetos de
cifrado, Vigenre es un sistema de cifra seguro, esto es falso.
La redundancia del lenguaje unido a tcnicas de criptoanlisis
muy sencillas, como los mtodos de Kasiski y del ndice de
Coincidencia, permiten romper la cifra y la clave de una
manera muy fcil y con mnimos recursos. En la siguiente
diapositiva veremos un ataque por el mtodo de Kasiski.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 19

Ataque por el mtodo de Kasiski


El mtodo de Kasiski consiste en buscar repeticiones de cadenas de
caracteres en el criptograma. Si estas cadenas son mayores o iguales a
tres caracteres y se repiten ms de una vez, lo ms probable es que esto
se deba a cadenas tpicas del texto en claro (trigramas, tetragramas, etc.,
muy comunes) que se han cifrado con una misma porcin de la clave.
Si se detectan estas cadenas, la distancia entre las mismas ser mltiplo
de la longitud de la clave. Luego, el mximo comn divisor entre esas
cadenas es un candidato a ser la longitud de la clave, digamos L.
Dividimos el criptograma en L subcriptogramas que entonces han sido
cifrados por una misma letra de la clave y en cada subcriptograma
hacemos un ataque simple ahora de tipo estadstico monoalfabtico.
La idea es buscar ahora a travs de los tres caracteres ms frecuentes en
cada subcriptograma las posiciones relativas de las letras A, E y O que
en castellano estn separadas por 4 y 11 espacios. La letra de la posicin
que ocupe la letra A (A = 0) ser entonces la letra clave correspondiente.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 20

Captulo 9: Sistemas de Cifra Clsicos

Cadenas repetidas en ataque de Kasiski


Sea el criptograma C de 404 caracteres que vamos a criptoanalizar el siguiente:
PBVRQ
UBZVS
LBHGU
ANSJA
INQRS
OTGR
NUEJI

VICAD
FNVRD
ESOM
MTJOK
JEUEM
RYVLP
BCHAS

SKAS
MTIPW
EHLBX
MDODS
GGRBD
WJIFW
EHEUE

DETSJ
UEQVV
VAEEP
ELPWI
GNNIL
XOTGG
UOTIE

PSIED
CBOVN
UELI
UFOZM
AGSJI
RPQRR
FFGYA

BGGMP
UEDIF
SEVEF
QMVNF
DSVSU
JSKET
TGGMP

SLRPW
QLONM
WHUNM
OHASE
EEINT
XRNBL
IKTBW

RPWY
WNUVR
CLPQP
SRJWR
GRUEE
ZETGG
UEEN

EDSDE
SEIKA
MBRRN
SFQCO
TFGGM
NEMUO
IEEU.

DRDP
ZYEAC
BPVI
TWVMB
PORDF
TXJAT

CRCPQ
EYEDS
MTIBV
JGRPW
OGTSS
ORVJH

MNPWK
ETFPH
VEID
VSUEX
TOSEQ
RSFHV

Entre otras, se observan las siguientes cadenas (subrayadas) en el criptograma:


3 cadenas GGMP, separadas por 256 y 104 posiciones.
2 cadenas YEDS, separadas por 72 espacios.
2 cadenas HASE, separadas por 156 espacios.
2 cadenas VSUE, separadas por 32 espacios.
Luego el perodo de la clave puede ser mcd (256, 104, 72, 156, 32) = 4. La clave
tendr cuatro caracteres, por lo tanto tomaremos del criptograma el carcter 1, el
5, el 9, etc. para formar el primer subcriptograma CA; luego el 2, el 6, el 10,
etc. para formar el subcriptograma CB, y lo mismo para subcriptogramas CC y CD.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 21

Captulo 9: Sistemas de Cifra Clsicos

Paso a cifrado monoalfabtico en Kasiski


Tenemos ahora 4 subcriptogramas de slo 101 letras c/u (muy importante tenerlo en
cuenta en las estadsticas) que han sido cifrados con la misma letra de la clave:
CA = PQAAEPDMREEDCNUSRIECNIONSAAETLUOLAUIEULMNIIEAAOOLU
MNARSOMRSISERNAISIRTMDTOORLIORRENENOAVSNIAEOFAMTEI
CB = BVDTSBPPPDPPPBFDPQBUFNUEZCDFBMBESFNPBBBNMKDPF
QFSJFTBPUNJMBNGDUNUFPFSSRPFTPJTBTETTJFUBSUTFTPBE
CC = VISSSIGSWWSDCQWZNMWVOEQMVIYESPHEEXEEEWMQRPMVISTMSWO
MOEWQWJWEQEGDISSETEGOOSETYWWGQSXLGMXOHHECEEIGGIWEE
CD = RCKDJEGLRYDRRMKVVTUVVDLWRKEYEHGSHVPLVHCPRVTVDJJDEIZ
VHSRCVGVXRUGGLJVEGEGRGTQGVJXGRKRZGUJRRVJHHUEYGKUNU

La frecuencia relativa observada en cada uno de los subcriptogramas es:


A

CA 12 0
CB 0 14
CC 0 0
CD 0 0

3 12

0 11

1 10

4 12

0 14

2 18

1 12

4 12

0 12

1 13

6 14

Luego, la letra ms frecuente del subcriptograma debera corresponder a la


letra E del texto en claro, la segunda a la letra A y la tercera a la letra O.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 22

La regla AEO en el ataque de Kasiski

Si la posicin relativa de la letra A es el valor 0, entonces la letra E est


cuatro espacios a la derecha de la A (m+4 mod 27) y la letra O est 15
espacios a la derecha de la letra A (m+15 mod 27) y a 11 de la letra E.
Buscaremos en cada subcriptograma C i las tres letras ms frecuentes y
que cumplan adems con esa distribucin: 0 +4 +11 mod 27.
Es suficiente contar con estas tres letras para que el ataque prospere. No
obstante, podemos afinar un poco ms el ataque si tomamos en cuenta la
siguiente letra frecuente en castellano S, en la posicin (m+19) mod 27.

En el ejemplo para CA se observa que la nica solucin que cumple con


esto es la que coincide la AEO (12, 12, 10) luego la letra clave sera la A.
Para CB elegimos BFP (14, 12, 14) por lo que la letra clave sera B. Para
CC elegimos EIS (18, 7, 12) por lo que la letra clave sera E. Para CD
elegimos RVG (13, 14, 12) por lo que la letra clave sera R.
Con la clave K = ABER obtenemos Para que la cosa no me
sorprenda.... Al ser ste un texto largo y con sentido, hemos encontrado
la clave . (artculo del periodista Andrs Aberasturi sobre la Navidad, Espaa,

ao
Jorge 1995)
Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 23

El ndice de coincidencia IC
El estudio del ndice IC queda fuera del contexto de estos apuntes. Si bien
tiene relacin con el nmero de alfabetos, no es efectivo como Kasiski.
26

IC = pi 2

para castellano mod 27: IC = p A2 + pB2 + ... + pZ2 = 0,072

i=0

Si el IC es menor que 0,5 es muy probable que no se trate de un cifrador


monoalfabtico sino polialfabtico con un periodo 2 o mayor.
As, cuando encontramos una longitud L de la clave por el mtodo de
Kasiski y rompemos el criptograma en L subcriptogramas, aplicando el
concepto del ndice de coincidencia IC podemos comprobar que cada uno
de ellos se trata efectivamente de un cifrado monoalfabtico cuando para
cada subcriptograma este valor se acerca a 0,072 o lo supera.
En el ejemplo anterior, una vez roto el criptograma en cuatro tenemos: IC CA
= 0,080; ICCB = 0,091; ICCC = 0,083; ICCD = 0,082 ... perfecto
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 24

Cifrador poligrmico de Playfair


Los cifrados anteriores se hacan carcter a carcter, es decir eran
monogrmicos. Para aumentar la seguridad de la cifra y romper las
estadsticas, podemos cifrar por poligramas, bloques de caracteres.
Un cifrador inventado a finales del siglo XIX es el de Playfair que
trabaja con una matriz de 5x5 letras, cifrando por digramas. Si el
texto en claro tiene un nmero impar de elementos, se rellena con
una letra preestablecida, por ejemplo la letra X.
A
F
L
Q
V

B
G
M
R
W

Jorge Rami Aguirre

C
H
N/
S
X

D
I/J
O
T
Y

E
K
P
U
Z

Madrid (Espaa) 2006

Si M1M2 estn en la misma fila, C1C2


son los dos caracteres de la derecha.
Si M1M2 estn en la misma columna,
C1C2 son los dos caracteres de abajo.
Si M1M2 estn en filas y columnas
distintas, C1C2 son los dos caracteres
de la diagonal, desde la fila de M1.

Pgina 25

Captulo 9: Sistemas de Cifra Clsicos

Ejemplo de cifra con Playfair


Si la clave K = BEATLES y eliminamos la letra (ingls), cifre el
mensaje M = WITH A LITTLE HELP FROM MY FRIENDS.
B
S
H
O
V

E
C
I/J
P
W

A
D
K
Q
X

T
F
M
R
Y

L
G
N
U
Z

Se rompe la doble
MM agregando una
X y se rellena al
final tambin con X

M = WI TH AL IT TL EH EL PF RO MX MY FR IE ND SX
C = EP BM TB ME LB BI AB RC UP KY RT MY PC KG DV
Estos sistemas tambin son criptoanalizables pues en el criptograma C
persisten algunas propiedades del lenguaje; en este caso la distribucin de
digramas tpicos; por ejemplo en el castellano en, de, mb, etc.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 26

Captulo 9: Sistemas de Cifra Clsicos

El cifrador de matrices de Hill


En 1929 el matemtico Lester Hill propone un sistema de cifra
usando una matriz como clave, cifrando Ngramas de forma que:
C1
C2
C3
..
CN

k11
k21
k31
..
kN1

k12 k13 ...


k22 k23 ...
k32 k33 ...
.. ..
kN2 kN3 ...

k1N
k2N
k3N
..
kNN

M1
M2
M3
..
MN

mod n

La matriz clave K debe tener inversa K-1 en el cuerpo de cifra n.


Luego, como K-1 = TADJ(K)/|K| mod n, en donde ADJ(K) es la matriz
adjunta, T es la traspuesta y |K| el determinante, este ltimo valor |
K| no podr ser cero ni tener factores en comn con n puesto que
est en el denominador (concepto de inverso ya visto).
Si el texto en claro no es mltiplo del bloque N, se rellena con
caracteres predeterminados, por ejemplo la letra X o la Z.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 27

Ejemplo de cifrado de Hill


Sea M = AMIGO CONDUCTOR y la clave K la que se muestra:
C1
C2
C3

16 4 11
= 8 6 18
15 19 15

0
X
12
8

mod 27

K = PELIGROSO ser la clave


simblica. Se cifrar el primer
trigrama: AMI = 0, 12, 8.

M = AMI GOC OND UCT ORZ


C1 = (160 + 412 + 118) mod 27 = 136 mod 27 = 1 = B
C2 = (80 + 612 + 188) mod 27 = 216 mod 27 = 0 = A
C3 = (150 + 1912 + 158) mod 27 = 348 mod 27 = 24 = X
C = BAX PMA BJE XAF EUM (compruebe Ud. los dems trigramas)
Para descifrar encontramos K-1 = inv (K, 27) = K-1 = TADJ(K)/|K| mod n
|K| = 16(615 - 1918) 4(815 - 1518) + 11 (819 - 156) mod 27 = 4
Encontramos luego la matriz adjunta de K, la trasponemos cambiando
filas por columnas y la multiplicamos por inv (|K|, 27) = inv (4, 27) = 7
con lo que se obtiene la matriz que se indica (hgalo Ud.)
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 28

Ejemplo de descifrado de Hill


M = K-1 x C mod n

18 26 15
K-1 = 24 6 13
11 24 10

C = BAX PMA BJE XAF EUM y la clave K-1 es la que se muestra:


M1
M2
M3

18 26 15
= 24 6 13
11 24 10

1
X
0
24

mod 27

Descifrado del primer trigrama


del criptograma: BAX = 1, 0, 24.

C = BAX PMA BJE XAF EUM


M1 = (181 + 260 + 1524) mod 27 = 378 mod 27 = 0 = A
M2 = (241 + 60 + 1324) mod 27 = 336 mod 27 = 12 = M
M3 = (111 + 240 + 1024) mod 27 = 251 mod 27 = 8 = I
M = AMI GOC OND UCT ORZ (compruebe Ud. los dems trigramas)
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 29

Es seguro el cifrador de Hill?


Si con el sistema de Hill se cifran bloques de 8 caracteres,
incluso en un cuerpo tan pequeo como n = 27 el espacio de
claves aumenta de forma espectacular, comparable con DES.
Si el mdulo de cifra es un primo p, entonces el nmero de
claves vlidas es cercano al mximo posible: p x donde x = d2,
con d el tamao de N-grama o de la matriz clave.
No obstante, el sistema no es seguro. Debido a su linealidad
ser muy fcil hacer un ataque con texto claro conocido segn
el mtodo de Gauss Jordan y encontrar as la matriz clave K.
Esto es debido a que aparecen los llamados vectores unitarios
en el criptograma o en el texto en claro, o bien los obtenemos
aplicando este mtodo.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 30

Captulo 9: Sistemas de Cifra Clsicos

Ataque al cifrado de Hill por Gauss Jordan


El mtodo consiste en escribir una matriz 2N-grmica con los elementos
del texto en claro y los elementos del criptograma. En esta matriz
realizamos operaciones lineales (multiplicar filas por un nmero y restar
filas entre s) con el objeto de obtener los vectores unitarios.
Por ejemplo podemos romper la matriz clave K teniendo:
M = ENU NLU GAR DEL AMA NCH ADE CUY ONO ...
C = WVX IDQ DDO ITQ JGO GJI YMG FVC UT ...
E
N
G
D
A
N
A
C
O

N
L
A
E
M
C
D
U
N

U
U
R
L
A
H
E
Y
O

Jorge Rami Aguirre

W
I
D
I
J
G
Y
F
U

V
D
D
T
G
J
M
V

X
Q
O
Q
O
I
G
C
T

Madrid (Espaa) 2006

4
13
6
3
0
13
0
2
15

13
11
0
4
12
2
3
21
13

21
21
18
11
0
7
4
25
15

23
8
3
8
9
6
25
5
21

22
3
3
20
6
9
12
22
14

24
17
15
17
15
8
6
2
20

Captulo 9: Sistemas de Cifra Clsicos

Pgina 31

Operaciones en la matriz de Gauss Jordan


Vamos a dejar en la primera columna un nmero uno en la fila
primera y todas las dems filas un cero. Luego multiplicamos el
vector (4 13 21 | 23 22 24) por el inv (4, 27) = 7. As obtenemos
7(4 13 21 | 23 22 24) mod 27 = (1 10 12 | 26 19 6). Si esto no se
puede hacer con la primera fila movemos los vectores. Hecho esto
vamos restando las filas respecto de esta primera como se indica:
4
13
6
3
0
13
0
2
15

13
11
0
4
12
2
3
21
13

21
21
18
11
0
7
4
25
15

Jorge Rami Aguirre

23
8
3
8
9
6
25
5
21

22
3
3
20
6
9
12
22
14

24
17
15
17
15
8
6
2
20

Madrid (Espaa) 2006

a)
b)
c)
d)
e)
f)
g)
h)

2 fila = 2 fila 131 fila mod 27


3 fila = 3 fila 61 fila mod 27
4 fila = 4 fila 31 fila mod 27
5 fila ya tiene un 0
6 fila = 6 fila 131 fila mod 27
7 fila ya tiene un 0
8 fila = 8 fila 21 fila mod 27
9 fila = 9 fila 151 fila mod 27

Pgina 32

Captulo 9: Sistemas de Cifra Clsicos

Matriz clave de Hill criptoanalizada


Repetimos este procedimiento ahora para algn vector en cuya
segunda columna tenga un nmero con inverso en 27 y lo mismo
para la tercera columna, moviendo si es preciso los vectores.
Como la mitad izquierda de la matriz 2N era el texto el claro, la
parte derecha de la matriz con vectores unitarios corresponder a
la traspuesta de la clave.
1
0
0
0
0
0
0
0
0

0
1
0
0
0
0
0
0
0

Jorge Rami Aguirre

0
0
1
0
0
0
0
0
0

2
3
4
0
0
0
0
0
0

5
5
6
0
0
0
0
0
0

7
8
9
0
0
0
0
0
0

Madrid (Espaa) 2006

K=

2
5
7

3
5
8

4
6
9

Compruebe que la clave es


la utilizada en este cifrado.

Pgina 33

Captulo 9: Sistemas de Cifra Clsicos

El cifrador de Vernam
En 1917 Gilbert Vernam propone un cifrador por sustitucin binaria con
clave de un solo uso (one-time pad) basado en el cdigo Baudot de 5 bits:
La operacin de cifra es la funcin XOR.
Usa una secuencia cifrante binaria y aleatoria S que se obtiene a
partir de una clave secreta K compartida por emisor y receptor.
El algoritmo de descifrado es igual al de cifrado por la involucin de
la funcin XOR.
La clave ser tan larga o ms que el mensaje y se usar una sola vez.
Clave K
Algoritmo
Determinstico

MENSAJE M
Jorge Rami Aguirre

Clave K

secuencia cifrante

Madrid (Espaa) 2006

C
Criptograma

Algoritmo
Determinstico

M MENSAJE

Pgina 34

Captulo 9: Sistemas de Cifra Clsicos

Ejemplo de cifrado de Vernam


Usando el cdigo Baudot (vea los cdigos en la tabla de
Baudot que encontrar en el Captulo 21) se pide cifrar:
M = BYTES
El esquema de Vernam es el
K = VERNAM
nico cifrador matemticamente
seguro y, por tanto, imposible de
Solucin:
criptoanalizar pues la clave K se
BV = 1100111110 = 00111 = U usa una sola vez (one-time pad),
YE = 1010100001 = 10100 = H es aleatoria y tanto o ms larga
TR = 1000001010 = 11010 = G que el propio mensaje. En este
EN = 0000101100 = 01101 = F caso, no cabe ningn ataque por
del lenguaje o por
SA = 0010100011 = 00110 = I estadsticas
correlacin de bits.
C = UHGFI
http://www.pro-technix.com/information/crypto/pages/vernam_base.html

Fin del captulo


Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 35

Cuestiones y ejercicios (1 de 3)
LAS SIGUIENTES PREGUNTAS ESTN RELACIONADAS
CON ESTOS APUNTES, EL LIBRO ELECTRNICO DE
CRIPTOGRAFA CLSICA Y EL SOFTWARE DE PRCTICAS
CRIPTOCLSICOS QUE SE HA COMENTADO.
1.
2.
3.
4.

Qu significa cifrar por sustitucin y qu por transposicin?


Por qu que el mtodo esctala es un cifrado por permutacin?
Cul es la peor debilidad que tiene el sistema de cifra del Csar?
Ciframos el mensaje M = HOLA QUE TAL con un desplazamiento
de 6 caracteres, cul es el criptograma? Y si desplazamos 27?
5. Por qu no podemos cifrar en el cuerpo n = 27 con la funcin de
cifra C = (12M + 5) mod n? Qu condicin deber cumplirse?
6. Cmo podramos atacar un sistema de cifra tipo Csar? Y si la
cifra es de tipo afn como el de la pregunta anterior?
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 36

Cuestiones y ejercicios (2 de 3)
7. Cifre el mensaje M = VAMOS A VERLO con un sistema afn
siendo el valor a = 5 y b = 2, usando slo operaciones modulares.
8. En un sistema de cifra de Vigenre la clave a usar puede ser CERO
o bien COMPADRE, cul de las dos usara y por qu?
9. Cifre segn Vigenre el mensaje M = UN VINO DE MESA con la
clave K = BACO sin usar la tabla, slo con operaciones modulares.
10. Por qu se dice que Vigenre es un cifrador polialfabtico?
11. Cmo podramos atacar un cifrado polialfabtico peridico?
12. Cifre con el mtodo de Vernam binario en mensaje M = VIDA y
clave K = TACOS suponiendo texto ASCII. Y si la clave es ahora
K = TACO? Cmo se comporta este cifrador si K es aleatoria?
13. Qu significa cifrar por homfonos? Qu es el cifrado de Beale?

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 37

Cuestiones y ejercicios (3 de 3)
14. Nombre dos mquinas de cifrar que se usaron en la Segunda Guerra
Mundial y diga de forma sencilla cmo funcionaban.
15. Se cifra por permutaciones usando para ello una distribucin en
columnas con clave. Qu similitud tendr luego este sistema de
cifra con algunas operaciones hechas en el DES?
16. Cifre con Hill digrmico el mensaje mod 27 M = ADIOS AMIGO.
Qu matriz simblica puede usar: GATO, GOTA, MISA o MESA?
17. Cifre y descifre con la matriz trigrmica simblica PELIGROSO el
mensaje HOY ES UN HERMOSO DIA.
18. Si K puede ser tan grande, por qu no es segura la cifra de Hill?
19. Qu significan los vectores unitarios? Es fcil encontrarlos?
20. Cmo funciona el ataque de Gauss Jordan? Obtenga la matriz
clave del ejercicio 17 mediante Gauss Jordan.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 38

Prcticas del tema 9 (1/4)


Software CripClas:
1.
2.

3.

4.

http://www.criptored.upm.es/software/sw_m001c.htm

Con el algoritmo del Csar, b = 3, cifre, descifre y criptoanalice el mensaje


M = En el cifrado del Csar el criptoanlisis es muy elemental.
Con el algoritmo de cifra por multiplicacin (decimacin) con a = 5, cifre,
descifre y criptoanalice, segn estadsticas del lenguaje, el mensaje M = El
cifrado por multiplicacin exige la existencia del inverso en el cuerpo.
Con el algoritmo de cifra afn (a = 7, b = 10) cifre, descifre y criptoanalice,
segn estadsticas del lenguaje, el mensaje M = Si tenemos un texto de
unos cuantos caracteres, el ataque al criptograma es muy sencillo.
Con el algoritmo de Vigenre cuya clave es K = GOL, cifre, descifre y
criptoanalice el mensaje M = El jugador se adentr al rea y de un golpe
preciso introdujo el baln en la portera de aquel desgraciado portero. Era
el presagio de lo que iba a ser aquella fatdica tarde para Manolo, justo en
el da en que debutaba en aquel estadio.

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 39

Prcticas del tema 9 (2/4)


5.

6.

7.

8.

9.

Cifre y descifre en modo clave continua el mensaje M = Aqu se suma


carcter a carcter la cadena de entrada con la clave siendo K = La clave
ser un texto de longitud igual o mayor que el texto en claro.
Cifre con Vernam el mensaje M con la clave numrica K. M = Una cifra
muy interesante. K = 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0. Al copiar
la clave, respete los espacios en blanco.
Cifre con Vernam binario el mensaje M de 18 caracteres con la clave K de
26 caracteres. M = una cifra por bits. K = CIFRADOR BINARIO DE
VERNAM. Compruebe la cifra del los tres primeros caracteres.
Cifre con Playfair el mensaje M usando la clave K. M = Un cifrador
digrmico. K = JUEGO LIMPIO. Se eliminan K y W de la matriz.
Observe la matriz de cifra. Descifre el criptograma y observe el relleno.
Cifre con Hill digrmico mod 27 el mensaje M = UN CIFRADO DE HILL
con la clave k11 = 7; k12 = 4; k21 = 13; k22 = 17. Descifre el criptograma.

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 40

Prcticas del tema 9 (3/4)


Software Hill:
1.

http://www.criptored.upm.es/software/sw_m001i.htm

Calcule el determinante y la inversa para comprobar si las siguientes


matrices digrmicas son vlidas para cifrar en el cuerpo 27:
k11 = 7; k12 = 10; k21 = 12; k22 = 19.
k11 = 8; k12 = 5; k21 = 2; k22 = 8.
k11 = 18; k12 = 15; k21 = 7; k22 = 8.

2.

Calcule el determinante y la inversa para comprobar si las siguientes


matrices trigrmicas son vlidas para cifrar en el cuerpo 27:
k11 = 4; k12 = 12; k13 = 9; k21 = 5; k22 = 0; k23 = 13; k31 = 6; k32 = 8; k33 = 3.
k11 = 3; k12 = 12; k13 = 9; k21 = 5; k22 = 0; k23 = 13; k31 = 6; k32 = 8; k33 = 3.

3.

Calcule la inversa de la siguiente matriz pentagrmica en modulo 27:


k11 = 3; k12 = 2; k13 = 1; k14 = 0; k15 = 2; k21 = 5; k22 = 5; k23 = 3; k24 = 7;
k25 = 1; k31 = 8; k32 = 7; k33 = 6; k34 = 5; k35 = 5; k41 = 4; k42 = 9; k43 = 6;
k44 = 8; k45 = 3; k51 = 3; k52 = 9; k53 = 8; k54 = 7; k55 = 3.

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 9: Sistemas de Cifra Clsicos

Pgina 41

Prcticas del tema 9 (4/4)


4.
5.

Para la matriz del ejercicio anterior, calcule el determinante y la inversa al


trabajar en mdulo 37 y en mdulo 191.
Guarde la matriz clave que se indica con el nombre pract14libro.mtr. Abra
ahora el editor del programa y guarde como pract14libro.txt el siguiente
texto M = AHORA VAMOS A CIFRAR POR TRIGRAMAS.
k11 = 1; k12 = 1; k13 = 1; k21 = 3; k22 = 5; k23 = 7; k31 = 2; k32 = 1; k33 = 2.

6.
7.

8.

Descifre el criptograma anterior. Observe el relleno introducido.


Criptoanalice la matriz de cifra anterior mediante Gauss-Jordan, indicando
que desea crear un archivo de seguimiento con nombre pract14libroataque.
Una vez que haya encontrado la matriz clave de cifra, abra este archivo y
observe las operaciones que el programa ha tenido que hacer para ello.
Cree matrices clave y documentos para cifrar, descifrar y criptoanalizar en
mdulo 191 y observe las opciones que le entrega el programa.

Jorge Rami Aguirre

Madrid (Espaa) 2006

También podría gustarte