Índice·Index Anterior·Previous Siguiente·Next

5.5 NORMA DE CIFRADO DE DATOS

La Norma de Cifrado de Datos (Data Encryption Standard: DES) es un algoritmo de cifrado desarrollado por la IBM, que fue aprobado por la Oficina Nacional de Normas de los Estados Unidos en 1977, como una Norma Oficial para información no clasificada y para ser usada por los sistemas de comunicaciones de los sectores privado y gubernamental.

Esta norma (DES), es una transformación producto, es decir, que utiliza los conceptos de transposición y sustitució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.

5.5.1 CIFRADORES PRODUCTO

En la siguiente figura se muestra un circuito empleado para las transposiciones y sustituciones.

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 sustitució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 sustituye en forma independiente a las demás.

5.5.2 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 llave). En la siguiente figura 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 llave de 56 bits.

La primera etapa es una transposición independiente de la llave 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 llave.

En la siguiente figura 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 llave 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 llave diferente. Antes de que comience el algoritmo, se aplica una transposición de 56 bits a la llave. Antes de cada iteración se divide la llave 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 llave 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 llave.

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).