Algoritmos de criptografía simétrica
[2.1] ¿Cómo estudiar este tema?
[2.2] Cifradores de bloque
[2.3] Cifradores de flujo
[2.4] Funciones resumen
TEMA
Esquema
TEMA 2 – Esquema
Algoritmos de criptografía simétrica
Cifrado de bloque Cifrado de flujo Funciones resumen
DES Cifrado Vernam MD5
2
IDEA Generadores de clave SHA-1
RC5 SHA-512
RC6
AES
Criptografía y mecanismos de seguridad
Criptografía y mecanismos de seguridad
Ideas clave
2.1. ¿Cómo estudiar este tema?
Para estudiar este tema, además de las Ideas clave, lee los apartados 10.1, 10.2,
10.4 y 10.5 del capítulo 10 «Cifrados por bloques» y el capítulo 13
«Funciones resumen» del libro Criptografía y seguridad de computadores de
Manuel Lucena, disponible en:
http://sertel.upc.es/tdatos/Libros/Lucena.pdf
Sin lugar a dudas los algoritmos criptográficos más empleados son los criptosistemas
simétricos. Estos sistemas en los que la clave de cifrado y descifrado son idénticas (o
de una es fácil desprender la otra) tienen el claro inconveniente de necesitar de un
canal seguro para que las partes puedan intercambiar la clave de cifrado
pero, así mismo, se trata de criptosistemas generalmente más rápidos que los
asimétricos y que permiten obtener altos niveles de seguridad manejando claves de
cifrado sensiblemente menores que estos.
Dentro de este tema también se tratarán las funciones resumen, denominadas
también funciones unidireccionales, que permiten obtener un resumen fijo ante
cualquier mensaje de entrada. Las funciones resumen tienen numerosas aplicaciones
en el mundo de la seguridad informática y, por sus similitudes con los criptosistemas
simétricos, son tratados también en este tema.
Este tema tiene como objetivo presentarte los algoritmos de cifrado simétrico y
algoritmos de función resumen. Así el primer bloque engloba los siguientes conceptos:
Los algoritmos de cifrado de bloque frente a los algoritmos de cifrado de flujo.
Descripciones de los fundamentos y las características de los algoritmos de cifrado
simétrico más relevantes.
Algoritmos de generación de clave empleados en el cifrado de flujo.
En segundo lugar, el tema trata las funciones resumen criptográficas:
Características de las funciones resumen.
Finalmente, se tratan los aspectos de seguridad de las funciones resumen y las
debilidades detectadas hasta la fecha.
TEMA 2 – Ideas clave 3
Criptografía y mecanismos de seguridad
2.2. Cifradores de bloque
Este grupo lo componen cifradores que actúan sobre grupos de símbolos de tamaño
fijo (en contraposición a los cifradores de flujo que actúan sobre símbolos
aislados). Los bloques o grupos de símbolos son independientes entre ellos, por lo
que cifrado y descifrado puede realizarse de forma asilada al resto de bloques.
Algoritmo DES
El algoritmo divide en cada iteración el bloque, de 64 bits, en dos mitades que
procesará de forma alternativa. Sobre cada bloque se realizarán 16 iteraciones, en cada
una de ellas se genera una clave distinta (basada en la clave del usuario) y se aplica una
función denominada f.
Cifrado y descifrado utilizan el mismo algoritmo pero con orden de claves inverso ( se
utilizará en la primera iteración de cifrado y en la primera de descifrado).
Función f: Compuesta por los siguientes elementos:
1. Permutación de expansión (bloques de 32 bits pasan a 48 bits).
2. XOR del bloque con .
3. Aplica un número de 8 S-cajas de 24 bits.
4. Permutación.
Clave: Se utilizan claves de 48 bits en cada una de las iteraciones, calculadas a partir
de la inicial de 64 bits.
Características:
Puede ser implementado en software y hardware (mayor velocidad).
Utiliza bloques de 64 bits, claves de 48 bits (56 bits de clave de usuario) y realiza 16
iteraciones.
Utiliza los principios de difusión y confusión.
Existencia de claves débiles o semidébiles (generan las mismas claves o únicamente
dos distintas).
TEMA 2 – Ideas clave 4
Criptografía y mecanismos de seguridad
Tamaño de clave pequeño (vulnerable). Resuelto mediante triple DES que aplica el
cifrado, descifrado y cifrado (en inglés EDE) con tres claves de 56 bits distintas
elegidas por el usuario.
Vulnerable a ataques de criptoanálisis diferencial (requiere grandes cantidades de
texto escogido y su cifrado).
Utilizado para información con caducidad a corto plazo.
Algoritmo IDEA
El algoritmo realiza 8 iteraciones donde cada bloque de 64 bits es dividido en 4
subbloques que reciben distinto tratamiento. Se requieren 52 subclaves internas
calculadas a partir de una original de 128 bits mediante expansión y rotación.
Características:
Fácilmente implementable en software y hardware.
Utiliza bloques de 64 bits, subclaves de 16 bits (128 bits la inicial) y realiza 8
iteraciones.
Utiliza los principios de difusión y confusión.
Seguridad demostrada mediante justificación matemática.
Algoritmo RC5
Se trata de un algoritmo diseñado por Ronald Rivest, autor de numerosos algoritmos
criptográficos como RSA, MD5…
Características:
Número de iteraciones, tamaño de bloque y longitud de clave variable (escogidas por
el usuario).
Realiza tres operaciones inversibles (suma módulo , XOR bit a bit y rotación a izquierda).
Vulnerable debido a la debilidad de las claves generadas. Debilidades eliminadas en
la siguiente versión del mismo RC6 (que fue uno de los candidatos finales a estándar
de cifrado en los Estados Unidos).
TEMA 2 – Ideas clave 5
Criptografía y mecanismos de seguridad
Algoritmo RC6
Se trata de uno de los algoritmos finalistas a estándar de cifrado estadounidense (junto
con Rinjdael, twofish, MARS y SERPENT). Al igual que su antecesor, fue diseñado por
Ron Rivest para mejorar los problemas detectados en RC5 y poder optar a estándar
estadounidense de cifrado (ser de dominio público; ser algoritmo simétrico que soporta
bloques de un mínimo de128 bits; claves de cifrado de 128, 196 y 256; y ser
implementable tanto en software como en hardware).
Al igual que RC5, su sucesor puede utilizar claves de tamaño variable y su mejora está
basada, de manera sintética, en el entrelazado de dos funciones RC5 que evitan las
debilidades encontradas en este último.
Advance Encryptioin Standard (AES)
Algoritmo definido como estándar para sustituir a DES. No es un algoritmo de tipo
Feistel (su función de cifrado y descifrado son distintas) que utiliza mezcla lineal
(desplazamiento de filas y mezclado de columnas), transformaciones no lineales (S-
cajas) y operaciones básicas (XOR).
Características:
Utiliza longitudes de clave y bloque variables a lo largo de las iteraciones (entre 128 y
256 bits).
El número de iteraciones es variable y emplea funciones inversibles de transposición
y sustitución.
Fácilmente paralelizable (mayor eficiencia).
El descifrado se realiza con las funciones inversas aplicadas en orden inverso al de
cifrado.
Robusto ante ataques exhaustivos, criptoanálisis línea y diferencial.
No posee claves débiles ni semidébiles.
TEMA 2 – Ideas clave 6
Criptografía y mecanismos de seguridad
2.3. Cifradores de flujo
El cifrado de flujo de basa en la operación de unidades (símbolos individuales) del
mensaje en claro junto con unidades de la clave para obtener elementos del
criptograma. De esta forma un elemento del mensaje en claro, operado con un
elemento de la clave, producirá un elemento del criptograma.
El cifrador de flujo más utilizado, debido a sus propiedades y a optimización que
permite tanto en software como en hardware es el cifrado denominado Vernam. Este
cifrado de flujo opera mediante una operación de O-exclusivo (EXOR, ⊕) un bit del
mensaje y otro de la clave para obtener un bit del criptograma:
M⊕K=C
A pesar de su simplicidad, el cifrado Vernam permite alcanzar el secreto perfecto
cuando la clave utilizada es aleatoria y la longitud de esta iguala o supera la longitud del
mensaje en claro. Estas condiciones, aparentemente sencillas, no son fáciles de
conseguir; pues el hecho de que la clave sea realmente aleatoria precisa de un
generador aleatorio robusto y, además, la necesidad de transmitir la clave aleatoria de
cifrado (de longitud igual o superior al texto en claro) al otro interlocutor a través de un
canal seguro.
La dificultad de disponer de un canal seguro entre emisor y receptor de un mensaje
(común a todos los cifradores simétricos) es, por lo tanto, un inconveniente importante
para el cifrado de flujo, pues, si se dispone de un canal seguro para el intercambio de
clave, quizás también se disponga de un canal seguro para el intercambio del propio
mensaje en claro (que posee igual o menor longitud).
A pesar de estas dificultades existen sistemas criptográficos basados en cifrado de flujo
donde el nivel de seguridad debe ser máximo y se exige del intercambio de una clave
aleatoria a través de un canal seguro. Esta clave (generalmente de gran longitud) se
empleará para el intercambio de mensajes durante el tiempo posible hasta, agotada la
clave intercambiada, será necesario volver a establecer un canal seguro para
intercambiar una nueva clave.
TEMA 2 – Ideas clave 7
Criptografía y mecanismos de seguridad
Otra solución también empleada en los criptosistemas de flujo es el empleo de
generadores de clave. Estos sistemas permiten generar un clave pseudoaleatoria
a partir de una semilla de corta longitud (que hace más fácil su intercambio a través de
un canal seguro). Los generadores de clave, no permiten alcanzar el secreto perfecto
antes comentado, pero permiten alcanzar un balance adecuado entre el nivel de
seguridad y la gestión de las claves de cifrado.
2.4. Funciones resumen
Funciones resumen
Funciones unidireccionales destinadas a transformar un mensaje en otro
tamaño fijo.
Estas funciones realizan una aplicación unívoca entre un conjunto con todos los
posibles mensajes del lenguaje en claro, a otro conjunto muy reducido con solo los
mensajes de una determinada longitud fija. A la longitud de los mensajes imagen se
le denomina el tamaño de la función resumen.
Propiedades:
La salida de la función resumen debe ser de longitud fija (en la actualidad es
recomendable que sea mayor a 256 bits, aunque este parámetro depende del
algoritmo de función resumen utilizado).
No tiene que ser costoso computacionalmente obtener el resumen, a partir de un
mensaje en claro.
Tiene que ser computacionalmente intratable calcular el mensaje en claro a partir
del resumen.
Tiene que ser computacionalmente muy complicado (requerir tiempos de
computación muy elevados) un obtener dos mensajes que produzcan el mismo
resumen.
Tiene que ser computacionalmente intratable encontrar dos mensajes aleatorios que
produzcan el mismo resumen.
TEMA 2 – Ideas clave 8
Criptografía y mecanismos de seguridad
• La función utiliza bloques de 512 bits de entrada y produce
una salida de 128 bits.
• Hace uso de 4 registros de 32 bits con valor inicial constante.
Algoritmo • Interpreta el mensaje como Little Endian.
MD5
• Utiliza bloques de 512 bits y produce una salida de
160 bits.
• Hace uso de 5 registros de 32 bits con valor inicial constante.
Algoritmo • Interpreta el mensaje como Big Endian.
SHA-1
Seguridad
Debido a que el conjunto de resúmenes que una función puede generar está limitado
por la longitud fija de salida de dicho algoritmo y que el conjunto de mensajes de
entrada es infinito, existirán por tanto mensajes distintos que produzcan los mismos
resúmenes (de hecho, existirán infinitos mensajes que produzcan los mismos
resúmenes).
La fortaleza de una función resumen reside en menor medida en evitar colisiones
(encontrar dos mensajes que produzcan un mismo resumen) y en mayor medida en
evitar ataques de preimagen (calcular un mensaje que produzca el mismo resumen
que otro texto escogido).
Actualmente se han encontrado colisiones en MD4, MD5, SHa-0 y SHA-1 aunque no
mediante ataques de pre-imagen. Para solucionar estas debilidades el algoritmo SHA
dispone de versiones de 256 y 512 bits de longitud de resumen.
Algoritmo SHA-512:
o En base a las debilidades (tratadas anteriormente) por las que es posible
encontrar colisiones en las funciones MD5 y SHA-1, ya no se recomienda el
empleo de estas últimas sino de las versiones del algoritmo SHA de 256 y 512 bits.
La ampliación del tamaño de los resúmenes desde 160 bits (en el caso de SHA-1)
a 256 o 512 (preferiblemente esta última longitud) permite superar las
debilidades encontradas y su empleo en protocolos de seguridad.
TEMA 2 – Ideas clave 9
Criptografía y mecanismos de seguridad
Funciones MAC
Funciones MAC
Son funciones resumen que mediante el uso de una clave (compartida por
emisor y receptor) aportan autenticación sobre el mensaje resumido.
Tipos:
Cifrado por bloques: El valor del resumen será el último bloque cifrado mediante
un algoritmo en modo de operación CBC.
HMAC: El valor del resumen será el resultado de una función resumen aplicada
sobre el mensaje original concatenado con un conjunto de bits obtenidos a partir de
la clave.
Generadores de secuencia: El valor del resumen se obtiene del valor final de los
registros de desplazamiento retroalimentado de un generador de secuencia
pseudoaleatorio.
TEMA 2 – Ideas clave 10
Criptografía y mecanismos de seguridad
Lo + recomendado
No dejes de leer…
Seguridad en redes telemáticas
Carracedo Gallardo, J. (2004). Seguridad en redes telemáticas. Madrid: McGraw-Hill.
Este libro realiza un repaso detallado sobre los algoritmos
criptográficos que son empleados en la protección de las redes de
ordenadores. En relación a este tema son interesantes los capítulos
3 y 4.
No dejes de ver…
Gambling with Secrets (Encryption Machines)
Se trata de un interesante vídeo que
parte de la utilización de las
máquinas de cifrado y que repasa
conceptos relacionados con la
generación pseudoaleatoria.
El vídeo completo está disponible en el aula virtual o en la siguiente dirección web:
http://www.youtube.com/watch?v=JJeqrrhrESQ
TEMA 2 – Lo + recomendado 11
Criptografía y mecanismos de seguridad
Perfect Secrecy
En el vídeo podemos ver el secreto
perfecto, la pseudoaleatoriedad y la
teoría de Shanon sobre criptosistemas
perfectos mediante la elección
aleatoria de las claves de cifrado.
El vídeo completo está disponible en el aula virtual o en la siguiente dirección web:
http://www.youtube.com/watch?v=cAt6MYoGqJ4
TEMA 2 – Lo + recomendado 12
Criptografía y mecanismos de seguridad
+ Información
A fondo
Procedimientos de cifrado de flujo
El trabajo de Amparo Fúster repasa las bases del cifrado de flujo y del secreto perfecto
de Shanon, pero también avanza sobre los procedimientos más actuales sobre la
generación de series cifrantes.
El artículo está disponible en el aula virtual o en la siguiente dirección web:
http://digital.csic.es/bitstream/10261/24545/2/Flujo_2.pdf
El proceso de elección del estándar AES
En el siguiente artículo se repasa brevemente el proceso de elección del estándar de
cifrado simétrico para los Estados Unidos de América.
El artículo está disponible en el aula virtual o en la siguiente dirección web:
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard_process
Handbook of Applied Crpytography
Menezes, A. J:, Van Oorschot, P. C. and Vanstone, S. A. (1996). Handbook of Applied
Cryptography. CRC Press.
Se trata de uno de los libros más importantes sobre el tema y es
considerado por muchos, la mejor fuente a través de la cual acercarse
a la criptografía
Algunos capítulos están disponibles en el aula virtual o en la siguiente dirección web:
http://cacr.uwaterloo.ca/hac/
TEMA 2 – + Información 13
Criptografía y mecanismos de seguridad
Webgrafía
National Intitute of Standars and Technology
Página web del Instituto Nacional estadounidense para Estándares y Tecnología.
Dentro de esta web puede encontrarse información técnica detallada sobre los
algoritmos criptográficos y sus procesos de verificación y estandarización.
http://www.nist.gov
TEMA 2 – + Información 14
Criptografía y mecanismos de seguridad
Actividades
Trabajo: Cifrado y descifrado con DES y AES
Cifrado y descifrado con DES
1. Cifra con el freeware safeDES el siguiente texto en claro ASCII con la siguiente clave
en hexadecimal de 64 bits. La salida debe estar en hexadecimal. La zona de descarga
del mismo se informará oportunamente en el foro de la asignatura.
Texto en claro: Voy a pasármelo bien. (21 caracteres, punto incluido)
Clave: 1A98F40C291BC8E3
2. Descifra ahora el criptograma y observa el relleno utilizado.
Rellena los datos solicitados en el fichero PDF adjunto.
Cifrado y descifrado con AES
3. Cifra con freeware AESphere el siguiente texto ASCII con la siguiente clave
hexadecimal de 128 bits. La salida debe estar en código Base 64. La zona de descarga
del mismo se informará oportunamente en el foro de la asignatura.
Texto en claro (todo lo que está en negrita, incluyendo el punto y aparte):
Refranero español: Más vale pájaro en mano que ciento volando.
Clave: FFFF1111AAAA2222DDDD7777BBBB0000
Primera cifra en modo: ECB
Segunda cifra en modo CBC (IV = 0000000000000000FFFFFFFFFFFFFFFF)
4. Descifra ahora el criptograma, indica el relleno que se ha utilizado.
Contesta en el documento Word que se adjunta y conviértelo a formato PDF. Para
realizar la entrega, se subirá a la plataforma únicamente el documento PDF con los
resultados obtenidos.
TEMA 2 – Actividades 15
Criptografía y mecanismos de seguridad
Test
1. El algoritmo DES:
A. Cifra bloques de 56 bits.
B. Las claves internas tienen 32 bits de longitud.
C. Está formado por 18 ciclos.
D. Ninguna de las anteriores.
2. En el algoritmo DES las cajas S reciben:
A. Cuatro bits de entrada y producen seis bits.
B. Dos bits de entrada y producen cuatro bits.
C. Seis bits de entrada y producen cuatro bits.
D. Ninguna de las anteriores.
3. El triple DES modo EDE sigue un esquema de:
A. Cifrado — Cifrado — Cifrado.
B. Descifrado — Cifrado — Descifrado.
C. Cifrado — Descifrado — Cifrado.
D. Ninguna de las anteriores.
4. El algoritmo DES y el algoritmo IDEA son idénticos en:
A. El tamaño de los bloques de cifrado.
B. En ambos casos se trata de cifrados producto.
C. La clave de cifrado es la misma para cada bloque.
D. Ninguna de las anteriores.
5. En una función resumen, una colisión es:
A. Si para dos mensajes idénticos se encuentran dos resúmenes distintos.
B. Si para dos mensajes idénticos se encuentran dos resúmenes idénticos.
C. Si para dos mensajes distintos se encuentran dos resúmenes distintos.
D. Si para dos mensajes distintos se encuentran dos resúmenes idénticos.
TEMA 2 – Test 16
Criptografía y mecanismos de seguridad
6. Una función resumen será más segura si:
A. Es absolutamente imposible encontrar colisiones.
B. El número de posibles resúmenes es mayor.
C. El número de posibles resúmenes es menor.
D. Ninguna de las anteriores.
7. La función resumen SHA-1:
A. Tiene una longitud para el resumen de 164 bits.
B. Tiene una longitud para el mensaje origen de 164 bits.
C. Fue diseñada por Ron Rivest.
D. Ninguna de las anteriores.
8. El algoritmo AES:
A. El tamaño de la clave de cifrado es fijo.
B. El tamaño de la clave condiciona el tamaño del texto cifrado.
C. El tamaño de la clave de cifrado es variable y no condiciona el tamaño del
texto.
D. Ninguna de las anteriores.
9. El algoritmo AES:
A. Es el sustituto del Rijndael como estándar estadounidense de cifrado.
B. Es un algoritmo de cifrado simétrico.
C. Las respuestas A y B son correctas.
D. Ninguna de las anteriores.
10. Supón un cifrado de flujo tipo VERNAM:
A. La clave de cifrado tiene una longitud fija.
B. La clave de cifrado tiene una longitud igual o menor al texto en claro.
C. Si la clave de cifrado es aleatoria permite conseguir el secreto perfecto.
D. Ninguna de las anteriores.
TEMA 2 – Test 17