Algoritmos de cifrado simétrico
FEISTEL
1. Se selecciona una cadena, N, normalmente de 64 o 128 bits, y se la divide en dos subcadenas, L y R, de igual longitud (N/2)
2. Se toma una función, F, y una clave Ki
3. Se realizan una serie de operaciones complejas con F y Ki y con L o R (solo uno de ellas)
4. La cadena obtenida se cambia por la cadena con la que no se han realizado operaciones, y se siguen haciendo las rondas.
IDEA
bloque: 64, clave: 128, vueltas:8. IDEA es uno de los cifrados que cifran el texto en un formato ilegible y lo hace seguro para enviarlo a Internet. El algoritmo de encriptación IDEA proporciona seguridad de alto nivel, no se basa en mantener el algoritmo en secreto, sino en el desconocimiento de la clave secreta. IDEA opera en bloques de 64 bits utilizando una clave de 128 bits, y consta de una serie de ocho transformaciones idénticas (una ronda) y una transformación de salida (la media vuelta). La DEA deriva gran parte de su seguridad al intercalar operaciones de diferentes grupos (suma y multiplicación modular y OR exclusivo a nivel de bits (XOR)), que en algún sentido son algebraicamente “incompatibles” Una ronda de cifrado: xor, suma mod 2^16,multiplicaci mod 2^16+1. Uso: A la hora de guardar datos en dispositivos de almacenamiento masivo. Generacion de claves: Los 52 subbloques de clave de 16 bits que se generan a partir de la clave de 128 bits
DES
bloque: 64, clave: 128, vueltas:16. En cada ciclo: *se permuta la mitad derehca aplicando expansion a 48 bits. *La clave de 56 bits se desplaza ,permuta y selecciona los 48 bits. *Lanueva mitad derecha y la clave se suman XOR. *Se reducen los 48 bits a 32 bits mendiante las cajas S. *Se permuta el resultado * El resultado se suma XOR xon la mitad izquierda. Se han realizado varias propuestas para funciones hash basadas en el uso de una técnica de encadenamiento de bloques de cifrado (CBC), pero sin utilizar la clave secreta. Una de las primeras propuestas de este tipo fue la de Rabin. Este consiste en dividir un mensaje M en bloques de tamaño fijo M1, M2, MN y usar un sistema de cifrado simétrico como DES
Blowfish
bloque: 64, clave: 32 a 448 , vueltas:16. Estructuras: Cada operación utiliza 32 bits. ● Hay una matriz de P subclaves de 18 entradas (indicada como K en el diagrama, para evitar confusiones con el texto simple) ● Cuatro cajas S de 256 entradas (S0, S1, S2 y S3). Acciones en cada ronda: ● XOR la mitad izquierda (L) de los datos con la entrada r-P-array ● Utilice los datos de del resultado anterior como entrada para la función F de Blowfish ● XOR la salida de la función F con la mitad derecha (R) de los datos ● Swap L y R Funcion F: La función F divide la entrada de 32 bits en cuatro bloques de ocho bits, y utiliza los bloques como entrada para las S-cajas. Las cajas S aceptan una entrada de 8 bits y producen una salida de 32 bits. Usado en OpenBSB
MD5
512 bits, 128 a b c d. vueltas 16
RC5
bloque: ,32, 64,128 clave:0 a 2040, vueltas:(0-255). Sugerido: bloques de 64 bits, claves de 128 bits y 12 vueltas. Algoritmo: *Uso de rotaciones dependientes de los datos. *Realiza operaciones como sumas modulares y operaciones XOR. *antes del cifrado la clave secreta se expande para completar un array. * Para descifrar se realizan las operaciones inversas en orden inverso.
Safer
bloque: , 64 clave:64 y128 , vueltas:(variable minimo 6). Cada ronda utiliza 2 subclaves. Ingreso 8 Bytes : Se realiza las operaciones XOR y ADD en el siguiente Orden: XOR – ADD – ADD – XOR – XOR – ADD – ADD – XOR *CADA UNA DE ESTAS OPERACIONES CON LA CLAVE K1. La salida de estos 8 transformaciones no lineales se combina con la subclave K2 con las operaciones XOR y ADD en el siguiente orden: ADD – XOR – XOR – ADD – ADD – XOR – XOR – ADD.
Loki
bloque: 64, clave: 64 , vueltas:16. Se basa en una red de Feistel de 16 rondas y tiene una estructura muy similar a la DES de la que, a diferencia de la función particular de sustitución (S-box), la función de permutación (P-BOX) y la función de “permutación de expansión” La caja-S utilizando un criterio lineal desarrollado por Josef Pieprzyk, que los hace más complejos e imprevisibles que los de DES. encripta bloques de texto plano de 128 bits para crear un bloque de texto cifrado de 128 bits. El cálculo de datos es inicializado dividiendo el valor de entrada de texto plano (de 128 bits) en 2 palabras de 64 bits LYR Estos son procesados a través de 16 rondas (i = 1, 16 ) de una Red Feistel
Balanceada. Cada ronda usa el operador xor y la adición entera + (módulo 2 ) de los valores d 64 los datos de 64 bits, junto con la salida de la función compleja no lineal f(A, B) el cual provee la máxima diferencia entre todos sus bits de entrada. El texto cifrado de 128 bits resultante está compuesto por [R |L ].