Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
~,,
Clave ir
Secreta Kdl
Algoritmo Algoritmo
criptográfico Texto cifrado criptográfica
Cifrado
1
DES DES
DES
lnverso
DES
inverso )/
Descifrado
Texto
original Hash del texto
legible
l+----j - - - - -J
Camino imposible
M(i)
h(i-1)
:
I -t Función de
compresión
~~~ ~ ~~ ~
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
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.
i' '
Clave
pública
deA rl
'7
Algoritmo r--~~~~~~~
Participante B Participante A
Clave
, + ;t'; %
:
-
!: ' ,
r~ Clave
1;
J '
privada / pública
deA LA Lui de A
Participante A Participante B
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
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
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.