ALGORITMOS DES, IDEA, AES




ALGORITMO DES

DES (Data Encryption Standard) es un esquema de encriptación simétrico desarrollado en 1977 por el Departamento de Comercio y la Oficina Nacional de Estándares de EEUU en colaboración con la empresa IBM, que se creó con objeto de proporcionar al público en general un algoritmo de cifrado normalizado para redes de ordenadores.
En general, DES utiliza una clave simétrica de 64 bits, de los cuales 56 son usados para la encriptación, mientras que los 8 restantes son de paridad, y se usan para la detección de errores en el proceso.
Como la clave efectiva es de 56 bits, son posible un total de 2 elevado a 56 = 72.057.594.037.927.936 clave posibles, es decir, unos 72.000 billones de claves, por lo que la ruptura del sistema por fuerza bruta o diccionario es sumamente improbable, aunque no imposible si se dispone de suerte y una gran potencia de cálculo

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 D respectivamente,
  • 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 IDEA


El cifrado por bloques llamado IDEA (International Data Encryption Algorithm) es utilizado para cifrar textos con un tamaño de bloque de 64 bits, utilizando una llave K de 128 bits. Fue diseñado por Xuejia Lai y James L. Massey en 1991. IDEA consiste de ocho transformaciones idénticas (cada una llamada ronda) y una transformación de salida, llamada media ronda.

El proceso para cifrar y para descifrar es el mismo, solo cambian las llaves de ronda, en total 52 de 16 bits cada una. Gran parte de la seguridad de IDEA se deriva del intercalado de operaciones de distintos grupos -adición y multiplicación modular y O-exclusivo (XOR) bit a bit-. Las operaciones de suma se realizan módulo 216. Las operaciones de multiplicación se realizan módulo 216 + 1, el cual es un número primo, y tratando en estos casos al 0 como si fuera 216.



                       A.    X1 = producto(X1, K1), X4 = producto(X4, K4).     
                    B.    2 X2 = (X2+K2)%216, X3 = (X3+K3) %216.
                    C.   3 t0 = producto(K5, X1 X3).
                    D.   4 t1 = producto(K6, (t0+(X2 X4)) %216).
                    E.    5 t2 = (t0+t1)%216.
                    F.    6 X1 = X1  t1, X4 = X4 t2.
                    G.   7 X2 = X3  t1, X3 = X2 t2.
                    H.   8 Del paso 1 al paso 7 se repite 8 veces en total, usando las siguientes 6
                    I.      llaves cada vez.
                    J.    9 y1 = producto(X1, K49), y4 = producto(X4, K52).
                    K.    10 y2 = (X3+K50)%216, y3 = (X2+K51) %216
                    L.    Fin

  ALGORITMO AES

El estándar de cifrado (encriptación) avanzado AES, Advanced Encryption Standard (AES), es uno de los algoritmos más seguros y más utilizados hoy en día - disponible para uso público. Está clasificado por la Agencia de Seguridad Nacional, National Security Agency (NSA), de los Estados Unidos para la seguridad más alta de información secreta “Top Secret”. Su historia de éxito comenzó 1997, cuando el Instituto Nacional de Estándares y Tecnología, National Institute of Standards and Technology (NIST), anunció la búsqueda de un sucesor para el estándar de cifrado DES.

 Un algoritmo llamado "Rijndael", desarrollado por los criptólogos belgas Joan Daemen y Vincent Rijmen, fue destacado en seguridad, así como en el rendimiento y la flexibilidad. Este algoritmo le gano a varios competidores, y fue oficialmente presentado como el nuevo estándar de cifrado AES en el 2001 y se transformó en estándar efectivo en el 2002. El algoritmo se basa en varias sustituciones, permutaciones y transformaciones lineales, ejecutadas en bloques de datos de 16 bytes - por lo que se le llama blockcipher. Estas operaciones se repiten varias veces, llamadas "rondas". 

En cada ronda, un único “roundkey” se calcula de la clave de encriptación, y es incorporado en los cálculos. Basado en esta estructura de bloque de AES, el cambio de un solo bit, ya sea en la clave, o en los bloques de texto simple y claro, resulta en un bloque de texto cifrado/encriptado completamente diferente - una clara ventaja sobre cifrados de flujo tradicionales. 






No hay comentarios:

Publicar un comentario