TDES - 3DES

March 30, 2018 | Author: Alan Ortiz Pimentel | Category: Key (Cryptography), Cryptography, Cryptanalysis, Secure Communication, Espionage Techniques


Comments



Description

Pontificia Universidad Católica Madre y Maestra Campus Santo Tomás de AquinoTDES - 3DES Triple Data Encryption Standard Este trabajo está orientado a la investigación de todo lo referente al tipo de cifrado que es utilizado por el estándar TDES y todo lo referente al mismo. Luis Rafael Reyes 2004-6382 Alan Ortiz Pimentel 2007-6381 René I. Heinsen 2007-6752 08/03/2012 Teoría de Código [SD-ITT-453-T-001] Prof. Olson I. Ortiz Tabla de contenido 1. 2. 3. Marco Teórico ................................................................................................................... 2 Introducción ...................................................................................................................... 4 TDES ó 3DES ...................................................................................................................... 5 3.1 3.2 3.3 3.4 3.5 3.6 4. 5. Creación del TDES....................................................................................................... 5 Clave Pública .............................................................................................................. 6 Clave Privada.............................................................................................................. 7 Descripción del TDES .................................................................................................. 8 Funcionamiento del TDES...........................................................................................10 Utilización del TDES y prospectos futuros....................................................................14 Conclusión........................................................................................................................16 Citaciones.........................................................................................................................17 1 1. Marco Teórico Criptologia: es el estudio de los criptosistemas, sistemas que ofrecen medios seguros de comunicación en los que el emisor oculta o cifra el mensaje antes de transmitirlo para que sólo un receptor autorizado pueda descifrarlo. Sus áreas principales de interés son la criptografía y el criptoanálisis, pero también se incluye la estenografía como parte de esta ciencia aplicada. En tiempos recientes, el interés por la criptología se ha extendido también a otras aplicaciones aparte de la comunicación segura de información y, actualmente, una de las aplicaciones más extendidas de las técnicas y métodos estudiados por la criptología es la autentificación de información digital (también llamada firma digital).1 NIST (National Institute of Standards and Technology): es una agencia de la Administración de Tecnología del Departamento de Comercio de los Estados Unidos. La misión de este instituto es promover la innovación y la competencia industrial en Estados Unidos mediante avances en metrología, normas y tecnología de forma que mejoren la estabilidad económica y la calidad de vida. Como parte de esta misión, los científicos e ingenieros del NIST continuamente refinan la ciencia de la medición (metrología) creando una ingeniería precisa y una manufacturación requerida para la mayoría de los avances tecnológicos actuales.2 AES: es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos. El AES fue anunciado por el Instituto Nacional de Estándares y Tecnología (NIST) como FIPS PUB 197 de los Estados Unidos (FIPS 197) el 26 de noviembre de 2001 después de un proceso de estandarización que duró 5 años. Se transformó en un estándar efectivo el 26 de mayo de 2002. Desde 2006, el AES es uno de los algoritmos más populares usados en criptografía simétrica.3 Criptoanálisis: es la parte de la criptología que se dedica al estudio de sistemas criptográficos con el fin de encontrar debilidades en los sistemas y romper su seguridad sin el conocimiento de información secreta. En el lenguaje no técnico, se conoce esta práctica como romper o forzar el código, aunque esta expresión 2 tiene un significado específico dentro del argot técnico. A las personas que se dedican al criptoanálisis se llaman criptoanalistas. 4 Criptoanálisis Diferencial: Técnica criptoanalítica de tipo estadístico, consistente en cifrar parejas de texto en claro escogidas con la condición de que su producto or-exclusivo obedezca a un patrón definido previamente. Los patrones de los correspondientes textos cifrados suministran información con la que conjeturar la clave criptográfica. Se aplica en los cifrados de tipo DES, aunque es de destacar que precisamente éste es relativamente inmune al citado ataque. 5 Cifrado por Bloques: es una unidad de cifrado de clave simétrica que opera en grupos de bits de longitud fija, llamados bloques, aplicándoles una transformación invariante. Cuando realiza cifrado, una unidad de cifrado por bloques toma un bloque de texto plano o claro como entrada y produce un bloque de igual tamaño de texto cifrado. La transformación exacta es controlada utilizando una segunda entrada la clave secreta. El descifrado es similar: se ingresan bloques de texto cifrado y se producen bloques de texto plano. Cifrado de Feistel: es un método de cifrado en bloque con una estructura particular. Debe su nombre al criptógrafo de IBM Horst Feistel. También es conocida comúnmente como Red de Feistel. Un gran número de algoritmos de cifrado por bloques lo utilizan, siendo el más conocido el algoritmo Data Encryption Standard (DES). Las redes de Feistel presentan la ventaja de ser reversibles por lo que las operaciones de cifrado y descifrado son idénticas, requiriendo únicamente invertir el orden de las subclaves utilizadas. 3 2. Introducción Desde tiempos inmemorables el hombre ha necesitado comunicarse con los demás, pero no siempre ha deseado que algunos de sus mensajes sean conocidos por las personas a quien no estaban destinados. Esta necesidad de poder enviar mensajes de forma que solo fueran entendidos por los destinatarios hi zo que se crearan sistemas de cifrado, estos sistemas realizaban una operación de transformación en los mensajes, de forma que un mensaje después de experimentar este proceso, solo pudiese ser leído siguiendo un proceso de descifrado. Estas técnicas de cifrado han ido cambiando con el transcurso de los tiempos, y era utilizados por civilizaciones antiguas como: egipcia, mesopotámica, china, etc. Con el tiempo y debido principalmente al uso militar, los sistemas criptográficos fueron avanzando en complejidad, hasta llegar a nuestros días donde la informática ha entrado en nuestras vidas y la necesidad de seguridad al realizar nuestras operaciones aumenta. Es así como surge diversos tipos de estándares y algoritmos, diseñados para proteger y salvaguardar la data e información que para los usuarios es de vital importancia, TDES es solo uno mas de todas estas herramientas. Los grandes avances que se han producido en el mundo de la criptografía han sido posibles gracias a los grandes avances que se ha producido e n el campo de las matemáticas y las ciencias de la computación. 4 3. 3.1 Creación del TDES TDES ó 3DES Todos conocemos la fama y despliegue que ha tenido el IBM 3DES. Desde su nacimiento alrededor de los 70´s se mantuvo irrompible hasta Julio de 1998 cuando una maquina especial, con 1024 bit de direccionamiento y artilugios especiales, tuvo que ser fabricada para correr un proceso que rompiera el algoritmo en un curso organizado por la empresa RSA. Los ganadores invirtieron US$90.000 para ganarse un premio de US$10.000. DES su predecesor fue extraído de un proyecto conducido por IBM a fines de los años 60 dirigido por el criptógrafo Horst Feistel, el cual concluyó con el desarrollo de un algoritmo denominado LUCIFER en 1971. LUCIFER se instalo en las primeras máquinas dispensadoras de dinero para el Banco Lloyds en Londres. LUCIFER tenía una clave de 128 bits. Posteriormente IBM se embarco en un proyecto dirigido por Walter Tuchman y Carl Meyer que condujo a un refinamiento de LUCIFER pero con clave de 56 bits. Este último fue adoptado por la Nacional Bureau of Standard (mas tarde el Nacional Información Security Institute) en 1973 como el Data Encryption Standard para toda actividad informática del gobierno americano. Esta adopción se reafirmo en 1994. En 1977, el Departamento de Comercio y la Oficina Nacional de Estándares de Estados Unidos publicaron la norma DES (estándar de cifrado de datos, publicación 46 del FIPS**). DES un esquema de cifrado de claves privadas. El algoritmo DES es un sistema mono alfabético que fue desarrollado en colaboración con IBM y se presentó al público con la intención de proporcionar un algoritmo de cifrado normalizado para redes de ordenadores. DES se basa en el desarrollo de un algoritmo de cifrado que modifica el texto con tantas combinaciones que el criptoanalista no podría deducir el texto original aunque dispusiese de numerosas copias. Muchos años antes de que el DES fuera corrompido, los criptógrafos habían empezado a trabajar en su remplazo. No significaba que el DES fuera fácilmente vulnerado; sino más bien que la comunidad criptográfica pudo ver el final por venir y quisieron estar preparados. Por tanto, el Triple DES (también llamado 5 como 3DES) fue creado. Dado que una inmensa cantidad de programas y equipos estaban codificados con DES, hizo sentido producir cambios al algoritmo que estaba en uso en ese entonces, en vez de crear uno completamente nuevo. En ese sentido, muchos de los viejos productos fueron capaces de ser actualizado hacia 3DES (o uno muy similar) sin la necesidad de reconstruir completamente e l programa o el terminal. Como su nombre lo dice, Triple DES realiza algo tres veces más que un algoritmo DES regular. Esa triple amenaza viene de utilizar tres llaves en cada bloque de texto plano. En vez de utilizar una llave de 56 bits desde la tabla de llaves, Triple DES encripta el texto plano con la primera llave, encripta ese texto encriptado con otra llave de 56 bits, y luego encripta nuevamente el texto encriptado con otra llave de 56 bits. Esto tal vez parezca un exceso, pero funciona. 3DES es también capaz de trabajar con llaves más extensas para hacerlo más seguro. Con el fin de descifrar este algoritmo, se tendría que descubrir tres llaves diferentes. No solo eso, el texto será desencriptado solo cuando las tres llaves correctas sean usadas en el orden correcto. Quizás sea posible adivinar una llave, pero nunca se podrá saber si fue correcto hasta combinarla con las otras dos llaves que faltan. El número de permutaciones es exageradamente alto, y nadie desea invertir esa cantidad de tiempo atacando algo que tiene un valor desconocido. ¿Qué pasaría si alguien se toma la molestia de descifrar las tres llaves en el orden correcto, solo para descubrir que la data se trataba de un correo donde se notificaba que había quedado bizcocho de algún cumpleaños en el área de descanso? Una total pérdida de tiempo… 3.2 Clave Pública Es un criptosistema asimétrico o criptosistema de clave publica, las claves se dan en pares:  Una clave publica para el cifrado  Una clave secreta para el descifrado Es un sistema de cifrado con clave publica, los usuarios eligen una clave aleatoria que solo ellos conocen (esta es la clave privada). A partir de esta clave, 6 automáticamente se deduce un algoritmo (la clave pública). Los usuarios intercambian esta clave pública mediante un canal no seguro. 6 Cuando un usuario desea enviar un mensaje a otro usuario, solo debe cifrar el mensaje que desea enviar utilizando la clave publica del receptor, el receptor podrá descifrar el mensaje con su clave privada (que solo el conoce). Este cifrado asimétrico o mejor conocido como cifrado con clave pública apareció en 1976, con la publicación de un trabajo sobre criptografía por Whitfield Diffie y Martin Hellman. Ejemplo de la clave publica: Ilustración 1 Ejemplificación de una clave pública 3.3 Clave Privada Los algoritmos de clave privada o simétrica, también llamados de clave secreta, son los algoritmos clásicos de encriptación en los cuales un mensaje es encriptado utilizando para ello una cierta clave sin la cual no puede recuperarse el mensaje original.7 El esquema básico de estos tipos de algoritmos de clave privada es:   Mensaje + Clave = Código (encriptación) Código + Clave = Mensaje (desencriptación) 7 Ejemplo de la calve privada: Ilustración 2 Ejemplificación de la clave privada Algunos de los algoritmos o estándares de claves privadas son:     DES TRIPLE DES RC5 IDEA 3.4 Descripción del TDES En criptografía el Triple DES se llama algoritmo que hace triple cifrado del DES. Este también es muy conocido como TDES o 3DES y fue desarrollado por IBM en 1978. Cuando se descubrió que una clave de 56 bits no era suficiente para evitar un ataque de fuerza bruta, TDES fue elegido como forma de agrandar el largo de la clave sin necesidad de cambiar de 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 numero de operaciones de cifrado, haciendo este método de cifrado muchísimo mas seguro que el DES. 8 La clave utilizada por Triple DES 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) de los utilizados en DES. El motivo de utilizar este de tipo de clave es la compatibilidad con DES. Si la clave utilizada es el conjunto de dos claves DES iguales el resultado será el mismo para DES y para Triple DES. Otra forma de utilizar Triple DES es con una clave de 192 bits (168 bits de clave y 24 bits de paridad). En este caso se cifrará primero con k1, a continuación con k2 y finalmente con k3. Para ser compatible con DES es necesario que k1=k2=k3 El TDES utiliza 48 rondas en sus cálculos, lo cual lo hace muy resistente al criptoanálisis diferencial. Sin embargo, debido a que TDES realiza un trabajo extra, hay una disminución del rendimiento pesada. 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 reconocen diversos tipos o modos de cifrado del Triple DES, y el modo escogido dicta el número de claves usadas y que funciones son llevadas a cabo, estos modos son los siguientes: DES-EEE3: Cifrado triple DES con 3 claves diferentes, es decir, la data se encriptada, encriptada y encriptada.  DES-EDE3: Una clave diferente para cada una de las operaciones de triple DES (cifrado, descifrado, cifrado), por tanto la data es encriptada, descencriptada y encriptada.  DES-EEE2: Lo mismo que DES-EEE3, pero usa solo dos claves, y el primer y tercer proceso de encriptación usan la misma clave. Esto quiere decir, que la segunda operación utiliza una clave diferente.  DES-EDE2: Lo mismo que DES-EDE3, pero usa solo dos claves, y el primer y el tercer proceso de encriptación usan la misma clave. Esto quiere decir, que la segunda operación utiliza una clave diferente.  EDE (Encriptar, Desencriptar y Encriptar) puede parecer un poco extraño al principio, surgen preguntas como: ¿Cuánta protección podría proporcionarse mediante el cifrado de algo, descifrarlo y el cifrado de nuevo?, bueno en realidad, la parte del descifrado se descifra con una clave diferente. Cuando los datos los datos se cifran con una clave simétrica y luego se descifra con una clave simétrica diferente, se vuelve más confusa. 9 Así que en realidad los datos no son actualmente descifrados en esta operación intermedia. Ellos solos se ejecutan a través de un proceso de descifrado con una clave diferente. 3.5 Funcionamiento del TDES La variante más simple del Triple DES funciona de la siguiente manera: Ecuación 1 Cifrado del TDES Donde M es el mensaje a cifrar y k1 , k2 y k3 las respectivas claves DES. En la variante 3TDES las tres claves son diferentes; en la variante 2TDES, la primera y tercera clave son iguales. Figura 1 Diagrama del Cifrado por TDES 10 Para poder entender mejor el algoritmo TDES y su proceso de cifrado, tenemos que explicar como es el funcionamiento de su predecesor DES. El cual es el siguiente: Algoritmo DES: DES es el algoritmo prototipo del cifrado por bloques, un algoritmo que toma un texto en claro de una longitud fija de bits y lo transforma mediante una serie de operaciones básicas en otro texto cifrado de la misma longitud. En el caso de DES el tamaño del bloque es de 64 bits. DES utiliza también una clave criptográfica para modificar la transformación, de modo que el descifrado sólo puede ser realizado por aquellos que conozcan la clave concreta utilizada en el cifrado. 8 Figura 2 Aplicando el DES 11 Estructura básica: La estructura básica del algoritmo aparece representada en la Figura 3: Figura 3 Esquema general del algoritmo DES 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 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. 12 Figura 4 Cálculo de las subclaves, Ki Se realiza una permutación inicial (PC-1) sobre la clave, y luego la clave obtenida se divide en dos mitades de 28 bits, cada una de las cuales se rota a izquierda un 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 SCajas de 6*4 bits, y efectúa una nueva permutación (P). 13 Figura 5 Ronda del algoritmo DES Para descifrar basta con usar el mismo algoritmo empleando las Ki en orden inverso. Ya sabiendo como funciona el DES, vemos que para aplicar el TDES es simplemente realizarlo el DES tres veces, dependiendo en el modo en que se desee. 3.6 Utilización del TDES y prospectos futuros En la mayoría de las tarjetas de crédito y otros medios de pago electrónicos tienen como estándar el algoritmo Triple DES (anteriormente usaban el DES). Por su diseño, el DES y por lo tanto el TDES son algoritmos lentos. 14 El prospecto futuro o mas bien el algoritmo que esta remplazando al estándar Triple DES es el algoritmo AES. El algoritmo AES será al menos tan fuerte como Triple DES y puede llegar a ser hasta 6 veces más rápido y a la fecha no se ha encontrado ninguna vulnerabilidad. Por lo que en muchos sistemas de seguridad utilizaran tanto el Triple DES y AES, durante un tiempo. Pero aunque el Triple DES sea suplantado como algoritmo por defecto en la mayoría de los sistemas, es posible que se mantenga durante mucho más tiempo por cuestiones de compatibilidad. Aunque la tendencia es para que sea remplazado definitivamente por el AES. 15 4. Conclusión El TDES es un algoritmo de cifrado mediante clave simétrica, por tanto significa que dos o más usuarios, tienen una única clave secreta, por tanto, esta clave será la que cifrará y descifrará la información transmitida a través del canal inseguro. Este tipo de cifrado es muy utilizado para la proveer a las personas de una mayor seguridad en sus informaciones, es decir, la clave secreta solo la poseerán los dos usuarios correspondientes, y con dicha clave, el usuario A cifrará la información, la mandará a través del canal inseguro, y a continuación el usuario B descifrará esa información con la MISMA clave que ha usado el usuario A. Esto reduce las posibilidades de poder obtener acceso a la información y al TDES ser un tipo de cifrado con una llave bien grande de 128 bits o hasta 192 bits, hace que sea prácticamente imposible romperlo mediante ataques de fuerza bruta, como fue el caso del DES. Puede que en estos tiempos ya el TDES este perdiendo sus popularidad y se esté remplazando por el AES, pero aun así estos algoritmos lograron los objetivos para lo que fueron diseñados y nos indican, que no importa que tan bueno o no sea un algoritmo para cifrar una información, todo depende del tiempo de vida que este pueda proveernos, porque siempre habrá alguien que intentara buscar el método para romper estos algoritmos. Siempre tenemos que tener en cuenta que la seguridad en una clave simétrica reside en la propia clave secreta, y por tanto el principal problema es la distribución de esta clave a los distintos usuarios para cifrar y descifrar la información. La misión del emisor y receptor es mantener la clave en secreto. Si cae en manos equivocadas ya no podríamos considerar que la comunicación sea segura y deberíamos generar una nueva clave. 16 5. 1 Citaciones Escrito en Criptocodigos el 07 Enero 2008, Criptologia y encriptación de Códigos, http://criptocodigos.blogspot.es/ (02 Marzo 2012) 2 Escrito en Wikipedia, Instituto Nacional de Estándares y Tecnología, Modificado por ultima vez el 20 Septiembre 2011, http://es.wikipedia.org/wiki/Instituto_Nacional_de_Est%C3%A1ndares_y_Tecnolog%C3%ADa (03 Marzo 2012) 3 Escrito en Wikipedia, Advanced Encryption Standard, Modificado por ultima vez el 12 Febrero 2012, http://es.wikipedia.org/wiki/Advanced_Encryption_Standard (03 Marzo 2012) 4 Escrito por Cristian Borghelio, SEGU-INFO (Seguridad de la Información), Criptografía de la A-Z, http://www.segu-info.com.ar/proyectos/p1_ataques.htm (03 Marzo 2012) 5 Escrito en el Centro Criptológico Nacional (CCN), Guia de Seguridad de las TIC (CCN-STIC-401) el 24 Agosto 2009, https://www.ccn-cert.cni.es/publico/serieCCN-STIC401/es/c/differential_cryptanalysis.htm (05 Marzo 2012) 6 Publicado en Slideshare el 08 Noviembre 2009, Algoritmos de Cifrado para Claves Publicas y Privadas, http://www.slideshare.net/negro87/algoritmos-de-cifrado-para-claves-pblicas-y-privadas/ (05 Marzo 2012) 7 Publicado en Slideshare el 08 Noviembre 2009, Algoritmos de Cifrado para Claves Publicas y Privadas, http://www.slideshare.net/negro87/algoritmos -de-cifrado-para-claves-pblicas-y-privadas/ (05 Marzo 2012) 8 Escrito en Wikipedia, Data Encryption Standard, Estructura Básica, Modificado por ultima vez el 15 Diciembre 2011 http://es.wikipedia.org/wiki/Data_Encryption_Standard#Algoritmos_de_reemplazo (05 Marzo 2012) 17
Copyright © 2024 DOKUMEN.SITE Inc.