Administración y Seguridad en redes


DES (Data Encryption Standard, estándar de cifrado de datos)

Es un algoritmo desarrollado originalmente por IBM a requerimiento del NBS (National Bureau of Standard oficina nacional de estandarización en la actualidad denominado NIST, Instituto Nacional de Estandarización y Tecnología) de EE.UU. y posteriormente modificado y adoptado por EE.UU. en 1977 como estándar de cifrado de todas las informaciones sensibles no clasificadas. Posteriormente en 1980, el SNIT estandarizo los diferentes modos de operación del algoritmo. Es el más estudiado y utilizado de los algoritmos de clave simétrica.

El nombre original del algoritmo, tal como lo denomino IBM, era Lucifer. Trabajaba sobre bloques de 128 bits, teniendo la clave igual longitud. Se basa en operaciones lógicas booleanas y podía ser implementado fácilmente, tanto en software como hardware.
Tras las modificaciones introducidas por el NBS, consistentes básicamente en la reducción de longitud de clave y de los bloques, DES cifra bloques de 64 bits, mediante permutación y sustitución y usando una clave de 64 bits, de los que 8 son de paridad (esto es, en realidad usa 56 bits), produciendo así 64 bits cifrados.


DES tiene 19 etapas diferentes.
La primera etapa es una transposición, una permutación inicial (IP) del texto plano de 64 bits, independientemente de la clave. La última etapa es otra transposición (IP-1), exactamente la inversa de la primera. La penúltima etapa intercambia a los 32 bits de la izquierda y los 32 de la derecha. Las 16 etapas restantes son una red de Feistel de 16 rondas.
En cada una de las 16 iteraciones se emplea un valor ki, obtenido a partir de la clave de 56 bits y distinto en cada iteración.


Se realiza una permutación inicial (PC-1) sobre la clave, y luego la clave obtenida se divide en dos mitades de 18 bits, cada una de las cuales se rota a izquierda en número de bits determinado que no siempre es el mismo ki se deriva de la elección permutada (PC-2) de 48 de los 56 bits de estas dos mitades rotadas.

 La función f de la red de Feistel se compone de una permutación de expansión (E), que convierte el bloque correspondiente de 32 bits en uno de 48. Después realiza una or-exclusiva con el valor ki, también de 48 bits aplica ocho S-cajas de 6*4 bits, y efectúa una nueva permutación (P)


Para descifrar basta con usar el mismo algoritmo empleando las ki en orden inverso.


DES Múltiple

Cuando se descubrió que una clave de 56 bits no era suficiente para evitar un ataque de fuerza bruta, TDES fue elegido como una forma de agrandar el largo de la clave sin necesidad de cambiar el algoritmo de cifrado. Este método de cifrado es inmune al ataque por encuentro a medio camino, doblando la longitud efectiva de la clave, pero en cambio es preciso triplicar el número de operaciones de cifrado, haciendo este método de cifrado muchísimo más seguro que el DES.
La clave utilizada por TDES es de 128 bits (112 de clave y 16 de paridad), es decir dos claves de 64 bits (56 de clave y 8 de paridad). Otra forma de usar TDES es con una clave de 192 bits (128 bits de clave y 24 de paridad). TDES utiliza 48 rondas en sus cálculos, lo cual hace muy resistente al criptoanálisis.
El TDES permite aumentar de manera significativa la seguridad del DES, pero posee la desventaja de requerir más recursos para el cifrado y descifrado. Por lo general, se conocen diversos tipos o modos de cifrado del TDES, y el modo escogido dicta el número de claves usadas y que funciones son llevadas a cabo, estos modos son:
·         DES-EEE3: cifrado triple DES con 3 claves diferentes, es decir, los datos se encriptan, encriptan y encriptan.
·         DES-EDE3: una clave diferente para cada una de las operaciones de triple DES (cifrado, descifrado, cifrado), por lo tanto los datos son encriptados, desencriptados y encriptados.
·         DES-EEE2 y DES-EDE2: similar al DES-EEE3, pero utiliza dos claves, para el primer y tercer proceso de encriptación utiliza la misma clave. Esto quiere decir, que la segunda operación utiliza una clave diferente.


IDEA (International Data Encryption Algorithm, Algoritmo Internacional de Cifrado de Datos)

Después de comprobar la debilidad del algoritmo DES en su forma simple, diversos trabajos propusieron nuevos métodos de cifrado de bloques. Sin embargo el más interesante e importante de los cifrados posteriores al algoritmo DES es el algoritmo IDEA.
El algoritmo IDEA es un algoritmo de clave privada que fue diseñado por dos investigadores en suiza, usa una clave de 238 bits, lo que lo hará inmune durante décadas a los ataques de fuerza bruta, la lotería china y los ataques de encuentros a la mitad. No hay maquina o técnica conocida actualmente que se crea puede descifrar el algoritmo IDEA.
La estructura básica del algoritmo se asemeja al algoritmo DES en cuanto a que se alteran bloques de entrada de texto normal de 64 bits en una secuencia de iteraciones parametrizadas para producir bloques de salida de texto cifrado de 64 bits.


Dada la extensa alteración de bits (por cada iteración, cada uno de los bits de salida depende de cada uno de los bits de entrada), basta con 8 iteraciones. Como con todos los cifrados de bloque, el algoritmo IDEA también puede usarse en el modo de realimentación de cifrado y en demás modos del algoritmo DES. El algoritmo IDEA usa tres operaciones, todas sobre números sin signo de 16 bits. Estas operaciones son un or exclusivo, suma módulo 216 y multiplicación módulo 216+1. Las tres operaciones se pueden efectuar fácilmente en una microcomputadora de 16 bits ignorando las partes de orden mayor de los resultados. Las operaciones tienen la propiedad de que ningunos dos pares obedecen la ley asociativa ni la ley distributiva, dificultando el criptoanálisis. La clave de 128 bits se usa para generar 52 subclaves de 16 bits cada una, 6 por cada una de las ocho iteraciones y 4 para la transformación final. El descifrado es el mismo que el cifrado, solo que con subclaves diferentes.


BlowFish

Es un codificador de bloques simétricos, diseñado por Bruce Schneier en 1993 e incluido en un gran número de conjuntos de codificadores y productos de cifrado. Mientras que ningún analizador de cifrados de Blowfish efectivo ha sido encontrado hoy en día, se ha dado más atención de la decodificación de bloques con bloque más grandes.
Usa bloques de 64 bits y claves que van desde los 32 hasta 448 bits. Es un codificador de 16 rondas Feistel y usa llaves que dependen de las cajas-S.


Cada línea representa 32 bits. El algoritmo guarda 2 arrays de subclaves: el array P de 18 entradas y 4 cajas-S de 256 entradas. Una entrada del array P es usada cada ronda, después de la ronda final, a cada mitad del bloque de datos se le aplica un XOR con una de las 2 entradas del array P que no han sido utilizadas.
La función divide las entradas de 32 bits en bloques de 8 bits, y usa los bloques como entradas para las cajas-S. Las salidas deben estar en módulos de 232 y se aplica un XOR para producir la salida final de 32 bits.


Debido a que Blowfish está en red Feistel, puede ser invertido aplicando un XOR entre P17 y P18 al bloque de texto codificado, y así sucesivamente se usan las P-entradas en orden reversivo.


RC2 Ron´s Code o Rivert´s Cipher

Es un algoritmo de cifrado en bloque desarrollado por Ron Rivest en 1987. RC2 es un algoritmo de cifrado de bloques, es decir, subdivide los datos a cifrar en bloques de 64 bits y les aplica una serie de transformaciones a cada bloque de forma individual. La longitud de la clave es variable con un tamaño máximo de 40 bits.
Permite definir el tamaño del bloque a encriptar, el tamaño de la clave utilizada y el número de fases de encriptación.
El tamaño de clave puede ser entre 8-128 bits, es decir, múltiplos de 8 bits. Clave de 64 bits por default. Tamaño de bloque de 64 bits y rondas de 16 mixing y 2 mashing.
Existen dos partes.
·         Key expansión.
Tiene como entrada una clave de longitud variable (8-128bits) y da como resultado una clave expandida consiste de 64 palabras k0… k63 (palabras=16 bits), cada ki es una palabra de 16 bits. Durante este proceso operaciones a nivel de byte y bit son usadas. Para las operaciones a nivel de bit, las posiciones del buffer apuntaran al arreglo k[ ]. Para las operaciones a nivel byte el arreglo de llaves será referenciado al arreglo L, L0… L127 donde cada Li son 8 bits o 1 byte. Siempre sabremos que ki=L2i+256*L[2i+1].

·         Encriptación / desencriptacion.
El algoritmo tiene como entrada bloques de 64 bits que colocaremos en arreglos R0, …, R3. Al final tendremos una palabra de 6 bytes. La encriptación esta definida por las operaciones primitivas MIX y MASH.

RC4

Es parte de los protocolos de cifrado como WEP, WAP y TLS.

Características:
·         Permitir claves de diferentes longitudes.
·         Cifrado de flujo de implementación es sencilla y rápida.
·         Orientado a generar secuencias en unidades de un byte.
·         Inmune al criptoanálisis diferencial y lineal.

Procesos:
Inicialización
1.    Si=i, i=0… 255
2.    Rellena el array ki i=0… 255 repitiendo la semilla de clave secreta.
3.    f=0
4.    Desde i=0 hasta 255, hacer f=(f+si+ki) mod 256 intercambiar si y sf

Generación de secuencia cifrante
1.    i=(i+1) mod 256
2.    f=(f+si) mod 256
3.    intercambiar los valores de si y sf
4.    t=(si+sf) mod 256
5.    or=st

Descripción
·         consta de una S-caja de 8*8
·         dos contadores i y f que son iguales a cero
·         se obtiene cada byte or de la secuencia
·         obtención del criptograma utilizando la operación xor


RC5

Es un algoritmo que opera por bloques desarrollado por Ron Rivest, de hecho es lo que indican las siglas que dan nombre al algoritmo y en cuanto al número 5 corresponde a una secuencia de algoritmos de cifrado simétrico desarrollados todos por Rivest y que fueron evolucionando donde RC5 se dio a conocer en 1995, algoritmo que presenta las sig. Características:
·         Adecuado para ser implementado en hardware o software: utiliza computación básica y operaciones que comúnmente se encuentran en microprocesadores.
·         Rápido: las operaciones básicas se trabajan en palabras completas simultáneamente.
·         Adaptable a procesadores de diferentes tamaños de palabras: uno de los parámetros  que utiliza es el tamaño de la palabra w(16, 32 o 64 bits), de manera que para diferentes longitudes de palabras produce diferentes algoritmos y como cifra en bloques de dos palabras el cifrado es con mensajes en claro de 32, 64 y 128 bits.
·         Número variable de iteraciones: el número de vueltas, (0,1,…,255) es otro de los parámetros que considera RC5 y permite negociar o acordar entre la velocidad y alta seguridad.
·         Clave de longitud variable: un parámetro más que considera el algoritmo es la clave k(en octetos que van desde 1 hasta 255), y que da también la oportunidad de moverse entre alta velocidad y alta seguridad.
·         Sencillo: su estructura permite que sea fácilmente implementado y de igual manera da la oportunidad de evaluar y determinar con facilidad la robustez del algoritmo.
·         Bajo consumo de memoria: sus requerimientos de mínimo espacio de memoria hacen que sean un algoritmo apropiado para su uso en tarjetas inteligentes o dispositivos similares en cuanto a la disponibilidad del espacio.
·         Alta seguridad: en general proporciona alta seguridad la cual puede oscilar dependiendo de la selección de parámetros, de manera que eligiendo los adecuados, la seguridad será sumamente elevada.
·         Rotaciones con dependencias de datos: se incorporan rotaciones circulares de bits las cuales dependen de los datos introducidos, esto hace que RC5 se más robusto aun, por consiguiente, que sea prácticamente irrompible para cualquier criptoanalista.

RC5 hace uso de tres parámetros diferentes para operar asi que, para determinar de manera específica lo seleccionado, el algoritmo se designa como RC5-w/r/b, por ejemplo, RC5-32/12/16 se trata de un RC5 que cifra mensajes de 64 bits, en 12 rondas y una clave de 16 bytes (128 bits).



AES (Advanced Encryption Standard, estándar de cifrado avanzado)
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 comienzo en 1997, cuando el instituto nacional de estándares y tecnología, anuncio la búsqueda de un sucesor para el estándar de cifrado DES. Un algoritmo llamado “Rijindael”, desarrollado por los criptologos belgas Joan Daemen y Vincent Rijmen, fue destacado en seguridad, así como en el rendimiento y la flexibilidad.
El algoritmo se basa en varias sustituciones, permutaciones y transformaciones lineales, ejecutadas en bloques de 16 bytes, por lo que se 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 la estructura de bloque de DES, 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. La diferencia entre AES-128, AES-192 y AES-256, es la longitud de la clave: 128, 192 y 256 bits, todos drásticamente mejorados en comparación con la clave DES de 56 bits.


No hay comentarios:

Publicar un comentario