You are on page 1of 20

1

CAPITULO 1

INTRODUCCIN A LA CRIPTOGRAFA
Cuando se realiza cualquier tipo de transaccin comercial en Internet, como por
ejemplo, comprar una entrada para un espectculo, revisar el estado de cuenta en el
banco, ingresar la clave de correo electrnico en hotmail o yahoo, etc., debemos estar
seguros de que stas acciones se realizan sobre una pgina segura del tipo https
(secure), con el fin de evitar que curiosos puedan leer o peor an, modificar
informacin de nuestro inters.
Al final de ste capitulo conoceremos que es la criptografa, as como las diferentes
tcnicas de proteccin (cifrado) de la informacin, y las aplicaciones de la
criptografa.

1.1 DEFINICIN DE CRIPTOGRAFA
La palabra Criptografa proviene del griego "kryptos" que significa oculto, y
"graphia", que significa escritura, y su definicin segn el diccionario es "el arte de
escribir con clave secreta o de un modo enigmtico".
Esta definicin puede ser muy interesante y llamativa, pero resulta muy poco
ajustada para los tiempos actuales.
Una definicin ms tcnica de Criptografa sera la siguiente:
Rama inicial de las Matemticas y en la actualidad tambin de la
Informtica y la Telemtica, que hace uso de mtodos y tcnicas con el
objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por
medio de un algoritmo, usando una o ms claves.
Esto dar lugar a diferentes tipos de sistemas de cifra, denominados
criptosistemas, que nos permiten asegurar al menos tres de los cuatro
aspectos bsicos de la seguridad informtica: la confidencialidad o
secreto del mensaje, la integridad del mensaje y autenticidad del emisor,
as como el no repudio mutuo entre emisor (cliente) y receptor
(servidor).
1


1.2 CRIPTOSISTEMAS
Un criptosistema es una agrupacin de:
- Un conjunto de mensajes sin cifrar (M).
- Un conjunto de mensajes cifrados (C).

1
RAMIO, J orge. Libro Electrnico de Seguridad Informtica y Criptografa Versin 4.1, 6
ta
. Edicin,
Madrid-Espaa 2006, p.39.

2
- Un conjunto de claves (k).
- Un conjunto de transformaciones de cifrado (E
k
).
- Un conjunto de transformaciones de descifrado (D
k
).

Cualquier criptosistema debe cumplir la condicin: D
k
(E
k
(m)) = m.

Es decir, si aplicamos la transformacin de descifrado al mensaje cifrado, usando la
clave adecuada (k), obtenemos de nuevo el mensaje en claro m.

1.3 SISTEMAS DE CIFRA CLSICOS
Los sistemas de cifra clsica estn asociados a las fascinantes mquinas de cifrar, que
adquirieron gran fama tras su uso en la Gran Guerra y 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.

1.3.1 Herramientas de la Criptografa Clsica
La criptografa clsica hace uso de dos tcnicas bsicas orientadas a caracteres, y que
siglos ms tarde Shannon usara como herramientas para fortalecer la cifra, estas
tcnicas son:
- Tcnicas de sustitucin: Cada letra o grupo de letra se reemplaza por otra letra o
grupo de letras para disfrazarla. Esta tcnica conserva el orden de los smbolos del
texto original.
- Tcnicas de transposicin o permutacin: En contraparte a la tcnica de
sustitucin, en sta se reordenan las letras mediante un algoritmo especfico, pero
no se disfrazan.

1.3.2 Clasificacin de los Criptosistemas Clsicos
La figura 1.1, muestra una clasificacin de los sistemas de cifra clsicos, en donde se
incluyen algunos cifradores tpicos a modo de ejemplo. Estos sistemas de cifra se
clasificarn, bsicamente, en aquellos que utilizan tcnicas de sustitucin y aquellos
que utilizan tcnicas de transposicin sobre los caracteres de un texto en claro,
ambas tcnicas propuestas por Shannon para lograr la confusin y difusin,
respectivamente.

3

Figura 1.1. Clasificacin de los mtodos clsicos de cifra y algunos ejemplos

1.3.3 Hitos histricos en la Criptografa
La criptografa clsica abarca desde tiempos inmemoriales hasta la mitad del siglo
XX. El punto de inflexin en sta clasificacin la marcan tres hechos relevantes:
- En el ao 1948 se publica el estudio de Claude Shannon sobre la Teora
de la Informacin.
- En 1974 aparece el estndar de cifra DES.
- Y en el ao 1976 se publica el estudio realizado por Whitfield Diffie y
Martin Hellman sobre la aplicacin de funciones matemticas de un
solo sentido a un modelo de cifra, denominado cifrado con clave
pblica.

1.3.4 Algunos Mtodos de Cifrado Clsicos
A continuacin describiremos algunos mtodos de cifrado de la clasificacin de los
criptosistemas clsicos.
MTODOS DE CIFRA CLSICOS
TRANSPOSICIN SUSTITUCIN
MONOALFABTICA POLIALFABTICA
MONOGRMICA POLIGRMACA
DIGRMICA
Cifrado de Playfair
N-GRMICA
Cifrado de Hill
ALFABETO ESTNDAR
Cifrador de Csar
ALFABETO MIXTO
TRANSFORMACIN
Cifrador sustitucin Afn
GRUPOS
Esctala
SERIES
COLUMNAS/FILA
PERIDICA NO PERIDICA
Cifrador de Vernam
ALFABETOS PROGRESIVOS
Mquina Enigma
ALFABETOS LINEALES
ALFABETO ESTNDAR
Cifrados de Vigenre
ALFABETO MIXTO
C
I
F
R
A
D
O
D
I
G
I
T
A
L

4
1.3.4.1 La esctala
Fue utilizada por los espartanos en el siglo V a.C., puede considerarse como el
primer sistema de criptografa por transposicin, que se caracteriza por ocultar el
significado de un texto alterando el orden de los signos que lo conforman. El mtodo
de la esctala era extremadamente sencillo, el mensaje se escriba en una cinta y se
enrollaba en un bastn que serva como clave; el mensaje solo poda leerse cuando se
enrollaba la cinta en un bastn del mismo dimetro que posea el destinatario lcito
del mensaje. En la figura 1.2, se representa este mtodo de cifrado.


Figura 1.2. Representacin del mtodo de la esctala

En la figura 1.2, la cinta llevar el mensaje M = ASI CIFRABAN CON LA
ESCITALA; si bien en ella slo podr leerse el criptograma C =
AACSNIICTCOAINLFLARAAEBS.

1.3.4.2 El cifrador de Polybios
En el siglo II a.C., encontramos el cifrador por sustitucin de caracteres ms antiguo
que se conoce. Atribuido al historiador griego Polybios, el cifrador 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 5x5 = 25 caracteres. En
la figura 1.3, se muestra una tabla para cifrar de Polybios adaptada al ingls, con un
alfabeto de cifrado A, B, C, D y E; aunque tambin se suele representar el alfabeto
con los nmeros 1, 2, 3, 4 y 5.


Figura 1.3. Tablas de cifrar de Polybios

Entonces en ste mtodo, la letra A se cifrar como AA, y la H como BC, etc.
Por ejemplo si tenemos el mensaje: M = QUE BUENA IDEA LA DEL GRIEGO.

5
El criptograma sera: C = DADEAE ABDEAECCAA BDADAEAA CAAA ADAECA
BBDBBDAEBBCD. Y usando el alfabeto numrico tenemos: C = 414515
1245153311 24141511 3111 141531 224224152234.

1.3.4.3 El cifrador del Csar
En el siglo I a.C., aparece un cifrador bsico llamado el cifrador del Csar en honor
al emperador Julio Csar y en el cual ya se aplicaba una transformacin del texto en
claro del tipo monoalfabtica. El cifrador estaba basado en la sustitucin de una letra
por la situada tres puestos despus en el alfabeto latino. En la figura 1.4, 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.4. Alfabeto del cifrador del Csar para el lenguaje castellano

Entonces tenemos:
Cifrado: C
i
= M
i
+ 3 mod 27 Descifrado: M
i
= C
i
- 3 mod 27.
Por ejemplo si tenemos el mensaje: M
1
= AL CSAR LO QUE ES DEL CSAR.
El criptograma sera: C
1
= D FHVDU R TXH HV GH FHVDU.

1.3.4.4 Cifradores por sustitucin 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:
( ) n b M a C
i i
mod + - =
( ) n b C a M
i i
mod
1
=


La ecuacin de descifrado tambin puede ser escrita como:
( ) n b n C a M
i i
mod
1
+ =


Por ejemplo encontremos el alfabeto de cifrado monoalfabtico para la siguiente
relacin de transformacin ( ) 27 mod 5 4 + - =
i i
M C .
Solucin:
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 F G H I J K L M N O P Q R S T U V W X Y Z
C
i
F H N Q U Y C G K R V Z D H L O S W A E I M P T X B


6
( ) ( )
( ) ( )
( ) ( ) . , 13 27 mod 5 2 4 27 mod 5 4
9 27 mod 5 1 4 27 mod 5 4
5 27 mod 5 0 4 27 mod 5 4
2
1
0
etc N C C
J B C
F A C
= = + - = + - =
= = + - = + - =
= = + - = + - =


1.3.4.5 El cifrador de Vigenre
El cifrador polialfabtico ms conocido es el sistema de Vigenre, as denominado en
honor al criptlogo francs Blaise de Vigenre (1523-1596). El sistema utiliza el
mismo mtodo que el cifrador del Csar, esto es una sustitucin monogrmica por
desplazamiento de k caracteres en el texto, con la diferencia de que dicho
desplazamiento viene indicado por el valor numrico asociado a uno de los
caracteres de una clave que se escribe cclicamente bajo el mensaje como de 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 ...
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 ...

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

Entonces, en ste caso la clave CERVANTES tendr una periodicidad de 9, pues son
los caracteres que forman sta palabra. Los caracteres cifrados sern entonces de la
siguiente manera:
E + C = (4 + 2) mod 27 = 6 = G U + N = (21 + 13) = H
N + E = (13 + 4) mod 27 = 17 = Q G + T = (6 + 20) = 26 = Z
U + R = (21 + 18) mod 27 = 12 = M A + E = (0 + 4) = 4 = E
N + V = (13 + 22) mod 27 = 8 = I R + S = (18 + 19) = 10 = K
L + A = (11 + 0) mod 27 = 11 = L D + C = (3 + 2) = 5 = F, etc.
Entonces el resultado final ser el criptograma: C = GQMIL HZEKF ICVMN
GGZCH VXULI.

1.3.4.6 Cifrador de Playfair
El cifrador de Playfair en realidad fue inventado por Charles Wheatstone. No
obstante, se le atribuye a su amigo el cientfico Lyon Playfair quien lo presenta a las
autoridades inglesas de la poca. 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.

7
Para que ste 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.
Este mtodo de cifrado debe cumplir las siguientes condiciones:
- Si M
1
M
2
estn en la misma fila, C
1
C
2
son los dos caracteres de la derecha.
- Si M
1
M
2
estn en la misma columna, C
1
C
2
son los dos caracteres de abajo.
- Si M
1
M
2
estn en filas y columnas distintas, C
1
ser la letra de la interseccin
horizontal del M
1
respecto al M
2
y

C
2
ser la letra de la interseccin vertical
del M
1

respecto al M
2
.
- El conteo de los caracteres en la matriz es circular.
Por ejemplo si la clave es K = BEATLES, cifremos el mensaje M = WITH A
LITTLE HELP FROM MY FRIENDS.
La matriz ser:
B E A T L
S C D F G
H I/J K M N
O P Q R U
V W X Y Z
Figura 1.5. Matriz alfabtica de Playfair

M = WI TH AL IT TL EH EL PF RO MX MY FR IE ND SX
En M se rompe la doble M adicionando una X y se rellena la final con una X;
entonces:
C = EP BM TB ME LB BI AB RC UP KY RT MY PC KG DV

1.3.4.7 Cifrador de Verman
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.

8
En la figura 1.6, se muestra un cifrador de Verman binario.


Figura 1.6. Esquema de un cifrador de Verman binario

Por ejemplo, usando el cdigo de Baudot que se encuentra en la tabla 1.1, cifre el
mensaje M = BYTES con la clave K = VERNAM.

Tabla 1.1. Cdigo Baudot (cifrador de Vernam)
Cdigo Binario Carcter Cdigo Binario Carcter
00000 Blanco 10000 T
00001 E 10001 Z
00010 = 10010 L
00011 A 10011 W
00100 Espacio 10100 H
00101 S 10101 Y
00110 I 10110 P
00111 U 10111 Q
01000 < 11000 O
01001 D 11001 B
01010 R 11010 G
01011 J 11011 |
01100 N 11100 M
01101 F 11101 X
01110 C 11110 V
01111 K 11111 +
Fuente: Jorge Rami Aguirre. Libro Electrnico de Seguridad Informtica y Criptografa Versin
4.1. Sexta edicin de 1 de Marzo de 2006. Madrid (Espaa). Capitulo 21.

Haciendo la suma OR exclusivo tenemos:
B V = 11001 11110 = 00111 = U E N = 00001 01100 = 01101 = F
Y E = 10101 00001 = 10100 = H S A = 00101 00011 = 00110 = I
T R = 10000 01010 = 11010 = G
Entonces, C = UHGFI

1.4 SISTEMAS DE CIFRA MODERNA
La criptografa moderna utiliza las mismas ideas bsicas de la criptografa clsica, la
transposicin y sustitucin, pero su orientacin es distinta. Tradicionalmente los
criptgrafos han usado algoritmos sencillos y se han apoyado en claves muy largas
para la seguridad. Hoy da es lo inverso: el objetivo es hacer el algoritmo de cifrado
tan complicado y rebuscado que inclusive el criptoanalista obteniendo cantidades
enormes de texto cifrado a su gusto, no ser capaz de entender nada.

9
1.4.1 Clasificacin de los Criptosistemas Modernos
En la figura 1.7, se muestra la clasificacin de los Criptosistemas Modernos.

Figura 1.7. Clasificacin de los Criptosistemas Modernos.
Fuente: Jorge Rami Aguirre. Libro Electrnico de Seguridad Informtica y Criptografa Versin
4.1. Sexta edicin de 1 de Marzo de 2006. Madrid (Espaa). Capitulo 10.

1.4.2 Cifrado en flujo
Los cifradores de flujo son algoritmos de cifrado que pueden realizar la encriptacin
incrementalmente, convirtiendo el texto en claro en texto cifrado bit a bit.
Esto se logra construyendo un generador de flujo de clave. Un flujo de clave es una
secuencia de bits de tamao arbitrario que puede emplearse para oscurecer los
contenidos de un flujo de datos combinando el flujo de clave con el flujo de datos
mediante la funcin XOR . Si el flujo de clave es seguro, el flujo de datos cifrados
tambin lo ser.

1.4.2.1 Algoritmos de cifrado en flujo

1.4.2.1.1 RC4
Se caracteriza por utilizar la misma informacin de entrada que ha de cifrar para la
generacin de un nmero pseudoaleatorio que utilizar como clave, realizando un
XOR entre la entrada y la clave. Esto significa que tanto el cifrado como el
descifrado son operaciones idnticas. No se debe utilizar la misma clave ms de una
vez, ya que al utilizar un XOR como operacin bsica un atacante podra fcilmente
descubrirla (XOR(XOR(X)) = X). La clave vara de 8 a 2048 bits.
MTODOS DE CIFRA MODERNA
CIFRADO EN FLUJ O CIFRADO EN BLOQUE
A5; RC4
CLAVE SECRETA CLAVE PBLICA
DES; T-DES; CAST;
IDEA; AES; RC5... EXPONENCIACIN SUMA/PRODUCTO
Cifrado propio de la
informacin en una sesin en
Internet o en una red.
Tambin se usa en cifrado
local.
Uso en intercambio de
clave y en firma digital.
CE: intercambio clave y firma digital.
Mochilas: proteccin de SW mediante
dispositivo HW.
Telefona mvil,
Internet y WLAN.
RSA; ElGamal Curvas Elpticas/Mochilas

10
1.4.2.1.2 RC4 con MAC
Es una extensin del RC4 que busca asegurar la integridad en los datos mediante el
uso de una funcin MAC (es una funcin que asegura la integridad de los datos, a
partir del mensaje genera una secuencia de bits de tal forma que si es modificado, el
receptor puede saberlo).

1.4.3 Cifrado en bloque
Un cifrador en bloque procesa una entrada de texto nativo en bloques de tamao fijo,
por lo general de 8 16 bytes (64 128 bits), y produce un bloque de texto cifrado
de igual tamao para cada bloque de texto nativo.

1.4.3.1 Cifrado Simtrico o de clave secreta
Tambin llamado cifrado convencional, este tipo de cifrado era el nico que se
usaba, antes de la aparicin del cifrado de clave pblica en los 70. El cifrado
simtrico ha sido usado para las comunicaciones secretas por incontables individuos
y grupos como, diplomticos, militares y comerciantes. Es el cifrado que ms se usa
actualmente en el mundo.
Un sistema de cifrado simtrico tiene cinco componentes, como se muestra en la
figura 1.8.


Figura 1.8. Modelo simplificado de cifrado simtrico


1. Texto nativo (plaintext): Es el mensaje original o datos que actan como
entrada al algoritmo.
2. Algoritmo de cifrado: Lleva a cabo varias sustituciones y transformaciones en el
texto nativo.

11
3. Clave secreta: Es tambin una entrada al algoritmo de cifrado. Las sustituciones
y transformaciones exactas realizadas por el algoritmo dependen de la clave.
4. Texto cifrado: Es el mensaje aleatorio que se produce en la salida. Depende del
texto nativo y de la clave secreta.
5. Algoritmo de descifrado: Es esencialmente el algoritmo de cifrado ejecutado al
revs. Toma como entrada el texto cifrado y la clave secreta y produce el texto
nativo original.

Existen dos requisitos para la utilizacin segura del cifrado simtrico:
- Se necesita un algoritmo de cifrado robusto. Este algoritmo debera permitir que
el oponente sea incapaz de descifrar el texto o descubrir la clave incluso si l
posee un determinado nmero de textos cifrados junto a los textos nativos que
producen los textos cifrados.
- El emisor y el receptor deben haber obtenido copias de la clave de una forma
segura y deben mantenerla en secreto.

1.4.3.1.1 Tipos de ataques al esquema de cifrado simtrico
- Criptoanlisis: Este tipo de ataque explota las caractersticas del algoritmo para
intentar deducir el texto nativo especfico o deducir la clave que se est
utilizando. Si el ataque tiene xito en deducir la clave, el efecto es catastrfico:
todos los mensajes antiguos y futuros cifrados con esa clave estn comprendidos.
- Fuerza bruta: Es intentar cada clave posible en un trozo de texto cifrado hasta
que se obtenga una traduccin inteligible del texto nativo.

1.4.3.1.2 Algoritmos de cifrado simtrico
Los dos algoritmos convencionales ms importantes, de los cifradores simtricos son
DES y el IDEA.

1.4.3.1.2.1 El estndar de cifrado de datos (DES, Data Encryption Standard)
Es el esquema de cifrado ms utilizado mundialmente, adoptado en 1977 por el Bur
Nacional de Estndares, ahora el Instituto nacional de Estndares y Tecnologa
(NIST, Nacional Institute of Standars and Technology).

12
El esquema global de cifrado DES se muestra en la figura 1.9. El texto nativo debe
tener una longitud de 64 bits y la clave 56 bits; los textos ms grandes se procesan en
bloques de 64 bits.


Figura 1.9. Esquema general de algoritmo de cifrado DES

El lado izquierdo de la figura 1.9, muestra que el procesamiento del texto nativo se
realiza en tres fases. Primero, los 64 bits del texto nativo se transforman por medio
de una permutacin inicial (IP). A esto le sigue una fase que consta de 16 iteraciones
de la misma funcin. La salida de la ltima iteracin (la 16) consta de 64 bits que son
funcin del texto nativo y la clave. La mitad izquierda y la derecha se intercambian
para producir la salida previa. Finalmente la salida previa se permuta con IP
-1
, que es
la inversa de la funcin de permutacin inicial, para producir los 64 bits de texto
cifrado.

Permutacin inicial
Texto nativo de 64 bits
.
Iteracin 1
Iteracin 2
Iteracin 16

Intercambio de 32
bits

Permutacin inicial
inversa
Preferencia de
permutacin 2
Desplazamiento
circular a la izquierda
Preferencia de
permutacin 2
Desplazamiento
circular a la izquierda
Preferencia de
permutacin 2
Desplazamiento
circular a la izquierda
Preferencia de
permutacin 1
.
.
Clave de 56 bits
K
1
K
2
K
16
Texto cifrado de 64

13
La parte derecha de la figura 1.9, muestra la forma en la que se utilizan los 56 bits de
clave. Inicialmente la clave se transforma por una funcin de permutacin. Despus
para cada una de las 16 iteraciones, se produce una subclave (K
i
) por medio de un
desplazamiento circular y una permutacin. La funcin de permutacin es la misma
para cada iteracin, pero se produce una subclave diferente debido al desplazamiento
repetido de los bits de la clave.

1.4.3.1.2.2 Triple DES (DES3)
Con el aumento en el poder de calculo en las computadoras, DES dej de ser un
algoritmo seguro. Entonces se cre el algoritmo Triple DES, el cual hace triple
cifrado del DES, fue creado por IBM en 1978. El triple cifrado usa dos claves de 56
bits, K
1
y K
2
. Primero se realiza un cifrado con K
1
, luego un descifrado con K
2
y
finalmente un nuevo cifrado con K
1
. Para cualquier texto en claro M, el criptograma
C, se detalla a continuacin:

C = E
K1
(D
K2
(E
K1
(M)))

Donde:

E
K1
Es la transformacin de cifrado, y
D
K2
Es la transformacin de descifrado.

1.4.3.1.2.3 Algoritmo internacional de cifrado de datos IDEA (International
Data Encryption Algorithm)
Fue diseado por dos investigadores en Suiza. Usa una clave de 128 bits, lo que lo
har inmune durante dcadas a los ataques de fuerza bruta y al criptoanlisis
diferencial.

La estructura bsica del algoritmo se semeja al DES como se muestra en la figura
1.10 (a). Dada la extensa alteracin de bits, basta con ocho iteraciones.

Los detalles de una iteracin se muestran en la figura 1.10 (b). Se usan tres
operaciones, todas sobre nmeros sin signo de 16 bits. Estas son OR EXCLUSIVO,
suma mdulo 2
16
y multiplicacin 2
16
+ 1. Las operaciones tienen la propiedad de

14
que ningunos dos pares obedecen al ley asociativa ni la ley distributiva, dificultando
el criptoanlisis. La clave de 128 bits se utiliza para generar 56 subclaves de 16 bits
cada una, 6 por cada una de 8 interaciones y 4 para la transformacin final. El
descifrado usa el mismo algoritmo de cifrado, solo que con subclaves diferentes.


Figura 1.10. (a) IDEA. (b) Detalle de una iteracin

1.4.3.2 Cifrado Asimtrico o de clave pblica
El cifrado de clave pblica, que fue puesto a consideracin por primera vez por
Diffie y Hellman en 1976, es el primer avance revolucionario en el cifrado en
literalmente miles de aos. El algoritmo de clave pblica se basa en funciones
matemticas en lugar de sustituciones y permutaciones. Lo ms importante es que la
criptografa de clave pblica es asimtrica y supone el uso de dos claves
independientes. Utilizar dos claves tiene consecuencias profundas en las reas de la
privacidad, la distribucin de claves y la autentificacin.

El esquema de cifrado de clave pblica tiene cinco componentes, como se muestra en
la figura 1.11.
Iteracin 1
64 bits de texto normal
Iteracin 2
Iteracin 8
Iteracin 7
Transformacin
64 bits de texto cifrado
.
.
.
X + + X
# # # #
# #
X
X
+
+
K
1
K
2
K
3
K
4
K
5
K
6
Cuatro bloques de entrada de 16 bits
Cuatro bloques de salida de 16 bits
+
X
#
Suma mdulo 2
16
de 16 bits
Multiplicacin mdulo 2
16
+ 1 de 16 bits
OR EXCLUSIVO de 16 bits
(b) (a)

15


Figura 1.11. Cifrado de clave pblica

1. Texto nativo: Es el mensaje legible o datos que se pasan al algoritmo como
entrada.
2. Algoritmo de cifrado: Lleva a cabo varias operaciones sobre el texto nativo.
3. Clave pblica y privada: Es el par de claves que se ha seleccionado para que una
se utilice para el cifrado y la otra para el descifrado. Las operaciones exactas que
realiza el algoritmo dependen de la clave pblica o privada que se suministre
como entrada.
4. Texto cifrado: Es el mensaje mezclado producido como salida. Depende del
texto nativo y la clave.

16
5. Algoritmo de descifrado: Acepta el texto cifrado y la otra clave y produce el
texto nativo original.
Como el nombre sugiere, la clave pblica del par se hace pblica para que la utilice
el resto de la gente, mientras que la clave privada solo la conoce el dueo.
Los algoritmos de cifrado de clave pblica tienen las siguientes caractersticas
importantes:
- No es posible computacionalmente determinar la clave de descifrado dado
solamente el algoritmo y la llave de cifrado (clave pblica).
- Para la mayora de los esquemas de clave pblica, las dos claves utilizadas
pueden intercambiarse, es decir si una se usa para el cifrado, la otra se usa para el
descifrado y viceversa.

Los pasos esenciales son los siguientes:
1. Cada usuario genera dos claves que se van a utilizar para el cifrado y el
descifrado de los mensajes.
2. Cada usuario publica una de las dos claves situndola en un fichero pblico. sta
es la clave pblica. La clave compaera se mantiene privada.
3. Si Juan desea enviar un mensaje privado a Alicia, l cifra el mensaje usando la
clave pblica de Alicia.
4. Cuando Alicia recibe el mensaje, lo descifra utilizando la clave privada. Ningn
otro destino puede descifrar el mensaje debido a que solo Alicia conoce la clave
privada de Alicia.

1.4.3.2.1 Firmas Digitales
La validacin de identificacin de muchos documentos legales, financieros y de otros
tipos, se determina por la presencia o ausencia de una firma manuscrita autorizada.
Por tanto es necesario que los sistemas computarizados reemplacen el transporte
fsico de papel y tinta.

El problema para inventar un reemplazo para las firmas manuscritas es difcil.
Bsicamente lo que se desea es que:
1. El receptor pueda verificar la identidad del transmisor.
2. El transmisor no pueda repudiar despus el contenido del mensaje.
3. El receptor no haya podido generar el mensaje por si mismo.

17
1.4.3.2.2 Algoritmos de cifrado asimtrico

1.4.3.2.2.1 El algoritmo de cifrado asimtrico RSA
Fue desarrollado en 1977 por Ron Rivest, Adi Shamir y Len Adleman en el MIT y
publicado por primera vez en 1978. Desde entonces el RSA ha sido considerado
como la nica tcnica mundialmente aceptada. RSA es un cifrador de bloque en el
que el texto nativo y el texto cifrado son enteros entre 0 y n-1 para algn n.
Para un texto nativo M y un bloque cifrado C, el cifrado y el descifrado son de la
siguiente forma:

C = M
e
mod n

M = C
d
mod n = (M
e
)
d
mod n = M
ed
mod n

El emisor y el receptor deben conocer el valor de n. El emisor conoce el valor de e y
el receptor el valor de d. La clave pblica esta dada por KU = [e, n] y la clave
privada por KR = [d, n]. El algoritmo debe cumplir los siguientes requisitos, para que
sea satisfactorio:

1. Es posible encontrar valores de e, d, n tal que M
ed
= M mod n para todo M < n.
2. Es relativamente fcil calcular M
e
y

C
d
para todos los valores de M < n.
3. Es imposible determinar d dado e y n.

Los primeros requisitos son fciles de satisfacer. El tercer requisito se puede
satisfacer para un valor grande de e y n.

La figura 1.12, resume el algoritmo RSA. Se empieza por seleccionar los nmeros
primos, p y q y calculando su producto n, que es el mdulo para el cifrado y el
descifrado. Luego necesitamos la cantidad (n) que se conoce como totalizador
(totient) de Euler de n, y que es el nmero de enteros positivos menores que n y
relativamente primo a n. Entonces, se selecciona el entero e, de modo que el mximo
comn divisor de e y (n) debe ser 1. Finalmente, se calcula d como la inversa del
multiplicador de e, mdulo (n).


18

Figura 1.12. Algoritmo RSA

Suponga que un usuario A ha publicado su clave pblica y que el usuario B quiere
enviar un mensaje M a A. Para ello, B calcula C = M
e
mod n y transmite C. Cuando
se recibe el mensaje cifrado, A lo descifra calculando M = C
d
mod n.

En la figura 1.13, se muestra un ejemplo, las claves se generan como sigue:
1. Seleccionar dos nmeros primos, p = 7 y q = 17.
2. Calcular n = pq = 7 x 17 = 119.
3. Calcular (n) = (p 1) (q - 1) = 96.
4. Seleccionar e tal que e es relativamente primo a (n) = 96 y es menor a (n); en
este caso e = 5.
5. Determinar d tal que de = 1 mod 96 y d < 96. El valor correcto es d = 77, ya que
77 x 5 = 385 = 4 x 96 + 1.

Las claves resultantes son la clave pblica KU = {5,119} y la clave privada KR =
{77,119}. El texto nativo de entrada es M = 19. En el cifrado 19 se eleva a la quinta
potencia, produciendo 2.476.009. Dividiendo por 119 se obtiene el resto de 66. Por
lo tanto 19
5
66 mod 119, y el texto cifrado es 66. En el descifrado se determina que
66
77
19 mod 119.
Generacin de clave
Seleccionar p, q p y q ambos primos
Calcular n = p x q
Calcular (n) = (p - 1) (q - 1)
Seleccionar entero e gcd((n), e) = 1; 1 < e < (n)
Calcular d d = e
-1
mod (n)
Clave pblica KU = {e, n}
Clave privada KR = {d, n}
Descifrado

Texto nativo: C
Texto cifrado M = C
d
(mod n)
Cifrado

Texto nativo: M < n
Texto cifrado C = M
e
(mod n)

19

Figura 1.13. Ejemplo del algoritmo RSA

1.4.3.2.2.2 Otros algoritmos de clave pblica o de cifrado asimtrico
Aunque RSA se usa ampliamente, de ninguna manera es el nico algoritmo de clave
pblica conocido. El primero fue el de la mochila (Merkle y Hellman, 1978). La idea
aqu es que alguien es dueo de una gran cantidad de objetos, todos con pesos
diferentes. El dueo cifra el mensaje seleccionando secretamente un subgrupo de
objetos y colocndolos en la mochila. El peso total de los objetos se hace pblico, as
como una lista de todos los objetos posibles. La lista de los objetos que se metieron
en al mochila se mantiene en secreto. Pero el algoritmo mochila no se considera
seguro y pocas veces se usa.

Otros esquemas de clave pblica se basan en la dificultad de calcular logaritmos
discretos (Rabin, 1979). El Gamal (1985) y Schnorr (1991) han inventado algoritmos
basados en estos principios.

Existen algunos otros esquemas, como los basados en curvas elpticas (Menezes y
Vanstone, 1993), pero las tres categoras principales son las basadas en la dificultad
para factorizar nmeros grandes, calcular logaritmos discretos y determinar el
contenido de una mochila a partir de su peso.

1.4.4 Funciones de Resumen o Hash
Es una funcin que proporciona un pequeo conjunto de bits a partir del mensaje,
mucho menor que ste, y que es casi exclusivo (es muy difcil encontrar otro mensaje
para el que la funcin resumen d el mismo resultado).





19
5
= = 20.807
Cifrado
Texto
nativo
_____
2.476.099
119
con un
resto de
66

66
77
= = 1,06x10
138

Descifrado
Texto
cifrado 66
_____
1,27x10
140
119 con un resto
de 66
KU = 5, 199 KU = 77, 119
Texto
nativo
19 19

20
1.4.4.1 Algoritmos Generadores de Resmenes

1.4.4.1.1 Algoritmo MD5
MD5 es uno de los algoritmos de resumen criptogrficos diseados por el profesor
Ronald Rivest del MIT (Massachusetts Institute of Technology, Instituto Tecnolgico
de Masachusets). Cuando un anlisis indic que el algoritmo MD4 era inseguro, se
decidi a programar el MD5 para sustituirlo en 1991. Las debilidades en MD4
fueron descubiertas por Hans Dobbertin.

Algoritmo bsico de Message Digest 5
a) Un mensaje M se convierte en un bloque mltiplo de 512 bits,
aadiendo bits si es necesario al final del mismo.
b) Con los 128 bits de cuatro vectores iniciales ABCD de 32 bits cada
uno y el primer bloque del mensaje de 512 bits, se realizan diversas
operaciones lgicas entre ambos bloques.
c) La salida de esta operacin (128 bits) se convierte en el nuevo
conjunto de 4 vectores ABCD y se realiza la misma funcin con el
segundo bloque de 512 bits del mensaje, y as hasta el ltimo bloque
del mensaje. Al terminar, el algoritmo entrega un resumen que
corresponde a los ltimos 128 bits de estas operaciones.
2


1.4.4.1.2 El algoritmo SHA-1
El algoritmo SHA-1 fue desarrollado por la NSA (Agencia Nacional de Seguridad de
USA). Produce firmas de 160 bits, a partir de bloques de 512 bits del mensaje
original.
El algoritmo es similar a MD5, y se inicializa igual que ste, aadiendo al final del
mensaje un uno seguido de tantos ceros como sea necesario hasta completar 448 bits
en el ltimo bloque, para luego yuxtaponer la longitud en bytes del propio mensaje.
A diferencia de MD5, SHA-1 emplea cinco registros de 32 bits en lugar de cuatro.





2
RAMIO, J orge. Libro Electrnico de Seguridad Informtica y Criptografa Versin 4.1, 6
ta
. Edicin,
Madrid-Espaa 2006, p.718.

You might also like