Data Encryption standard
(DES)
Descripción
Algoritmo que toma un texto de una longitud fija de bits y lo
transforma mediante una serie de operaciones en otro texto cifrado de
la misma longitud (el tamaño del bloque es de 64 bits).
Utiliza clave criptográfica para modificar la transformación
(Criptografía simétrica)
Funcionamiento básico
1. El texto de entrada pasa por la función de permutación.
2. La salida del paso anterior se divide en 2 bloques, Texto Plano
Izquierdo(TPI) y Texto Plano Derecho(TPD).
3. Cada bloque TPI y TPD pasa por 16 rondas del proceso de
encriptado.
4. Luego los bloques se unen nuevamente y pasan por la inversa de la
función de permutación del paso 1.
Ejemplo de Función de permutación
Rondas
Expansión: la mitad del bloque de 32 bits se expande a 48 bits
mediante la permutación de expansión, duplicando algunos de
los bits.
Mezcla: el resultado se combina con una subclave utilizando
una operación XOR (Se genera una subclave para cada ronda a
partir de la clave inicial)
Sustitución: el bloque resultante es dividido en ocho trozos de
6 bits antes de ser procesados por las S-cajas de 6x4. Las S-
cajas constituyen el núcleo de la seguridad de DES (sin ellas, el
cifrado sería lineal, y fácil de romper).
Permutación: las 32 salidas de las S-cajas se reordenan de
acuerdo a una permutación fija (P-caja)
Generación de claves
1. Se seleccionan 56 bits de la clave de los 64 iniciales, los 8
bits restantes pueden descartarse.
2. Los 56 bits se dividen entonces en dos mitades de 28 bits,
cada mitad se trata independientemente.
3. En rondas sucesivas, ambas mitades se desplazan hacia la
izquierda uno o dos bits (dependiendo de cada ronda), y
entonces se seleccionan 48 bits de subclave