2. HISTORIA
•En 1973, el NBS (National Bureau of Standards) solicita
públicamente propuestas de sistemas criptográficos.
•El 17 de Marzo de 1975, el NBS publica los detalles del DES. Dicho
algoritmo fue adoptado como estándar para las comunicaciones
seguras y el almacenamiento de información no clasificada por el
Gobierno de los EE.UU
•En 1981, varios organismos privados lo adoptan como estándar.
•En 1983, el DES se ratifica como estándar sin problemas.
3. DESCRIPCIÓN
DES (Data Encryption Standard) o estándar de cifrado de
datos, es un algoritmo que se encarga de realizar
combinaciones, sustituciones y permutaciones entre el
texto a cifrar y la clave. A la combinación entre
sustituciones y permutaciones se le llama cifrado del
producto.
4. DESCRIPCIÓN
Este algoritmo DES fue creado para cumplir con los siguientes
requisitos:
•Ofrecer un alto nivel de seguridad relacionado con una
pequeña clave utilizada para cifrar y descifrar.
• Que sea comprensible
•No dependa de la confidencialidad del algoritmo
•Ser adaptable y económico
•Ser eficaz y exportable
5. DESCRIPCIÓN
•
El algoritmo DES cifra un bloque de 64 bits de texto claro en
un bloque de 64 bits de texto cifrado. Para ello usa una
clave externa de 64 bits en los que los bits en las posiciones
octavas de cada byte son bits de paridad impar.
6. DESCRIPCIÓN
Consta de 16 iteraciones, y en cada una de ellas se realizan
operaciones, permutaciones y sustituciones.
Las permutaciones son de tres tipos: simples, expandidas (se
duplican bits) y restringidas (se eliminan bits).
7. FUNCIONAMIENTO
Las partes principales del algoritmo son las siguientes:
• Fraccionamiento del texto en bloques de 64 bits (8 bytes).
• Permutación inicial de los bloques
•Partición de los bloques en dos partes: izquierda y derecha, denominadas
Iy D respectivamente.
•Fases de permutación y de sustitución repetidas 16 veces (denominadas
rondas).
•Reconexión de las partes izquierda y derecha, seguida de la permutación
inicial inversa.
9. FUNCIONAMIENTO
En la entrada, se consideran los 64 bits del bloque (b1,b2,...,b64), estos se
permutan a través de la permutación inicial IP, siendo el bloque de salida
B0 el formado por el bloque L0 de 32 bits concatenado con el R0, del mismo
tamaño. A dicha salida se le aplican una serie de transformaciones y
sustituciones (mediante la función f) en 16 iteraciones distintas.
Finalmente se permuta de nuevo con la permutación inversa IP-1
obteniendo el cifrado del bloque de 64 bits de la entrada.
10. FUNCIONAMIENTO
Cada una de estas 16 iteraciones realiza una serie de
transformaciones y sustituciones, de forma que el
resultado de cada iteración (Ti) es la concatenación de
las partes Li y Ri, es decir, Ti = Li . Ri (1 <= i <= 16).
Para cada uno de estos pasos se verifica que:
•Li = Ri-1
•Ri = Li-1 + f(Ri-1, Ki)
11. ATAQUES AL ALGORITMO DES
Criptoanálisis Diferencial
Este método de análisis permite romper el DES utilizando en teoría
alrededor de 247 parejas de textos en claro seleccionados, siendo
aproximadamente 236 las útiles para el criptoanálisis, con un tiempo
de cálculo equivalente a unos 237 cifrados.
12. ATAQUES AL ALGORITMO DES
Criptoanálisis Lineal
•El criptoanálisis lineal se basa en un ataque en texto claro escogido y
consiste en la obtención de ecuaciones lineales que representen la
probabilidad existente entre algunos bits del mensaje en claro y otros
del cifrado DES del mismo mensaje. La ecuación utilizada es la
siguiente:
•F(P[i1,...ip] , C[j1,...jp]) = k[k1, k2,…kk]
•Donde F(…) es una función lineal y [i1,...ip] ,[j1,...jp]) ,[k1, k2,…kk]
son bits que ocupan posiciones fijas respectivamente en P, C y K.
13. Problemas de seguridad DES
•El tamaño de la clave, 56 bits, hace que el sistema sea
vulnerable dado que el conjunto de claves resulta
demasiado pequeño: 256 posibilidades.
14. Problemas de seguridad DES
Existen dos métodos de ataque:
•Búsqueda exhaustiva: usando un ataque con texto
original escogido. El texto original escogido m, es
cifrado con cada una de las n posibles claves k hasta
que Ek(m) = c, siendo c el texto cifrado conocido. El
tiempo requerido es T = O(n) y la memoria S=O(1).
15. Problemas de seguridad DES
•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).