Ventajas y Desventajas del Algoritmo de cifrado 3des

Clasificado en Informática

Escrito el en español con un tamaño de 17,86 KB

ALGORITMOS Simétricos(trabajo):

1)3DES: Funcionalidad DES: ● Se divide el Bloque inicial en dos partes: (Left) y (Right).● A la parte derecha se le Aplica una función f que aporte la confusión y la difusión adecuada.En esta Función un lugar importante lo ocupa la clave (Ki), ésta debe permanecer en Secreto ● El resultado de esta función es aplicado a la parte izquierda del Bloque mediante un XOR ● Se intercambian las dos partes y se itera el proceso. TripleDES: triple DES utiliza tres llaves Externas independientes para cifrar el mismo texto de manera que las Expresiones que representan el cifrado y descifrado del mensaje son las Siguientes: ● c = E k3 (D k2 (E k1 (m))) ● m = D k1 (E k2 (D k3 (c))) Tipos de 3DES: onsiste en encriptar Tres veces DES. Esto se puede hacer de varias maneras:● DES-EEE3: Tres Encriptaciones DES con tres claves distintas. ● DES-EDE3: Tres operaciones DES Con la secuencia encriptar-desencriptar-encriptar con tres claves diferentes.● DES-EEE2 y DES-EDE2: Igual que los anteriores pero la primera y tercera Operación emplean la misma clave. Aplicaciones: ● pago electrónico ● tarjetas de crédito ● comunicaciones SSL Y TLS. Debilidades: ●Si el tamaño de Bloque es pequeño el sistema es equivalente a un cifrado de sustitución Clásico  ● si las tres claves son iguales El sistema es compatible con el DES● si las llaves son diferentes su fortaleza Es de 168 bits ● si se usan dos llaves diferentes su fortaleza es de 112 bits.

2)ALGORITMO RIJNDAEL (AES): un sistema Simétrico de cifrado por bloques, utiliza la misma clave para el proceso de Cifrado y descifrado. Permite claves con longitud variables siempre que sea Múltiplo de 4 bytes. La longitud de las claves utilizadas por defecto son 128 (AES-128), 192(AES-192) y 256(AES-256) bits. El algoritmo permite bloques con Tamaño variables siempre que sea múltiplo de 4 bytes (32 bits). El algoritmo Está formado por un conjunto de rondas con 4 funciones matemáticas diferentes e Invertibles. La información generada por cada función es un resultado Intermedio, que se conoce como Estado o Estado Intermedio. El algoritmo Representa el “Estado” como una matriz rectangular de bytes. Que posee 4 filas Y Nb columnas. Siendo el número de columnas Nb en función del tamaño del Bloque:  nb=tam del bloque en Bits/32   y  nk=tamaño de la clave en bits/32 ambas matriz De 4 filas.  Los bytes del bloque a Cifrar y de la clave se copian a las matrices de estado y clave llenando Columna por columna. Luego la matriz de Estado sufre 4 transformaciones por “ronda”, utilizándose en cada ronda subclaves que se generan de la clave del Sistema elegida. Las 4 transformaciones Que aplica el algoritmo a la matriz de Estado por ronda son: · Función ByteSub: sustitución con propiedades optimas de no linealidad. Sustitución no Lineal que se aplica a cada byte de la matriz de Estado de forma independiente, Generando un nuevo byte. Para ello se usa la tabla de sustitución S-Box · Función ShiftRow(Esta Transformación rota a la izquierda las filas que conforman la matriz de Estado Actual (Estado intermedio 2, luego de aplicar S-box) y MixColumn(Consiste en Multiplicar las columnas de bytes con la matriz de Estado.): permiten la Difusión de la información a lo largo de las rondas. · Funciones AddRoundKey: permite aplicar a la matriz de estado una operación “or exclusiva” Con la subclave correspondiente a cada ronda.  Nr=max(nk, nb)+6. CIFRADO: Rondas: Consiste en aplicar a cada estado un conjunto De operaciones agrupadas en rondas, el algoritmo realiza 11 (si Nr=10) rondas, Donde en cada ronda se aplica una subclave diferente. Las 11 rondas se pueden Clasificar en 3 tipos: · 1 ronda inicial (se aplica la subclave inicial). · 9 rondas Estándar (se aplican las 9 subclaves siguientes, una en cada ronda). · 1 ronda Final (se aplica la última subclave). Operaciones: El proceso de cifrado consiste en aplicar 4 funciones matemáticas invertibles Sobre el texto claro. Estas transformaciones se realizan de forma reiterativa Para cada ronda, la información a cifrar se introduce a la matriz de estado. Esta matriz de Estado se introduce al cifrador, y sufre una primera Transformación, en la ronda inicial, que consiste en una operación or-exclusiva (AddRoundKey) entre una Subclave generada y la matriz de Estado. A Continuación, a la matriz de Estado resultante se le aplican 4 transformación Invertibles, repitiéndose ese proceso Nr-1 veces. Finalmente, se le aplica una Última ronda o vuelta a la matriz de Estado resultante, aplicando las funciones ByteSub, ShiftRow y AddRoundKey en ese orden. El resultado de la ronda final Produce el bloque cifrado deseado. Función de selección de la clave: La función de selección toma consecutivamente De la secuencia obtenida por la función de expansión de clave bytes que va Asignado a cada subclave Ki para formar bloques del mismo tamaño que la matriz De estado. Es decir, coge Nb*4 bytes para cada vuelta.

ALGORITMO RC2: pensado para ser eficiente en Procesadores de 16 bits y con un tamaño de bloque de 64 bits, como un reemplazo Para DES. Es flexible en términos del tamaño de la clave. Ocupa un lugar para Mensajería segura S / MIME. Funcionamiento: a) Existe un procedimiento de expansión de la clave Suministrada por el usuario (1 a 128 Bytes de longitud) junto con un parámetro Que indica la longitud de la clave efectiva para el cifrado. B) De estos dos Datos se deriva una matriz K de 64 claves de 16 bits. Luego un bloque de texto Se cifra mediante esta matriz. C) El cifrado consta de dos estilos de rondas, Una de ellas se denomina MIXING y la otra MASHING. D) La expansión de la clave Y los componentes de encriptación se basan en el uso de una tabla de Sustitución denominada PITABLE, es una tabla de enteros que se derivó de la Expansión de pi. Expansión de la clave: El propósito del algoritmo de expansión de clave es modificar el búfer de Claves para que cada bit de la clave expandida dependa de manera complicada de Cada bit de la clave de entrada suministrada. Encriptación: Se utilizan operaciones MIX y MASH, además de una Matriz de cuatro palabras de 16 bits R[0], ..., R[3] para contener el texto sin Formato inicial, los resultados intermedios y el texto cifrado final. Los Índices de esta matriz siempre se dan en módulo 4. Debilidades ● En un ataque de clave relacionada diferencial, solo Requiere 2^34 textos planos y una clave relacionada. 2 ^ 34 = 17,179’869,184.

ALGORITMO RC4: Es un esquema de cifrado de flujo (no Basado en bloques) simétrico. Es un esquema de cifrado extremadamente simple y Puede implementarse en software de forma muy eficiente. Esto lo ha convertido En uno de los esquemas de cifrado más utilizados del mundo. RC4 es conocido por Ser el mismo esquema de cifrado usado por WEP (Wired Equivalent Privacy), Sistema criptográfico totalmente roto hoy en día. Motivos de Uso · Es rápido incluso en hardware viejo · Fácil de implementar: utilizado en sistemas anticopia DRM (Digital Rights Management) · No está roto del todo. · Ataques BEAST en el 2011, afectaron a los cifrados de bloque, por eso los Administradores de sistemas configuraron TLS para utilizar el cifrado de flujo RC4. Aplicaciones: WEP, WPA, Cifrado Del protocolo BitTorrent, Microsoft Point a Point Encryption, Secure Sockets Layer, Secure Shell, Remote Desktop Protocol, Kerberos, Mecanismo SASL Digest-MD5, Gpcode.Ak un virus que esconde documentos rehenes para pedir Rescate, PDF, Skype Encriptado: · Elegir una Clave secreta. · Ejecutar el KSA y PRGA usando la clave para generar el keystream. · Operación XOR entre el texto plano y el keystream generado. Desencriptado: · Utilizar la misma clave secreta. · Ejecutar el KSA y PRGA usando la clave para generar el keystream. · Operación XOR entre el texto encriptado y el keystream generado. (AxorB)xor B = A, donde A=Texto en plano y B=Keystream. Debilidades: Ninguno de los autores de WEP llegó a pensar que el flujo criptográfico del RC4 Podría tener correlaciones reversibles con la clave. El descubrimiento de tal debilidad desató toda una serie de ataques sucesivos e investigaciones hasta Que los ataques se han vuelto tan prácticos que son la razón por la que mucha Gente tiene Internet en casa.

ALGORITMO RC5: Es una unidad de cifrado por bloques Notable por su simplicidad con una clave de longitud variable. Aplicaciones · Se puede Utilizar para la encriptación de imágenes digitales. · Puede ser Aplicada a la transmisión de datos seguridad. La transmisión de datos será Encriptada, incluso si los datos son robados, no hay correspondiente la llave No puede ser restaurada Descripción: · Tamaño variable de bloques: 32, 64 o 128 bits. · Palabra clave Entre 0 y 2040 bits. · Vueltas entre 0 y 255. · Bloques de 64 bits (2 palabras de 32 bits), en 12 rondas o vueltas y con una Clave de 128 bits (16 bytes). · RC5 hace uso de rotaciones dependientes. · En su estructura contiene operaciones como sumas modulares y operaciones XOR. características: · Adecuado Para ser implementado en hardware y software. · Utiliza Computación básica y operaciones que podemos encontrar en un microprocesador. · Adaptable A procesadores de diferentes tamaños de palabra; puede utilizar tamaño de Palabra de 16, 32 y 64 bits. · Bajo consumo de memoria; uso en tarjetas inteligentes o dispositivos donde la Disponibilidad de espacio sea un factor. · Proporciona alta seguridad.

IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM): IDEA Es un algoritmo seguro, y resistente a multitud de ataques y el criptoanálisis Diferencial. No presenta claves débiles, y su longitud de clave hace imposible En la práctica un ataque por la fuerza bruta. Trabaja por bloques y se basa en Los conceptos de confusión y difusión, haciendo uso de las siguientes Operaciones elementales (todas ellas fáciles de implementar): ● XOR. ● Suma Módulo 2 (base 16) ● Producto módulo 2 (base 16) + 1 Descripción del Algoritmo: El algoritmo IDEA consta de ocho rondas. Dividiremos el bloque X a codificar, de 64 bits, en cuatro partes X1, X2, X3 y X4 de 16 bits. Denominaremos Ki a cada una de las 52 subclaves de 16 bits que Vamos a necesitar. Las operaciones que llevaremos a cabo en cada ronda son las Siguientes: 1. Multiplicar X1 por K1. 2. Sumar X2 con K2. 3. Sumar X3 con K3. 4. Multiplicar X4 por K4. 5. Hacer un XOR entre los resultados del paso 1 y el Paso 3. 6. Hacer un XOR entre los resultados del paso 2 y el paso 4. 7. Multiplicar el resultado del paso 5 por K5. 8. Sumar los resultados de los Pasos 6 y 7. 9. Multiplicar el resultado del paso 8 por K6. 10. Sumar los Resultados de los pasos 7 y 9. 11. Hacer un XOR entre los resultados de los Pasos 1 y 9. 12. Hacer un XOR entre los resultados de los pasos 3 y 9. 13. Hacer un XOR entre los resultados de los pasos 2 y 10. 14. Hacer un XOR entre Los resultados de los pasos 4 y 10. //La salida de cada iteración serán los Cuatro sub-bloques obtenidos en pasos 11, 12, 13 y 14, que serán la entrada a La siguiente ronda, en la que usaremos las siguientes seis subclaves, hasta un Total de 48. Al final se intercambian los dos bloques centrales (en realidad Con eso deshacemos el intercambio que llevamos a cabo en los pasos 12 y 13). Después de la octava iteración, se realiza la siguiente transformación: ● 1. Multiplicar X1 por K49. ● 2. Sumar X2 con K50. ● 3. Sumar X3 con K51. ● 4. Multiplicar X4 por K52 Aplicaciones ● Los datos de audio y vídeo para la televisión por cable, televisión de pago, Videoconferencia, educación a distancia, TV de negocio, VoIP ● Datos Financieros y comerciales sensibles ● Correo electrónico a través de redes Públicas ● Enlaces de transmisión vía módem, router o ATM enlace, la tecnología GSM ● Las tarjetas inteligentes. Debilidades ●una clase de claves débiles, las que responden al esquema: 0000 0000 0*00 0000 0000 000* **** *000 Que un atacante podría identificar en Un ataque con texto en claro elegido · Para la generación de claves, método de generación de las subclaves es muy Regular, lo que puede ser una debilidad del algoritmo. · En 2012, Se rompió IDEA utilizando un ataque de narrow-bicliques. Un ataque biclique es Una variante del método de criptoanálisis de encuentro en el medio (MITM). Dado Que biclique cryptanalysis se basa en ataques MITM, es aplicable tanto a Cifrados de bloque como a funciones hash (iteradas). Desencriptación · El descifrado funciona como el cifrado, pero el orden de las claves en las Rondas se invierte y las subclaves de las rondas impares (7 y 9) se invierten.

SECURE ANDFAST ENCRYPTION ROUTINE(SAFER) : Es un Algoritmo de cifrado por bloques no propietario. Está orientado a bytes y Emplea un tamaño de bloque de 64 bits y claves de 64 (SAFER K-64) o 128 bits (SAFER K- 128). Tiene un número variable de rotaciones, pero es recomendable Emplear como mínimo 6. El algoritmo original fue considerado inmune al Criptoanálisis lineal y diferencial, pero Knudsen descubrió una debilidad en el Generador de claves y el algoritmo fue modificado (SAFER SK-64 y SAFER SK-128). SAFER utiliza ocho rondas. El primer Paso para una ronda es aplicar la primera subclave de la ronda a los ocho bytes Del bloque. La operación mediante la cual cada byte de la subclave se aplica a Cada byte del bloque depende de qué byte se utiliza: la secuencia es: XOR, add, Add, XOR, XOR, add, add, XOR. Aplicaciones · Tarjeta Electrónica: SAFER fue implementado En tarjetas electrónicas y el prototipo era 2.5 veces más rápido y optimizado Que las tarjetas implementas con el algoritmo Data Encryption Estándar (DES). · Bluetooth: Una variación del algoritmo de SAFER fue usado en el cifrado por bloque de BLUETOOTH · Investigación: El algoritmo SAFER y sus Variaciones aún se siguen usando en algunos proyectos de investigación, aunque Su rendimiento es inferior al resto de algoritmos modernos. Debilidades: El criptoanálisis temprano De SAFER K-64 mostró que SAFER K-64 podría considerarse inmune al Criptoanálisis diferencial y lineal cuando el número de rondas es mayor que Seis. Sin embargo, Knudsen descubrió una debilidad en el programa clave de SAFER K- 64 y pronto siguió un nuevo programa clave para la familia de cifrados De SAFER. Desencriptación: A Diferencia de la mayoría de los otros algoritmos de bloque, SAFER se invierte Al hacer el reverso de cada paso, en orden inverso, sin la posibilidad de Lograr el mismo resultado simplemente por alguna alteración de las subclaves Utilizadas. El reverso del método de mezclar pares de bytes es el siguiente: Para obtener el primer byte anterior, reste el segundo byte nuevo del primer Byte nuevo. El segundo byte antiguo es el segundo byte nuevo menos el primer Byte anterior, que equivale al doble del segundo byte nuevo menos el primer Byte nuevo.                                                                                                              BLOWFISH: es un algoritmo de Cifrado por bloques simétrico. Este algoritmo está compuesto por 18 semiclaves (K) y 4 cajas (subtitution boxes S). Es un proceso relativamente simple y Altamente seguro ya que a la fecha no se conoce ningún tipo de criptoanálisis Efectivo contra este algoritmo de cifrado.  / La función F, la cual se encarga de sustituir los valores resultantes De las operaciones XOR utilizando las cajas de sustitución (subtitution boxes). La función F divide el grupo de 32bits en 4 grupos de 8bits el bloque a y Bloque b se buscan en las cajas sustitución(representadas con la letra "S" en el diagrama), el valor representado por el primer octeto de la Primer caja se suma al valor representado del segundo octeto de la segunda caja Y al resultado se saca el módulo de 2³², posteriormente a este resultado se Aplica una operación XOR con el valor representado por el tercer bloque en la Tercer caja y al resultado de esto se le suma el valor representado por el Cuarto octeto en la cuarta caja y al final se vuelve a aplicar el módulo 2³².  Planificación De claves Es la inicialización del arreglo de las subclaves haciéndolas Dependiente de la clave de usuario. Estos valores serán las subclaves para el Proceso de encriptacion y desencriptacion con Blowfish por lo tanto deben Calcularse antes de comenzar a cifrar o descifrar mensajes propios.Aplicaciones · Encriptación de data de usuarios en la nube · Encriptación masiva · Generación Aleatoria de bit · Cifrado de Paquetes · Hashing Debilidades · La clave no debe cambiar constantemente. · Si es para comunicaciones de N personas se Necesitan claves para cada pareja. Desencriptación Se hace de la misma manera que la encriptación solo que P1,...,P18 son usados En orden inverso.

Entradas relacionadas: