Índice |
|
1.- Introducción |
Este documento en formato html se corresponde
con el trabajo teórico de la asignatura de Seguridad
y Protección de la Información (F39). En él
comentaré todo lo relacionado con la criptografía moderna
de clave privada, más concretamente sobre el algoritmo DES
(Data Encryption Standard).
Por hacer un poco de comparativa entre los métodos de criptografía tradicional y los métodos de criptografía moderna, cabe destacar el cambio que se dioa la hora de evolucionar en temas criptográficos. Es decir, en la criptografía tradicional se intentaba dificultar el criptoanálisis sobre todo mediante el empleo de claves muy grandes, en lugar de complicar los algoritmos. La razón es que antes de la existencia de los ordenadores, un operador debía realizar las transformaciones manualmente, o con ayuda de un aparato concebido específicamente para la tarea. Por una parte, el uso de algoritmos de cifrado con una complejidad medianamente alta podía influir muy directamente en la velocidad de cifrado o descifrado además de existir la posibilidad de que se diesen errores. Por otra parte, además de las limitaciones técnicas, existía el problema de que fuera necesario cambiar de algoritmo. Con la aparición de los ordenadores, se dispone de una herramienta mucho más potente que permite realizar algoritmos mucho más complejos dejando de lado las limitaciones que existían anteriormente. Por contra, la disponibilidad de ordenadores provoca un mayor riesgo de ataques ya que se dispone de una mayor capacidad de cálculo. Una vez introducidos en la evolución que ha sufrido la criptografía gracias a la aparición de los ordenadores, me centraré en el tema que nos ocupa, es decir, en el DES. Para ello, empezaremos por hacer un poco de historia sobre la aparición y evolución del DES a lo largo de los años. |
2.- Historia del DES (Data Encryption Standard) |
|
3.- Conceptos previos |
Para poder entender el DES, previamente
se han de introducir una serie de conceptos que nos facilitarán
la comprensión. Dado que el DES es un criptosistema simétrico
de clave privada, es necesario aclarar estos conceptos.
El DES cumple con dos de los principios más básicos de la criptografía, estos son el secreto y la autenticidad de la información cifrada:
El DES es englobado también dentro de los métodos de cifrado de producto. Estos algoritmos son llamados así porque combinan la confusión y la difusión para cifrar el mensaje. Ambos son conceptos que introdujo Shannon en su día.
Otro aspecto importante a considerar es que los cifrados no tengan estructura de grupo, es decir, que no se cumpla la siguiente propiedad: Para todo k1, k2 existe k3 tal que Ek2(Ek1(M)) = Ek3(M)
Es decir, que si hacemos dos cifrados encadenados con las llaves k1
y k2 obtendremos el mismo resultado que si lo hiciésemos únicamente
con la llave k3.
|
4.- Dispositivo LUCIFER |
Es el más claro ejemplo de un algoritmo
de cifrado de producto, que llegados a este punto debemos de entender sus
propiedades sin problemas. Así el resultado de cifrar un mensaje
M, con t funciones Fi (1 <= i <= t) será:
Donde Fi puede ser una sustitución o una permutación,
de esta forma se pretende que el resultado ser lo más aleatorio
posible en relación al mensaje original. Esta idea fue desarrollada
por Feistel (Redes de Feistel) y fue implementada en el dispositivo
Lucifer por Notz y Smith.
|
5.- Algoritmo de cifrado DES |
6.- Seguridad del DES |
Son varios los problemas existentes en
cuanto al funcionamiento del DES. Dicho algoritmo tiene diversas debilidades
entre las que cabe destacar las siguientes:
Búsqueda en tablas: usando un ataque con texto original escogido. Sea m el texto original escogido; cada texto cifrado, ci = Eki(m), es precalculado para i= 1, ..., n. Las claves ki son ordenadas y, junto con los textos cifrados ci, puestas en una tabla, de manera que la clave correspondiente a un texto cifrado dado pueda ser hallada en un tiempo T=O(1) con un requerimiento de memoria de S = O(n). Existen algunos problemas en función de las claves externas que se hayan decidido utilizar, ya que dependiendo de ellas la seguridad del DES puede bajar muchísimo. 6.1.1.- Claves débiles y Semidébiles
En estos cuatro casos las operaciones de cifrado y descifrado son iguales ya que al ser todas las claves internas iguales el resultado de aplicar estas claves de la 1 a la 16 y de la 16 a la 1 es el mismo. Es decir, que se cumple que:
En este caso, si expresamos en binario los valores de los registros L0 y R0 del generador de llaves, tendríamos que encontrarnos con series de la forma C = 0101...01 o D= 1010...10 y su correspondiente D o C = 0000...00, 0101...01, 1010...10 o 1111...11. Pero sin duda alguna como mejor se entiende esto es a través de un ejemplo. Supongamos que C0 = 1010...10 y D0 = 0101...01. En la siguiente tabla se puede observar como afectan los desplazamientos del generador de claves a este tipo de llaves:
En el ejemplo se ve claramente como los desplazamientos circulares de
los bits aplicados a este tipo de llaves da lugar únicamente a 2
llaves internas distintas. A continuación se muestran las diferentes
claves que dan lugar a esta situación:
6.1.2.- Uso de dos claves Con el objetivo de aumentar la seguridad del DES, se pensó en la utilización de dos claves, es decir, aplicarle el Des a cada bloque dos veces. Pero tras estudiar esta posibilidad, Merkel aseguró que utilizando un método criptográfico por elección de mensaje, el coste para descifrarlo sería de 257 y no 2112 como se suponía inicialmente. Más adelante explicaré el triple DES que se basa en esta idea pero cumpliendo con el objetico inicial, es decir, multiplicar la seguridad del DES. 6.1.3.-
Complementariedad
|
7.- Modos de Operación del DES |
Existen distintos modos de cifrado para
estructuras de bloque entre las que cabe destacar las siguientes:
cn = Ek (mn + cn-1 ) mn = Dk (cn ) + cn-1
El primer bloque de entrada al proceso DES está formado por la
or exclusiva (representada por el símbolo +) entre el primer bloque
del mensaje y los 64 bits de un vector inicial, c0 = VI, el cual es convenido,
previamente, entre el cifrador y el descifrador.
Este modo, autosincronizado, se utiliza en la protección de ficheros. Cuando se utiliza para la transmisión de datos, un error se puede remediar, volviendo a mandar el mensaje, pero cuando se cifra un fichero es importante asegurar que los posibles errores afectan al menor número de bits. Sin embargo, este modo no es muy útil para la autentificación de los mensajes. Tiene una debilidad teórica en que el mismo texto siempre se encripta de la misma manera (con la misma clave), pero tiene la ventaja que el encriptamiento no tiene que ser secuencial, ej. puede usarse para registros de una base de datos. ![]() Figura 4. DES autosincronizado para el cifrado
![]() Figura 6. DES con autentificación para el cifrado
|
8.- TRIPLE DES |
He creído conveniente dedicar una
sección a parte para explicar el triple DES debido a que hoy en
día es el modo más utilizado. Esto es así debido a
lo que ya expliqué anteriormente, es decir, que en los días
que estamos y con la tecnología de la que disponemos, no es excesivamente
costoso romper el DES. Así pues, existen métodos de cifrado
múltiple entre los que cabe destacar el triple DES. Simplemente
se trata de utilizar tres llaves externas independientes para cifrar el
mismo texto de manera que las expresiones que representan el cifrado y
descifrado del mensaje son las siguientes:
|
9.- AES (Advanced Encryption Standard) |
El 12 de septiembre de 1997 en el departamento
de comercio del National Institute of Standars and
Technology (NIST), antiguo NBS, se hace un llamamiento público para la presentación de algoritmos candidatos al Advanced Encryption Standard (AES) para sustituir al DES debido a que hoy en día ya existe tecnología suficiente para romper el DES en un tiempo reducido de tiempo. Requisitos mínimos
1. Seguridad: Es el factor más importante a la hora de evaluar
los candidatos.
Para que se hagan una idea, la misma computadora que rompería en apenas un segundo el DES, tardaría unos 149 billones de años en reventar el AES. Y conviene tener en cuenta que no existe tal máquina hoy en día. El Secretario de Comercio de Estados Unidos ha depositado toda su confianza en que este estándar, que será adoptado tanto por entidades públicas como privadas, blindará las estructuras de intercambio de información y protegerá los datos personales de los ciudadanos americanos. Tanto confía el gobierno en AES, que va a permitir que los programas encriptados puedan salir de sus fronteras por primera vez durante años. En definitiva, si no hay una revolución en la tecnología (cosa que dudo), este nuevo estándar será muy difícil (por no decir imposible) de romper por mucho tiempo. |
Autor:Jose Gargallo
Tuzón
jgargallo@join-es.com |