Está en la página 1de 30

Capítulo 14

MÉTODOS CRIPTOGRÁFICOS:
SISTEMAS DE CLAVE PRIVADA, SISTEMAS
DE CLAVE PÚBLICA Y SISTEMAS
DE UNA SOLA VÍA (ONE-WAY HASH)
ESQUEMA

14.1. Introducción
14.2. Algoritmos de clave privada o de criptografía simétrica
14.3. Funciones de una sola vía
14.4. Algoritmos de clave pública o de criptografia asimétnca
14.5. Conclusiones
14.6. Evaluación
El mundo de la criptografía y de los códigos secretos tiene una apariencia
muy científica y sólo de alta tecnología. Esto no siempre es así y, para ilus-
trarlo, se puede rastrear la existencia de algoritmos de cifrado sin clave, sin
una estructura matemática, y que, a pesar de ello, han tenido un éxito total y
una importancia capital para la historia reciente del mundo.
Durante la segunda guerra mundial, los ejércitos norteamericanos del
océano Pacífico usaron un algoritmo criptográfico infalible, iy sin clave! Tal
algoritmo era la lengua de los indios navajos.
Los navajos fueron la única tribu de EE.UU. cuya lengua no fue estudia-
da por estudiantes alemanes en los 20 años anteriores al inicio de la guerra.
No fue el caso de hasta otras 33 lenguas y dialectos de otras tribus indias nor-
teamericanas, objeto de estudio filológico y antropológico por parte de dece-
nas de estudiantes alemanes. El dialecto tribal navajo era completamente
ininteligible para las demás tribus y, prácticamente, para casi todo el mundo.
La imposibilidad de descifrado del navajo proviene de que tal lengua no tie-
ne ninguna conexión con ninguna lengua asiática o europea.
En menos de 4 meses desde Pearl Harbour ya había 29 navajos, algunos
de corta edad haciendo un curso de comunicaciones de ocho semanas de
duración con la infantería de marina.
Hubo que solucionar un problema típico de las lenguas antiguas, el de la
falta de léxico navajo para sustituir palabras inglesas relacionadas con barcos
y aviones y para toda la terminología militar. Finalmente se dispuso de un
léxico de alrededor de 300 palabras, a las que hubo que añadir un método
especial para palabras que no estaban en el léxico. Tales palabras se deletrea-
ban. Así, por ejemplo, Pacific se deletreaba como:
pig, ant, cat, ice, fox, ice, cat
lo que se traducía al navajo como:
bi-sodih, wol-la-chee, moasi, tkin, ma-e, tkin, moasi
310 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACI~N

Tras una serie de pruebas con mensajes reales cifrados de esta manera y
entregados a los criptanalistas de la marina, quedó claro que no había forma
de descifrarlos.
Finalmente, los mensajeros de código demostraron su valía en el campo
de batalla. Salvaron muchas vidas y ayudaron a conseguir muchas victorias,
desconcertando a los enemigos japoneses. Un mensaje navajo no podía ser
falsificado, siempre se podía confiar en él.
En total hubo hasta 420 mensajeros de código navajo y, aunque resulta-
ron hndamentales para el éxito de la guerra, su papel de aseguradores de las
comunicaciones se convirtió en información clasificada hasta 1968 y hubo
que esperar hasta 1982 para que se les rindiera un homenaje, declarando,
además, el 14 de agosto «día nacional de los mensajeros de código navajo~.
Realmente su mayor triunfo es haber quedado como uno de las pocas cikas
(de los pocos algoritmos de cifrado) de toda la Historia en no haber sido des-
cifrada nunca.
Volviendo a lo que, realmente, es el objetivo de este capítulo, se va a hacer
una descripción de sus contenidos.
Como ya se ha explicado en el capítulo anterior, los algoritmos (o méto-
dos) criptográficos son las piezas básicas con los que se construyen primero
los protocolos y, después, los sistemas criptográficos completos. Es ésta la
razón de que haya que dedicar un capítulo para hablar de sus tipos y de ejem-
plos concretos.
Hay que decir, desde el principio, que no se pretende, con este libro, dar
una explicación matemática completa de cada uno de ellos, sino describirlos,
definirlos, ver sus ventajas y sus inconvenientes y hacer una relación de los
protocolos y sistemas típicos donde se utilizan. Si el lector desea una explica-
ción mucho más completa, debe seguir uno de los clásicos de referencia en el
mundo de la criptografía, como es el libro de la bibliografía complementaria
de esta unidad, de Bruce Schneier, <<Applied CryptographyD.
El capítulo comienza con la criptografía simétrica, llamada también de
clave secreta o de clave privada. Es la más antigua, la más extendida y la que
más popularidad ha conseguido. Muchas veces, se piensa en ella, simple-
mente, como el único método criptográfico. Se van a describir sus ventajas
y sus puntos débiles, lo que permitirá entender mejor los sistemas en los que
se utilizan. Su uso está, realmente, muy extendido y esa es la razón de que se
vaya a tratar con cierto detalle el caso de DES, y sus variantes, y de AES, qui-
zás el más reciente estándar de esta clase de algoritmos.
Inmediatamente después se va a analizar las funciones de una sola vía
(O funciones hash). Son relativamente modernas, pero están completamente
extendidas en informática, donde se pueden ver como mecanismos de alma-
cenamiento seguro de contraseñas de cuentas de acceso a sistemas operati-
MÉTODOS C R I P T O G ~ F I C O S :SISTEMAS D E CLAVE PRIVADA, SISEMAS ... 311

vos o a redes, o como participantes imprescindibles en el mecanismo de la


firma digital, que será analizado en el siguiente capítulo. Son, seguramente,
la herramienta simple de cifrado más útil hoy en día.
Finalmente se realizará una aproximación semejante con la criptografía
asimétrica o de clave pública. Claramente, desde una perspectiva histórica,
se está ante una verdadera revolución, que comenzó a finales de la década de
los 70 y principios de la década de los 80. Si un criptógrafo muerto hacia 1974
pudiera resucitar seguramente no entendería este tipo de criptografía. Como
se verá, la revolución consistió, esencialmente, en hacer desaparecer del todo
la necesidad de que, como sucede en otros métodos criptográficos, haya que
compartir una clave para poder cifrar y descifrar mensajes entre origen y des-
tino. Nada es perfecto y surgen otras complicaciones, que serán analizadas
también, pero es indudable que, hoy en día, para cualquier sistema cripto-
gráfico ambicioso, es imposible no utilizar este tipo de métodos. Están en el
núcleo de implementación de cualquier red privada virtual, en la implemen-
tación de la firma digital, en la seguridad para el comercio electrónico que
dan soluciones como el SSL o el SET. Los métodos de criptografía asimétri-
ca están en todas partes y, si se pretende ser un buen profesional del campo
de las comunicaciones de ordenadores, se debe conocer para qué sirve, cómo
funciona y, desde luego, que es lo que no permite conseguir.
Entre este capítulo y el siguiente (que trata de aspectos muy relacionados
con éste, como la finna digital o los certificados digitales) se estará prepara-
do para afrontar, en el capítulo 16, el análisis de los protocolos criptográficos
más importantes en la actualidad en el mundo de la seguridad.

14.2. ALGORiTMOS DE CLAVE PRNADA O DE CRIPTOGRAFIA


SIMÉTRICA
En estos algoritmos lo esencial es que la clave K, que sirve tanto para
cifrar un texto como para descifrarlo (Fig. 14.1) sea compartida sólo entre los
participantes en el sistema. Por eso se dice que la clave es privada y que los
algoritmos son simétricos, pues la misma clave cifra y descifra.
Este tipo de algoritmos han significado una parcela muy importante de la
criptograKa desde su invención y siguen siendo hoy de los algoritmos más
utilizados.
Entre sus puntos fuertes, se pueden destacar:
- Operan (cifran) más rápido que los algoritmos de clave pública, Ile-
gando a ser hasta 1.000 veces más rápidos.
- Han servido (y sirven aún habitualmente) como base para los sistemas
criptográficos basados en hardware.
312 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACIÓN

~,,
Clave ir

Secreta Kdl

Algoritmo Algoritmo
criptográfico Texto cifrado criptográfica

FIGURA 14.1. Sistema criptográfico de clave secreta

Entre sus puntos débiles, se pueden destacar:


- Requieren un sistema de distribución de la clave muy seguro. Piénse-
se que si se conoce la clave se puede conocer todos los mcnsajcs cifra-
dos con ella.
- En el momento en que la clave cae en manos no autorizadas, todo el sis-
tema deja de funcionar. Asimismo, ésto obliga a llevar una administra-
ción compleja, en cuanto a creación de nuevas claves y redistribución.
- Si se asume que es necesaria una clave por cada pareja de usuarios de
una red, el número total de claves crece, rápidamente, con el número
de usuarios. Una red de n usuarios necesita n(n-l)/2 claves diferentes.
Por ejemplo, una red de 11 usuarios necesita 55 claves diferentes y
una red de 100 necesitaría 4.950 claves.
Entre los algoritmos típicos de clave secreta la mayoría son de la modali-
dad que se denomina cifrado por bloques, llamado así porque lo que se hace
es dividir el mensaje en bloques de tamaño fijo, por ejemplo de 64 bits, y apli-
car el algoritmo de cifrado a cada uno de ellos, siendo la salida del algoritmo
otro bloque de la misma longitud de texto cifrado.
Todos ellos se basan en dos conceptos clásicos del mundo de la criptogra-
Fía, la confusión y la difusión.
En este contexto, se entiende por confusión la propiedad que consiste en
tratar de ocultar cualquier relación entre la clave, el texto legible y el texto
cifrado. Todo buen mecanismo de confusión tratará de hacer excesivamente
complicado la obtención de relaciones estadísticas entre las tres entidades.
Y, también en este contexto, se entiende por difusión el intento de repar-
tir el peso, o la influencia, de cada bit del texto legible original dentro del
mensaje cifrado.
MÉTODOS CRIPTOGRAFICOS: SISTEMAS DE CLAVE PRIVADA. SISEMAS... 313

Para conseguir algoritmos fuertes realmente se intercala la confusión (a


base de sustituciones simples, con tablas pequeñas) y la difusión (a base de
permutaciones). Esta combinación se conoce como cifrado de producto y la
mayoría de los algoritmos se basan en capas distintas de permutaciones y
sustituciones, siendo el algoritmo final no mucho más que una combinación
de operaciones de sustitución y permutación repetida un cierto número de
veces.
Muchos de estos cifrados tienen en común que dividen un bloque de tex-
to en dos mitades sobre las que se aplica la estructura conocida como red de
Feistel, en la que se define un cifrado de producto iterativo, en el cual la sali-
da de cada iteración se usa como enirada para la siguiente. Esta estructura
tiene, además, una propiedad muy interesante: para invertir la Función de
cifrado, es decir para descifrar, simplemente hay que aplicar el mismo algo-
ritmo, con los índices intermedios en orden inverso.
Por completitud, debe hacerse referencia, también, a que estos algorit-
mos no suelen tener lo que se conoce como propiedad de grupo, propiedad
que no se va a analizar en este texto, pero que permite cifrar un texto con una
clave K l y el resultado con otra clave K2, resultando un mensaje cifrado equi-
valente a haber empleado una clave de longitud doble, aumentando así la
seguridad del sistema.
El algoritmo de cifrado simétrico más popular y, seguramente, el más uti-
lizado aún hoy en día es el DES (Data Encryption Standard). Está basado en
otro algoritmo, el LUCIFER, desarrollado por IBM a principios de la década
de los setenta. El gobierno de los EE.UU. lo adoptó como estándar en 1976,
para comunicaciones no clasificadas. Según la norma ANSI es el DEA (ANSI
X3.92, Dafa Encryption Algorithm) y srgún la ISO es coiiocido como el DEA-l.
Tiene una curiosa historia, debido a que la NSA (National Security Agency
o *No Such Agency>~, según algunos expertos de seguridad) lo diseñó en secre-
to. pensando en una implementación hardware, pero resultó que la NBS
(National Bnreau of Standards, conocida hoy como NIST, Nacional Institute
of Standards and Technologies) publicó su especificación con tal detalle que
cualquiera podía implementarlo en software.
DES es una algoritmo de cifrado por bloques, que cifra los datos en blo-
ques de 64 bits. Esto significa que la entrada de datos al algoritmo es un blo-
que de 64 bits de datos legibles y la salida de datos correspondiente es un blo-
que de datos de 64 bits de datos cifrados.
La longitud de la clave en DES es de 56 bits. En realidad se expresa como
un número de 64 bits, pero cada octavo bit se usa para chequeo de paridad y
se ignora.
Utiliza una red de Feistel de I6 iteraciones y dos permutaciones, inversa
una de la otra, que se aplican al principio y al final del proceso.
314 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACI~N

En la actualidad se dispone de una gran cantidad de dispositivos hardwa-


re, incluyendo placas de dispositivos como cortafuegos o encaminadores, que
lo implementan de manera segura. Igualmente gran cantidad de sistemas
operativos y programas de comunicaciones usan protocolos, como SSL o
IPSec, que lo usan cotidianamente.
Se puede demostrar, matemáticamente, que existe un conjunto de 64 claves
débiles. lo que significa que su uso hace especialmente inseguro el algoritmo.
No obstante, hay que comparar tal número con el conjunto total de 2 elevado a
56 posibles claves (expresado en decimal sena i72.057.594.037.927.936!posi-
bles) y reconocer que es un número realmente minúsculo de ellas. Además, al
conocerse, puede prepararse el sistema para no permitir su uso.
El único problema real de DES es la longitud de su clave, 56 bits, que
resulta escasa frente al avance actual de la velocidad de cálculo de los orde-
nadores, lo que hace factible, cada ver. mas, un ataque de tipo *fuerza bruta..
Se ha podido demostrar, en 1998, que un ataque <<de Fuerza bruta. sobre DES
es viable, debido a que la clave es de escasa longitud. La <<hazafia>>la llevó a
cabo una empresa norteamericana sin animo de lucro, la EFF (Electronic
Frontier Foundation), construyendo una máquina, el .DES-cracker», que cos-
tó menos de 40 millones de pesetas.
De todas formas, el algoritmo no ha demostrado, aún, ninguna debilidad
grave, por lo que sigue siendo un campo de estudio interesante.
Ésta es la razón de que hayan ido apareciendo distintas variantes del
algoritmo.
Entre estas variantes la más utilizada con diferencia es la conocida como
Triple DES (o 3DES), ilustrada en la figura 14.2.

Cifrado
1

DES DES

DES
lnverso
DES
inverso )/
Descifrado

FIGURA 14.2. Sistema Triple DES


MÉTODOS CRIPTOGRÁFICOS: SISTEMAS DE CLAVE PRIVADA, SISEMAS... 315

Recuérdese que DES no tiene estructura de grupo, con lo que se pueden


aplicar claves sucesivas, obteniendo un resultado mucho más seguro. En el
caso del Triple DES, se puede demostrar matemáticamente que se obtiene
una longitud de clave equivalente de 112 bits. La tercera clave, K3, suele ser
la primera, KI, por compatibilidad con el DES de una única clave.
Otra variante muy conocida de DES es la conocida como CRYPT(3),que
se encuentra en algunos sistemas UNIX, usada en realidad como una función
de una sola vía.
Otra más es DESX, de RSA Data Security, incluida en muchos programas
de correo electrónico desde 1986 y en el EFS ( E n c ~ p t i o nFile System) del
sistema operativo Windows 2000 de Microsoft.
Otro algoritmo de clave simétrica muy interesante por cómo ilustra la
creación de un estándar de cifrado y por estar de actualidad, al empezar a ser
usado va por fabricantes como Cisco Systems o Ckeckpoint, es el AES (Advan-
ced Encryption Standard).
El NIST certificó DES primero en 1987 y después en 1993, pero en 1997
no volvió a certificarlo y abrió un concurso internacional para buscar un nue-
vo estándar internacional de cifra, el AES.
En octubre de 2000 se eligió el algoritmo RIJNDAEL (de sus autores
Kncent Rijnzen y Joan Daemen), de origen belga, es un software de libre dis-
tribución que está disponible desde finales del año 2001.
El interés especial de este algoritmo está, como ya se ha comentado, en el
proceso de selección, revisión y estudio, que se hizo tanto de este algoritmo
como de los otros candidatos que hubo, que fue de carácter completamente
público y abierto, con lo que, por primera vez, toda la comunidad criptográ-
fica del mundo participó en el análisis, lo que hace del AES un algoritmo
digno de confianza para todos.
Entre sus características principales se deben citar:
- No es de tipo Felstel.
- Tiene un tamaño de clave variable, siendo el estándar de 256 bits,
pudiéndose elegir entre 128, 192, 256 o un múltiplo de 4 bytes.
- Su diseño se ha realizado pensando en su funcionamiento en los pro-
cesadores de 8 bits de las tarjetas inteligentes y en las CPU de 32 bits.
- El tamaño del bloque de texto de entrada del proceso es de 128 bits o
un múltiplo de 4 bytes.
- El número de etapas es flexible, dependiendo de los requerimientos
del usuario.
A continuación se van a enumerar otros algoritmos de criptografía simé-
trica que se pueden encontrar en aplicaciones o protocolos, además de los ya
citados:
316 SEGURIDAD E N LAS COMUNICACIONES Y E N LA I N F O R M A C I ~ N

- El algoritmo Twofish, propuesto por Bruce Schneier, que se puede


encontrar en algunas versiones del PGP y que fue también un candi-
dato al AES. Tiene un diseño simple, es de tipo Feistel, esta diseñado
para múltiples plataformas, no exhibe claves débiles, tiene una longi-
tud de bloque de 128 bits y su longitud de clave es variable.
- Los algoritmos RC2 y RC4, de tamaño de clave variable, diseñados
por Ron Rivest (la KRX
de RSA Data Security).
- El algoritmo RC5, creado por Ron Rivest, tanto su longitud de bloque
como de clave son variables.
- El algoritmo IDEA (International Data Encryption Algorithm), de
1992, trabaja con bloques de 64 bits, proceso en 8 iteraciones y claves
de 128 bits, utilizado, entre otros sistemas en diferentes versiones de
PGP.
Como se puede comprobar hay múltiples algoritmos de criptografía simé-
trica, aunque, hoy por hoy, conviene pensar especialmente en el DES, el Triple
DES y el AES por ser los más ampliamente utilizados como mecanismos bási-
cos de consecución de privacidad en los sistemas criptográficos habituales.
Por otro lado conviene volver a resaltar que la debilidad básica de todos
estos mecanismos, debido a su carácter completamente público, es la necesi-
dad de una buena gestión de las claves, problema éste grave por la necesidad
de su intercambio seguro y que se agrava cuando el número de participantes
en el sistema crece.

14.3. FUNCIONES DE UNA SOLA VIA


El propio concepto de una función de una sola vía es ctucial, como se
verá en la siguiente sección, para la criptografía hoy en día, especialmente
para la criptografía de clave pública o asimétrica.
Reciben su nombre (una sola vía) debido a su naturaleza matemática.
Dado un mensaje (o texto o bloque de texto) x, es muy fácil calcular el resul-
tado f(x). A este f(x) se le denomina el hash de x (una buena traducción
podría ser «resumen. de x , en opinión de varios expertos españoles) o tam-
bién message digest de x.
El punto clave es que es prácticamente imposible (Figura 14.3) dado el
hash Hx), obtener x. Como definición de .prácticamente imposiblen se podría
afirmar que se tardaría millones de años en conseguirlo, incluso con todos los
ordenadores de Internet trabajando en el problema.
Un buen ejemplo, de la vida real, de una de estas funciones es romper un
plato. Es sencillo romper un plato en miles de trocitos, pero es bastante más
complicado volver a unir todos ellos para conseguir el plato original.
MÉTODOS CRIPTOGRAFICOS: SISTEMAS DE CLAVE PRIVADA. SISEMAS... 317

Función de una sola via

Texto
original Hash del texto
legible

l+----j - - - - -J
Camino imposible

FIGURA14.3. Mecanismo típico de una función de una sola vía.

Este tipo de Funciones deben cumplir, además de la ya citada de unidi-


reccionalidad, una serie de características para poder ser usadas en cripto-
grafía con éxito:
- Compresión. Dado un mensaje de cualquier longitud, el hash debe
tener una longitud fija, siendo ésta, además, normalmente menor que
la del mensaje.
- Difusión. El hash debe ser una función compleja de todos los bits del
mensaje o texto original. La modificación de un bit del mensaje debe-
ría modificar, al menos, la mitad de los bits del kash.
- Facilidad de cálculo del hask. A partir de un mensaje o texto debe
ser sencillo calcular su hash.
- Colisión simple. Conocido el texto original, T, será computacional-
mente imposible obtener otro texto, T', tal que el resumen de T y el de
T'sean el mismo.
Un hash es algo así como una huella dactilar digital, sirve para identificar
algo mucho mayor. Cualquiera podría calcular el hash (o resumen) de este
libro, pero, dado el hash de este libro, es imposible crear otro libro cuyo hash
tenga el mismo valor, o derivar, del hash de este libro, el texto original.
Debido a esta naturaleza, han estado siendo usadas en informática desde
hace mucho tiempo, con diferentes nombres: función de compresión, messa-
ge digest, checksum criptográfico, message integrity check (MIC), etc.
Estas Funciones son públicas. Su seguridad no reside en el proceso, sino
en la naturaleza, de un solo camino, del proceso.
Su uso más habitual es el de garantizar la integridad, garantizar que un
fichero, por ejemplo, no ha sido modificado. El procedimiento es simple: el
318 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACIÓN

hash de un fichero será distinto si se modifica, luego si se tiene almacenado


el hash del fichero sin modificar, éste resulta modificado y se vuelve a calcu-
lar el hash, se obtendrá un hash distinto al primero.
Si se quiere verificar que alguien tiene el mismo fichero, bastará con
pedir que se calcule el hash, ambos resúmenes deben ser idénticos. También
es importante en las transacciones comerciales por la red. Nadie quiere q u e
un cargo de 100 € se convierta en un cargo de 1O00 £.
En general, se usan, además, funciones de una sola vía sin clave, para
que cualquiera pueda verificar el hash, pero si esta propiedad no es deseada,
se puede utilizar también funciones de una sola vía que dependen de una
clave.
Se habla entonces de código de autenticación de mensaje o MAC (debi-
do a sus siglas en inglés, Message Authentication Code). En este caso, el valor
del hash es una función tanto del texto original como de la clave. La teoría es
exactamente idéntica a lo anterior, salvo que sólo aquel que disponga de la
clave puede verificar el valor resumen.
Las funciones de una sola vía tienen un amplio abanico de usos en la
seguridad informática. Prácticamente cualquier protocolo los utiliza para
procesar claves, encadenar una secuencia de eventos o, incluso, autenticar
eventos y son esenciales, como se verá más adelante, en la autenticación por
firmas digitales.
Todas las funciones de una sola vía se basan en la idea de una función de
compresión, que provoca un resumen de longitud n, dada una entrada de lon-
gitud mayor, m.
Los datos de entrada a la función de compresión son un bloque del men-
saje del que se quiere obtener el resumen, M(i) y el resumen de salida, h(i-1),
del proceso de los bloques previos de texto (Figura 14.4). La salida de datos,
h(i), es el hash de todos los bloques hasta el punto analizado.

M(i)

h(i-1)
:
I -t Función de
compresión
~~~ ~ ~~ ~

FIGURA 14.4. Función de una sola vio


~~~ ~ ~~ ~ -
h(i)

Este valor de resumen, junto con el siguiente bloque del mensaje, se con-
vierte en la siguiente entrada de datos de la función de compresión. Final-
mente, el hash del mensaje completo es el hash del último bloque.
METODOS C R I P T O G R ~ I C O SSISTEMAS
: D E CLAVE PRIVADA, SISEMAS ... 319

Los dos algoritmos de una sola vía más utilizados hoy en día son el MD5
y el SHA-1, especialmente en su modalidad con clave o MAC, especialmente
en el caso de IPSec, SSL y en prácticamente cualquier versión de autentica-
ción RSA. MD5, además, se ha usado extensivamente para las primeras ver-
siones de PGP.
MD5, propuesto en 1992, es una versión mejorada de MD4, ambos algo-
ritmos diseñados por Ron Rivest. Las siglas MD vienen de Message Digest y se
trata de algoritmos que producen un hash de 128 bits del mensaje de entrada
al algoritmo.
Con MD5, tras un procesado inicial, se divide el texto de entrada en blo-
ques de 512 bits, divididos en 16 sub-bloques de 32 bits. El resultado de la eje-
cución del algoritmo es un conjunto de 4 bloques de 32 bits, que se concate-
nan para formar el resumen final de 128 bits.
Lo primero que se hace es ajustar el mensaje para que su longitud resulte
64 bits más pequeña de un múltiplo de 512. Este ajuste es un solo bit a 1, aña-
dido al final del mensaje, seguido por todos los ceros que sean necesarios.
Después se añade al resultado una representación de 64 bits de la longitud del
mensaje. Con esto se consigue una longitud del mensaje de un múltiplo exac-
to de 5 12 bits, a la vez que se asegura que no habrá mensajes diferentes que
parezcan iguales después del ajuste.
Se inicializan 4 variables:
A = 0x01234567
B = Ox89abcdeF
C = Oxfedcba98
D = 0x76543210
a las que se denomina variables de encadenamiento.
En este paso se inicia el bucle principal del algoritmo, que se ejecuta tan-
tas veces como bloques de 512 bits hay en el mensaje.
El bucle principal tiene 4 vueltas o iteraciones en MD5 (en MD4 sólo
había 3 vueltas), todas parecidas. En cada una de ellas, se utiliza una opera-
ción distinta 16 veces, cada una de las cuales ejecuta una función no lineal
sobre 3 de las 4 variables. Una vez hecho esto, se añade el resultado a la cuar-
ta variable, un sub-bloque del texto y una constante. Rota el resultado a la
derecha un número variable de bits y añade el resultado a una de las 4 varia-
bles. Como paso final, el resultado se usa como reemplazo de una de las 4
variables. No se entra en detalle de cuáles pueden ser tales funciones, al salir-
se tal descripción del objetivo de este libro, pero pueden consultarse en cual-
quiera de los libros de la bibliografía de esta unidad didáctica.
En los últimos años se han encontrado una serie de debilidades en MD5,
aunque hasta ahora no se ha podido demostrar problemas prácticos reales,
320 SEGURIDAD E N LAS COMUNICACIONES Y EN LA I N F O R M A C I ~ N

por lo que, en la actualidad, se sigue considerando un algoritmo seguro, si


bien su uso tiende a disminuir.
Quizás el algoritmo de una sola vía que más confianza oh-ece hoy en día,
y cada vez más ampliamente utilizado, es el SHA-1 (Secure Hash Algorithm).
El algoritmo SHA-I apareció como desarrollo de la NSA y del NIST, en
1994, para ser incluido en el estándar DSS (Digital Signatura Standard) y se
considera seguro y libre de .puertas falsas,,
Produce un hash de 160 bits, a partir de bloques de 512 bits del mensaje
original. El algoritmo es similar al MD5. SHA-1 emplea cinco variables de 32
bits en lugar de cuatro como el MD5. El bucle principal tiene 4 iteraciones de
20 operaciones cada una.
Como curiosidad es remarcable que la NSA introdujo el desplazamiento
a la izquierda para corregir una posible debilidad del algoritmo, por lo que se
modifico su nombre original, SHA, por el actualmente utilizado de SHA-l.
Hay ya propuestas actualizaciones como SHA-256 y SHA-512.
Otros mecanismos de una sola vía son:
- El algoritmo RIPE-MD, desarrollado para el proyecto RIPE (Race
Integrity Primitives Evaluation) de la Unión Europea. Es una variante
de MD4, diseñada para resistir ataques criptoanalíticos conocidos, y
produce un hash de 128 bits.
- El algoritmo Snefm, que debe su nombre a un faraón egipcio, diseña-
do por Ralph Merkle, con resúmenes de 128 o 256 bits. Ha sido ya crip-
toanalizado con éxito y es lento.
- El algoritmo Eger, de 1996. diseñado por Ross Anderson y Eli Bilzam,
con resúmenes de hasta 192 bits, optimizado para máquinas Alpha de
DEC.
- El algoritmo N-hash, desarrollado por la Nippon Elephone and Ele-
graph, divide el mensaje en bloques de 128 bits, utiliza una función de
aleatoriedad complicada y produce un hash de 128 bits.
Como ya se ha comentado, las funciones de una sola vía analizadas no se
diseñaron pensando en la autenticación, al carecer de clave secreta, pero, por
otro lado, son muy interesantes para ello, al ser su velocidad de ejecución alta
y sus propiedades bien conocidas. Por ello, no resulta extraño que, en la RFC
2104, se propusiera como mecanismo de autenticación segura, para entor-
nos como SSL o IPSec, una operación MAC en la que intervenga una función
de una sola vía, conociéndose al mecanismo como HMAC. Es éste el meca-
nismo habitual que se encuentra en los sistemas citados y en otros parecidos
que se analizarán en capítulos siguientes.
HMAC usa una función de una sola vía (típicamente MD5 o SHA-1 y, en
este caso, se habla de MD5-HMAC y SHA-1-HMAC)como una especie de caja
MÉTODOS CRIPTOGRÁFICOS: SISTEMAS D E CLAVE PRIVADA, S I S E M A S... 32 1

negra, una clave mayor que el tamaño del hash en bits, una función lógica
XOR, además de operaciones de relleno de bits, para crear una especie de
resumen dependiente de una clave privada.
Como final de esta sección se puede afirmar, una vez más, que los meca-
nismos de una sola vía son, en la actualidad, esenciales para casi cualquier
ámbito de aplicación de la criptografía a la seguridad de las comunicaciones,
como, además, se seguirá analizando en la siguiente sección y en los siguien-
tes capítulos.

Se puede afirmar, con toda rotundidad que, en 1976, Whiifield Diffie y


Martin Hellman cambiaron el paradigma de la criptografía para siempre,
hicieron una .revolución criptográfica,,, describiendo lo que llamaron crip-
tografía de clave pública.
En esencia, la criptografía asimétrica consiste en lo siguiente:
- Cada participante genera, siguiendo un algoritmo de clave pública,
una pareja de claves relacionadas entre sí. Una es la denominada cla-
ve pública del participante y la otra es la denominada clave privada
del participante. Deducir la privada, conociendo la pública, debe ser
computacionalmente muy complicado.
- La clave pública es realmente pública, todo el mundo puede conocerla.
- La clave privada es realmente privada, secreta, sólo cada participante
conoce su propia clave privada.
- Cualquiera que conozca la clave pública del participante A puede
cifrar con ella un mensaje, pero sólo el participante A puede descifrar
ese mensaje, mediante su clave privada (Figura 14.5).
Matemáticamente el algoritmo se basa en las funciones de una sola vía
con puerta falsa. La encriptación es la parte fácil del proceso y la información
de cifrado es, sencillamente, la clave pública. El descifrado es la parte más
complicada, sin la clave privada (que es la información secreta) es práctica-
mente imposible.
La idea básica es usar una función fácil de calcular en una dirección y
muy difícil en la contraria como, por ejemplo la factorización de enteros.
Dados dos números primos, es sencillo multiplicarlos y obtener su producto,
pero, dado un único producto, puede ser imposible, desde el punto de vista
práctico, factorizar el número y recuperar los dos factores. Este tipo de h n -
ciones involucra el uso de aritmética modular, exponenciación y el uso de
grandes números primos (de longitudes de miles de bits).
322 SEGURIDAD EN LAS COMUNICACIONES Y E N LA INFORMACI~N

i' '
Clave
pública
deA rl
'7

Algoritmo r--~~~~~~~

criptográfico Texto cifrado eriptográfico

Participante B Participante A

FIGURA 14.5. Criptografía de clave público

Es especialmente remarcable cómo este tipo de métodos resuelve el pro-


blema de administración de claves de la criptografía simétrica. En aquel
caso, había que ponerse de acuerdo, en secreto, en una clave. En este caso,
cualquiera puede obtener la clave pública, de ahí su apellido de qxíblican, y
sólo un participante debe conocer la clave privada.
Una forma típica de uso de estos métodos para una red de usuarios es el
siguiente:
1. Ponerse de acuerdo en un sistema de criptografía pública.
2. Creación de parejas de claves por cada usuario
3. Todas las claves públicas se almacenan en una base de datos accesible
a todos los usuarios.
4. Cuando el participante A quiere enviar un mensaje al participante B,
obtiene la clave pública de B de la base de datos.
5 . El participante A cifra su mensaje mediante la clave pública de B y se
lo envía a B.
6. El participante B recibe el mensaje y lo descifra mediante su clave
privada.
Entre los puntos fuertes de los sistemas criptográficos de clave pública se
pueden citar:
- Permiten conseguir autenticación y no repudio para muchos proto-
colos criptográficos.
- Suelen emplearse, también, dentro de un sistema híbrido, en colabo-
ración con cualquiera de los otros métodos criptográficos.
MÉTODOS CRIPTOGR.~FICOS: SISTEMAS DE CLAVE PRWADA, SISEMAS... 323

- Permiten tener una administración sencilla de claves, al no necesitar


que haya intercambio de claves seguro.
Entre los puntos débiles, se pueden señalar:
- Son algoritmos más lentos que los de clave secreta, con lo que no sue-
len utilizarse para cifrar gran cantidad de datos.
- Sus implementaciones son comúnmente hechas en sistemas software.
- Para una gran red de usuarios y10 máquinas, requieren un sistema de
certificación de la autenticidad de las claves públicas. La solución a
este problema será abordada en los dos capítulos siguientes.
Entre los problemas prácticos de los sistemas que usan criptografía asi-
métrica se pueden añadir otros, como el hecho de que cada participante
(usuario o máquina o proceso) debe mantener secreta su clave privada, que
suele ser algo así como 1.000 dígitos al azar, o el complicadísimo problema,
ya citado, de cómo esta seguro un participante A de que la clave pública de B
es, realmente, la clave pública de B y no, por ejemplo, la clave pública de un
atacante del sistema.
En los últimos 25 años han aparecido muchos algoritmos asimétricos,
pero la mayoría han resultado inseguros. Otros no son prácticos, ya sea por-
que el resultado cifrado es bastante mayor que el texto original o porque la
longitud de la clave es enorme.
Los algoritmos asimétricos usan longitudes de claves mayores que los
simétricos. Mientras que en estos últimos se considera bastante segura una
clave de 128 bits, en los asimétricos, excepto en los basados en curvas elípti-
cas, se recomiendan claves de, al menos, 1024 bits.
En muchas aplicaciones criptográficas, se usa esta criptografía para dis-
tribuir de manera segura lo que se llama, en tales entornos (como los de SSL
o PGP), claves de sesión, llamadas así por utilizarse, en sesiones de comuni-
cación, entre dos participantes, de tráfico cifrado mediante un algoritmo de
cifra simétrica. En este caso, el procedimiento suele ser el siguiente:
1. El participante B envía su clave pública al participante A o, por el
método que sea, el participante A tiene tal clave.
2. El participante A genera una clave de sesión, K, la cifra usando la cla-
ve pública del participante B y se la envía a B.
3. El participante B descifra el mensaje recibido, usando su clave priva-
da, y obtiene la clave de sesión.
4. Los participantes A y B pueden, ahora, cifrar sus comunicaciones
usando la misma clave de sesión.
Otro ejemplo típico de uso de sistemas criptográficos asimétricos es la
firma digital. Por su importancia fundamental este asunto será tratado con
324 SEGURIDAD EN LAS COMUNICACIONES Y EN LA I N F O R M A C I ~ N

más detalle en el capitulo siguiente, pero se va a hacer ahora una primera


aproximación, por ser algo directamente ligado con lo comentado en esta
sección.
Las firmas digitales (digital signatures) proporcionan un nivel de autenti-
cación de mensajes parecido al de los MAC citados en la sección anterior.
Además, para muchas necesidades actuales de seguridad de comunicaciones,
la autenticación resulta mucho más importante que la privacidad.
La forma más sencilla de conseguir una firma digital mediante cifrado asi-
métrico es la representada en la figura 14.6, consistente en los siguientes pasos:
1. El participante A tiene un mensaje que quiere enviar a otra serie de
participantes, incluido el participante B.
2. El participante A cifra el mensaje mediante su clave privada. Como ésta
es solo suya, el propio mensaje cifrado es la firma del participante A.
3. La clave pública del participante A es conocida por todo el mundo.
Cualquiera, incluido el participante B, puede obtenerla y descifrar el
mensaje, verificando, asimismo, que el participante A lo firmó.

Clave
, + ;t'; %
:
-
!: ' ,
r~ Clave
1;
J '

privada / pública
deA LA Lui de A

Participante A Participante B

FIGURA14.6. Firma digital sencilla mediante cifrado asimétrico

De esta manera, la firma es función del mensaje. La firma cambia si se


cambia el mensaje. Un atacante no puede <<obtener.la firma de un mensaje y
<<pegarla.en otro documento. Además es Función de la clave privada del par-
ticipante A, así que es únicamente de A.
Esto es sólo una aproximación teórica, las cosas son más complicadas.
No se cifran los mensajes, como ya se ha dicho, mediante estas técnicas y no
se .firman. los mensajes así. Como se verá en el capitulo siguiente se firma
el hash del mensaje, lo que resulta varios órdenes de magnitud más veloz.
Además, habitualmente no se cifra nunca el mensaje. Esto, que exige otros
métodos matemáticos, dependerá de cómo se implemente la política de segu-
ridad decidida para la organización.
De entre todos los algoritmos asimétricos el más popular, y suficiente-
mente probado como seguro, es el algoritmo RSA, que debe su nombre a sus
inventores, que son Ron Rivest, Adi Shamir y Leonard Adleman. Ha estado
además protegido por una patente de los laboratorios RSA hasta el 20 de
septiembre de 2000, lo que lo hizo restringido, desde el punto de vista
comercial, hasta esa fecha. Su utilización en las primeras versiones de PGP,
como método de cifrado y de firma digital, fue polémico y, de hecho, se
abandonó en versiones posteriores a favor de otros algoritmos públicos. Hoy
en día su uso es prácticamente universal como método de autenticación y
firma digital y es componente principal de protocolos y sistemas como
IPSec, SSL, PGP, etc.
RSA se basa en la dificultad, ya citada, de la factorización de grandes
números. El tamaño de las claves suele ser de 1024 bits, aunque pueden ser
tan pequeñas como de 768 y pueden ser, también, de mayor tamaño. La pare-
ja de claves se calcula a partir de un número que se obtiene como el produc-
to de dos números primos grandes, de forma que el atacante se enfrenta, al
querer obtener el texto original a partir del texto cifrado y de la clave pública,
a un tremendo problema de factorización.
El método de obtención de una pareja de claves pública y privada (K, Kv)
es el siguiente:
1. Se eligen aleatoriamente dos números primos grandes, p y q.
2. Se calcula el producto N = pq.

3. Se elige otro número primo relativo a (p-1) y (q-1). e.


4. Esta pareja de números (e, N) juntos constituyen la clave pública K.
Además, el número e podría formar parte de la clave pública de cual-
quier participante; sin embargo el valor N debe ser distinto para cada
participante, lo que depende de su elección de p y q.
5. La clave privada, K', se calcula usando el hecho de que existe un núme-
ro d, tal que
ed = 1 (mod(p-l)(q-l)),
es decir que d es la inversa de e módulo de (p-l)(q-1). La clave K' es
la pareja de números (d, N). Como detalle técnico, tal inversa se puede
calcular fácilmente mediante el algoritmo extendido de Euclides. Hay
que señalar que si se desconocen los factores de N, este cálculo resulta
prácticamente imposible.
El cifrado de un mensaje M (una vez convertido el texto en dígitos bina-
nos) se hace mediante la expresión:

y el descifrado del mensaje C se hace mediante la expresión:

Un ejemplo ayudará a entenderlo. Supóngase que Bernardo quiere enviar


un mensaje a Alicia siguiendo este método. Para ello debe conocer la clave
pública de Alicia, que ésta le enviará. ¿Cómo genera la pareja de claves Alicia?
1. Elige dos números primos enormes, para el ejemplo no tan enormes,
por ejemplo p = 17 y q = 11, que mantiene en secreto. Calcula su pro-
ducto, N = 187.
2. Elige otro número primo e = 7.
3. La clave pública es (7, 187). El valor d, parte de la clave privada, es el
resultado de calcular la inversa de 7 módulo 160. Este valor se calcula
siguiendo el algoritmo de Euclides y, en este caso, resulta ser 23, luego
la clave privada es (23, 187).
Ahora Bernardo decide que va a enviar el mensaje aXANA» (el nombre de
un hada legendaria) a Alicia. Primero lo divide en bloques, uno por carácter,
X, A, N, A. Se explora lo que hace el método para el primer carácter, X.
El carácter X se representa en ASCII como 1011000, que es 88 en el siste-
ma decimal, asi que, para este ejemplo, M es igual a 88.
Para cifrar el mensaje Bernardo usa la clave pública de Alicia, K, y cifra el
mensaje, mediante la expresión anterior de cálculo de C, y obtiene que C = 1 1,
que es la parte del mensaje cifrado que estamos analizando.
Cuando el mensaje llega a Alicia, ésta debe descifrar cada dígito y empie-
za por el primero que le llega que es el 11. Para ello usa su clave privada, (23,
187) y aplica la segunda expresión, para obtener que M = 88, que, como ya se
ha visto representa la X en ASCII.
El único problema que le hará difícil de seguir el ejemplo es el cálculo del
número d, para el que hay que aplicar el algoritmo extendido de Euclides,
que puede encontrarse en varios de los libros de la bibliografía de esta unidad
didáctica.
Desde el punto de vista técnico no es del todo verdad que RSA tenga toda
su poder depositado en la Eactorización. No se ha demostrado que no pueda
aparecer un método que permita descifrar un mensaje sin usar la clave pri-
vada y sin factorizar el módulo N. Por otro lado, se ha demostrado que sólo
la recuperación de algunos bits del mensaje original es tan dificil como des-
cifrar el mensaje completo. Hay campos de investigación tan curiosos como
MÉTODOS CRIPTOGRAFICOS: SISTEMAS DE CLAVE PRIVADA, SISEMAS... 327

la criptografía cuántica (ver libro de Simon Singh, en la bibliografía de esta


unidad didáctica), no obstante, que pueden hacer cambiar muchos de estos
aspectos en el futuro.
RSA es un verdadero estándar mundial, utilizado sobre todo para siste-
mas de firma digital. Muchas compañías y organizaciones usan PKCS (Public
Key Cryptographic Standards), sistema creado por RSA Data Security, que,
como se verá en el capítulo 16, permiten la creación de una infraestructura de
clave pública, Fundamental para todo tipo de sistemas de autenticación,
como los usados en redes privadas virtuales.
Otro algoritmo asimétrico Fundamental para los sistemas actuales de
seguridad, especialmente, como se verá en los capítulos 16 y 17, para IPSec,
es el algoritmo conocido como de Difie-Hellman.
El algoritmo de Diffie-Hellman tiene como objetivo generar una clave
secreta para el uso de un algoritmo de cifrado simétrico, por ejemplo DES,
pero sin necesidad de intercambiar la clave y utilizando para ello, si Fuera
necesario, un canal de comunicaciones inseguro como, por ejemplo, Inter-
net. Es decir, siguiendo el algoritmo dos participantes generan, independien-
temente y sin intercambiársela, la misma clave secreta de uso para cifrar un
mensaje. Se dice que .se ponen de acuerdos en un clave, sin intercambiarla.
El nombre original es dnternet Key agreement. y, por más que tanto Diffie
como Hellman lo han tratado de aclarar varias veces, sigue conociéndose por
el nombre erroneo de algoritmo de intercambio (exchange) de claves.
Una ventaja muy especial es que no son necesarias claves públicas en sen-
tido estricto, sino una información compartida por los dos interlocutores.
Su seguridad deriva de la tremenda dificultad del cálculo de logaritmos
discretos.
El aparato matemático es simple, está basado en la función de una sola
vía N" mod P. El procedimiento es el siguiente:
1. Los dos participantes se ponen de acuerdo en dos números primos
grandes, N y P, tal que N es menor que P. Se pueden poner de acuerdo
por un canal seguro o inseguro, no importa.
2. El participante A elige al azar un número entero grande, x, y envía

al participante B
3. El participante B elige, de igual manera, otro número, y, y envía
Y = N" mod P
al participante A
4. El participante A calcula k = Y" mod P.
328 SEGURlDAD E N LAS COMUNICACIONES Y E N LA INFORMACI6N

5 . El participante B calcula k' = X' mod P.


En realidad, lo que sucede es que k = k' = N"" mod P. Cualquiera que esté
escuchando por el canal inseguro puede conocer, como mucho, N, P, X e Y. A
menos que pueda calcular el logantmo discreto y recuperar x o y, no podrá
solucionar el problema. La clave secreta, que los dos participantes han calcu-
lado de manera independiente, es k.
Hay detalles importantes, como que el valor de N(N - 1) debe ser también
un número primo y que N sea un número verdaderamente grande, pues la
seguridad del sistema está basada en la tremenda dificultad de Factorizar
números del mismo tamaño que N.
Una vez más, un ejemplo podrá aclarar más el mecanismo. Sena una bue-
na idea que el estudiante tratara de repetirlo con distintos números.
Supóngase que Alicia y Bernardo se han puesto de acuerdo en que N = 7
yP = 11, con lo que la función elegida, para este caso, es:

7" mod 11
Alicia y Bernardo harán lo siguiente:
1. Alicia elige un número x = 3 y Bernardo otro y = 6.
2. Alicia calcula X = 2 y Bernardo Y = 4.
3. Alicia y Bernardo se intercambian X e Y.
4. Alicia calcula 4' mod 11, obteniendo 9.
5. Bernardo calcula 26 mod 11, obteniendo también 9 como resultado.
El algoritmo de Diffie-Hellman,como muchos resultados de aplicación de
propiedades matemáticas curiosas, es sencillo, elegante y, sobre todo, muy
seguro. De ahí que se utilice extensivamente en la criptografía actual.
Existen otros algoritmos asimétricos seguros, como los siguientes:
- El algoritmo de Rabin, que obtiene su seguridad de la dificultad de
encontrar raices cuadradas módulo un número compuesto. Se puede
demostrar que este problema es el mismo que el de Factorizar dicho
número.
- El algoritmo de ElGamal, diseñado en principio sólo para creación de
firmas digitales, pero modificado, después, para cifrado en bloques.
Se basa en el problema de logaritmos discretos, intimamente ligado
con el dc la factorización y el algoritmo de Diffie-Hellman.
- El algoritmo DSA, Digital Signature Algoritlzm, parte del estándar de fir-
ma digital DSS (Digital Signatnre Standard), propuesto por el NIST en
1991. Es una variante del algoritmo anterior. Su objetivo es, solamente,
ser un estándar de firma digital, no de cifrado general, por lo que con-
M ~ T O D O SCRIPTOG~\AFICOS:SISTEMAS DE CLAVE PRIVADA, SISEMAS... 329
-

viene compararlo unicamente con el uso que se hace de RSA para tales
fines, como se verá en el capítulo siguiente. Hay quien dice, además, que
al ser diseñado por la NSA, puede tener con mucha facilidad una puer-
ta falsa y que permite el uso de claves pequeñas, de hasta 512 bits.
El edificio criptográfico, construido gracias a este tipo de algoritmos, es
majestuoso y se puede observar en prácticamente cualquier sistema seno de
seguridad en comunicaciones. Ha hecho desaparecer, casi del todo, la necesi-
dad de una distribución de claves segura y ha abierto perspectivas a muchas
metodologias matemáticas, pero, como todo en la vida, no es perfecto.
Estos sistemas, como ya se ha visto, exhiben dos problemas:
- La necesidad de uso de claves largas.
- La necesidad de certificación de claves públicas.
Mientras que el primero parece tener una solución sencilla, debido a que
los ordenadores, cada vez más potentes y rápidos, van disminuyendo la lenti-
tud de los cálculos con claves grandes, el segundo es un grave problema.
Si todo un sistema de autenticación depende de tales claves públicas y no
se dispone de un mecanismo de certificación de tales claves, se está expuesto
a todo tipo de problemas de fraude y de suplantación. Para remarcar la gra-
vedad del problema hay que darse cuenta de que, en la actualidad, muchos de
estos procesos de cih-ado se llevan a cabo entre procesos de sistemas operati-
vos entre ordenadores o dispositivos de una red, no entre personas.
Una de las aproximaciones a la solución es la de crear certificados digi-
tales, como se verá en el capítulo siguiente, pero esto obliga a la creación de
otras estructuras, que ya no son completamente matemáticas, como las auto-
ridades de certificación, que se discutirán en próximos capítulos, que, a su
vez, implican otro tipo de problemas.

14.5. CONCLUSIONES

Se ha descrito lo que son los algoritmos de criptografía simétrica, algo-


ritmos que, en esencia, usan la misma clave, tanto para cifrar como para des-
cifrar mensajes.
Se ha explicado que tales algoritmos se utilizan para conseguir la priva-
cidad de los mensajes, haciéndolos especialmente útiles para cuando hay que
intercambiar información secreta a través de canales inseguros de comuni-
cación.
Se han descrito sus puntos fuertes y sus problemas, pudiendo señalar uno
de los problemas como especialmente importantes: el de la distribución de las
claves secretas, que obliga a una determinada, y compleja, gestión de ellas.
330 SEGURIDAD EN LAS COMUNICACIONES Y EN LA INFORMACI~N

También se han descrito, someramente, las características más importan-


tes de la mayoría de los algoritmos de cifrado simétrico, entre las cuales se
debe señalar:
- Son algoritmos de cifrado por bloques.
- Todos ellos se basan en la confusión y en la difusión.
- Casi todos usan estructuras de tipo red de Feistel.
- Usan Funciones que no son un grupo.
Se ha descrito, con un cierto detalle, el algoritmo DES, entre cuyas carac-
terísticas mas reseñables están las siguientes:
- Es un algoritmo de cifrado por bloques, cuyo tamaño es de 64 bits. Por
cada bloque de texto legible, de 64 bits, de entrada crea un bloque de
64 bits de texto cifrado.
- Usa una clave de longitud de 56 bits.
- Está ampliamente implementado tanto en dispositivos hardware
como en sistemas software.
Se han descrito, también, otros algoritmos de clave privada interesantes,
como Triple DES, que es una variante del DES o como el AES, recientemente
aprobado como estándar internacional de cih-ado simétrico, que ya empieza a
verse en muchos sistemas como alternativa al DES. Entre sus características
más importantes se pueden señalar el hecho de que tanto el tamaño del bloque
como el de la clave son adaptables a las necesidades del sistema concreto.
Posteriormente se ha hecho una definición de lo que se denomina, en
criptografía, funciones de una sola vía, una de las herramientas básicas, en
la actualidad en criptografía por su capacidad única de generación de infor-
mación relacionada con la integridad de los mensajes que se envian en redes
o de los ficheros que almacenamos en los discos de ordenadores. También es
importante su uso como componente de los sistemas de autenticación por
firma digital más utilizados. Este último punto será analizado con detalle en
los siguientes capítulos.
Las funciones de una sola vía crean una especie de .huella dactilar. digi-
tal de aquello sobre lo que se aplican. Son funciones fáciles de usar en un sen-
tido, pero imposibles computacionalmente de utilizar en el sentido contrario.
Es decir, dado el hash (o resumen) de un cierto tipo de dato (un texto, un
mensaje, un fichero o este mismo libro) no se puede obtener el dato original.
Sin embargo, conociendo la función, si se tiene el dato original, siempre se
obtendrá el mismo hash al aplicar el algoritmo.
Entre todas las funciones de una sola vía se han destacado, por su seguri-
dad y ubicación en casi todos los sistemas de seguridad y protocolos cripto-
gráficos importantes, el MD5 y el SHA-l.
MÉTODOS CRIPTOG~FICOS: SISTEMAS DE CLAVE PRIVADA, SISEMAS... 33 1

Para su uso en autenticación se utilizan sus variantes dependientes de


una clave, conocidas como códigos de autenticación de mensajes, HMAC.
Finalmente se ha hecho un análisis de los algoritmos de criptografía
asimétrifa,o de clave pública, conocidos por este nombre debido a que cada
participante usa dos claves, una secreta (clave privada) conocida sólo por el
mismo y una pública. Aquello que se cifra con la pública, sólo puede desci-
frarse con la privada, y viceversa.
Entre sus puntos fuertes se han señalado:
- La no necesidad de distribución de claves secretas.
- Su fácil aplicación para la autenticación segura, en soledad o junto
con funciones de una sola vía, para sistemas de firma digital, anali-
zados en el capítulo siguiente.
- Su elegancia matemática, al estar basados, casi todos, en funciones de
una sola vía con puerta falsa.
- Su flexibilidad para poder utilizarse en combinación con otros siste-
mas criptográficos, como en el caso del algoritmo de Difie-Hellman
en el que se usa para ponerse de acuerdo en una clave de sesión, para
criptografía simétrica, compartida por dos participantes, pero sin
necesidad de que tengan que intercambiarla de uno al otro.
Entre sus puntos débiles se debe señalar:
- La lentitud del procedimiento, por la gran longitud de la clave y por la
propia naturaleza matemática del procedimiento, que lo hace espe-
cialmente poco apto para cifrar gran cantidad de datos.
- La necesidad, al menos para sistemas con una necesidad de fuerte
seguridad, como los sistemas comerciales, de un procedimiento de
certificación de las claves públicas, para evitar problemas de suplan-
tación y fraude.
Se ha descrito, con cierto nivel de detalle, el algoritmo RSA, basado en el
problema matemático de factorización de grandes números, claramente el
más utilizado hoy en día en criptografía asimétrica, proponiendo un ejemplo
para entender mejor el procedimiento.
Asimismo, se han descrito otros algoritmos de clave pública utilizados,
como el algoritmo Diffie-Hellman ya citado, de uso generalizado en muchos
sistemas criptográficos complejos, como los protocolos IPSec, que serán ana-
lizados en el capítulo 16 y que formas parte esencial de la mayoría de imple-
mentaciones de redes privadas virtuales.
Este capítulo ha descrito las herramientas fundamentales, las piezas bási-
cas, de los protocolos y sistemas criptográficos que serán analizados en los
capítulos posteriores y que permitirán al lector entender mejor las construc-
ciones más complejas, como las redes privadas virtuales, que están permi-
tiendo que eso que se denomina comercio electrónico vaya siendo una reali-
dad palpable.

1. Los algoritmos de cifra simétrica, como el DES, permiten que los mensa-
jes cifrados, intercambiados entre dos participantes por un canal insegu-
ro, exhiban una propiedad de seguridad. ¿Cuál es la citada propiedad?
a ) La autenticación segura o firma digital.
b ) La integridad del mensaje.
c) La privacidad, o confidencialidad. del mensaje.
d ) La autenticación y la privacidad.

2. Si se quiere usar una función de una sola vía, por ejemplo MD5, y se desea
que no todo el mundo que quiera pueda conocer el hash de un mensaje,
(qué mecanismo se debe utilizar?
a ) No hace falta hacer nada más, pues MD5 ya me proporciona este com-
portamiento.
b ) Usar la versión MD5-HMAC y dar a conocer la clave a los particpantes
deseados.
c ) Usar una variante de MD5 con DES, llamada DESX.
d ) Autenticar el mensaje con la clave pública de los participantes.

3. ¿Cuál de las siguientes características no es típica del algoritmo RSA?


a ) Es un algoritmo de clave pública, que típicamente usa una clave de
1.024 bits.
b) Los problemas de complejidad matemática que utiliza son los de Fac-
torización de grandes números.
c ) Es un algoritmo rápido, de fácil uso para cifrado de gran volumen de
datos.
d ) Es uno de los más usados en los sistemas de firma digital.

4. ¿Cuál de las siguientes características es típica de las funciones de una


sola vía?
a ) Permite dotar de privacidad a los mensajes cifrados con ellas.
b ) Permite garantizar la autenticación de un mensaje, siempre que el emi-
sor del mismo lo cifre usando un hash previamente pactado.
MÉTODOS CRIPTOGRAFICOS:
SISTEMAS D E CLAVE PRIVADA, SISEMAS ... 333

c ) Permite garantizar la no modificación de la clave privada de los parti-


cipantes en un sistema de comunicaciones seguro que use DES y DSA.
d ) Permite comprobar si ha habido cambios en un fichero del que, pre-
viamente, se disponía de su hash.

5. ¿Qué permite conseguir el algoritmo de Difie-Hellman?


a ) La obtención de una clave, de uso en un sistema de clave secreta, para
dos participantes, sin que ninguno de los dos se lo comunique al otro.
b) La obtención de una clave pública RSA, mediante intercambio de men-
sajes cifrados con un algoritmo de clave secreta.
c) La autenticación de todo el proceso de transmisión, mediante firma
digital.
d ) La privacidad de todos los mensajes cifrados con la clave Difie-Hellman.

También podría gustarte