![]() ![]() ![]() |
Esta norma (DES), es una transformación
producto, es decir, que utiliza los conceptos de transposición y
substitución, cuyo objetivo es el de hacer un algoritmo de cifrado tan
complicado, de modo que un criptoanalista no tenga ninguna posibilidad de
obtener información de un texto cifrado.
a) Cifradores
producto
En la Figura Nº 2 se muestra un circuito
empleado para las transposiciones y substituciones.
En 1) se muestra una Caja P (permutación) para una transposición de 8 bits, que se efectúa mediante un cableado interno.
En 2) se muestra una Caja S que se
utiliza para la substitución. Se tiene como entrada un texto en claro de 3
bits, que selecciona una de las 8 líneas que salen de la primera etapa y la
fija con un valor 1 y todas las demás 0. La segunda etapa es una caja P y en
la tercera se codifica la línea de entrada seleccionada.
En 3) se muestra un Cifrador Producto,
combinación de las 2 anteriores. En la primera etapa se transpone 12
líneas de entrada que se dividen en cuatro grupos de 3 bits, cada uno de los
cuales se substituye en forma independiente a las demás.
b) Algoritmo DES
La transformación DES es una cifra-producto de
bloques no lineal, iterativa, que opera sobre bloques de datos de 64 bits.
Es muy compleja y es apropiada únicamente para ser operada por medio de
computadoras.
El algoritmo DES se utiliza en forma inversa
para descifrar el texto cifrado (utilizando la misma clave). En la Figura Nº
3 se muestra un diagrama del algoritmo.
El cifrado del texto en claro se realiza en
bloques de 64 bits que produce 64 bits de texto cifrado. Se parametriza por
una clave de 56 bits.
La primera etapa es una transposición
independiente de la clave sobre el texto en claro de 64 bits. La última
etapa es exactamente la inversa de esta transposición.
La penúltima etapa intercambia los 32 bits de la
parte izquierda con los 32 bits de la derecha. Las 16 etapas restantes son
funcionalmente idénticas, pero tienen diferentes funciones de la
clave.
En la Figura Nº 4 se muestra el funcionamiento
de una de las etapas intermedias. Ambas partes, toman 2 entradas de 32 bits
cada una y producen 2 salidas de 32 bits.
La salida de la izquierda es una copia de la entrada de la derecha. La salida de la derecha es un OR EXCLUSIVO, bit a
bit, de la entrada de la izquierda y una función
de la entrada de la derecha, siendo la clave de la etapa Ki.
La función consta de 4 pasos secuenciales:
1. Se
construye un número E de 48 bits mediante la expansión de los 32 bits
Ri-1,de
acuerdo con una regla fija de transposición y duplicación.
2. E y
Ki, se someten
conjuntamente a una función OR EXCLUSIVO.
3. La
salida se divide en 8 grupos de 6 bits, cada uno de los cuales alimenta a
una caja-S diferente, que producen salidas de 4, en lugar de 6 bits. Cada
una de las 64 posibles entradas a una caja-S se corresponde con salidas de 4
bits.
4. Los 32
bits se pasan por caja-P
En cada una de las 16 iteraciones se utiliza una
clave diferente. Antes de que comience el algoritmo, se aplica una
transposición de 56 bits a la clave. Antes de cada iteración se divide la
clave en dos unidades de 28 bits, las cuales se rotan a la izquierda según
número de bits que depende del número de iteración.
El valor de Ki se deriva de esta clave rotada por medio de la aplicación de otra transposición de 56 bits sobre ella.
Existen 2 maneras de fortalecer la norma DES:
1. Incluir caracteres aleatorios en el texto en
claro, por medio de una regla definida. Por ejemplo, todos los n-ésimos
caracteres son reales y el resto son sólo ruido.
Además, se pueden insertar mensajes de relleno
entre los que son reales. Este principio se conoce como Cifrador
Nulo, por el cual se tiene un desperdicio de ancho de banda pero cuyo
descifrado es muy difícil porque la posición de los caracteres reales y de
los mensajes se conserva en secreto y se cambia cuando se modifica la clave.
2. Otra manera más difícil, es hacerla funcionar
como un Cifrador de Flujo, en el que tanto el transmisor como el
receptor operan sus circuitos integrados DES en modo de cifrado (opuesto al
descifrado).