domingo, 8 de marzo de 2015

DES (Estándar de Cifrado de Datos), descifrado de la clave secreta

El 15 de mayo de 1973, el NBS (National Bureau of Standars, en castellano: Agencia Nacional de Normalización) hoy en día denominada NIST (National Institute of Standars and Technology, en castellano: Instituto Nacional de Normalización y Tecnología), hizo un llamamiento en el Federal Register (el equivalente en España del Boletín Oficial del Estado) para la creación de un algoritmo de cifrado que cumpliera con los siguientes requisitos:
  • ofrecer un alto nivel de seguridad relacionado con una pequeña clave utilizada para cifrado y descifrado
  • ser comprensible
  • no depender de la confidencialidad del algoritmo
  • ser adaptable y económico
  • ser eficaz y exportable
A finales de 1974, IBM propuso "Lucifer", que gracias a la NSA (National Standard Agency, en castellano: Agencia Nacional de Seguridad) fue modificado el 23 de noviembre de 1976, convirtiéndose en DES (Data Encryption Standard, en castellano: Estándar de Cifrado de Datos). El DES fue aprobado por el NBS en 1978. El DES fue estandarizado por el ANSI (American National Standard Institute, en castellano: Instituto Nacional Americano de Normalización) bajo el nombre de ANSI X3.92, mas conocido como DEA (Data Encrytion Algorithm, en castellano: Algoritmo de Cifrado de Datos).

Principio de funcionamiento del DES

Se trata de un sistema de cifrado simétrico por bloques de 64 bits, de los que 8 bits (un byte) se utilizan como control de paridad (para la verificación de la integridad de la clave). Cada uno de los bits de la clave de paridad (1 cada 8 bits) se utiliza para controlar uno de los bytes de la clave por paridad impar, es decir, que cada uno de los bits de paridad se ajusta para que tenga un número impar de "1" dentro del byte al que pertenece. Por lo tanto, la clave tiene una longitud "útil" de 56 bits, es decir, realmente sólo se utilizan 56 bits en el algoritmo.
El algoritmo se encarga de realizar combinaciones, sustituciones y permutaciones entre el texto a cifrar y la clave, asegurándose al mismo tiempo de que las operaciones puedan realizarse en ambas direcciones (para el descifrado). La combinación entre sustituciones y permutaciones se llama cifrado del producto.
La clave es codificada en 64 bits y se compone de 16 bloques de 4 bits, generalmente anotadas dek1 a k16. Dado que "solamente" 56 bits sirven para el cifrado, ¡puede haber hasta 256 (o 7.2*1016) claves diferentes!

El algoritmo DES

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 I y Drespectivamente,
  • 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.
Algoritmo DES

1 comentario :